STR / NUM / CMD


Az STR, NUM, CMD parancs nagyon sokban hasonlít egymásra, többek között ugyanaz a tárhelyük. A kapcsos zárójelbe írt szám az index. Ez jelöli a STR/NUM/CMD sorszámát. Setup/Other menüben lehet beállítani, mennyi lehet belőlük, min:30, max:500, dafault:100. Kevés a RAM, ezért ésszel kell használni.

Értékadás, Lekérdezés

STR[?]
Utolsó index.

STR[0]=Lion
STR[0] értéket kap. RAM-ban tárolódik, újraindításkor elveszik.
STR[0]@
STR[0] értéke STDOUT-ra kerül kiküldésre. Setup/communication menüben állítható, hogy kik kapják meg.
STR[0]@@
STR[0] értéke STDOUT-ra kerül kiküldésre, a végén @ karakterrel elválasztva az index. JavaScript .split("@") parancshoz jó, be lehet vele azonosítani a kapott érték gazdáját.
STR[0]@12@
STR[0] értéke STDOUT-ra kerül kiküldésre, a végén a két @ közötti szám. Valid:0-99.
STR[1]@=Cat
STR[1] értéket kap, ami egyből STDOUT-ra is kerül.

NUM[2]=12
NUM[2]=-23.4
NUM[2]=18.81
NUM[2]=1.618033
Egész, tört szám.

NUM[2]=RND(100)
Véletlen szám, 0-99.

NUM[2]@
Eredeti érték, max két tizedes.
NUM0[2]@
Egész szám, kerekítve.
NUM1[2]@
Tizedes, egy tizedesre kerekítve.
NUM2[2]@
Tizedes, két tizedesre kerekítve.

STR[3]=Temperature: 24°C
STR[3]@
NUM[3]@
NUM[3]=20.2
STR[3]@
NUM[3]@
NUM[3]!=18
STR[3]@
NUM[3]@
A fenti parancsok az STR-NUM átjárhatóságát mutatják.

NUM[4]=5|
STR[5]=Peach:3psc

NUM[6]@=NUM[4]
NUM[6]@=STR[5]
STR[7]@=NUM[4]
STR[7]@=STR[5]
SRT, NUM felveheti egymás értékét.
STR[7]@=NUM(4)
STR[7] értéke NUM[4] értékének megfelelő indexű STR lesz.

Értékek módosítása

STR[10]=Text
STR[10]@<Before_
STR[10] elejére teszi a "Before_" karaktersort.
STR[10]@>_After
STR[10] végére teszi az "_After" karaktersort.

STR[10]@(A,8,*)
STR[10] 8 karakter hosszú lesz, a végén * karakterek.
STR[10]@(B,8,*)
STR[10] 8 karakter hosszú lesz, az elején * karakterek.
STR[10]@(E,8,*)
STR[10] 8 karakter hosszú lesz, az elején, végén * karakterek.

STR[11]=ABCDEFGHIJKLMN|
STR[12]=QWE-MOUSE-RTZ

STR[11]@(L,5)
STR[11] első 5 karaktere lesz STR[11] értéke. (LEFT)
STR[11]@(R,5)
STR[11] utolsó 5 karaktere lesz STR[11] értéke. (RIGHT)
STR[11]@(M,2,4)
STR[11] 2.karakterétől 4 karakter lesz STR[11] értéke. (MID)
STR[11]@(S,2,4)
STR[11] 2.karakterétől a 4.karakteréig lesz STR[11] értéke. (SubString)
STR[11]@(C,BCD)
STR[11] Ha talál BCD karaktersort STR[11]-ben, kivágja. (Cut)
STR[11]@(C,BCD<>12345)
STR[11] Ha talál BCD karaktersort STR[11]-ben, 12345-re cseréli. (Change)
STR[11]@=STR[12](M,4,5)
STR[11] értéke MOUSE.
STR[12]@(M,4,5)=CAT
STR[12] MOUSE CAT
NUM[12]@=STR[11](LEN)
NUM[12] STR[11] hossza.

NUM[0]=2|
NUM[13]=10

NUM[13]@+8
NUM[13]@+NUM[0]
NUM[14]@=NUM[13]+4
NUM[14]@=NUM[13]+NUM[0]
Összeadás.
NUM[13]@-3
NUM[13]@-NUM[0]
NUM[14]@=NUM[13]-5
NUM[14]@=NUM[13]-NUM[0]
Kivonás.
NUM[13]@*4.5
NUM[13]@*NUM[0]
NUM[14]@=NUM[13]*6
NUM[14]@=NUM[13]*NUM[0]
Szorzás.
NUM[13]@/3
NUM[13]@/NUM[0]
NUM[14]@=NUM[13]/5
NUM[14]@=NUM[13]/NUM[0]
Osztás.

