diff --git a/radio/src/targets/common/arm/stm32/heartbeat_driver.cpp b/radio/src/targets/common/arm/stm32/heartbeat_driver.cpp index 2281fa866..46ddfd1b6 100644 --- a/radio/src/targets/common/arm/stm32/heartbeat_driver.cpp +++ b/radio/src/targets/common/arm/stm32/heartbeat_driver.cpp @@ -65,10 +65,14 @@ void stop_intmodule_heartbeat() EXTI_Init(&EXTI_InitStructure); } -void check_xjt_heartbeat() +void check_intmodule_heartbeat() { if (EXTI_GetITStatus(INTMODULE_HEARTBEAT_EXTI_LINE) != RESET) { - heartbeatCapture.timestamp = TIMER_2MHz_TIMER->CNT; +#if defined(PXX2) + heartbeatCapture.timestamp = RTOS_GET_MS(); +#else + heartbeatCapture.timestamp = getTmr2MHz(); +#endif heartbeatCapture.count++; EXTI_ClearITPendingBit(INTMODULE_HEARTBEAT_EXTI_LINE); } @@ -78,6 +82,6 @@ void check_xjt_heartbeat() #if defined(INTMODULE_HEARTBEAT) && !defined(INTMODULE_HEARTBEAT_REUSE_INTERRUPT_ROTARY_ENCODER) extern "C" void INTMODULE_HEARTBEAT_EXTI_IRQHandler() { - check_xjt_heartbeat(); + check_intmodule_heartbeat(); } #endif diff --git a/radio/src/targets/common/arm/stm32/rotary_encoder_driver.cpp b/radio/src/targets/common/arm/stm32/rotary_encoder_driver.cpp index 6e763f058..ea94cdaaf 100644 --- a/radio/src/targets/common/arm/stm32/rotary_encoder_driver.cpp +++ b/radio/src/targets/common/arm/stm32/rotary_encoder_driver.cpp @@ -92,7 +92,7 @@ extern "C" void ROTARY_ENCODER_EXTI_IRQHandler1(void) #endif #if !defined(BOOT) && defined(INTMODULE_HEARTBEAT_REUSE_INTERRUPT_ROTARY_ENCODER) - check_xjt_heartbeat(); + check_intmodule_heartbeat(); #endif } diff --git a/radio/src/targets/taranis/board.h b/radio/src/targets/taranis/board.h index 671677dfc..aca1b8f67 100644 --- a/radio/src/targets/taranis/board.h +++ b/radio/src/targets/taranis/board.h @@ -273,11 +273,11 @@ void extmoduleSendNextFrame(); #if defined(INTMODULE_HEARTBEAT_GPIO) void init_intmodule_heartbeat(); void stop_intmodule_heartbeat(); -void check_xjt_heartbeat(); +void check_intmodule_heartbeat(); #else #define init_intmodule_heartbeat() #define stop_intmodule_heartbeat() -#define check_xjt_heartbeat() +#define check_intmodule_heartbeat() #endif // SBUS diff --git a/radio/src/targets/taranis/intmodule_pulses_driver.cpp b/radio/src/targets/taranis/intmodule_pulses_driver.cpp index 044883034..822bb0b36 100644 --- a/radio/src/targets/taranis/intmodule_pulses_driver.cpp +++ b/radio/src/targets/taranis/intmodule_pulses_driver.cpp @@ -46,7 +46,7 @@ void intmoduleSendNextFrame() { uint32_t last = intmodulePulsesData.pxx.getLast(); if (heartbeatCapture.valid) { - if (TIMER_2MHz_TIMER->CNT - heartbeatCapture.timestamp > HEARBEAT_OFFSET) + if (getTmr2MHz() - heartbeatCapture.timestamp > HEARBEAT_OFFSET) last -= 21; else last += 19;