uint32_t cph_deca_wait_for_rx_finished_signal(int timeout_ms, volatile uint8_t * signal) { uint32_t status_reg; uint32_t start_ms = cph_get_millis(); uint32_t elapsed = 0; while (cph_deca_isr_is_detected() == false) { if (*signal == 0xFF) return 0; elapsed = cph_get_millis() - start_ms; if (elapsed > timeout_ms) return 0; } status_reg = dwt_read32bitreg(SYS_STATUS_ID); return status_reg; }
void cph_deca_isr(void) { do { dwt_isr(); } while (cph_deca_isr_is_detected() == 1); }
static void irq_handler(uint32 id, uint32 mask) { do { dwt_isr(); } while (cph_deca_isr_is_detected() == 1); }
static void irq_handler(uint32_t id, uint32_t mask) { int_count++; do { dwt_isr(); } while (cph_deca_isr_is_detected() == 1); }