rf230bb: Handle all IRQ flags in one ISR call.
Modified the if/elseif/elseif/.../else block in ISR into multiple if blocks in order to handle multiple interrupts happening simultaneously. Signed-off-by: Joakim Gebart <joakim.gebart@eistec.se>
This commit is contained in:
parent
6fb7dd238e
commit
f943eb9a27
|
@ -751,7 +751,8 @@ HAL_RF230_ISR()
|
|||
#endif
|
||||
#endif
|
||||
|
||||
} else if (interrupt_source & HAL_TRX_END_MASK){
|
||||
}
|
||||
if (interrupt_source & HAL_TRX_END_MASK){
|
||||
INTERRUPTDEBUG(11);
|
||||
|
||||
state = hal_subregister_read(SR_TRX_STATUS);
|
||||
|
@ -778,16 +779,20 @@ HAL_RF230_ISR()
|
|||
|
||||
}
|
||||
|
||||
} else if (interrupt_source & HAL_TRX_UR_MASK){
|
||||
}
|
||||
if (interrupt_source & HAL_TRX_UR_MASK){
|
||||
INTERRUPTDEBUG(13);
|
||||
;
|
||||
} else if (interrupt_source & HAL_PLL_UNLOCK_MASK){
|
||||
}
|
||||
if (interrupt_source & HAL_PLL_UNLOCK_MASK){
|
||||
INTERRUPTDEBUG(14);
|
||||
;
|
||||
} else if (interrupt_source & HAL_PLL_LOCK_MASK){
|
||||
}
|
||||
if (interrupt_source & HAL_PLL_LOCK_MASK){
|
||||
INTERRUPTDEBUG(15);
|
||||
;
|
||||
} else if (interrupt_source & HAL_BAT_LOW_MASK){
|
||||
}
|
||||
if (interrupt_source & HAL_BAT_LOW_MASK){
|
||||
/* Disable BAT_LOW interrupt to prevent endless interrupts. The interrupt */
|
||||
/* will continously be asserted while the supply voltage is less than the */
|
||||
/* user-defined voltage threshold. */
|
||||
|
@ -796,9 +801,6 @@ HAL_RF230_ISR()
|
|||
hal_register_write(RG_IRQ_MASK, trx_isr_mask);
|
||||
INTERRUPTDEBUG(16);
|
||||
;
|
||||
} else {
|
||||
INTERRUPTDEBUG(99);
|
||||
;
|
||||
}
|
||||
}
|
||||
#endif /* defined(__AVR_ATmega128RFA1__) */
|
||||
|
|
Loading…
Reference in a new issue