void micromag_read() { if (micromag_status == MM_IDLE) { MmSendReq(); } else if (micromag_status == MM_GOT_EOC) { MmReadRes(); } else if (micromag_status == MM_DATA_AVAILABLE) { micromag_status = MM_IDLE; } }
void micromag_periodic(void) { static uint8_t cnt = 0; if (micromag_status == MM_IDLE) { // uint8_t * tab = &cnt; // DOWNLINK_SEND_DEBUG(1,tab); cnt = 0; MmSendReq(); } else if (micromag_status == MM_GOT_EOC) { MmReadRes(); } else if (micromag_status == MM_WAITING_EOC) { cnt++; if (cnt > 50) {cnt = 0; micromag_status = MM_IDLE;} } }
static inline void main_periodic_task( void ) { static uint8_t cnt = 0; if (micromag_status == MM_IDLE) { LED_TOGGLE(4); // uint8_t * tab = &cnt; // DOWNLINK_SEND_DEBUG(1,tab); cnt = 0; MmSendReq(); } else if (micromag_status == MM_GOT_EOC) { LED_TOGGLE(2); MmReadRes(); } else if (micromag_status == MM_WAITING_EOC) { cnt++; if (cnt > 50) {cnt = 0; micromag_status = MM_IDLE;} } RunOnceEvery(10, {DOWNLINK_SEND_BOOT(&sys_time.nb_sec);});