diff options
author | Keith Packard <keithp@keithp.com> | 2016-11-20 20:54:10 -0800 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2016-11-20 20:54:10 -0800 |
commit | 4ab6776034aeb9837b30e581526aeda07eebc6fe (patch) | |
tree | fb524b5916b6674cc5843c4f0b23c1c9520c7229 /src/stm/ao_timer.c | |
parent | 552ea09fe7f9ce6c6b5f412cb2fcf603be2836c3 (diff) |
altos/stm: Interrupt priority is in the upper bits of the priority mask
Because the STM32L only offers 16 priority levels, the bottom four
bits of each priority mask are not used. All of the interrupt priority
settings in the system were using values < 16, making them all
effectively the same. Fix that by moving them into the upper 4 bits
and using symbolic constants everywhere.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/stm/ao_timer.c')
-rw-r--r-- | src/stm/ao_timer.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/stm/ao_timer.c b/src/stm/ao_timer.c index b25dbd1a..a641eb2a 100644 --- a/src/stm/ao_timer.c +++ b/src/stm/ao_timer.c @@ -42,7 +42,6 @@ volatile __data uint8_t ao_data_count; void stm_systick_isr(void) { - ao_arch_release_interrupts(); ao_validate_cur_stack(); ++ao_tick_count; #if HAS_TASK_QUEUE @@ -89,7 +88,7 @@ ao_timer_init(void) stm_systick.csr = ((1 << STM_SYSTICK_CSR_ENABLE) | (1 << STM_SYSTICK_CSR_TICKINT) | (STM_SYSTICK_CSR_CLKSOURCE_HCLK_8 << STM_SYSTICK_CSR_CLKSOURCE)); - stm_nvic.shpr15_12 |= 0xff << 24; + stm_nvic.shpr15_12 |= AO_STM_NVIC_CLOCK_PRIORITY << 24; } #endif |