User Manual

91
Jelikož je ACS kompletně implementován v software, vyžaduje časté volání sledující funkce
z hlavní smyčky:
void task_ACS(void)
Tato funkce zcela ovládá ACS. Další zpracování se může provádět podobným způsobem ja
byl předveden u razníků.
Knihovna RP6Lib poskytuje dvě proměnné:
obstacle_left a obstacle_right
Kaž z nich se nastaví na TRUE, jakmile ACS detekuje překážku. Pokud se na TRUE nastaví
obě proměnné, překážka bude umístěna přímo před robotem.
Volitelně můžete použít obsluhu události ACS.
void ACS_setStateChangedHandler(void (*acsHandler)(void))
Tato funkce registruje obsluhu události, která musí mít sledující tvar:
void acsStateChanged(void)
Funkci můžete pojmenovat libovolně.
Ukázko program demonstruje, jak se funkce používá. Začíme registrací obsluhy události
(řádek 44), pak aktivujeme echny snímače včetně IR přijímače (řádek 46 bez toho to
samozřejmě nefunguje) a nastavíme výkon vysílače pro ACS IR LED (řádek 47). Hlavní smyčka
opakovaně volá funkci task_ACS().
Další vyhodnocení se provede automaticky. Funkce acsStateChanged způsobí volání, jakmile
dojde ke změně stavu ACS, který se objeví při detekci překážky nebo kd zase zmizí. Program
zobrazí okamžitý stav ACS textovou zprávou na terminálu a pomocí LED.