extern void eom_emsappl_hid_userdef_on_entry_CFG(EOMtheEMSappl* p) { // pulse led3 forever at 0.50 hz. eo_ledpulser_Start(eo_ledpulser_GetHandle(), eo_ledpulser_led_three, 2*EOK_reltime1sec, 0); // EOtheCANservice: set straight mode and force parsing of all packets in the RX queues. eo_canserv_SetMode(eo_canserv_GetHandle(), eocanserv_mode_straight); eo_canserv_ParseAll(eo_canserv_GetHandle()); // tell the ethmonitor to alert the task of the configurator // eo_ethmonitor_SetAlert(eo_ethmonitor_GetHandle(), eom_emsconfigurator_GetTask(eom_emsconfigurator_GetHandle()), emsconfigurator_evt_userdef02); // prefer sending a tx request just in case. because cfg state transmit only if requested an we dont want to have missed a previous request. eom_task_SetEvent(eom_emsconfigurator_GetTask(eom_emsconfigurator_GetHandle()), emsconfigurator_evt_ropframeTx); }
extern void eom_emsconfigurator_hid_userdef_DoJustAfterPacketParsing(EOMtheEMSconfigurator *p) { #if defined(TOGGLE_RUN_CFG_WITH3RXPACKETS) static uint8_t num = 0; // just for debug if(0 == p->numofrxrops) { num++; if(3 == num) { num = 0; // eom_emsappl_ProcessEvent(eom_emsappl_GetHandle(), eo_sm_emsappl_EVgo2run); eom_task_SetEvent(eom_emsconfigurator_GetTask(eom_emsconfigurator_GetHandle()), emsconfigurator_evt_go2runner); } } #endif }
static void s_eo_candiscovery2_on_timer_expiry(void *arg) { EOtheCANdiscovery2* p = (EOtheCANdiscovery2*)arg; p->searchstatus.tickingenabled = eobool_true; p->searchstatus.discoverynumretries ++; if(p->searchstatus.discoverynumretries >= p->discoverymaxretries) { // make it stop ... p->searchstatus.forcestop = eobool_true; } // ok, ... if we are in run i dont do anything else because i regularly call _Tick() every 1 ms. // however, if in config mode i must alert the processing task to execute a _Tick(). eOsmStatesEMSappl_t state = eo_sm_emsappl_STerr; eom_emsappl_GetCurrentState(eom_emsappl_GetHandle(), &state); if(eo_sm_emsappl_STcfg == state) { // must send an event to the handling task eom_task_SetEvent(eom_emsconfigurator_GetTask(eom_emsconfigurator_GetHandle()), emsconfigurator_evt_userdef01); } }