STR / NUM

Közös parancsok

Az STR, NUM parancs nagyon sokban hasonlít egymásra, többek között ugyanaz a tárheyük. Sztringek (STR), számok (NUM) tárolására valók. Összesen 256db hely van, STR[0] / NUM[0] - STR[255] / NUM[255]. A kapcsos zárójelbe írt szám az index. Ez jelöli a NUM/STR sorszámát. A számmal kezdődő STR használható NUM parancsként. A NUM mindig használható STR formában. Példa:
NUM[0]=3Érték: 3
STR[0]> almaÉrték: 3 alma
NUM[0]+2Érték: 5
A lenti példákban az STR lesz használva, de a NUM parancs ugyanúgy működik numerikus értékekkel.

STR[0]=Lion
STR[1]=Cat
STR[2]=Mouse
Ezzel érték adtunk a 0., 1., 2. helynek. RAM-ban tárolódik, újraindításkor elveszik.

STR[3]=STR[0]
STR[3] értéke STR[0] lesz.

STR[3]=NUM[0]
STR[3] értéke NUM[0] lesz. Ugyanaz, mint az előző.

NUM[4]=2
STR[3]=NUM(4)
STR[3] értéke NUM[4] értékének megfelelő indexű STR lesz.
STR[3]@ parancsra jelen esetben "Mouse" a válasz.

STR[0]<Before_
STR[0] elejére teszi a "Before_" karaktersort.

STR[0]>_After
STR[0] végére teszi az "_After" karaktersort.

Egy példa:
STR[0]=Lion|
STR[1]=Cat|
STR[2]=STR[0]|
STR[2]<The |
STR[2]> is not a |
STR[2]>STR[1]|
STR[2]@>.
A fenti példa a konzol Send textboxába bemásolva kipróbálható.

STR[0]$
STR[0] értékét a FLASH memóriába menti, újraindítás után megmarad.

STR[0]@
STR[0] értékét az STDUT-ra küldi. Hogy milyen csatornák kapják meg, az a Setup menüben állítható.

STR[0]$@=Cat
STR[0] értéke "Cat", FLASH memóriába menti, STDOUT-ra kiküldi.


STR[0]#save.txt
STR[0] értékét save.txt fájlba menti. Azonos nevű fájlt felülírja. File Manager ablakból letölthető.

STR[0]#STR[1]
STR[0] értékét menti. Fájlnév: STR[1] tartalma.

STR[0]#&save.txt
STR[0] értékét save.txt fájl végéhez hozzáadja. Ha még nincs ilyen nevű fájl, létrehozza. A fájl régi és az újonan hozzáadott tartalma között nincs elválasztó karakter.

STR[0]#(r)save.txt
STR[0]#&(r)save.txt
STR[0] értékét menti, a végére rak egy \r karaktert (Unix új sor).

STR[0]#(n)save.txt
STR[0]#&(n)save.txt
STR[0] értékét menti, a végére rak egy \n karaktert (iOS új sor).

STR[0]#(rn)save.txt
STR[0]#&(rn)save.txt
STR[0] értékét menti, a végére rak \r\n karaktereket (Windows új sor).

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

