Patched mixer scheduler related interrupts with the correct prio

This commit is contained in:
Raphael Coeffic
2021-07-31 17:31:49 +02:00
parent d4edb7713e
commit 7e4cdaeaca
2 changed files with 13 additions and 2 deletions
@@ -22,6 +22,9 @@
#include "mixer_scheduler.h"
#if defined(INTMODULE_HEARTBEAT_GPIO)
#include "FreeRTOSConfig.h"
volatile HeartbeatCapture heartbeatCapture;
void init_intmodule_heartbeat()
@@ -46,7 +49,11 @@ void init_intmodule_heartbeat()
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);
NVIC_SetPriority(INTMODULE_HEARTBEAT_EXTI_IRQn, 0); // Highest priority interrupt
NVIC_SetPriority(INTMODULE_HEARTBEAT_EXTI_IRQn,
// Highest priority interrupt
// TODO: replace with a define...
configMAX_SYSCALL_INTERRUPT_PRIORITY);
NVIC_EnableIRQ(INTMODULE_HEARTBEAT_EXTI_IRQn);
heartbeatCapture.valid = true;
}
@@ -23,6 +23,8 @@
#if !defined(SIMU)
#include "FreeRTOSConfig.h"
// Start scheduler with default period
void mixerSchedulerStart()
{
@@ -36,7 +38,9 @@ void mixerSchedulerStart()
MIXER_SCHEDULER_TIMER->EGR = TIM_EGR_UG; // reset timer
NVIC_EnableIRQ(MIXER_SCHEDULER_TIMER_IRQn);
NVIC_SetPriority(MIXER_SCHEDULER_TIMER_IRQn, 8);
NVIC_SetPriority(MIXER_SCHEDULER_TIMER_IRQn,
// TODO: replace with a define...
configMAX_SYSCALL_INTERRUPT_PRIORITY);
MIXER_SCHEDULER_TIMER->SR &= TIM_SR_UIF; // clear interrupt flag
MIXER_SCHEDULER_TIMER->DIER |= TIM_DIER_UIE; // enable interrupt