From 938679da2f9bd0e901cf1a9d6ce3929a26dc39dd Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Wed, 7 Jul 2021 12:42:44 +0200 Subject: [PATCH] Use longer period for PXX2 modules triggered by heartbeat signal and reset timer early This allows to cope for the different frame rates used by ACCESS and ACCST modes. See opentx/opentx#8601 for details. --- radio/src/pulses/pxx.h | 2 +- radio/src/targets/common/arm/stm32/heartbeat_driver.cpp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/radio/src/pulses/pxx.h b/radio/src/pulses/pxx.h index 90956fe35..a6f78cc54 100644 --- a/radio/src/pulses/pxx.h +++ b/radio/src/pulses/pxx.h @@ -30,7 +30,7 @@ #define PXX2_LOWSPEED_BAUDRATE 230400 #define PXX2_HIGHSPEED_BAUDRATE 450000 #define PXX2_NO_HEARTBEAT_PERIOD 4000/*us*/ -#define PXX2_MAX_HEARTBEAT_PERIOD (7000 + 1000)/*us 7ms frame rate + 1ms heartbeat backup*/ +#define PXX2_MAX_HEARTBEAT_PERIOD (9000 + 1000)/*us longest period (isrm/accst) + 1ms heartbeat backup*/ #define PXX2_TOOLS_PERIOD 1000/*us*/ #define PXX2_FRAME_MAXLENGTH 64 diff --git a/radio/src/targets/common/arm/stm32/heartbeat_driver.cpp b/radio/src/targets/common/arm/stm32/heartbeat_driver.cpp index 269b40854..ee00a6db3 100644 --- a/radio/src/targets/common/arm/stm32/heartbeat_driver.cpp +++ b/radio/src/targets/common/arm/stm32/heartbeat_driver.cpp @@ -79,6 +79,7 @@ void check_intmodule_heartbeat() #endif EXTI_ClearITPendingBit(INTMODULE_HEARTBEAT_EXTI_LINE); + mixerSchedulerResetTimer(); mixerSchedulerISRTrigger(); } }