Clean up the driver
Move mac_timer_init() into set_poll_mode() and remove now unneccesary clear outs and mask outs of interrupt sources and pending interrupts
This commit is contained in:
parent
9ac859a2af
commit
5753fb5173
|
@ -344,14 +344,12 @@ set_poll_mode(uint8_t enable)
|
||||||
poll_mode = enable;
|
poll_mode = enable;
|
||||||
|
|
||||||
if(enable) {
|
if(enable) {
|
||||||
REG(RFCORE_XREG_RFIRQM0) &= ~RFCORE_XREG_RFIRQM0_FIFOP; // mask out FIFOP interrupt source
|
mac_timer_init();
|
||||||
REG(RFCORE_SFR_RFIRQF0) &= ~RFCORE_SFR_RFIRQF0_FIFOP; // clear pending FIFOP interrupt
|
REG(RFCORE_XREG_RFIRQM0) &= ~RFCORE_XREG_RFIRQM0_FIFOP; // mask out FIFOP interrupt source
|
||||||
REG(RFCORE_XREG_RFIRQM0) &= ~RFCORE_XREG_RFIRQM0_SFD; // disable SFD interrupt source
|
REG(RFCORE_SFR_RFIRQF0) &= ~RFCORE_SFR_RFIRQF0_FIFOP; // clear pending FIFOP interrupt
|
||||||
nvic_interrupt_disable(NVIC_INT_RF_RXTX);
|
nvic_interrupt_disable(NVIC_INT_RF_RXTX); // disable RF interrupts
|
||||||
} else {
|
} else {
|
||||||
REG(RFCORE_XREG_RFIRQM0) |= RFCORE_XREG_RFIRQM0_FIFOP; // enable FIFOP interrupt source
|
REG(RFCORE_XREG_RFIRQM0) |= RFCORE_XREG_RFIRQM0_FIFOP; // enable FIFOP interrupt source
|
||||||
REG(RFCORE_XREG_RFIRQM0) &= ~RFCORE_XREG_RFIRQM0_SFD; // mask out SFD interrupt source
|
|
||||||
REG(RFCORE_SFR_RFIRQF0) &= ~RFCORE_SFR_RFIRQF0_SFD; // clear pending SFD interrupt
|
|
||||||
nvic_interrupt_enable(NVIC_INT_RF_RXTX); // enable RF interrupts
|
nvic_interrupt_enable(NVIC_INT_RF_RXTX); // enable RF interrupts
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -521,8 +519,6 @@ init(void)
|
||||||
udma_set_channel_src(CC2538_RF_CONF_RX_DMA_CHAN, RFCORE_SFR_RFDATA);
|
udma_set_channel_src(CC2538_RF_CONF_RX_DMA_CHAN, RFCORE_SFR_RFDATA);
|
||||||
}
|
}
|
||||||
|
|
||||||
mac_timer_init();
|
|
||||||
|
|
||||||
set_poll_mode(poll_mode);
|
set_poll_mode(poll_mode);
|
||||||
|
|
||||||
process_start(&cc2538_rf_process, NULL);
|
process_start(&cc2538_rf_process, NULL);
|
||||||
|
|
Loading…
Reference in a new issue