1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-12 19:10:32 +03:00

Refactor timer macros and update timer definitions for AT32/STM32 platforms

This commit is contained in:
kedeng 2025-07-07 18:00:20 +08:00
parent 9ff8c4c926
commit 2427514af2
6 changed files with 14 additions and 14 deletions

View file

@ -5426,8 +5426,9 @@ static void printPeripheralDmaoptDetails(dmaoptEntry_t *entry, int index, const
if (entry->presenceMask) {
uiIndex = timerGetNumberByIndex(index);
if (!(BIT(uiIndex) & entry->presenceMask))
if (!(BIT(uiIndex) & entry->presenceMask)) {
return;
}
} else {
uiIndex = DMA_OPT_UI_INDEX(index);
}

View file

@ -48,6 +48,8 @@
#endif
#define TIM_CH_TO_SELCHANNEL(ch) ((ch - 1) * 2)
#define TIM_N(n) (1 << (n))
#define TIMER_INDEX(i) BITCOUNT((TIM_N(i) - 1) & USED_TIMERS)
typedef uint16_t captureCompare_t; // 16 bit on both 103 and 303, just register access must be 32bit sometimes (use timCCR_t)

View file

@ -29,9 +29,6 @@
#include "timerup.h"
#define TIM_N(n) (1 << (n))
#define TIMER_INDEX(i) BITCOUNT((TIM_N(i) - 1) & USED_TIMERS)
PG_REGISTER_ARRAY_WITH_RESET_FN(timerUpConfig_t, HARDWARE_TIMER_DEFINITION_COUNT, timerUpConfig, PG_TIMER_UP_CONFIG, 0);
void pgResetFn_timerUpConfig(timerUpConfig_t *config)

View file

@ -336,5 +336,5 @@
#define FULL_TIMER_CHANNEL_COUNT 78
#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(9) | TIM_N(10) | TIM_N(11) | TIM_N(12) | TIM_N(13) | TIM_N(14) )
#define HARDWARE_TIMER_DEFINITION_COUNT 14
#define HARDWARE_TIMER_DEFINITION_COUNT BITCOUNT(USED_TIMERS)

View file

@ -24,10 +24,10 @@
#include "platform.h"
#include "common/utils.h"
#define USED_TIMERS ( BIT(1) | BIT(2) | BIT(3) | BIT(4) | BIT(5) | BIT(8) | BIT(9) | BIT(10) | BIT(11) | BIT(12) | BIT(13) | BIT(14) | BIT(20) )
#define USED_TIMERS ( BIT(1) | BIT(2) | BIT(3) | BIT(4) | BIT(5) | BIT(6) | BIT(7) | BIT(8) | BIT(9) | BIT(10) | BIT(11) | BIT(12) | BIT(13) | BIT(14) | BIT(20) )
#define TIMUP_TIMERS ( BIT(1) | BIT(2) | BIT(3) | BIT(4) | BIT(5) | BIT(8) | BIT(20) )
#define FULL_TIMER_CHANNEL_COUNT 109
#define HARDWARE_TIMER_DEFINITION_COUNT 13
#define HARDWARE_TIMER_DEFINITION_COUNT BITCOUNT(USED_TIMERS)
// allow conditional definition of DMA related members
#if defined(USE_TIMER_DMA)

View file

@ -1128,20 +1128,20 @@
#define FULL_TIMER_CHANNEL_COUNT 78
#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(9) | TIM_N(10) | TIM_N(11) | TIM_N(12) | TIM_N(13) | TIM_N(14) )
#define HARDWARE_TIMER_DEFINITION_COUNT 14
#define HARDWARE_TIMER_DEFINITION_COUNT BITCOUNT(USED_TIMERS)
#elif defined(STM32F4)
#if defined(STM32F411xE)
#define FULL_TIMER_CHANNEL_COUNT 59
#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(9) | TIM_N(10) | TIM_N(11) )
#define HARDWARE_TIMER_DEFINITION_COUNT 10
#define HARDWARE_TIMER_DEFINITION_COUNT BITCOUNT(USED_TIMERS)
#else
#define FULL_TIMER_CHANNEL_COUNT 78
#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(9) | TIM_N(10) | TIM_N(11) | TIM_N(12) | TIM_N(13) | TIM_N(14) )
#define HARDWARE_TIMER_DEFINITION_COUNT 14
#define HARDWARE_TIMER_DEFINITION_COUNT BITCOUNT(USED_TIMERS)
#endif //STM32F411xE
@ -1149,14 +1149,14 @@
#define FULL_TIMER_CHANNEL_COUNT 91
#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(12) | TIM_N(13) | TIM_N(14) | TIM_N(15) | TIM_N(16) | TIM_N(17) )
#define HARDWARE_TIMER_DEFINITION_COUNT 14
#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) )
#define HARDWARE_TIMER_DEFINITION_COUNT BITCOUNT(USED_TIMERS)
#define TIMUP_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) )
#elif defined(STM32G4)
#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 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))
#define HARDWARE_TIMER_DEFINITION_COUNT BITCOUNT(USED_TIMERS)
#define TIMUP_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))
#endif