PPM trainer output: update delay on each cycle
This commit is contained in:
committed by
Raphael Coeffic
parent
2254d04643
commit
f881d7e11c
@@ -190,6 +190,11 @@ static void set_compare_reg(const stm32_pulse_timer_t* tim, uint32_t val)
|
||||
}
|
||||
}
|
||||
|
||||
void stm32_pulse_set_cmp_val(const stm32_pulse_timer_t* tim, uint32_t cmp_val)
|
||||
{
|
||||
set_compare_reg(tim, cmp_val);
|
||||
}
|
||||
|
||||
static void set_oc_mode(const stm32_pulse_timer_t* tim, uint32_t ocmode)
|
||||
{
|
||||
uint32_t channel = tim->TIM_Channel;
|
||||
|
||||
@@ -51,6 +51,8 @@ void stm32_pulse_config_output(const stm32_pulse_timer_t* tim, bool polarity,
|
||||
|
||||
void stm32_pulse_set_polarity(const stm32_pulse_timer_t* tim, bool polarity);
|
||||
|
||||
void stm32_pulse_set_cmp_val(const stm32_pulse_timer_t* tim, uint32_t cmp_val);
|
||||
|
||||
// return true if it could be disabled without interrupting a pulse train, false otherwise
|
||||
bool stm32_pulse_if_not_running_disable(const stm32_pulse_timer_t* tim);
|
||||
|
||||
|
||||
@@ -183,6 +183,7 @@ static const stm32_pulse_timer_t trainerOutputTimer = {
|
||||
static void trainerSendNextFrame()
|
||||
{
|
||||
stm32_pulse_set_polarity(&trainerOutputTimer, GET_TRAINER_PPM_POLARITY());
|
||||
stm32_pulse_set_cmp_val(&trainerOutputTimer, GET_TRAINER_PPM_DELAY() * 2);
|
||||
|
||||
// load the first period: next reload when CC compare event triggers
|
||||
trainerPulsesData.ppm.ptr = trainerPulsesData.ppm.pulses;
|
||||
|
||||
Reference in New Issue
Block a user