Callback Busy
Last updated
Last updated
Callback je součást Byzance API a slouží k oznamování, že zařízení provádí update nového firmware, nebo přípravu na tento update. Toto je nazýváno jako stav busy. Většinou to znamená, že na pozadí probíhá výpočetně náročnější operace, která může narušovat aktuálně probíhající uživatelský program.
Callback Busy slouží k ošetření uživatelského programu, aby nekolidoval s procesy probíhajícími na pozadí.
K zavolání callbacku může dojít v průběhu vykonávání programu i několikrát po sobě - typicky při přípravě na update a posléze při aktualizaci samotné. Po dokončení aktualizace uživatelského programu může dojít k restartu zařízení.
Uživatelská funkce (callback), která má být vykonána v případě přepnutí do stavu "busy", se připojí pomocí následující konstrukce
Využití je vhodné v případě, kdy je v uživatelském programu například často voláno přerušení (ISR), které by mohlo potřebovat většinu výpočetního výkonu. Takovým případem může být například velmi často volaný Ticker. Dále je vhodné callback využít v případě, kdy je nutné ošetřit chování zařízení a ostatních připojených systémů v případě aktualizace. Takovým případem může být libovolný aktuátor, který by se v nejhorším případě mohl v průběhu update stát neovladatelným.
Uživatelská funkce připojená ke callbacku je volána pokaždé, když se změní stav busy a tato informace je zároveň předána v argumentu volané funkce
Následující ukázka kódu při startu programu inicializuje ticker, který může vykonávat nějakou činnost.