diff --git a/src/main/cli/cli.c b/src/main/cli/cli.c index 136dcd2483..d88dff1647 100644 --- a/src/main/cli/cli.c +++ b/src/main/cli/cli.c @@ -5425,18 +5425,10 @@ static void printPeripheralDmaoptDetails(dmaoptEntry_t *entry, int index, const int uiIndex; if (entry->presenceMask) { -#if defined(STM32H7) || defined(STM32G4) - if (entry->peripheral == DMA_PERIPH_TIMUP) { - if (!(BIT(index + 1) & entry->presenceMask)) { - return; - } - uiIndex = index + 1; - } else { - uiIndex = timerGetNumberByIndex(index); + if (!(BIT(index + 1) & entry->presenceMask)) { + return; } -#else - uiIndex = timerGetNumberByIndex(index); -#endif + uiIndex = index + 1; } else { uiIndex = DMA_OPT_UI_INDEX(index); } diff --git a/src/main/pg/timerup.c b/src/main/pg/timerup.c index 39c6ecf435..c3e5b2b09f 100644 --- a/src/main/pg/timerup.c +++ b/src/main/pg/timerup.c @@ -37,52 +37,40 @@ void pgResetFn_timerUpConfig(timerUpConfig_t *config) config[timno].dmaopt = DMA_OPT_UNUSED; } -#if defined(TIMUP1_DMA_OPT) && (HARDWARE_TIMER_DEFINITION_COUNT > 0) +#if defined(TIMUP1_DMA_OPT) && (HARDWARE_TIMER_DEFINITION_COUNT > 0) && (TIMUP_TIMERS & BIT(1)) config[0].dmaopt = TIMUP1_DMA_OPT; #endif -#if defined(TIMUP2_DMA_OPT) && (HARDWARE_TIMER_DEFINITION_COUNT > 1) +#if defined(TIMUP2_DMA_OPT) && (HARDWARE_TIMER_DEFINITION_COUNT > 1) && (TIMUP_TIMERS & BIT(2)) config[1].dmaopt = TIMUP2_DMA_OPT; #endif -#if defined(TIMUP3_DMA_OPT) && (HARDWARE_TIMER_DEFINITION_COUNT > 2) +#if defined(TIMUP3_DMA_OPT) && (HARDWARE_TIMER_DEFINITION_COUNT > 2) && (TIMUP_TIMERS & BIT(3)) config[2].dmaopt = TIMUP3_DMA_OPT; #endif -#if defined(TIMUP4_DMA_OPT) && (HARDWARE_TIMER_DEFINITION_COUNT > 3) +#if defined(TIMUP4_DMA_OPT) && (HARDWARE_TIMER_DEFINITION_COUNT > 3) && (TIMUP_TIMERS & BIT(4)) config[3].dmaopt = TIMUP4_DMA_OPT; #endif -#if defined(TIMUP5_DMA_OPT) && (HARDWARE_TIMER_DEFINITION_COUNT > 4) +#if defined(TIMUP5_DMA_OPT) && (HARDWARE_TIMER_DEFINITION_COUNT > 4) && (TIMUP_TIMERS & BIT(5)) config[4].dmaopt = TIMUP5_DMA_OPT; #endif -#if defined(TIMUP8_DMA_OPT) && (HARDWARE_TIMER_DEFINITION_COUNT > 7) +#if defined(TIMUP6_DMA_OPT) && (HARDWARE_TIMER_DEFINITION_COUNT > 5) && (TIMUP_TIMERS & BIT(6)) + config[5].dmaopt = TIMUP6_DMA_OPT; +#endif +#if defined(TIMUP7_DMA_OPT) && (HARDWARE_TIMER_DEFINITION_COUNT > 6) && (TIMUP_TIMERS & BIT(7)) + config[6].dmaopt = TIMUP7_DMA_OPT; +#endif +#if defined(TIMUP8_DMA_OPT) && (HARDWARE_TIMER_DEFINITION_COUNT > 7) && (TIMUP_TIMERS & BIT(8)) config[7].dmaopt = TIMUP8_DMA_OPT; #endif -#if defined(TIMUP9_DMA_OPT) && (HARDWARE_TIMER_DEFINITION_COUNT > 8) - config[8].dmaopt = TIMUP9_DMA_OPT; -#endif -#if defined(TIMUP10_DMA_OPT) && (HARDWARE_TIMER_DEFINITION_COUNT > 9) - config[9].dmaopt = TIMUP10_DMA_OPT; -#endif -#if defined(TIMUP11_DMA_OPT) && (HARDWARE_TIMER_DEFINITION_COUNT > 10) - config[10].dmaopt = TIMUP11_DMA_OPT; -#endif -#if defined(TIMUP12_DMA_OPT) && (HARDWARE_TIMER_DEFINITION_COUNT > 11) - config[11].dmaopt = TIMUP12_DMA_OPT; -#endif -#if defined(TIMUP13_DMA_OPT) && (HARDWARE_TIMER_DEFINITION_COUNT > 12) - config[12].dmaopt = TIMUP13_DMA_OPT; -#endif -#if defined(TIMUP14_DMA_OPT) && (HARDWARE_TIMER_DEFINITION_COUNT > 13) - config[13].dmaopt = TIMUP14_DMA_OPT; -#endif -#if defined(TIMUP15_DMA_OPT) && (HARDWARE_TIMER_DEFINITION_COUNT > 14) +#if defined(TIMUP15_DMA_OPT) && (HARDWARE_TIMER_DEFINITION_COUNT > 14) && (TIMUP_TIMERS & BIT(15)) config[14].dmaopt = TIMUP15_DMA_OPT; #endif -#if defined(TIMUP16_DMA_OPT) && (HARDWARE_TIMER_DEFINITION_COUNT > 15) +#if defined(TIMUP16_DMA_OPT) && (HARDWARE_TIMER_DEFINITION_COUNT > 15) && (TIMUP_TIMERS & BIT(16)) config[15].dmaopt = TIMUP16_DMA_OPT; #endif -#if defined(TIMUP17_DMA_OPT) && (HARDWARE_TIMER_DEFINITION_COUNT > 16) +#if defined(TIMUP17_DMA_OPT) && (HARDWARE_TIMER_DEFINITION_COUNT > 16) && (TIMUP_TIMERS & BIT(17)) config[16].dmaopt = TIMUP17_DMA_OPT; #endif -#if defined(TIMUP20_DMA_OPT) && (HARDWARE_TIMER_DEFINITION_COUNT > 19) +#if defined(TIMUP20_DMA_OPT) && (HARDWARE_TIMER_DEFINITION_COUNT > 19) && (TIMUP_TIMERS & BIT(20)) config[19].dmaopt = TIMUP20_DMA_OPT; #endif } diff --git a/src/platform/STM32/timer_def.h b/src/platform/STM32/timer_def.h index d31af27c39..a27da524c6 100644 --- a/src/platform/STM32/timer_def.h +++ b/src/platform/STM32/timer_def.h @@ -1156,7 +1156,7 @@ #define FULL_TIMER_CHANNEL_COUNT 93 // XXX Need review #define USED_TIMERS ( TIM_N(1) | TIM_N(2) | TIM_N(3) | TIM_N(4) | TIM_N(5) | TIM_N(6) | TIM_N(7) | TIM_N(8) | TIM_N(15) | TIM_N(16) | TIM_N(17) | TIM_N(20) ) -#define HARDWARE_TIMER_DEFINITION_COUNT 12 +#define HARDWARE_TIMER_DEFINITION_COUNT 20 #define TIMUP_TIMERS ( BIT(1) | BIT(2) | BIT(3) | BIT(4) | BIT(5) | BIT(6) | BIT(7) | BIT(8) | BIT(15) | BIT(16) | BIT(17) | BIT(20)) #endif