From ecc5e863e08611f7bcc25b09fd1a145e1d70c483 Mon Sep 17 00:00:00 2001 From: kedeng Date: Tue, 8 Jul 2025 12:43:33 +0800 Subject: [PATCH] Fix TIMUP timer validation and improve timer macro consistency --- src/main/cli/cli.c | 2 +- src/main/pg/timerup.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/cli/cli.c b/src/main/cli/cli.c index 36827a3391..77779fe2c0 100644 --- a/src/main/cli/cli.c +++ b/src/main/cli/cli.c @@ -5426,7 +5426,7 @@ static void printPeripheralDmaoptDetails(dmaoptEntry_t *entry, int index, const if (entry->presenceMask) { uiIndex = timerGetNumberByIndex(index); - if (!(BIT(uiIndex) & entry->presenceMask)) { + if (!(TIM_N(uiIndex) & entry->presenceMask)) { return; } } else { diff --git a/src/main/pg/timerup.c b/src/main/pg/timerup.c index 062a5a4948..ae6ac55ae9 100644 --- a/src/main/pg/timerup.c +++ b/src/main/pg/timerup.c @@ -29,6 +29,10 @@ #include "timerup.h" +#if defined(USED_TIMERS) && defined(TIMUP_TIMERS) + STATIC_ASSERT((~USED_TIMERS & TIMUP_TIMERS) == 0, "All TIMUP timers must be used"); +#endif + PG_REGISTER_ARRAY_WITH_RESET_FN(timerUpConfig_t, HARDWARE_TIMER_DEFINITION_COUNT, timerUpConfig, PG_TIMER_UP_CONFIG, 0); void pgResetFn_timerUpConfig(timerUpConfig_t *config)