Több index használata egyszerre

STR[14]=Orange|
STR[15]=Banane|
STR[16]=Kiwi

STR[14-16]@
STR[16-14]@
NUM[17]=82|
NUM[18]=12.9|
NUM[19]=3.14

NUM[17-19]@
NUM0[17-19]@
NUM1[17-19]@
NUM2[19-17]@
Az értékeket ~ karakterrel elválasztva STDOUT-ra küldi. JavaScript nyelvben a .split('~') parancs tömböt csinál belőle.

STR[10-19]*
STR[*]= paranccsal bevitt sztring STR[10] helyre kerül, a régi adatok lefele görgetődnek. Default: 10-19
STR[*]@=RND(100)

STR[20-29]+
STR[+]CE:STR[F-C]@;STR[+]#(rn)plus.txt
STR[+] indexe amikor eléri a 29-et, végrehajtja az itt beállított parancsokat, utána törli STR[20] - STR[29] helyeket, indexet visszaállítja 20-ra. Default: 20-29
STR[+]=Text[]:A
STR[+]=Text[]:B
STR[+]=Text[]:C
Az STR[+] parancs hatására az index automatikusan növekszik.
STR[F-C]@
STR[+] paranccsal tárolt sztringeket STDOUT-ra küldi. F az első index, C az aktuális.
STR[C-F]@
STR[+] paranccsal tárolt sztringeket fordított sorrendben STDOUT-ra küldi.
STR[N]@
STR[+] paranccsal tárolt sztringek számát STDOUT-ra küldi.

NUM[0] - NUM[9]

NUM[0]VL=-10
NUM[0] alsó határa. Ennél kisebb nem lehet. Default: -9999
NUM[0]VH=30
NUM[0] felfő határa. Ennél nagyobb nem lehet. Default: 9999

NUM[0]VL@
NUM[0]VH@
NUM[0] min/max értékét kiolvassa.

NUM[0]@=VL
NUM[0]@=VH
NUM[0] értéke min/max.

NUM[0]%@
Alsó felső határ közötti érték százalékban.

NUM[0]CL:LED(OFF)
Ha NUM[0] eléri az alsó határt, a LED(OFF) parancs automatikusan végrehajtódik.
NUM[0]CH:LED(ON)
Ha NUM[0] eléri a felső határt, a LED(ON) parancs automatikusan végrehajtódik.
NUM[0]CC:LED(FLASH)
Ha NUM[0] értéke megváltozik, a LED(FLASH) parancs automatikusan végrehajtódik.

NUM[0]TB=Temperature:
NUM[0]TA=°C
Sztringeket tesz az érték elé, után.
NUM[0]@=21 eredménye: "Temperature:21°C"

NUM[0]RS
Törli a beállításokat (VL, VH, CL, CH, CC, TA, TB).

STRNUM.txt

Setup / Other menüben állítható a mentés. System állásban a belső memóriába ment, FS állásban STRNUM.txt fájlba, ami a Browser ablakban menthető, szerkeszthető. Ezt boot folyamat alatt betölti az OS. A FLASH memória ~100000x írható!!!
STR[0]$
STR[0] értékét menti.
STR[20-50]$
STR[20] - STR[50] értékét menti.
STR[+]$
STR[+] paranccsal megadott értékeket, STR[+] aktuális indexét menti.

Értékek mentése fájlba

STR[0]=mydata|
STR[1]=data.txt

STR[0]#save.txt
STR[0] értékét save.txt fájlba menti. Azonos nevű fájlt felülírja. Kiterjesztés csak .txt vagy .dat lehet! File Manager ablakból letölthető.
STR[0]#STR[1]
STR[0] értékét menti. Fájlnév: STR[1] tartalma.
STR[0]#(r)save.txt(Linux új sor '\r')
STR[0]#(n)save.txt(iOS új sor '\n')
STR[0]#(rn)save.txt(Windows új sor '\r\n')
STR[0]#(br)save.txt(HTML új sor '<br>')
STR[0] értékét save.txt fájl végéhez hozzáadja. Ha még nincs ilyen nevű fájl, létrehozza.
STR[10-19]#save.txt
STR[10] - STR[19] értékét save.txt fájlba menti.
STR[+]#save.txt
STR[F] - STR[C] értékét save.txt fájlba menti.

STR[0]@=#save.txt
STR[0] értéke save.txt tartalma lesz.

Értékek törlése