STR[#]
STR[10] - STR[255] értékét menti STRNUM.txt fájlba. Bootoláskor betölti.
Használata esetén a $ STR[0] - STR[9] között működik csak.

STR[#]save.txt
STR[10] - STR[255] értékét menti save.txt fájlba.

STR[#]=save.txt
STR[10] - STR[255] értékét save.txt fájlból betölti.

STR[0]=&year
STR[0] értéke NTP év.

STR[0]=&month
STR[0] értéke NTP hónap.

STR[0]=&0month
STR[0] értéke NTP hónap. 10 alatt egy nullát tesz elé.

STR[0]=&week
STR[0] értéke NTP hét napja. 1-vasárnap 2-hétfő...

STR[0]=&day
STR[0]=&0day
STR[0] értéke NTP nap.

STR[0]=&hour
STR[0]=&0hour
STR[0] értéke NTP óra.

STR[0]=&min
STR[0]=&0min
STR[0] értéke NTP perc.

STR[0]=&sec
STR[0]=&0sec
STR[0] értéke NTP másodperc.


STR[0]!
Törli RAM-ból a sztringet.

STR[0]$!
Törli FLASH-ből a sztringet.

STR[0]!$!
Törli RAM-ból, FLASH-ből a sztringet.

STR[!]
STR[10] - STR[255] törlődik RAM-ból, FLASH-ből, STR[+] indexe nullázódik.

STR[!!]
STR[0] - STR[255] törlődik RAM-ból, FLASH-ből, STR[+] indexe nullázódik.


STR[0-3]@
STR[0] - STR[3] tartama STDOUT-ra megy. A sztringek ~ karakterekkel vannak elválasztva egymástól.
JavaScript nyelvben a split paranccsal lehet tömböt csinálni belőle:
  var InputString = "text1~text2~text3~text4";
  var StringArray = [];
  StringArray = InputString.split('~');

STR[3-0]@
Ugyanaz mint előbb, csak fordított sorrendben.

STR[1-9]=This is [].String
STR[1] - STR[9] értéket kap.
A [] karakterek a sztring sorszámát (index) írják a sztringbe.

STR[20-29]=[1].line
A [] karakterek közti számtól kezdődik a számozás.


STR[+]=Power outage!
STR[+]=Engine overheated!
STR[10] tartalma "Power outage!"
STR[11] tartalma "Engine overheated!"
A parancs hatására az index automatikusan növekszik. Az index aktuális értékét, STR[10], STR[11] értékét flash memóriában tárolja. Index kezdő értéke 10, ha eléri a 255-öt, következő parancsra újra 10. GPIO eseménynaplózásra dátummal, idővel fájlba kiválóan alkalmas.

STR[S]@
STR[+] paranccsal tárolt sztringeket STDOUT-ra küldi.

STR[R]@
STR[+] paranccsal tárolt sztringeket fordított sorrendben STDOUT-ra küldi.

STR[5-N]@
STR[5] - STR[+] indexéig tárolt sztringeket STDOUT-ra küldi.

STR[N]@
STR[+] paranccsal tárolt sztringek számát STDOUT-ra küldi.


STR[0](L,5)@
STR[0] első 5 karaktere kerül küldésre (LEFT)

STR[0](R,5)@
STR[0] utolsó 5 karaktere kerül küldésre (RIGHT)

STR[0](M,2,4)@
STR[0] 2.karakterétől 4 karakter kerül küldésre (MID)

STR[0](S,2,4)@
STR[0] 2.karakterétől a 4.karakteréig kerül küldésre (SubString)

STR[0](L,5)=STR[0]
STR[0] felülíródik STR[0] első 5 karakterére.

STR[0](R,5)=STR[1]
STR[1] STR[0] utolsó 5 karaktere lesz.


Csak STR parancsok


STR[0]=STDIN
Ez a parancs tárolja az utolsó STDIN-re érkezett üzenetet. A parancs végrehajtása után STDIN törlődik. STDIN-re küldött üzenetet az interpreter értelmezi. Értelmezhető parancsokat végrehajta, amit meg nem tud értelmezni, az lesz STR[0].
STDINCMD:STR[0]=STDIN parancs után STR[0] automatikusan frissül. IF paranccsal kombinálva van értelme.


Csak NUM parancsok


NUM[0]=12
NUM[0] értéke 12. Ez a parancs nem ugyanaz mint az STR[0]=12 !
Példa:
NUM[0]VH=12
NUM[0]@=15 Eredmény:12
STR[0]@=15  Eredmény:15

NUM[0]+2
NUM[0] értéke kettővel nő.

NUM[0]-3
NUM[0] értéke hárommal csökken.

NUM[0]=NUM[1]
NUM[0]+NUM[1]
NUM[0]-NUM[1]
NUM[0] értékét NUM[1] változtatja.

NUM[0]=A0
A modul A0 analóg bemenetének értéke lesz NUM[0].

NUM[0]=DSTEMPC
Dallas gyártmányú hőmérő értékét kapja Celsius fokban.

NUM[0]=DSTEMPF
Dallas gyártmányú hőmérő értékét kapja Kelvin fokban.

NUM[0]=DHTTEMPC
DHT hőmérő/páratartalommérő értékét kapja Celsius fokban.

NUM[0]=DHTTEMPF
DHT hőmérő/páratartalommérő értékét kapja Kelvin fokban.

NUM[0]=DHTHUM
DHT hőmérő/páratartalommérő páratartam értékét kapja százalékban.


NUM[0] - NUM[9]


NUM[0] - NUM[9] viselkedése konfigurálható. A színes parancsokat elég egyszer kiadni, ajánlott a boot.txt-ben.

NUM[0]VL=-10
NUM[0] alsó határa. Ennél kisebb nem lehet.

NUM[0]VH=30
NUM[0] felfő határa. Ennél negyobb nem lehet.

NUM[0]%@
Alsó felső határ közötti érték százalékban. A fenti határbeállítással NUM[0]=20|NUM[0]%@ "75%" kimenetet ad.

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"

https://github.com/PaulStoffregen/Time
Az NTP idő lekérdezését ezt a könyvtár teszi lehetővé. Köszönet a fejlesztőnek.