From 8cd50725faac1dcfa2ea17ab30bc09e869ab7487 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Fri, 8 Feb 2019 10:12:50 +0100 Subject: [PATCH] Taranis internal module fix --- radio/src/targets/taranis/intmodule_pulses_driver.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/radio/src/targets/taranis/intmodule_pulses_driver.cpp b/radio/src/targets/taranis/intmodule_pulses_driver.cpp index dbc267146..e7ea2fc37 100644 --- a/radio/src/targets/taranis/intmodule_pulses_driver.cpp +++ b/radio/src/targets/taranis/intmodule_pulses_driver.cpp @@ -127,8 +127,9 @@ void intmodulePxxStart() INTMODULE_TIMER->DIER |= TIM_DIER_UDE; // Enable DMA on update INTMODULE_TIMER->CCMR2 = TIM_CCMR2_OC3M_1 | TIM_CCMR2_OC3M_2; INTMODULE_TIMER->CR1 |= TIM_CR1_CEN; - - intmoduleSendNextFrame(); + INTMODULE_TIMER->SR &= ~TIM_SR_CC2IF; // Clear flag + INTMODULE_TIMER->CCR2 = 40000; // The first frame will be sent in 20ms + INTMODULE_TIMER->DIER |= TIM_DIER_CC2IE; // Enable this interrupt NVIC_EnableIRQ(INTMODULE_DMA_STREAM_IRQn); NVIC_SetPriority(INTMODULE_DMA_STREAM_IRQn, 7); @@ -159,8 +160,9 @@ void intmodulePpmStart() INTMODULE_TIMER->EGR = 1; INTMODULE_TIMER->DIER = TIM_DIER_UDE; INTMODULE_TIMER->CR1 = TIM_CR1_CEN; - - intmoduleSendNextFrame(); + INTMODULE_TIMER->SR &= ~TIM_SR_CC2IF; // Clear flag + INTMODULE_TIMER->CCR2 = 40000; // The first frame will be sent in 20ms + INTMODULE_TIMER->DIER |= TIM_DIER_CC2IE; // Enable this interrupt NVIC_EnableIRQ(INTMODULE_DMA_STREAM_IRQn); NVIC_SetPriority(INTMODULE_DMA_STREAM_IRQn, 7);