STR[0]!
Törli RAM-ból a sztringet.
STR[0]$!
Törli RAM-ból, STRNUM.txt-ből a sztringet.
STR[!]
STR[0] - STR[255] törlődik RAM-ból, STRNUM.txt-ből, STR[+] indexe alaphelyzetbe kerül.
STR[+]!
Az STR[+] paranccsal mentett sztringek törlődnek RAM-ból, STRNUM.txt-ből, STR[+] indexe alaphelyzetbe kerül.
STR[!#]save.txt
save.txt fájlt törli. Kiterjesztés csak .txt vagy .dat lehet!
STR[0-E]@

Dátum, Idő, Egyéb

STR[0]@=%DATE
Dátum.
STR[0]@=%TIME
Idő.
STR[0]@=%TIMES
Idő másodperccel.
STR[0]@=%Y
Év.
STR[0]@=%M
Hónap.
STR[0]@=%0M
Hóap. 10 alatt egy nullát tesz elé.
STR[0]@=%MS
Hónap rövid string. pl: Oct
STR[0]@=%ML
Hónap hosszú string. pl: October
STR[0]@=%W
Hét napja. 1-vasárnap 2-hétfő...
STR[0]@=%WS
Hét napja rövid string. pl: Sun
STR[0]@=%WL
Hét napja hosszú string. pl: Sunday
STR[0]@=%D
STR[0]@=%0D
Nap.
STR[0]@=%h
STR[0]@=%0h
Óra.
STR[0]@=%m
STR[0]@=%0m
Perc.
STR[0]@=%s
STR[0]@=%0s
Másodperc.
STR[0]@=DATE: %Y. %ML %D. %WL TIME: %h:%0m:%0s

TIME[index]
TIME[0]F
TIME[0]+30m
STR[0]@=%TIME[0]W
STR[0]@=%TIME[0]Y
STR[0]@=%TIME[0]M
STR[0]@=%TIME[0]0M
STR[0]@=%TIME[0]MS
STR[0]@=%TIME[0]ML
STR[0]@=%TIME[0]D
STR[0]@=%TIME[0]0D
STR[0]@=%TIME[0]h
STR[0]@=%TIME[0]0h
STR[0]@=%TIME[0]m
STR[0]@=%TIME[0]0m
STR[0]@=%TIME[0]s
STR[0]@=%TIME[0]0s
STR[0]@=%TIME[0]AD
STR[0]@=%TIME[0]Ah
STR[0]@=%TIME[0]Am
STR[0]@=%TIME[0]As
TIME[index] példák.
STR[0]@=ALARM: %TIME[0]Y. %TIME[0]ML %TIME[0]D. %TIME[0]0h:%TIME[0]0m:%TIME[0]0s
Beállított idő.
STR[0]@=REMAINING: %TIME[0]RYyear %TIME[0]RMmonth %TIME[0]RDday %TIME[0]Rhhour %TIME[0]R0mminute %TIME[0]R0ssecond
Hátralevő idő.
STR[0]@=ELAPSED: %TIME[0]EYyear %TIME[0]EMmonth %TIME[0]EDday %TIME[0]Ehhour %TIME[0]Emminute %TIME[0]Essecond
Indítás óta eltelt idő.
STR[0]@=REMAINING: %TIME[0]RAm minute
Hátralevő idő percekben.

STR[0]@=%SUNR
STR[0]@=%SUNRm
STR[0]@=%SUNR0m
STR[0]@=%SUNRh
STR[0]@=%SUNR0h
Napkelte.
STR[0]@=%SUNS
STR[0]@=%SUNSm
STR[0]@=%SUNS0m
STR[0]@=%SUNSh
STR[0]@=%SUNS0h
Naplemente.

STR[0]@=%SSID
AP/STA SSID.
STR[0]@=%IP
A modul IP címe.
STR[0]@=%DEVID
A modul DEVID száma.
STR[0]@=%DEVIDS
DEVID utolsó 4 karaktere.
STR[0]@=%VISIT
AccessPoint csatlakozások száma.
TIMER[0](10s,10s)
STR[0]@=%TIMER[0]T
STR[0]@=%TIMER[0]S
TIMER értéke, állapota.
STR[0]@=%A0
A0 analóg bemenet értéke.
STR[0]@=%TEHU[0]
Szintaktikája megegyezik a TEHU parancséval.
STR[0]@=%FREQ(HZ)
Szintaktikája megegyezik a FREQ parancséval.
STR[0]@=%NFC
Utoljára beolvasott NFC TAG aktív szektorában tárolt sztring.
STR[0]@=%NUID
Utoljára beolvasott NFC TAG UID száma.
STR[0]@=%RFID
Utoljára beolvasott RFID TAG neve.
STR[0]@=%RUID
Utoljára beolvasott RFID TAG UID száma.
STR[0]@=%STPW[0]2
Szintaktikája megegyezik a STPW parancséval.
STR[0]@=%TCPSIP
A TCP szerverre utoljára csatlakozozott kliens IP címe.
STR[0]@=%EXTIO[0]
EXTIO[0] jelenlegi állapota.
STR[0]@=%EXTIN[0]
EXTIO[0] utoljára megváltozott bemenete(i).
STR[0]@=%DIMM[0]
DIMM[0] aktuális állapota.
STR[0]@=%ACHZ
Dimmer SYNC bemenetén levő frekvancia.
STR[0]@=%PROX
APDS9960 szenzor közelség értéke.
STR[0]@=%LIGHT
APDS9960 szenzor fény értéke, szintaktikája megegyezik a LIGHT parancséval.
STR[0]@=%MAIL
Utoljára elküldött Email állapota.
STR[1]@=%NUM[0]
NUM[0] tartalma.
STR[1]@=%STR[0]
STR[0] tartalma.


Kommunikáció

A sztring értéke az adott kommunikációs csatornára bejövő utolsó üzenet. A parancs kiadása után az üzenet törlődik. Az interpreter által értelmezett parancsok nem jelennek meg.
STR[0]@=STDIN
STR[0] értéke STDIN-re bejött utolsó üzenet.
STR[0]@=HTMLIN
STR[0] értéke HTML csatornára bejött utolsó üzenet.
STR[0]@=WSIN
STR[0] értéke WS csatornára bejött utolsó üzenet.
STR[0]@=USBIN
STR[0] értéke USB csatornára bejött utolsó üzenet.
STR[0]@=UDPIN
STR[0] értéke UDP csatornára bejött utolsó üzenet.
STR[0]@=TCPIN
STR[0] értéke TCP kliensre bejött utolsó üzenet.
STR[0]@=TCPSIN
STR[0] értéke TCP szerverre bejött utolsó üzenet.
STR[0]@=SERIN
STR[0] értéke SER csatornára bejött utolsó üzenet.
STR[0]@=POSTIN
STR[0] értéke utolsó POST parancsra kapott válasz.
STR[0]@=NOWIN
STR[0] értéke NOW csatornára bejött utolsó üzenet.

CMD

CMD[0]:LED(ON);STD@ON
CMD[1]=LED(OFF);STD@OFF
STR[2]=LED(FLASHI)
Parancsokat tárol a megadott indexre.

CMD[0]
CMD[1]
CMD[2]
Végrehajtja a tárol parancsokat.

CMD[2]:!
Törli a parancsot. Ez az összes zöld színű parancsra igaz.

NVR

NVR[0]=data
STR[0]@=NVR[0]
NVR[0] nem felejtő memória értéke lesz STR[0].



Példák

GPIO[D5] állapotváltozásait rögzíti fájlba.
GPIO[5]INP|
GPIO[5]CL:STR[0]=%h:%0m:%0s - D5 LOW;STR[0]#(br)gpio.txt;LED(FLASH)|
GPIO[5]CH:STR[0]=%h:%0m:%0s - D5 HIGH;STR[0]#(br)gpio.txt;LED(FLASH)

<html> <body> <H1>GPIO[D5] LOGGER</H1><br> <button type="button" onclick="read();">Refresh</button><br> <button type="button" onclick="sendWS('STR[!#]gpio.txt');read();">Delete GPIO.txt</button> <br> <H2 id="data"></H2> <script type="text/javascript" src="tools.js"></script> <script> startWS(0); function onOpen() { read(); } function read() { document.getElementById('data').innerHTML = getFile("gpio.txt"); } </script> </body> </html>
Weblap megnyitás számláló.
NUM[0]TB=Visitors:
<html> <body> <H1>Page visitor counter</H1><br> <H2 id="counter"></H2> <button type="button" onclick="sendWS('STR[10-19]@')">Details</button> <br><br> <span id="times"></span> <script type="text/javascript" src="tools.js"></script> <script> startWS(0); function onOpen() { sendWS('STR[*]=%h:%0m:%0s|NUM[0]@+1'); } function onMessage(msg) { if (msg.substring(0,8) === "Visitors") { document.getElementById("counter").innerHTML = msg; return; } var array = msg.split("~"); var details = ""; for (var i=0; i<10; i++) {details += array[i] + "<br>";} document.getElementById("times").innerHTML = details; } </script> </body> </html>