Příklady komunikace přes linku RS485 aktualizace pro verzi programu: 2023-02-09 =================================================== Základní nastavená rychlost je 9600, 8 databitů, bez parity. Rychlost je možné změnit přes USB pomocí příkazu: "@S n" (n je číslo od 0 do 3 pro rychlosti : 9600, 19200, 38400, nebo 115200) Změna rychlosti se týká i komunikace přes USB. Komunikace probíhá následovně: Master (počítač) odešle požadavek - délka požadavku je vždycky stejná (13 bajtů). Pokud nějaká funkce nevyužije všechny parametry, odesílají se s hodnotou 0. 1. bajt je vždycky SLAVE adresa (nebo v některých případech 127 (0x7F) pro společné ovládání všech zařízení na lince) 2. bajt je kód funkce (01 až 0E) 3. až 12. bajt obsahuje případné parametry funkcí 13. bajt je kontrolní bajt (všech 12 předchozích bajtů postupně odečtených od 256) Pak MASTER maximálně 2,5 sekundy čeká na odpověď. Když odpověď nepřijde, znamená to chybu (timeout). Čeká ještě další sekundu, která by měla umožnit vymazat buffer všem ostatním slejvům. Každý SLAVE si testuje alespoň 1x za 2 sekundy, jestli se něco neobjevilo na komunikační lince. Když ano, přijme 13 bajtů a zhodnotí, jestli se ho týkají (souhlasí adresa, dorazilo přesně 13 bajtů a (pokud je testování zapnuto) souhlasí kontrolní součet ve 13. bajtu). SLAVE okamžitě (do 1,5 sekundy od přijetí požadavku) musí odpovědět. Minimálně zprávou, že ještě pracuje a že výsledek není dostupný. Tím relace končí. Master si pak musí určit další termín, kdy se příslušného slejva znova dotáže. Master nesmí odeslat další dotaz do jiného zařízení dřív, než 3 sekundy po poslední odpovědi. To by mělo všem slejvům dát možnost vyprázdnit své buffery. Pokud komunikuje jen s jedním zařízením, může další dotaz odeslat hned po příjmu předchozí odpovědi. Když nějaký slejv přijme data, která se ho netýkají, dá si 3 sekundy pauzu během které ignoruje veškerou komunikaci (přijímá data, ale hned maže buffer). Po 3 sekundách od začátku relace by měla být linka opět volná a připravená na další požadavek od mastera. Seznam funkcí (druhý odesílaný bajt): * 01 - požadavek o start měření všech veličin se zápisem do EEPROM a na SD kartu (pokud bude vložená) 02 - žádost o poslední naměřená data Pro parametr = 00 se vrátí všechny data jako bajty - rychlá komunikace, snadno zpracovatelná Masterem Pro parametr = 01 se vrátí celá zformátovaná řádka všech měření v TXT (stejný formát, jako se ukládá na SD kartu) Pro parametr = 02 se vrátí jen poslední hodnota jasu v TXT (v desetinném tvaru) Pro parametr = 03 se vrátí jen poslední čitelná teplota v TXT Pro parametr = 04 se vrátí jen vlhkost v TXT Pro parametr = 05 se vrátí jen tlak v TXT Pro parametr = 06 se vrátí čitelná hlavička Pro parametr = 07 se vrátí jen zeměpisné souřadnice (všechny 3 oddělené středníkem) Pro parametr = 08 se vrátí náklon přístroje v TXT Pro parametr = 09 se vrátí elevace Slunce v TXT Pro parametr = 0A se vrátí elevace Měsíce v TXT Pro parametr = 0B se vrátí stav osvětlení Měsíce v TXT Pro parametr = 0C se vrátí azimut namíření čidla světla 03 - žádost o změřená data z EEPROM, index záznamu je v následujících dvou parametrech HIGH index , LOW index , 0 (když je poslední parametr 0, vrací se odpověď jako blok bajtů) HIGH index , LOW index , 1 ( pro parametr 1 se vrátí celá zformátovaná řádka vybraného záznamu v TXT (stejný formát, jako se ukládá na SD kartu)) * 04 - nastavení datumu a času podle následujících 6 parametrů YY,M,D,H,N,S 05 - zjištění datumu a času pro parametr = 00 : upravená data včetně korekcí; pro parametr = 01 : jen data z RTC (bez korekcí); pro parametr = 02 : datum a čas posledního seřízení; pro parametr = 03 : jen +/- korekce v sekundách pro parametr = 04 : čitelný datum a čas v textovém formátu včetně korekcí a oddělovačů * 06 - přepnutí na zimní časovou zónu (defaultně SEČ) * 07 - přepnutí na letní časovou zónu (defaultně SELČ) 08 - zjištění počtu průměrování světla * 09 - nastavení průměrování podle dalšího parametru 0A - zjištění nastavené hodnoty automatického spouštění * 0B - nastavení intervalu automatického spouštění (v minutách) podle následujícího parametru (0=vypnuto) * 0C - změřit jas bez kalibrační korekce (s průměrováním 10x) 0D - žádost o index a adresu posledního záznamu v EEPROM * 0E - přepnutí na jiné čidlo světla na expanzní desce Pro parametr = 00 až 07 se nastaví konkrétní čidlo Pro parametr = 08 se jen přepne na následující čidlo Pokud je místo adresy konkrétního zařízení (první odeslaný bajt) použita adresa 127, platí příkaz pro všechna zařízení na lince, ale ani jedno pak do sériové linky neodpovídá. Týká se to jen funkcí označených hvězdičkou. Příklady komunikace RS485 (pro zařízení se SLAVE adresou 1): Čísla ve složených závorkách označují 1 vrácený bajt v hexadecimálním tvaru. ================================================================================= Požadavek: Start měření všech veličin se zápisem do EEPROM a na případně i na SD kartu (pokud bude vložená) 01 01 00 00 00 00 00 00 00 00 00 00 FE | | | | | \---- kontrolní bajt (256 - 1 - 1 = 0xFE) | \------------------------------------- požadovaná funkce (1 = spustit měření) \---------------------------------------- SLAVE adresa zařízení Odpověď: {01}{01}{03}{FB} | | | | | | | \---- kontrolní bajt (256 - 1 - 1 - 3 = 0xFB) | | \-------- počet průměrování (nebo 0 pro případ, že ještě není dokončeno předchozí měření) | \------------ odpověď s požadovanou funkcí (1 = spustit měření) \---------------- SLAVE adresa zařízení ================================================================================= Požadavek: žádost o poslední naměřená data 01 02 00 00 00 00 00 00 00 00 00 00 FD | | | | | | | \---- kontrolní bajt (256 - 1 - 2 = 0xFD) | | \---------------------------------- parametr pro požadovaný formát výstupu (00 až 0C)* | \------------------------------------- požadovaná funkce (2 = žádost o poslední změřená data) \---------------------------------------- SLAVE adresa zařízení * formáty výstupu: - Pro parametr 00 se vrátí všechna data jako bajty - rychlá komunikace, snadno zpracovatelná Masterem - Pro parametr 01 se vrátí celá řádka všech měření v textovém formátu (stejný formát, jako se ukládá na SD kartu) - Pro parametr 02 se vrátí jen poslední hodnota jasu v textovém formátu (v desetinném tvaru) - Pro parametr 03 se vrátí jen poslední hodnoty teploty v textovém formátu - Pro parametr 04 se vrátí jen vlhkost v textovém formátu - Pro parametr 05 se vrátí jen tlak v textovém formátu - Pro parametr 06 se vrátí hlavička v textovém formátu - Pro parametr 07 se vrátí zeměpisné souřadnice (šířka; délka; nadmořská výška) textovém formátu. Jednotlivé položky jsou oddělené středníky - Pro parametr 08 se vrátí úhel naklonění přístroje textovém formátu - Pro parametr 09 se vrátí elevace Slunce v textovém formátu - Pro parametr 0A se vrátí elevace Měsíce v textovém formátu - Pro parametr 0B se vrátí osvětlení Měsíce v textovém formátu - Pro parametr 0C se vrátí azimut měření v textovém formátu V případě, že ještě není dokončené předchozí měření, vrací SLAVE zjednodušenou informaci o tom, kolik ještě zbývá do konce měření. Není to žádný čas v sekundách, ale MASTER by z toho mohl čas alespoň přibližně odhadnout. Příklady odpovědí na žádost s parametrem 0, když ještě není dokončené měření: {01}{00}{0A}{F5} {01}{00}{09}{F6} {01}{00}{04}{FB} {01}{00}{03}{FC} {01}{00}{02}{FD} {01}{00}{01}{FE} | | | | | | | \---- kontrolní bajt | | \---- počet zbývajících měření pro průměrování (čísla vyšší než 20 udávají stav, kdy se čeká na stabilní hodnotu světla) | \---- 0 znamená, že měření ještě není dokončené \---- SLAVE adresa zařízení Pro žádosti o odpovědi v textovém formátu (parametry 1 až 6) se vrací počet zbývajících měření takto ( hvězdička, mezera a dvojciferné číslo v desítkovém tvaru): * 10 * 09 * 06 * 04 * 01 Odpověď pro požadavek s parametrem 00: {01}{02}{24}{82}{63}{E4}{12}{2F}{35}{E3}{1C}{0A}{D5}{33}{7B}{35}{1B}{5F}{16}{88}{93}{DD}{1F}{FF}{FF}{FF}{FF}{FF}{FF}{FF}{FF}{FF}{27}{05}{00}{FB}{32}{67}{5C}{1F} | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | \---- kontrolní bajt | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | \---- osvětlení Měsíce v % | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | \---- elevace Měsíce zvětšená o 90° | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | \---- elevace Slunce zvětšená o 90° | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | \---\---- azimut měření ve stupních | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | \---\---- náklon v desetinách stupně zvětšený o 1000° (0x2705 = 9989 = -1,1°) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | \---\---- nadmořská výška zvětšená o 500m | | | | | | | | | | | | | | | | | | | | | | | | | | \---\---\---\---- zeměpisná délka v miliontinách ° zvětšená o 180° | | | | | | | | | | | | | | | | | | | | | | \---\---\---\---- zeměpisná šířka v miliontinách ° zvětšená o 90° | | | | | | | | | | | | | | | | | | | | \---\---- tlak v Pa snížený o 60000Pa | | | | | | | | | | | | | | | | | | \---\---- vlhkost v setinách % | | | | | | | | | | | | | | | | \---\---- teplota v unsigned int formátu (setiny °C zvětšené o +50°C) | | | | | | | | | | | | | | | \---- obsah řídícího registru pro čidlo světla (zesílení) ** | | | | | | | | | | | | | \---\---- FULL složka světla | | | | | | | | | | | \---\---- INFRA složka světla | | | | | | | | | | \---- upřesňující značka pro záznam (SLAVE adresa, způsob spuštění měření, stabilita měření) ** | | | | | | | | \---\---- jas v tisícinách mag/arcsek2 | | | | \---\---\---\---- čas pořízení záznamu (počet sekund od 1.1.2000) | | | \---- první bajt záznamu (typ záznamu, SEČ/SELČ) ** | | \---- počet datových bajtů pro jeden uložený záznam | \---- odpověď s požadovanou funkcí (2 = žádost o poslední data), nebo 0 pro případ, že měření ještě není dokončeno \---- SLAVE adresa zařízení ** popis kódování informací v těchto třech bajtech je popsaný v návodu v kapitole "Organizace vnitřní EEPROM" Stejná odpověď na požadavek s parametrem 01: 00005 ; 000844 ; 1675891247 ; 08.02.2023 ; 21:20:47 ; St ; SEC ; 13795 ; 13,795 ; 01 ; 01 ; komun ; STABIL ; 02773 ; 13179 ; 600 ; 9876x ; 07007 ; +20,07 ; 05768 ; 057,68 ; 097853 ; ---------- ; ----------- ; ----- ; -001,1 ; 251 ; -40 ; +13 ; 92 Stejná odpověď na požadavek s parametrem 02: 13,795 mag/arcsec^2 Stejná odpověď na požadavek s parametrem 03: +20,07 'C Stejná odpověď na požadavek s parametrem 04: 057,68 % Stejná odpověď na požadavek s parametrem 05: 097853 Pa Stejná odpověď na požadavek s parametrem 06: pol. ; EEPROM ; sek_1970 ; datum ; cas ; dvt; zona ; jas ; jas ;adr.;cid.; pozn. ; stab_jas ; infra ; full ; [ms]; citl. ;teplota; tep.'C ;vlhkost; vlh. % ; tlak ; GEO_lat ; GEO_long ; ALT ; naklon ; azm ; S_el ; M_el ; M_sv Stejná odpověď na požadavek s parametrem 07: ---------- ; ----------- ; ----- (tento konkrétní záznam neobsahoval zeměpisné souřadnice) +49,444344 ; +014,366605 ; +0498 (takovýto výpis se vrátí, pokud jsou souřadnice k dispozici) Stejná odpověď na požadavek s parametrem 08: naklon = -001,1 ' Stejná odpověď na požadavek s parametrem 09: S_el = -40 ' Stejná odpověď na požadavek s parametrem 0A: M_el = +13 ' Stejná odpověď na požadavek s parametrem 0B: M_sv = 92 % Stejná odpověď na požadavek s parametrem 0C: azm = 251 ' ================================================================================= Požadavek: žádost o dříve naměřená data s konkrétním indexem z EEPROM 01 03 00 05 00 00 00 00 00 00 00 00 F7 | | | | | | | | | | | \---- kontrolní bajt (256 - 1 - 3 - 5 = 0xF7) | | | | \ --------------------------- parametr pro požadovaný formát výstupu (0=vrátí všechna data jako bajty; 1=vrátí záznam jako čitelný text - ve formátu, v jakém se ukládá na SD kartu) | | \--\------------------------------- index záznamu v EEPROM | \------------------------------------- požadovaná funkce (3 = žádost o data s konkrétním indexem) \---------------------------------------- SLAVE adresa zařízení Vrácená data v bajtovém formátu (parametr = 0) {01}{03}{24}{82}{63}{E4}{12}{2F}{35}{E3}{1C}{0A}{D5}{33}{7B}{35}{1B}{5F}{16}{88}{93}{DD}{1F}{FF}{FF}{FF}{FF}{FF}{FF}{FF}{FF}{FF}{27}{05}{00}{FB}{32}{67}{5C}{1E} | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | \---- kontrolní bajt | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | \---- osvětlení Měsíce v % | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | \---- elevace Měsíce zvětšená o 90° | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | \---- elevace Slunce zvětšená o 90° | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | \---\---- azimut měření ve stupních | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | \---\---- náklon v desetinách stupně zvětšený o 100° | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | \---\---- nadmořská výška zvětšená o 500m | | | | | | | | | | | | | | | | | | | | | | | | | | \---\---\---\---- zeměpisná délka v miliontinách ° zvětšená o 180° | | | | | | | | | | | | | | | | | | | | | | \---\---\---\---- zeměpisná šířka v miliontinách ° zvětšená o 90° | | | | | | | | | | | | | | | | | | | | \---\---- tlak v Pa snížený o 60000Pa | | | | | | | | | | | | | | | | | | \---\---- vlhkost v setinách % | | | | | | | | | | | | | | | | \---\---- teplota v unsigned int formátu (setiny °C zvětšené o +50°C) | | | | | | | | | | | | | | | \---- obsah řídícího registru pro čidlo světla (zesílení) ** | | | | | | | | | | | | | \---\---- FULL složka světla | | | | | | | | | | | \---\---- INFRA složka světla | | | | | | | | | | \---- upřesňující značka pro záznam (SLAVE adresa, způsob spuštění měření, stabilita měření) ** | | | | | | | | \---\---- jas v tisícinách mag/arcsek2 | | | | \---\---\---\---- čas pořízení záznamu (počet sekund od 1.1.2000) | | | \---- první bajt záznamu (typ záznamu, SEČ/SELČ) ** | | \---- počet datových bajtů pro jeden uložený záznam | \---- odpověď s požadovanou funkcí (3 = žádost o starší data) \---- SLAVE adresa zařízení ** popis kódování informací v těchto třech bajtech je popsaný v návodu v kapitole "Organizace vnitřní EEPROM" Vrácená data v textovém formátu (parametr = 1) 00005 ; 000844 ; 1675891247 ; 08.02.2023 ; 21:20:47 ; St ; SEC ; 13795 ; 13,795 ; 01 ; 01 ; komun ; STABIL ; 02773 ; 13179 ; 600 ; 9876x ; 07007 ; +20,07 ; 05768 ; 057,68 ; 097853 ; ---------- ; ----------- ; ----- ; -001,1 ; 251 ; -40 ; +13 ; 92 V případě, že se požaduje index, který ještě nebyl uložený nebo je dokonce mimo rozsah EEPROM, vrací se nulové bajty, nebo textové upozornění, že požadovaná data nejsou k dispozici. Příklad: Vrácená data v bajtovém formátu (parametr = 0) při požadavku o záznam, který neexistuje (je mimo rozsah EEPROM, nebo ještě nebyl uložen) {01}{03}{00}{FC} | | | | | | | \---- kontrolní bajt | | \---- chyba - záznam neexistuje | \---- odpověď s požadovanou funkcí (3 = žádost o starší data) \---- SLAVE adresa zařízení Vrácená data v textovém formátu (parametr = 1) při požadavku o záznam, který neexistuje (je mimo rozsah EEPROM, nebo ještě nebyl uložen) Číslo v závorce udává maximální počet záznamů, které se vejdou do EEPROM --- ( max: 3621) ================================================================================= Požadavek nastavení času (příklad pro: 27.2.2021 13:25:00) 01 04 15 02 1B 0D 19 00 00 00 00 00 A3 | | | | | | | | | | | | | | | | | \---- kontrolní bajt (256 - 1 - 4 - 21 - 2 - 27 - 13 - 25 = 0xA3) | | | | | | | \------------------- sekunda (0x00 = 0 sekund) | | | | | | \---------------------- minuta (0x19 = 25 minut) | | | | | \------------------------- hodina (0x0D = 13 hodin) | | | | \---------------------------- den (0x1B = 27 dní) | | | \ ------------------------------ měsíc (0x02 = únor) | | \---------------------------------- poslední dvojčíslí roku (0x15 = 21 => rok 2021) | \------------------------------------- požadovaná funkce (4 = nastavení času) \---------------------------------------- SLAVE adresa zařízení Odpověď: {01}{04}{FB} | | | | | \---- kontrolní bajt | \---- odpověď s požadovanou funkcí (4 = žádost o nastavení času) \---- SLAVE adresa zařízení Při zadání SLAVE adresy 127 se nastaví všechna zařízení na lince zároveň, ale nevrací se žádné odpovědi. ================================================================================= Požadavek zjištění datumu a času z vnitřního RTC 01 05 00 00 00 00 00 00 00 00 00 00 FA | | | | | | | \---- kontrolní bajt (256 - 1 - 5 = 0xFA) | | \---------------------------------- parametr s požadovaným typem funkce * | \------------------------------------- požadovaná funkce (5 = zjištění času) \---------------------------------------- SLAVE adresa zařízení * - pro parametr = 00 vrátí čas z RTC včetně automatických korekcí - pro parametr = 01 vrátí čas z RTC (bez korekcí) - pro parametr = 02 vrátí datum a čas posledního seřízení - pro parametr = 03 vrátí jen +/- korekce v sekundách - pro parametr = 04 vrátí aktuální datum a čas z RTC včetně automatických korekcí v čitelném textovém formátu (s oddělovači) i s počtem sekund od 1.1.2000 Odpověď (pro parametr 00 nebo 01): {01}{05}{00}{15}{02}{1C}{08}{09}{23}{07}{00}{60}{3B}{4F}{BF}{E3} | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | \---- kontrolní bajt | | | | | | | | | | | \---\---\---\---- počet sekund od 1.1.2000 | | | | | | | | | | \---- časová zóna: 0= zimní (obvykle SEČ); 1= letní (obvykle SELČ) | | | | | | | | | \---- den v týdnu (po=1, út=2, .... ne=7) | | | | | | | | \---- sekunda | | | | | | | \---- minuta | | | | | | \---- hodina | | | | | \---- den (0x1B = 27.) | | | | \---- měsíc (únor) | | | \---- poslední dvojčíslí roku (0x15 = rok 2021) | | \---- kopírovaný vstupní parametr | \---- odpověď s požadovanou funkcí (5 = žádost o čas) \---- SLAVE adresa zařízení Odpověď (pro parametr 02): {01}{05}{02}{15}{02}{1B}{0D}{19}{00}{A0} | | | | | | | | | | | | | | | | | | | \---- kontrolní bajt | | | | | | | | \---- sekunda | | | | | | | \---- minuta | | | | | | \---- hodina | | | | | \---- den (0x1B = 27.) | | | | \---- měsíc (únor) | | | \---- poslední dvojčíslí roku (0x15 = rok 2021) | | \---- kopírovaný vstupní parametr | \---- odpověď s požadovanou funkcí (5 = žádost o čas) \---- SLAVE adresa zařízení Odpověď (pro parametr 03): {01}{05}{03}{7F}{FF}{FF}{FF}{7B} | | | | | | | | | | | | | | | \---- kontrolní bajt | | | \---\---\---\---- po kolika sekundách se má přidat nebo ubrat extra sekunda (nejvyšší bit je znaménko) | | \---- kopírovaný vstupní parametr | \---- odpověď s požadovanou funkcí (5 = žádost o čas) \---- SLAVE adresa zařízení Odpověď (pro parametr 04): 28.02.2021 08:21:43 SEC (Ne) 1614500503 ================================================================================= Přepnutí na zimní časovou zónu (obvykle SEČ) 01 06 00 00 00 00 00 00 00 00 00 00 F9 | | | | | \---- kontrolní bajt (256 - 1 - 6 = 0xF9) | \------------------------------------- požadovaná funkce (6 = přepnutí na SEČ) \---------------------------------------- SLAVE adresa zařízení Odpověď: {01}{06}{F9} | | | | | \---- kontrolní bajt | \---- odpověď s požadovanou funkcí (6 = přepnutí na SEČ) \---- SLAVE adresa zařízení ================================================================================= Přepnutí na letní časovou zónu (obvykle SELČ) 01 07 00 00 00 00 00 00 00 00 00 00 F8 | | | | | \---- kontrolní bajt (256 - 1 - 7 = 0xF8) | \------------------------------------- požadovaná funkce (7 = přepnutí na SEČ) \---------------------------------------- SLAVE adresa zařízení Odpověď: {01}{07}{F8} | | | | | \---- kontrolní bajt | \---- odpověď s požadovanou funkcí (7 = přepnutí na SEČ) \---- SLAVE adresa zařízení ================================================================================= Zjištění počtu průměrování 01 08 00 00 00 00 00 00 00 00 00 00 F7 | | | | | \---- kontrolní bajt (256 - 1 - 8 = 0xF7) | \------------------------------------- požadovaná funkce (8 = zjištění nastaveného počtu průměrování) \---------------------------------------- SLAVE adresa zařízení Odpověď: {01}{08}{03}{F4} | | | | | | | \---- kontrolní bajt | | \---- nastavený počet vzorků k průměrování | \---- odpověď s požadovanou funkcí (8 = zjistit počet průměrování) \---- SLAVE adresa zařízení ================================================================================= Nastavení počtu průměrování 01 09 05 00 00 00 00 00 00 00 00 00 F1 | | | | | | | \---- kontrolní bajt (256 - 1 - 9 - 5 = 0xF1) | | \---------------------------------- požadovaný počet průměrování (rozsah 1 až 20) | \------------------------------------- požadovaná funkce (9 = nastavení počtu průměrování) \---------------------------------------- SLAVE adresa zařízení Odpověď: {01}{09}{F6} | | | | | \---- kontrolní bajt | \---- odpověď s požadovanou funkcí (9 = nastavení počtu průměrování) \---- SLAVE adresa zařízení ================================================================================= Zjištění intervalu automatického spouštění měření 01 0A 00 00 00 00 00 00 00 00 00 00 F5 | | | | | \---- kontrolní bajt (256 - 1 - 10 = 0xF5) | \------------------------------------- požadovaná funkce (10 = zjištění intervalu automatického spouštění měření) \---------------------------------------- SLAVE adresa zařízení Odpověď: {01}{0A}{00}{F5} | | | | | | | \---- kontrolní bajt | | \---- nastavený interval pro automatické spouštění měřeni v minutách (0 = automat vypnutý) | \---- odpověď s požadovanou funkcí (10 = zjištění intervalu automatického spouštění měření) \---- SLAVE adresa zařízení ================================================================================= Nastavení intervalu automatického spouštění měření 01 0B 08 00 00 00 00 00 00 00 00 00 EC | | | | | | | \---- kontrolní bajt (256 - 1 - 11 - 8 = 0xEC) | | \---------------------------------- požadovaný interval v minutách (0 = vypnout automat) | \------------------------------------- požadovaná funkce (11 = nastavení intervalu automatického spouštění měření) \---------------------------------------- SLAVE adresa zařízení Odpověď: {01}{0B}{F4} | | | | | \---- kontrolní bajt | \---- odpověď s požadovanou funkcí (11 = nastavení intervalu automatického spouštění měření) \---- SLAVE adresa zařízení ================================================================================= Požadavek o kalibrační měření jasu bez korekcí 01 0C 00 00 00 00 00 00 00 00 00 00 F3 | | | | | \---- kontrolní bajt (256 - 1 - 12 - = 0xF3) | \------------------------------------- požadovaná funkce (12 = kalibrační měření jasu - bez korekcí) \---------------------------------------- SLAVE adresa zařízení Odpověď: {01}{0C}{01}{F2} | | | | | | | \---- kontrolní bajt | | \---- stav (1=OK, začínám měřit ; 0=BUSSY, není ještě dokončené předchozí měření) | \---- odpověď s požadovanou funkcí (12 = kalibrační měření jasu - bez korekcí) \---- SLAVE adresa zařízení ================================================================================= Požadavek o index a adresu posledního uloženého záznamu ve vnitřní EEPROM 01 0D 00 00 00 00 00 00 00 00 00 00 F2 | | | | | \---- kontrolní bajt (256 - 1 - 13 - = 0xF2) | \------------------------------------- požadovaná funkce (13 = žádost o index a adresu posledního záznamu) \---------------------------------------- SLAVE adresa zařízení Odpověď: {01}{0D}{00}{04}{00}{03}{28}{24}{C3} | | | | | | | | | | | | | | | | | \---- kontrolní bajt | | | | | | | \---- délka jednoho záznamu v EEPROM (0x24 = 36 bajtů) | | | | \---\---\---- 3 bajty s adresou posledního záznamu v EEPROM (0x000328 = adresa 808) | | \---\---- 2 bajty s indexem posledního záznamu (0x0004 = index 4) | \---- odpověď s požadovanou funkcí (13 = žádost o index a adresu posledního záznamu) \---- SLAVE adresa zařízení ================================================================================= Přepínání čidel na expanzní desce 01 0E 05 00 00 00 00 00 00 00 00 00 EC | | | | | | | \---- kontrolní bajt (256 - 1 - 14 - 5 - = 0xEC) | | \---------------------------------- parametr (0 až 7 = konkrétní číslo požadovaného čidla, nebo 8 = přepnutí na následující čidlo) | \------------------------------------- požadovaná funkce (14 = přepnutí čidla) \---------------------------------------- SLAVE adresa zařízení Odpověď: {01}{0E}{FF}{F2} | | | | | | | \---- kontrolní bajt | | \---- výsledek (0 až 7 = číslo nově aktivního čidla. Případně 255 když je číslo čidla mimo rozsah, nebo když není expanzní deska zapojena) | \---- odpověď s požadovanou funkcí (14 = přepnutí čidla) \---- SLAVE adresa zařízení =================================================================================