MicroLog.MyPower.CZ

… designed for freedom of automation.

Uživatelské nástroje

Nástroje pro tento web


mmdl

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
mmdl [2013/09/15 11:23] – [Stránky] mypower_czmmdl [2013/09/23 15:16] (aktuální) – upraveno mimo DokuWiki 127.0.0.1
Řádek 3: Řádek 3:
 ===== Popis jayzka ===== ===== Popis jayzka =====
  
-MMDL je jednoduchý programovací jazyk, určený pro specifikaci chování displaye v projektu Mypower Microlog. Sestává ze dvou sekcí. První sekcí jsou matematické výpočty hodnot, definice a nastavení hodnot proměnných. Druhou sekcí je vlastní obsah jednotlivých stránek displaye a nastavení funkcí ovládacích tlačítek displaye.+MMDL je jednoduchý programovací jazyk, určený pro specifikaci chování displaye v projektu Mypower Microlog. Sestává ze dvou sekcí. První sekcí jsou matematické [[#vypocty|výpočty]] hodnot, definice a nastavení hodnot proměnných. Druhou sekcí je vlastní obsah jednotlivých [[#stranky|stránek]] displaye a nastavení funkcí ovládacích tlačítek displaye.
  
 {{http://mypower.cz/docs/ulog/t4-display1602.png?600}} {{http://mypower.cz/docs/ulog/t4-display1602.png?600}}
Řádek 10: Řádek 10:
  
   * [[mmdl:examples:helloworld|Hello World!]]   * [[mmdl:examples:helloworld|Hello World!]]
 +  * [[mmdl:examples:clock|Datum a čas na displayi]]
 +  * [[mmdl:examples:numberformat|Test formátu čísel]]
   * [[mmdl:examples:defaulttest|Test všech základních funkcí obsluhy displaye]].   * [[mmdl:examples:defaulttest|Test všech základních funkcí obsluhy displaye]].
  
Řádek 52: Řádek 54:
   $uFV2   $uFV2
   $iarray   $iarray
 +  
 +V názvech proměnných jsou rozdílně vnímána malá a velká písmena. Proměnné <html>$UFV</html> a <html>$uFV</html> jsou dvě zcela odlišné proměnné
  
 ==== Speciální proměnné ====  ==== Speciální proměnné ==== 
Řádek 121: Řádek 125:
 sekund:     4138 sekund:     4138
 </code> </code>
 +
 +Další příklady pro [[mmdl:examples:clock|datum a čas na displayi]].
  
 ==== Modifikátor počtu desetinných míst ====  ==== Modifikátor počtu desetinných míst ==== 
Řádek 135: Řádek 141:
   * **$X.R** zobrazí celou část čísla. Narozdíl od výše uvedených se neprovádí se úprava na jednotky k, M, G, T.   * **$X.R** zobrazí celou část čísla. Narozdíl od výše uvedených se neprovádí se úprava na jednotky k, M, G, T.
  
-=== Příklad programu ===+[[mmdl:examples:numberformat|Test formátu čísel]]
  
-<code> 
-$x1 = 17.8523 
-$x2 = 2000 
-$x3 = 975231.667 
- 
-# 
-Test desetin- 
-nych mist 
- 
-# 
-$x1 | $x1.0 
-$x1. | $x1.1 
- 
-# 
-$x1.2 | $x1.3 
-$x1.4 | $x1.5 
-   
-# 
-$x1.R | :) 
---- 
- 
-# 
-$x2 | $x2.0 
-$x2. | $x2.1 
- 
-# 
-$x2.2 | $x2.3 
-$x2.4 | $x2.5 
-   
-# 
-$x2.R | :) 
---- 
- 
-# 
-$x3 | $x3.0 
-$x3. | $x3.1 
- 
-# 
-$x3.2|$x3.3 
-$x3.4|$x3.5 
-   
-# 
-$x3.R | :) 
---- 
-</code> 
  
  
Řádek 212: Řádek 173:
  
 Sekce pro definici stránek slouží pro nastavení obsahu jednotlivých stránek displaye a následuje bezprostředně za sekcí určenou pro výpočty. Stránky jsou uloženy v pořadí za sebou. Ve stejném pořadí budou zobrazeny po stisku tlačítek <html>UP</html> a <html>DOWN</html> na LCD Keypad Shield displayi. Sekce pro definici stránek slouží pro nastavení obsahu jednotlivých stránek displaye a následuje bezprostředně za sekcí určenou pro výpočty. Stránky jsou uloženy v pořadí za sebou. Ve stejném pořadí budou zobrazeny po stisku tlačítek <html>UP</html> a <html>DOWN</html> na LCD Keypad Shield displayi.
 +
 +=== Definice stránky ===
  
 Každá stránka začíná symbolem <html>#</html>. Za tímto znakem může následovat jedno z písmen <html>R</html>, <html>L</html>, nebo <html>S</html>, které značí tlačítko (<html>Right</html>, <html>Left</html>, nebo <html>Select</html>) po jehož stisku bude stránka okamžitě zobrazena. Tlačítka <html>Up</html> a <html>Down</html> si zachovávají svou funkci a jsou použita pro listování mezi stránkami v pořadí tak jak jsou napsány v programu pro display. Každá stránka začíná symbolem <html>#</html>. Za tímto znakem může následovat jedno z písmen <html>R</html>, <html>L</html>, nebo <html>S</html>, které značí tlačítko (<html>Right</html>, <html>Left</html>, nebo <html>Select</html>) po jehož stisku bude stránka okamžitě zobrazena. Tlačítka <html>Up</html> a <html>Down</html> si zachovávají svou funkci a jsou použita pro listování mezi stránkami v pořadí tak jak jsou napsány v programu pro display.
Řádek 226: Řádek 189:
   Toto je bezna   Toto je bezna
   stranka....   stranka....
 +
 +Poznámka: V případě, že se v programu vyskytne více stránek s definicí pro jedno a totéž tlačítko, bude zobrazena ta stránka, která je umístěna v programu nejdříve. Ostatní jsou ignorovány ((TODO: v případě více stránek se stejným označením by mohly stránky rotovat. Dvě stránky označené R by byly stiskem každým RIGHT přepínány .... hmmm... ? :) ))
 +
 +=== Zarovnání textu ===
  
 Zarovnání textu se provádí pomocí rozdělení řádku znakem "|". Vše vlevo od znaku "|" je zarovnáno vlevo, vše vpravo je zarovnáno vpravo. Řádek, který neobsahuje znak "|" je zarovnán na střed. Zarovnání textu se provádí pomocí rozdělení řádku znakem "|". Vše vlevo od znaku "|" je zarovnáno vlevo, vše vpravo je zarovnáno vpravo. Řádek, který neobsahuje znak "|" je zarovnán na střed.
