# Komunikace se stolem Milana Marka pro GFM04 MSV Studénka příkazy: Oddělovač CRLF. Na libovolný povel může stůl vrátit `ERR text chyby`. ## `IDN` - Ident ### Request ``` IDN ``` ### Response ``` TYP GFM04 FW verze ``` ## `SET` - Pohyb stolu X (natočení), Y (naklopení) hodnota ve stupních a zlomcích stupně (nikoliv minutách), respektuje interní offset (viz povel `S00`). Smysl mají dvě desetinná místa. Rozsah +-190 pro X, +- 45 pro Y **ve fyzických souřadnicích** (nerespektuje `S00`), při špatném rozsahu stůl vrátí `ERR Out of bound`. Otáčení je kladné při směru proti pohybu hodinových ručiček. Naklápění je kladné, když průmět světla u spektrometru klesá, záporné když stoupá. ### Request ``` SET X Y ``` příklad: ``` SET 123.45 -32.111 ``` ### Response Odpověd dorazí až když je stůl ve vyžádané poloze ``` OK ``` ## `GET` - Zjištění polohy stolu Zjištění polohy stolu v rel. souřadnicích (respektuje povel `S00`) ### Request ``` GET ``` ### Response ``` VAL X Y ``` příklad ``` VAL 123.45 -32.123 ``` ## `S00` - Nastavení relativních souřadnic stolu Vyslání tohoto povelu způsobí, že aktuální fyzická poloha stolu bude mít souřadnice vyslané v tomto povelu. Typicky se bude používat s hodnotami `X = 0`, `Y = 0`, čímž se řekne, že aktuálně nastavená poloha stolu je nulová. Stůl si musí interně spočítat offset mezi skutečnou polohou a požadovanou. Veškerá interakce poté probíhá v relativních souřadnicích, ve kterých se tento offset uplatňuje, tedy - v komunikaci s SW po RS232, tedy povely `SET`, `GET` - v komunikaci s uživatelem pomocí panelu, tedy vypisování souřadnic na displej a vstup pomocí klávesnice Offset se vynuluje po referování stolu (povel `REF`) ### Request ``` S00 X Y ``` příklad (nulování): ``` S00 0 0 ``` příklad: ``` S00 123.45 -32.111 ``` ### Response ``` OK ``` ## `REF` - Reference stolu Poznámka: Uživatelé ve Studénce si referenci interně nazývají "Kalibrace". Referování funguje takto: Po spuštění stolu není možné se stolem pohybovat - ani ručně, ani vzdáleně - dokud není zreferován. Reference se ovšem nespouští automaticky po spuštění stolu (z bezpečnostních důvodů), ale až po explicitní akci - stisku tlačítka, nebo povelu `REF`. Pokud se stolu vyšle povel pro nastavení nebo zjištění polohy, a stůl přitom není zreferován, vrátí chybu `Not referenced`. Po referenci stolu se vynuluje interní offset stolu (viz povel `S00`) ### Request ``` REF ``` ### Response ``` OK ``` ## `TXT` - Zobrazení textu na displeji ovládacího panelu Stůl zobrazí ASCII text na volném řádku panelu pro ovládání stolu. Prázdný text řádek smaže. Užitečné např. pro zobrazování aktuální hodnoty svítivosti na panelu. ### Request ``` TXT ``` ### Response ``` OK ``` ### Příklad ``` TXT Luxmetr 12345,6 cd ``` ## Typické chyby: - Too long (povel příliš dlouhý) - Unknown command - Out of bound - Unknown parameter - No value - NoRef