Skip to content

Commit 43c4b7d

Browse files
pfeerickMRC3742
authored andcommitted
fix: Ext module not powered when using SBUS or CPPM trainer (EdgeTX#4167)
1 parent 6a28b03 commit 43c4b7d

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

radio/src/targets/common/arm/stm32/trainer_driver.cpp

+7
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,8 @@ extern "C" void TRAINER_TIMER_IRQHandler()
303303

304304
#if defined(TRAINER_MODULE_CPPM)
305305

306+
#include "hal/module_port.h"
307+
306308
static_assert(__IS_TRAINER_TIMER_IN_CHANNEL_SUPPORTED(TRAINER_MODULE_CPPM_TIMER_Channel),
307309
"Unsupported trainer timer input channel");
308310

@@ -323,12 +325,14 @@ static const stm32_pulse_timer_t trainerModuleTimer = {
323325

324326
void init_trainer_module_cppm()
325327
{
328+
modulePortSetPower(EXTERNAL_MODULE,true);
326329
_init_trainer_capture(&trainerModuleTimer);
327330
}
328331

329332
void stop_trainer_module_cppm()
330333
{
331334
_stop_trainer(&trainerModuleTimer);
335+
modulePortSetPower(EXTERNAL_MODULE,false);
332336
}
333337

334338
#if defined(TRAINER_MODULE_CPPM_TIMER_IRQHandler)
@@ -362,6 +366,7 @@ static etx_module_state_t* sbus_trainer_mod_st = nullptr;
362366
void init_trainer_module_sbus()
363367
{
364368
if (sbus_trainer_mod_st) return;
369+
modulePortSetPower(EXTERNAL_MODULE,true);
365370

366371
sbus_trainer_mod_st = modulePortInitSerial(EXTERNAL_MODULE, ETX_MOD_PORT_UART,
367372
&sbusTrainerParams);
@@ -371,6 +376,8 @@ void stop_trainer_module_sbus()
371376
{
372377
if (!sbus_trainer_mod_st) return;
373378
modulePortDeInit(sbus_trainer_mod_st);
379+
modulePortSetPower(EXTERNAL_MODULE,false);
380+
sbus_trainer_mod_st = nullptr;
374381
}
375382

376383
int trainerModuleSbusGetByte(uint8_t* data)

0 commit comments

Comments
 (0)