Řádek 232: Řádek 199:
   Centrovano   Centrovano
   Vlevo|Vpravo   Vlevo|Vpravo
 +
 +=== Proměnné ===
  
 Proměnné je možno použít pomocí znaku <html>$</html>. Pokud je potřeba bezprostředně za proměnnou vložit text a je potřeba ukončit název proměnné, je možno použít znak <html>#</html>. například pro text 12.25V potřebujeme za proměnnou vložit jednotku "V". Proměná, do které jsme si v sekci výpočtů připravili napětí na bateriích se jmenuje <html>$uBat</html>. Definice <html>$uBat V</html> by vygenerovala text 12.25 V. Bez mezery dostáváme neexistující název proměnné <html>$uBatV</html>. Proto v těchto případech použijeme znak <html>#</html>, čímž určíme, kde končí název proměnné, tedy <html>$uBat#V</html> vygeneruje text 12.25V. Proměnné je možno použít pomocí znaku <html>$</html>. Pokud je potřeba bezprostředně za proměnnou vložit text a je potřeba ukončit název proměnné, je možno použít znak <html>#</html>. například pro text 12.25V potřebujeme za proměnnou vložit jednotku "V". Proměná, do které jsme si v sekci výpočtů připravili napětí na bateriích se jmenuje <html>$uBat</html>. Definice <html>$uBat V</html> by vygenerovala text 12.25 V. Bez mezery dostáváme neexistující název proměnné <html>$uBatV</html>. Proto v těchto případech použijeme znak <html>#</html>, čímž určíme, kde končí název proměnné, tedy <html>$uBat#V</html> vygeneruje text 12.25V.
 +
 +=== Formát čísel ===
  
 Pro definici počtu desetinných míst použijeme znak <html>.</html>. Pro jedno desetinné místo použijeme výraz <html>$uBat.1</html>. Výsledkem může být například 12.2. Pro 0 desetinných míst použijeme <html>$uBat.0</html>. Pro automatický počet desetinných míst znak <html>.</html> neuvedeme. V kombinaci se specifikací počtu desetinných míst se ukončení názvu proměnné nepoužívá. Je možno použít <html>$uBat.3V</html>, což vygeneruje 3 desetinná místa 12.253V. Pro definici počtu desetinných míst použijeme znak <html>.</html>. Pro jedno desetinné místo použijeme výraz <html>$uBat.1</html>. Výsledkem může být například 12.2. Pro 0 desetinných míst použijeme <html>$uBat.0</html>. Pro automatický počet desetinných míst znak <html>.</html> neuvedeme. V kombinaci se specifikací počtu desetinných míst se ukončení názvu proměnné nepoužívá. Je možno použít <html>$uBat.3V</html>, což vygeneruje 3 desetinná místa 12.253V.
Řádek 240: Řádek 211:
   Baterie|$uBat.2V   Baterie|$uBat.2V
   Spotreba|$woutSUM#W   Spotreba|$woutSUM#W
 +
 +=== Datum a čas ===
  
 Příklady pro datum a čas (od verze 2.04) Příklady pro datum a čas (od verze 2.04)
Řádek 252: Řádek 225:
 Menic:     0.00W Menic:     0.00W
 Cas:       17:29 Cas:       17:29
-</code> 
- 
--- 
- 
-<code> 
-# 
-Moje FVE 
-$@Td#.$@Tm#.$@TY 
-</code> 
-Výsledek: 
-<code> 
-    Moje FVE     
-   12.09.2013    
-</code> 
- 
--- 
- 
-<code> 
-# 
-Datum a cas 
-$@Td#.$@Tm#.$@TY $@TH:$@Ti 
-</code> 
-Výsledek: 
-<code> 
-   Datum a cas   
-12.09.2013 17:29 
-</code> 
- 
--- 
- 
-<code> 
-# 
-Datum|$@Td#.$@Tm#.$@TY 
-Cas|$@TH:$@Ti:$@Ts 
-</code> 
-Výsledek: 
-<code> 
-Datum 12.09.2013 
-Cas     17:31:15 
 </code> </code>
  
mmdl.1379236994.txt.gz · Poslední úprava: 2013/09/15 17:23 (upraveno mimo DokuWiki)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki