@@ -34,32 +34,19 @@ void common_rtc_irq_handler(void)
34
34
void COMMON_RTC_IRQ_HANDLER (void )
35
35
#endif
36
36
{
37
- nrf_rtc_event_t event ;
38
- uint32_t int_mask ;
39
-
40
- event = US_TICKER_EVENT ;
41
- int_mask = US_TICKER_INT_MASK ;
42
- if (nrf_rtc_event_pending (COMMON_RTC_INSTANCE , event )) {
43
- nrf_rtc_event_clear (COMMON_RTC_INSTANCE , event );
44
- nrf_rtc_event_disable (COMMON_RTC_INSTANCE , int_mask );
45
-
37
+ if (nrf_rtc_event_pending (COMMON_RTC_INSTANCE , US_TICKER_EVENT )) {
46
38
us_ticker_irq_handler ();
47
39
}
48
40
49
41
#if DEVICE_LOWPOWERTIMER
50
- event = LP_TICKER_EVENT ;
51
- int_mask = LP_TICKER_INT_MASK ;
52
- if (nrf_rtc_event_pending (COMMON_RTC_INSTANCE , event )) {
53
- nrf_rtc_event_clear (COMMON_RTC_INSTANCE , event );
54
- nrf_rtc_event_disable (COMMON_RTC_INSTANCE , int_mask );
42
+ if (nrf_rtc_event_pending (COMMON_RTC_INSTANCE , LP_TICKER_EVENT )) {
55
43
56
44
lp_ticker_irq_handler ();
57
45
}
58
46
#endif
59
47
60
- event = NRF_RTC_EVENT_OVERFLOW ;
61
- if (nrf_rtc_event_pending (COMMON_RTC_INSTANCE , event )) {
62
- nrf_rtc_event_clear (COMMON_RTC_INSTANCE , event );
48
+ if (nrf_rtc_event_pending (COMMON_RTC_INSTANCE , NRF_RTC_EVENT_OVERFLOW )) {
49
+ nrf_rtc_event_clear (COMMON_RTC_INSTANCE , NRF_RTC_EVENT_OVERFLOW );
63
50
// Don't disable this event. It shall occur periodically.
64
51
65
52
++ m_common_rtc_overflows ;
@@ -204,6 +191,5 @@ void us_ticker_disable_interrupt(void)
204
191
205
192
void us_ticker_clear_interrupt (void )
206
193
{
207
- // No implementation needed. The event that triggers the interrupt is
208
- // cleared in 'common_rtc_irq_handler'.
194
+ nrf_rtc_event_clear (COMMON_RTC_INSTANCE , US_TICKER_EVENT );
209
195
}
0 commit comments