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
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
} else if (interrupt_source & HAL_TRX_END_MASK){
|
}
|
||||||
|
if (interrupt_source & HAL_TRX_END_MASK){
|
||||||
INTERRUPTDEBUG(11);
|
INTERRUPTDEBUG(11);
|
||||||
|
|
||||||
state = hal_subregister_read(SR_TRX_STATUS);
|
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);
|
INTERRUPTDEBUG(13);
|
||||||
;
|
;
|
||||||
} else if (interrupt_source & HAL_PLL_UNLOCK_MASK){
|
}
|
||||||
|
if (interrupt_source & HAL_PLL_UNLOCK_MASK){
|
||||||
INTERRUPTDEBUG(14);
|
INTERRUPTDEBUG(14);
|
||||||
;
|
;
|
||||||
} else if (interrupt_source & HAL_PLL_LOCK_MASK){
|
}
|
||||||
|
if (interrupt_source & HAL_PLL_LOCK_MASK){
|
||||||
INTERRUPTDEBUG(15);
|
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 */
|
/* Disable BAT_LOW interrupt to prevent endless interrupts. The interrupt */
|
||||||
/* will continously be asserted while the supply voltage is less than the */
|
/* will continously be asserted while the supply voltage is less than the */
|
||||||
/* user-defined voltage threshold. */
|
/* user-defined voltage threshold. */
|
||||||
|
@ -796,9 +801,6 @@ HAL_RF230_ISR()
|
||||||
hal_register_write(RG_IRQ_MASK, trx_isr_mask);
|
hal_register_write(RG_IRQ_MASK, trx_isr_mask);
|
||||||
INTERRUPTDEBUG(16);
|
INTERRUPTDEBUG(16);
|
||||||
;
|
;
|
||||||
} else {
|
|
||||||
INTERRUPTDEBUG(99);
|
|
||||||
;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* defined(__AVR_ATmega128RFA1__) */
|
#endif /* defined(__AVR_ATmega128RFA1__) */
|
||||||
|
|
Loading…
Reference in a new issue