Struktura programu
Last updated
Last updated
Zařízení Byznce se programují v jazyce C++ a využívají a . Pro správnou funkčnost programu je nutné na první řádek nejprve importovat knihovnu "byzance.h" příkazem
Tato knihovna má za úkol automaticky inicializovat periferie, připojit zařízení k internetu a inicializovat vlákna, která se starají o a připojení k serverům. Importem knihovny se také zpřístupní funkce a .
Po importu všech potřebných knihoven je možno začít používat objekty definované v knihovnách. Může se jednat o vytvoření konstuktorů, periferie, nebo fyzické , které se budou v programu používat.
Další informace je možno naleznout v sekci .
Při programování funkčního bloku nástroji BLOCKO v portálu Byzance je často potřeba definovat virtuální vstupy a výstupy, které symbolizují právě vstupy a výstupy funkčního bloku ven ze zařízení. Tyto definice je nutné zanést společně s fyzickými vstupy a výstupy.
Bližší informace o významu a funkci virtuálních vstupů/výstupů a jejich programování je možno naleznout v příslušné kapitole.
Pokud je v programu potřeba využít nějaké komunikační rozhraní jako Sériová linka, SPI, CAN apd. je vhodné provést jejich definici v této části za definicí vstupů a výstupů. Definice sériové linky je znázorněna v následujícím kódu.
Program může mít definované tři základní funkce
pre_init()
init()
loop()
Tato funkce je zavolána na začátku programu jako první, ještě předtím, než je inicializováno vlákno Byzance a předtím než se zařízení připojí k serverům. Tuto funkci není povinné implementovat, nicméně její implementace může být užitečná například při debugu komunikace se servery nebo ovládání některých funkcí inicializovaných operačním systémem MBED.
Funkce init je provedená hned po funkci pre_init a stejně tak pouze jednou. Tato funkce slouží k inicializaci prvků potřebných v hlavní části programu. Její implementace není povinná.
Poslední hlavní funkcí je funkce loop, Tato funkce je vykonávaná ve smyčce a nahrazuje tak funkci while(true). Jediným rozdílem je to, že mezi jednotlivými smyčkami se dává prostor Byzance vláknu, které zajišťuje komunikaci a resetuje se watchdog.
Následující kód zobrazuje strukturu programu Hello_world s definicí vstupů, výstupů a komunikačních rozhraní a implementací všech třech hlavních funkcí
Bližší informace ke komunikačním rozhraním lze získat v sekci