1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-24 00:35:39 +03:00

target.c files for N-Channel flag normalization

- Removes redundant MOTOR_OUTPUT_INVERTED

Also removes unused flags

- MOTOR_INPUT_ENABLED
- MOTOR_OUTPUT_ENABLED
- MOTOR_OUTPUT_STANDARD
This commit is contained in:
jflyper 2017-11-06 14:50:14 +09:00
parent 75f9995519
commit 845b869f0c
80 changed files with 815 additions and 815 deletions

View file

@ -25,14 +25,14 @@
#include "drivers/dma.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM3, CH2, PA4, TIM_USE_MOTOR, 1), // PWM1 - PA4 - *TIM3_CH2
DEF_TIM(TIM3, CH1, PA6, TIM_USE_MOTOR, 1), // PWM2 - PA6 - *TIM3_CH1, TIM8_BKIN, TIM1_BKIN, TIM16_CH1
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 1), // PWM3 - PB0 - *TIM3_CH3, TIM1_CH2N, TIM8_CH2N
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 1), // PWM4 - PB1 - *TIM3_CH4, TIM1_CH3N, TIM8_CH3N
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 1), // PWM5 - PA1 - *TIM2_CH2, TIM15_CH1N
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 1), // PWM6 - PA2 - *TIM2_CH3, !TIM15_CH1
DEF_TIM(TIM15, CH2, PA3, TIM_USE_MOTOR, 1), // PWM7 - PA3 - *TIM15_CH2, TIM2_CH4
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 1), // PWM8 - PA8 - *TIM1_CH1, TIM4_ETR
DEF_TIM(TIM17, CH1, PA7, TIM_USE_PPM, 0), // PPM - PA7 - *TIM17_CH1, TIM1_CH1N, TIM8_CH1
DEF_TIM(TIM16, CH1, PB8, TIM_USE_LED, 0), // PPM - PA7 - *TIM17_CH1, TIM1_CH1N, TIM8_CH1
DEF_TIM(TIM3, CH2, PA4, TIM_USE_MOTOR, 0), // PWM1 - PA4 - *TIM3_CH2
DEF_TIM(TIM3, CH1, PA6, TIM_USE_MOTOR, 0), // PWM2 - PA6 - *TIM3_CH1, TIM8_BKIN, TIM1_BKIN, TIM16_CH1
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0), // PWM3 - PB0 - *TIM3_CH3, TIM1_CH2N, TIM8_CH2N
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0), // PWM4 - PB1 - *TIM3_CH4, TIM1_CH3N, TIM8_CH3N
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 0), // PWM5 - PA1 - *TIM2_CH2, TIM15_CH1N
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0), // PWM6 - PA2 - *TIM2_CH3, !TIM15_CH1
DEF_TIM(TIM15, CH2, PA3, TIM_USE_MOTOR, 0), // PWM7 - PA3 - *TIM15_CH2, TIM2_CH4
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0), // PWM8 - PA8 - *TIM1_CH1, TIM4_ETR
DEF_TIM(TIM17, CH1, PA7, TIM_USE_PPM, 0), // PPM - PA7 - *TIM17_CH1, TIM1_CH1N, TIM8_CH1
DEF_TIM(TIM16, CH1, PB8, TIM_USE_LED, 0), // PPM - PA7 - *TIM17_CH1, TIM1_CH1N, TIM8_CH1
};

28
src/main/target/AIRHEROF3/target.c Executable file → Normal file
View file

@ -41,18 +41,18 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM4, IO_TAG(PB8), TIM_Channel_3, TIM_USE_MOTOR, 1, GPIO_AF_2, NULL, 0}, // PWM13 - OUT5
{ TIM4, IO_TAG(PB9), TIM_Channel_4, TIM_USE_MOTOR, 1, GPIO_AF_2, NULL, 0} // PWM14 - OUT6
*/
DEF_TIM(TIM2, CH1, PA0, TIM_USE_PPM | TIM_USE_PWM, TIMER_INPUT_ENABLED),
DEF_TIM(TIM2, CH2, PA1, TIM_USE_PWM, TIMER_INPUT_ENABLED),
DEF_TIM(TIM2, CH3, PA2, TIM_USE_PWM, TIMER_INPUT_ENABLED),
DEF_TIM(TIM2, CH4, PA3, TIM_USE_PWM, TIMER_INPUT_ENABLED),
DEF_TIM(TIM3, CH1, PA6, TIM_USE_PWM | TIM_USE_LED, TIMER_OUTPUT_ENABLED),
DEF_TIM(TIM3, CH2, PA7, TIM_USE_PWM, TIMER_OUTPUT_ENABLED),
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PWM, TIMER_OUTPUT_ENABLED),
DEF_TIM(TIM3, CH4, PB1, TIM_USE_PWM, TIMER_OUTPUT_ENABLED),
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // DMA1_CH2
DEF_TIM(TIM4, CH1, PA11, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // DMA1_CH1
DEF_TIM(TIM8, CH1, PB6, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // DMA2_CH3
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // DMA1_CH4
DEF_TIM(TIM8, CH2, PB8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // DMA2_CH5
DEF_TIM(TIM8, CH3, PB9, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // DMA2_CH1
DEF_TIM(TIM2, CH1, PA0, TIM_USE_PPM | TIM_USE_PWM, 0),
DEF_TIM(TIM2, CH2, PA1, TIM_USE_PWM, 0),
DEF_TIM(TIM2, CH3, PA2, TIM_USE_PWM, 0),
DEF_TIM(TIM2, CH4, PA3, TIM_USE_PWM, 0),
DEF_TIM(TIM3, CH1, PA6, TIM_USE_PWM | TIM_USE_LED, 0),
DEF_TIM(TIM3, CH2, PA7, TIM_USE_PWM, 0),
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PWM, 0),
DEF_TIM(TIM3, CH4, PB1, TIM_USE_PWM, 0),
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0), // DMA1_CH2
DEF_TIM(TIM4, CH1, PA11, TIM_USE_MOTOR, 0), // DMA1_CH1
DEF_TIM(TIM8, CH1, PB6, TIM_USE_MOTOR, 0), // DMA2_CH3
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 0), // DMA1_CH4
DEF_TIM(TIM8, CH2, PB8, TIM_USE_MOTOR, 0), // DMA2_CH5
DEF_TIM(TIM8, CH3, PB9, TIM_USE_MOTOR, 0), // DMA2_CH1
};

View file

@ -25,18 +25,18 @@
#include "drivers/timer_def.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM2, CH1, PA0, TIM_USE_PPM | TIM_USE_PWM, TIMER_INPUT_ENABLED ), // PWM1 - RC1
DEF_TIM(TIM2, CH2, PA1, TIM_USE_PWM, TIMER_INPUT_ENABLED ), // PWM2 - RC2
DEF_TIM(TIM2, CH3, PA2, TIM_USE_PWM, TIMER_INPUT_ENABLED ), // PWM3 - RC3
DEF_TIM(TIM2, CH4, PA3, TIM_USE_PWM, TIMER_INPUT_ENABLED ), // PWM4 - RC4
DEF_TIM(TIM3, CH1, PA6, TIM_USE_PWM | TIM_USE_LED, TIMER_INPUT_ENABLED ), // PWM5 - RC5
DEF_TIM(TIM3, CH2, PA7, TIM_USE_PWM, TIMER_INPUT_ENABLED ), // PWM6 - RC6
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PWM, TIMER_INPUT_ENABLED ), // PWM7 - RC7
DEF_TIM(TIM3, CH4, PB1, TIM_USE_PWM, TIMER_INPUT_ENABLED ), // PWM8 - RC8
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED ), // PWM9 - OUT1
DEF_TIM(TIM1, CH4, PA11, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED ), // PWM10 - OUT2
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED ), // PWM11 - OUT3
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED ), // PWM12 - OUT4
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED ), // PWM13 - OUT5
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED ) // PWM14 - OUT6
DEF_TIM(TIM2, CH1, PA0, TIM_USE_PPM | TIM_USE_PWM, 0), // PWM1 - RC1
DEF_TIM(TIM2, CH2, PA1, TIM_USE_PWM, 0), // PWM2 - RC2
DEF_TIM(TIM2, CH3, PA2, TIM_USE_PWM, 0), // PWM3 - RC3
DEF_TIM(TIM2, CH4, PA3, TIM_USE_PWM, 0), // PWM4 - RC4
DEF_TIM(TIM3, CH1, PA6, TIM_USE_PWM | TIM_USE_LED, 0), // PWM5 - RC5
DEF_TIM(TIM3, CH2, PA7, TIM_USE_PWM, 0), // PWM6 - RC6
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PWM, 0), // PWM7 - RC7
DEF_TIM(TIM3, CH4, PB1, TIM_USE_PWM, 0), // PWM8 - RC8
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0), // PWM9 - OUT1
DEF_TIM(TIM1, CH4, PA11, TIM_USE_MOTOR, 0), // PWM10 - OUT2
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, 0), // PWM11 - OUT3
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 0), // PWM12 - OUT4
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0), // PWM13 - OUT5
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 0), // PWM14 - OUT6
};

View file

@ -29,15 +29,15 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
// up to 10 Motor Outputs
DEF_TIM(TIM1, CH3N, PB15, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED | TIMER_OUTPUT_INVERTED ), // PWM1 - PB15 - DMA1_CH6 - *TIM1_CH3N, TIM15_CH1N, TIM15_CH2
DEF_TIM(TIM15, CH1, PB14, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED ), // PWM2 - PB14 - DMA1_CH5 - TIM1_CH2N, *TIM15_CH1
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED ), // PWM3 - PA8 - DMA1_CH2 - *TIM1_CH1, TIM4_ETR
DEF_TIM(TIM8, CH2N, PB0, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED | TIMER_OUTPUT_INVERTED ), // PWM4 - PB0 - DMA2_CH5 - TIM3_CH3, TIM1_CH2N, *TIM8_CH2N
DEF_TIM(TIM16, CH1, PA6, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED ), // PWM5 - PA6 - DMA1_CH3 - TIM3_CH1, TIM8_BKIN, TIM1_BKIN, *TIM16_CH1
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED ), // PWM6 - PA2 - DMA1_CH1 - *TIM2_CH3, !TIM15_CH1
DEF_TIM(TIM8, CH3N, PB1, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED | TIMER_OUTPUT_INVERTED ), // PWM7 - PB1 - DMA2_CH1 - TIM3_CH4, TIM1_CH3N, *TIM8_CH3N
DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR | TIM_USE_LED, TIMER_OUTPUT_ENABLED ), // PWM8 - PA7 - DMA1_CH7 - !TIM3_CH2, *TIM17_CH1, TIM1_CH1N, TIM8_CH1
DEF_TIM(TIM3, CH2, PA4, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED ), // PWM9 - PA4 - DMA_NONE - *TIM3_CH2
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED ), // PWM10 - PA1 - DMA1_CH7 - *TIM2_CH2, TIM15_CH1N
DEF_TIM(TIM2, CH4, PA3, TIM_USE_PPM, TIMER_INPUT_ENABLED ), // PPM - PA3 - DMA1_CH7 - TIM2_CH4, TIM15_CH2
DEF_TIM(TIM1, CH3N, PB15, TIM_USE_MOTOR, 0), // PWM1 - PB15 - DMA1_CH6 - *TIM1_CH3N, TIM15_CH1N, TIM15_CH2
DEF_TIM(TIM15, CH1, PB14, TIM_USE_MOTOR, 0), // PWM2 - PB14 - DMA1_CH5 - TIM1_CH2N, *TIM15_CH1
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0), // PWM3 - PA8 - DMA1_CH2 - *TIM1_CH1, TIM4_ETR
DEF_TIM(TIM8, CH2N, PB0, TIM_USE_MOTOR, 0), // PWM4 - PB0 - DMA2_CH5 - TIM3_CH3, TIM1_CH2N, *TIM8_CH2N
DEF_TIM(TIM16, CH1, PA6, TIM_USE_MOTOR, 0), // PWM5 - PA6 - DMA1_CH3 - TIM3_CH1, TIM8_BKIN, TIM1_BKIN, *TIM16_CH1
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0), // PWM6 - PA2 - DMA1_CH1 - *TIM2_CH3, !TIM15_CH1
DEF_TIM(TIM8, CH3N, PB1, TIM_USE_MOTOR, 0), // PWM7 - PB1 - DMA2_CH1 - TIM3_CH4, TIM1_CH3N, *TIM8_CH3N
DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR | TIM_USE_LED, 0), // PWM8 - PA7 - DMA1_CH7 - !TIM3_CH2, *TIM17_CH1, TIM1_CH1N, TIM8_CH1
DEF_TIM(TIM3, CH2, PA4, TIM_USE_MOTOR, 0), // PWM9 - PA4 - DMA_NONE - *TIM3_CH2
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 0), // PWM10 - PA1 - DMA1_CH7 - *TIM2_CH2, TIM15_CH1N
DEF_TIM(TIM2, CH4, PA3, TIM_USE_PPM, 0), // PPM - PA3 - DMA1_CH7 - TIM2_CH4, TIM15_CH2
};

View file

@ -30,17 +30,17 @@
// If UART1 DMA is used motor 8 will not work.
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM1, CH1, PA8, TIM_USE_PWM | TIM_USE_PPM, TIMER_INPUT_ENABLED, 1), // PWM1 - PA8 RC1 - DMA2_ST6, *DMA2_ST1, DMA2_ST3
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PWM, TIMER_INPUT_ENABLED, 0), // PWM2 - PB0 RC2 - DMA1_ST5
DEF_TIM(TIM3, CH4, PB1, TIM_USE_PWM, TIMER_INPUT_ENABLED, 0), // PWM3 - PB1 RC3 - DMA1_ST7
DEF_TIM(TIM1, CH2, PB14, TIM_USE_PWM, TIMER_INPUT_ENABLED, 1), // PWM4 - PA14 RC4 - DMA2_ST6, *DMA2_ST2
DEF_TIM(TIM1, CH3, PB15, TIM_USE_PWM | TIM_USE_LED, TIMER_INPUT_ENABLED, 0), // PWM5 - PA15 RC5 - DMA2_ST6, DMA2_ST6
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM6 - PB8 OUT1 - DMA1_ST7
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM7 - PB9 OUT2 - DMA_NONE
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM8 - PA0 OUT3 - DMA1_ST2
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM9 - PA1 OUT4 - DMA1_ST4
DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM10 - PC6 OUT5 - DMA2_ST2, DMA2_ST2
DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM11 - PC7 OUT6 - DMA2_ST3, DMA2_ST2
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 1), // PWM13 - PC8 OUT7 - DMA2_ST2, *DMA2_ST4
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM13 - PC9 OUT8 - DMA2_ST7
DEF_TIM(TIM1, CH1, PA8, TIM_USE_PWM | TIM_USE_PPM, 0, 1), // PWM1 - PA8 RC1 - DMA2_ST6, *DMA2_ST1, DMA2_ST3
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PWM, 0, 0), // PWM2 - PB0 RC2 - DMA1_ST5
DEF_TIM(TIM3, CH4, PB1, TIM_USE_PWM, 0, 0), // PWM3 - PB1 RC3 - DMA1_ST7
DEF_TIM(TIM1, CH2, PB14, TIM_USE_PWM, 0, 1), // PWM4 - PA14 RC4 - DMA2_ST6, *DMA2_ST2
DEF_TIM(TIM1, CH3, PB15, TIM_USE_PWM | TIM_USE_LED, 0, 0), // PWM5 - PA15 RC5 - DMA2_ST6, DMA2_ST6
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0, 0), // PWM6 - PB8 OUT1 - DMA1_ST7
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 0, 0), // PWM7 - PB9 OUT2 - DMA_NONE
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, 0, 0), // PWM8 - PA0 OUT3 - DMA1_ST2
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, 0, 0), // PWM9 - PA1 OUT4 - DMA1_ST4
DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 0, 0), // PWM10 - PC6 OUT5 - DMA2_ST2, DMA2_ST2
DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 0, 0), // PWM11 - PC7 OUT6 - DMA2_ST3, DMA2_ST2
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 0, 1), // PWM13 - PC8 OUT7 - DMA2_ST2, *DMA2_ST4
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 0, 0), // PWM13 - PC9 OUT8 - DMA2_ST7
};

View file

@ -29,17 +29,17 @@
// If UART1 DMA is used motor 8 will not work.
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM1, CH1, PA8, TIM_USE_PPM | TIM_USE_LED, TIMER_INPUT_ENABLED, 1), // PPM - DMA2_ST6, *DMA2_ST1, DMA2_ST3
DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM1 - DMA2_ST2, DMA2_ST2
DEF_TIM(TIM3, CH2, PC7, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM2 - DMA1_ST5
DEF_TIM(TIM8, CH2N, PB14, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM3 - DMA2_ST3, DMA2_ST2
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM4 - DMA1_ST7
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM5 - DMA1_ST2
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM6 - (DMA2_ST4) DMA2_ST2
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM7 - (DMA1_ST4) - DMA SDCard, DMA Serial_TX4
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM8 - (DMA2_ST7) - DMA Serial_TX1
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM9 - (DMA1_ST2) - Collision
DEF_TIM(TIM1, CH3N, PB15, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM10 - (DMA2_ST6), (DMA2_ST6) - Collision
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM11 - (DMA1_ST7) - Collision
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM12 - DMA_NONE
DEF_TIM(TIM1, CH1, PA8, TIM_USE_PPM | TIM_USE_LED, 0, 1), // PPM - DMA2_ST6, *DMA2_ST1, DMA2_ST3
DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 0, 0), // PWM1 - DMA2_ST2, DMA2_ST2
DEF_TIM(TIM3, CH2, PC7, TIM_USE_MOTOR, 0, 0), // PWM2 - DMA1_ST5
DEF_TIM(TIM8, CH2N, PB14, TIM_USE_MOTOR, 0, 0), // PWM3 - DMA2_ST3, DMA2_ST2
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0), // PWM4 - DMA1_ST7
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, 0, 0), // PWM5 - DMA1_ST2
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 0, 0), // PWM6 - (DMA2_ST4) DMA2_ST2
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, 0, 0), // PWM7 - (DMA1_ST4) - DMA SDCard, DMA Serial_TX4
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 0, 0), // PWM8 - (DMA2_ST7) - DMA Serial_TX1
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0), // PWM9 - (DMA1_ST2) - Collision
DEF_TIM(TIM1, CH3N, PB15, TIM_USE_MOTOR, 0, 0), // PWM10 - (DMA2_ST6), (DMA2_ST6) - Collision
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0, 0), // PWM11 - (DMA1_ST7) - Collision
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 0, 0), // PWM12 - DMA_NONE
};

View file

@ -45,10 +45,10 @@
* taken to ensure functionality on both F4 and F7 (STM32F405RGT and STM32F722RET)
*/
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0),
DEF_TIM(TIM3, CH3, PC8, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0),
DEF_TIM(TIM3, CH2, PC7, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0),
DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0),
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM3, CH3, PC8, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM3, CH2, PC7, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM5, CH1, PA0, TIM_USE_LED, TIMER_OUTPUT_STANDARD, 0),
DEF_TIM(TIM5, CH1, PA0, TIM_USE_LED, 0, 0),
};

View file

@ -25,21 +25,21 @@
#include "drivers/timer_def.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM12, CH1, PB14, TIM_USE_PWM | TIM_USE_PPM, TIMER_INPUT_ENABLED, 0 ), // S1_IN
DEF_TIM(TIM12, CH2, PB15, TIM_USE_PWM, TIMER_INPUT_ENABLED, 0 ), // S2_IN
DEF_TIM(TIM8, CH1, PC6, TIM_USE_PWM, TIMER_INPUT_ENABLED, 0 ), // S3_IN DMA2_ST2 DMA2_ST2
DEF_TIM(TIM8, CH2, PC7, TIM_USE_PWM, TIMER_INPUT_ENABLED, 0 ), // S4_IN DMA2_ST3 DMA2_ST2
DEF_TIM(TIM8, CH3, PC8, TIM_USE_PWM, TIMER_INPUT_ENABLED, 0 ), // S5_IN DMA2_ST4 DMA2_ST2
DEF_TIM(TIM8, CH4, PC9, TIM_USE_PWM, TIMER_INPUT_ENABLED, 0 ), // S6_IN DMA2_ST7
DEF_TIM(TIM12, CH1, PB14, TIM_USE_PWM | TIM_USE_PPM, 0, 0 ), // S1_IN
DEF_TIM(TIM12, CH2, PB15, TIM_USE_PWM, 0, 0 ), // S2_IN
DEF_TIM(TIM8, CH1, PC6, TIM_USE_PWM, 0, 0 ), // S3_IN DMA2_ST2 DMA2_ST2
DEF_TIM(TIM8, CH2, PC7, TIM_USE_PWM, 0, 0 ), // S4_IN DMA2_ST3 DMA2_ST2
DEF_TIM(TIM8, CH3, PC8, TIM_USE_PWM, 0, 0 ), // S5_IN DMA2_ST4 DMA2_ST2
DEF_TIM(TIM8, CH4, PC9, TIM_USE_PWM, 0, 0 ), // S6_IN DMA2_ST7
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S10_OUT 1 DMA1_ST7
DEF_TIM(TIM5, CH3, PA2, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S6_OUT 2 DMA1_ST0
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S2_OUT 3 DMA1_ST4
DEF_TIM(TIM5, CH4, PA3, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S1_OUT 4 DMA1_ST1 DMA1_ST3
DEF_TIM(TIM3, CH2, PB5, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S4_OUT DMA1_ST5
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S7_OUT DMA1_ST2
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S5_OUT
DEF_TIM(TIM9, CH2, PE6, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S3_OUT
DEF_TIM(TIM2, CH2, PB3, TIM_USE_MOTOR | TIM_USE_LED, TIMER_OUTPUT_ENABLED, 0 ), // S8_OUT DMA1_ST6
DEF_TIM(TIM3, CH1, PB4, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S9_OUT DMA1_ST4
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0, 0 ), // S10_OUT 1 DMA1_ST7
DEF_TIM(TIM5, CH3, PA2, TIM_USE_MOTOR, 0, 0 ), // S6_OUT 2 DMA1_ST0
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, 0, 0 ), // S2_OUT 3 DMA1_ST4
DEF_TIM(TIM5, CH4, PA3, TIM_USE_MOTOR, 0, 0 ), // S1_OUT 4 DMA1_ST1 DMA1_ST3
DEF_TIM(TIM3, CH2, PB5, TIM_USE_MOTOR, 0, 0 ), // S4_OUT DMA1_ST5
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, 0, 0 ), // S7_OUT DMA1_ST2
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 0, 0 ), // S5_OUT
DEF_TIM(TIM9, CH2, PE6, TIM_USE_MOTOR, 0, 0 ), // S3_OUT
DEF_TIM(TIM2, CH2, PB3, TIM_USE_MOTOR | TIM_USE_LED, 0, 0 ), // S8_OUT DMA1_ST6
DEF_TIM(TIM3, CH1, PB4, TIM_USE_MOTOR, 0, 0 ), // S9_OUT DMA1_ST4
};

View file

@ -25,21 +25,21 @@
#include "drivers/timer_def.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM12, CH1, PB14, TIM_USE_PWM | TIM_USE_PPM, TIMER_INPUT_ENABLED, 0 ), // S1_IN
DEF_TIM(TIM12, CH2, PB15, TIM_USE_PWM, TIMER_INPUT_ENABLED, 0 ), // S2_IN
DEF_TIM(TIM8, CH1, PC6, TIM_USE_PWM, TIMER_INPUT_ENABLED, 0 ), // S3_IN DMA2_ST2 DMA2_ST2
DEF_TIM(TIM8, CH2, PC7, TIM_USE_PWM, TIMER_INPUT_ENABLED, 0 ), // S4_IN DMA2_ST3 DMA2_ST2
DEF_TIM(TIM8, CH3, PC8, TIM_USE_PWM, TIMER_INPUT_ENABLED, 0 ), // S5_IN DMA2_ST4 DMA2_ST2
DEF_TIM(TIM8, CH4, PC9, TIM_USE_PWM, TIMER_INPUT_ENABLED, 0 ), // S6_IN DMA2_ST7
DEF_TIM(TIM12, CH1, PB14, TIM_USE_PWM | TIM_USE_PPM, 0, 0 ), // S1_IN
DEF_TIM(TIM12, CH2, PB15, TIM_USE_PWM, 0, 0 ), // S2_IN
DEF_TIM(TIM8, CH1, PC6, TIM_USE_PWM, 0, 0 ), // S3_IN DMA2_ST2 DMA2_ST2
DEF_TIM(TIM8, CH2, PC7, TIM_USE_PWM, 0, 0 ), // S4_IN DMA2_ST3 DMA2_ST2
DEF_TIM(TIM8, CH3, PC8, TIM_USE_PWM, 0, 0 ), // S5_IN DMA2_ST4 DMA2_ST2
DEF_TIM(TIM8, CH4, PC9, TIM_USE_PWM, 0, 0 ), // S6_IN DMA2_ST7
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S10_OUT 1 DMA1_ST7
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S6_OUT 2 DMA1_ST1
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S5_OUT 3 DMA1_ST3
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 1 ), // S1_OUT 4 DMA1_ST7 DMA1_ST6
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S2_OUT DMA1_ST4
DEF_TIM(TIM1, CH2N, PB0, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 1 ), // S3_OUT DMA2_ST6 DMA2_ST2
DEF_TIM(TIM3, CH2, PB5, TIM_USE_MOTOR | TIM_USE_LED, TIMER_OUTPUT_ENABLED, 0 ), // S4_OUT DMA1_ST5
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S7_OUT DMA1_ST2
DEF_TIM(TIM1, CH3N, PB1, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S8_OUT DMA2_ST6
DEF_TIM(TIM3, CH1, PB4, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S9_OUT DMA1_ST4
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0, 0 ), // S10_OUT 1 DMA1_ST7
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0 ), // S6_OUT 2 DMA1_ST1
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 0, 0 ), // S5_OUT 3 DMA1_ST3
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1 ), // S1_OUT 4 DMA1_ST7 DMA1_ST6
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, 0, 0 ), // S2_OUT DMA1_ST4
DEF_TIM(TIM1, CH2N, PB0, TIM_USE_MOTOR, 0, 1 ), // S3_OUT DMA2_ST6 DMA2_ST2
DEF_TIM(TIM3, CH2, PB5, TIM_USE_MOTOR | TIM_USE_LED, 0, 0 ), // S4_OUT DMA1_ST5
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, 0, 0 ), // S7_OUT DMA1_ST2
DEF_TIM(TIM1, CH3N, PB1, TIM_USE_MOTOR, 0, 0 ), // S8_OUT DMA2_ST6
DEF_TIM(TIM3, CH1, PB4, TIM_USE_MOTOR, 0, 0 ), // S9_OUT DMA1_ST4
};

10
src/main/target/BEEBRAIN_V2F/target.c Executable file → Normal file
View file

@ -25,9 +25,9 @@
#include "drivers/timer_def.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM1, CH3N, PB15, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED | TIMER_OUTPUT_INVERTED ), // PWM1 - PB15 - DMA1_CH6 - *TIM1_CH3N, TIM15_CH1N, TIM15_CH2
DEF_TIM(TIM15, CH1, PB14, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED ), // PWM2 - PB14 - DMA1_CH5 - TIM1_CH2N, *TIM15_CH1
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED ), // PWM3 - PA8 - DMA1_CH2 - *TIM1_CH1, TIM4_ETR
DEF_TIM(TIM8, CH2N, PB0, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED | TIMER_OUTPUT_INVERTED ), // PWM4 - PB0 - DMA2_CH5 - TIM3_CH3, TIM1_CH2N, *TIM8_CH2N
DEF_TIM(TIM16, CH1, PB8, TIM_USE_TRANSPONDER, TIMER_OUTPUT_ENABLED ),
DEF_TIM(TIM1, CH3N, PB15, TIM_USE_MOTOR, 0), // PWM1 - PB15 - DMA1_CH6 - *TIM1_CH3N, TIM15_CH1N, TIM15_CH2
DEF_TIM(TIM15, CH1, PB14, TIM_USE_MOTOR, 0), // PWM2 - PB14 - DMA1_CH5 - TIM1_CH2N, *TIM15_CH1
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0), // PWM3 - PA8 - DMA1_CH2 - *TIM1_CH1, TIM4_ETR
DEF_TIM(TIM8, CH2N, PB0, TIM_USE_MOTOR, 0), // PWM4 - PB0 - DMA2_CH5 - TIM3_CH3, TIM1_CH2N, *TIM8_CH2N
DEF_TIM(TIM16, CH1, PB8, TIM_USE_TRANSPONDER, 0),
};

View file

@ -25,16 +25,16 @@
#include "drivers/timer_def.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM9, CH2, PA3, TIM_USE_PPM, TIMER_INPUT_ENABLED, 0), // PPM IN
DEF_TIM(TIM9, CH2, PA3, TIM_USE_PPM, 0, 0), // PPM IN
DEF_TIM(TIM1, CH2N, PB0, TIM_USE_MOTOR, TIMER_OUTPUT_INVERTED, 0), // M1 - DMA2_ST6
DEF_TIM(TIM8, CH3N, PB1, TIM_USE_MOTOR, TIMER_OUTPUT_INVERTED, 1), // M2 - DMA2_ST4
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0), // M3 - DMA1_ST6
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0), // M4 - DMA1_ST2
DEF_TIM(TIM3, CH1, PC6, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0), // M5 - DMA1_ST4 (conflicts with SDCard, switch off SDCard DMA if used for DShot)
DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0), // M6 - DMA2_ST3 (doesn't work for DShot)
DEF_TIM(TIM3, CH2, PB5, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0), // M7 - DMA1_ST5 (doesn't work for DShot)
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0), // M8 (no DMA, doesn't work for DShot)
DEF_TIM(TIM1, CH2N, PB0, TIM_USE_MOTOR, 0, 0), // M1 - DMA2_ST6
DEF_TIM(TIM8, CH3N, PB1, TIM_USE_MOTOR, 0, 1), // M2 - DMA2_ST4
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 0, 0), // M3 - DMA1_ST6
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, 0, 0), // M4 - DMA1_ST2
DEF_TIM(TIM3, CH1, PC6, TIM_USE_MOTOR, 0, 0), // M5 - DMA1_ST4 (conflicts with SDCard, switch off SDCard DMA if used for DShot)
DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 0, 0), // M6 - DMA2_ST3 (doesn't work for DShot)
DEF_TIM(TIM3, CH2, PB5, TIM_USE_MOTOR, 0, 0), // M7 - DMA1_ST5 (doesn't work for DShot)
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 0, 0), // M8 (no DMA, doesn't work for DShot)
DEF_TIM(TIM4, CH3, PB8, TIM_USE_LED | TIM_USE_TRANSPONDER, TIMER_OUTPUT_STANDARD, 0), // LED_STRIP / TRANSPONDER - DMA1_ST7 (can be used for DShot, conflicts with OSD TX)
DEF_TIM(TIM4, CH3, PB8, TIM_USE_LED | TIM_USE_TRANSPONDER, 0, 0), // LED_STRIP / TRANSPONDER - DMA1_ST7 (can be used for DShot, conflicts with OSD TX)
};

20
src/main/target/BETAFLIGHTF3/target.c Executable file → Normal file
View file

@ -26,22 +26,22 @@
#include "drivers/dma.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM4, CH2, PB7, TIM_USE_PPM, TIMER_INPUT_ENABLED), // PPM DMA(1,4)
DEF_TIM(TIM4, CH2, PB7, TIM_USE_PPM, 0), // PPM DMA(1,4)
// Motors 1-4
DEF_TIM(TIM16,CH1, PA6, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // PWM1 DMA(1,6)
DEF_TIM(TIM8, CH1N,PA7, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED | TIMER_OUTPUT_INVERTED), // PWM2 DMA(2,3)
DEF_TIM(TIM8, CH2, PB8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // PWM3 DMA(2,5)
DEF_TIM(TIM17,CH1, PB9, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // PWM4 DMA(1,7)
DEF_TIM(TIM16, CH1, PA6, TIM_USE_MOTOR, 0), // PWM1 DMA(1,6)
DEF_TIM(TIM8, CH1N, PA7, TIM_USE_MOTOR, 0), // PWM2 DMA(2,3)
DEF_TIM(TIM8, CH2, PB8, TIM_USE_MOTOR, 0), // PWM3 DMA(2,5)
DEF_TIM(TIM17, CH1, PB9, TIM_USE_MOTOR, 0), // PWM4 DMA(1,7)
// Motors 5-6 or SoftSerial
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // PWM5 DMA(1,2) !LED
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // PWM6 DMA(1,3)
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0), // PWM5 DMA(1,2) !LED
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0), // PWM6 DMA(1,3)
// Motors 7-8 or UART2
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // PWM7/UART2_RX
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // PWM8/UART2_TX
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0), // PWM7/UART2_RX
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0), // PWM8/UART2_TX
// No LED for Hexa-Dshot; DMA conflict with Motor 5 (PB0); consider PPM if not used.
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR | TIM_USE_LED, TIMER_OUTPUT_ENABLED), // LED DMA(1,2)
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR | TIM_USE_LED, 0), // LED DMA(1,2)
};

24
src/main/target/BETAFLIGHTF4/target.c Executable file → Normal file
View file

@ -25,22 +25,22 @@
#include "drivers/timer_def.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM10, CH1, PB8, TIM_USE_PWM | TIM_USE_PPM, TIMER_OUTPUT_NONE, 0), // PPM
DEF_TIM(TIM10, CH1, PB8, TIM_USE_PWM | TIM_USE_PPM, 0, 0), // PPM
// Motors
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0), // S1_OUT D1_ST7
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0), // S2_OUT D1_ST2
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0), // S3_OUT D1_ST6
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0), // S4_OUT D1_ST1
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0), // S1_OUT D1_ST7
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0), // S2_OUT D1_ST2
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 0, 0), // S3_OUT D1_ST6
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 0, 0), // S4_OUT D1_ST1
// LED strip
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR | TIM_USE_LED, TIMER_OUTPUT_STANDARD, 0), // D1_ST0
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR | TIM_USE_LED, 0, 0), // D1_ST0
// UART Backdoors
DEF_TIM(TIM1, CH2, PA9, TIM_USE_NONE, TIMER_OUTPUT_STANDARD, 0), // TX1 Bidir
DEF_TIM(TIM1, CH3, PA10, TIM_USE_NONE, TIMER_OUTPUT_STANDARD, 0), // RX1 Bidir
DEF_TIM(TIM5, CH3, PA2, TIM_USE_NONE, TIMER_OUTPUT_STANDARD, 0), // TX2 TX only
DEF_TIM(TIM9, CH2, PA3, TIM_USE_NONE, TIMER_OUTPUT_STANDARD, 0), // RX2 RX only
DEF_TIM(TIM2, CH3, PB10, TIM_USE_NONE, TIMER_OUTPUT_STANDARD, 0), // TX3 Bidir
DEF_TIM(TIM2, CH4, PB11, TIM_USE_NONE, TIMER_OUTPUT_STANDARD, 0), // RX3 Bidir
DEF_TIM(TIM1, CH2, PA9, TIM_USE_NONE, 0, 0), // TX1 Bidir
DEF_TIM(TIM1, CH3, PA10, TIM_USE_NONE, 0, 0), // RX1 Bidir
DEF_TIM(TIM5, CH3, PA2, TIM_USE_NONE, 0, 0), // TX2 TX only
DEF_TIM(TIM9, CH2, PA3, TIM_USE_NONE, 0, 0), // RX2 RX only
DEF_TIM(TIM2, CH3, PB10, TIM_USE_NONE, 0, 0), // TX3 Bidir
DEF_TIM(TIM2, CH4, PB11, TIM_USE_NONE, 0, 0), // RX3 Bidir
};

View file

@ -29,12 +29,12 @@
* - S5_OUT, S6_OUT and DEBUG can be assigned to any combination of LED, software serial and servos
*/
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM3, CH2, PC7, TIM_USE_PPM, TIMER_OUTPUT_STANDARD, 0 ), // PPM IN
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0 ), // S1_OUT - DMA1_ST2
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0 ), // S2_OUT - DMA1_ST4
DEF_TIM(TIM5, CH3, PA2, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0 ), // S3_OUT - DMA1_ST0
DEF_TIM(TIM5, CH4, PA3, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 1 ), // S4_OUT - DMA1_ST3 (Could be DMA1_ST1 with dmaopt=0)
DEF_TIM(TIM1, CH2N,PB0, TIM_USE_MOTOR | TIM_USE_LED, TIMER_OUTPUT_INVERTED, 0 ), // S5_OUT - DMA2_ST6
DEF_TIM(TIM8, CH3N,PB1, TIM_USE_MOTOR, TIMER_OUTPUT_INVERTED, 0 ), // S6_OUT - DMA2_ST2
DEF_TIM(TIM2, CH2, PB3, TIM_USE_NONE, TIMER_OUTPUT_STANDARD, 0 ), // DEBUG - DMA1_ST6
DEF_TIM(TIM3, CH2, PC7, TIM_USE_PPM, 0, 0 ), // PPM IN
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, 0, 0 ), // S1_OUT - DMA1_ST2
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, 0, 0 ), // S2_OUT - DMA1_ST4
DEF_TIM(TIM5, CH3, PA2, TIM_USE_MOTOR, 0, 0 ), // S3_OUT - DMA1_ST0
DEF_TIM(TIM5, CH4, PA3, TIM_USE_MOTOR, 0, 1 ), // S4_OUT - DMA1_ST3 (Could be DMA1_ST1 with dmaopt=0)
DEF_TIM(TIM1, CH2N, PB0, TIM_USE_MOTOR | TIM_USE_LED, 0, 0 ), // S5_OUT - DMA2_ST6
DEF_TIM(TIM8, CH3N, PB1, TIM_USE_MOTOR, 0, 0 ), // S6_OUT - DMA2_ST2
DEF_TIM(TIM2, CH2, PB3, TIM_USE_NONE, 0, 0 ), // DEBUG - DMA1_ST6
};

View file

@ -27,18 +27,18 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
// DEF_TIM(TIM4, CH1, PB6, TIM_USE_PWM, 0), // S1_IN/ <--Moved to allow Parallel PWM with proper ESC
DEF_TIM(TIM3, CH2, PB5, TIM_USE_PWM, 0), // S2_IN - SoftSerial TX - GPIO_PartialRemap_TIM3 / Sonar trigger
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PWM, 0), // S3_IN - SoftSerial RX / Sonar echo / RSSI ADC
DEF_TIM(TIM3, CH4, PB1, TIM_USE_PWM, 0), // S4_IN - Current
DEF_TIM(TIM2, CH1, PA0, TIM_USE_PWM, 0), // S5_IN - Vbattery
DEF_TIM(TIM2, CH2, PA1, TIM_USE_PWM| TIM_USE_PPM, 0), // S6_IN - PPM IN
DEF_TIM(TIM3, CH1, PB4, TIM_USE_PWM, 1), // S5_OUT - GPIO_PartialRemap_TIM3 - LED Strip
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 1), // S1_OUT
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 1), // S2_OUT
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 1), // S3_OUT
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 1), // S4_OUT
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, 0), // S1_IN/
DEF_TIM(TIM3, CH2, PB5, TIM_USE_PWM, 0), // S2_IN - SoftSerial TX - GPIO_PartialRemap_TIM3 / Sonar trigger
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PWM, 0), // S3_IN - SoftSerial RX / Sonar echo / RSSI ADC
DEF_TIM(TIM3, CH4, PB1, TIM_USE_PWM, 0), // S4_IN - Current
DEF_TIM(TIM2, CH1, PA0, TIM_USE_PWM, 0), // S5_IN - Vbattery
DEF_TIM(TIM2, CH2, PA1, TIM_USE_PWM| TIM_USE_PPM, 0), // S6_IN - PPM IN
DEF_TIM(TIM3, CH1, PB4, TIM_USE_PWM, 0), // S5_OUT - GPIO_PartialRemap_TIM3 - LED Strip
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 0), // S1_OUT
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0), // S2_OUT
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 0), // S3_OUT
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0), // S4_OUT
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, 0), // S1_IN/
// DEF_TIM(TIM3, CH1, PB4, TIM_USE_MOTOR, 1), // S5_OUT <--Moved to allow Parallel PWM with proper ESC
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 1) // S6_OUT
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0), // S6_OUT
};

View file

@ -26,12 +26,12 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
// INPUTS CH1-8
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 1), // PWM1 - PA8
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0), // PWM1 - PA8
DEF_TIM(TIM16, CH1, PB8, TIM_USE_PWM, 0), // PWM2 - PB8
DEF_TIM(TIM17, CH1, PB9, TIM_USE_PWM, 0), // PWM3 - PB9
DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 1), // PWM4 - PC6
DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 1), // PWM5 - PC7
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 1), // PWM6 - PC8
DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 0), // PWM4 - PC6
DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 0), // PWM5 - PC7
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 0), // PWM6 - PC8
DEF_TIM(TIM15, CH1, PF9, TIM_USE_PWM, 0), // PWM7 - PF9
DEF_TIM(TIM15, CH2, PF10, TIM_USE_PWM, 0), // PWM8 - PF10
DEF_TIM(TIM4, CH1, PD12, TIM_USE_PWM, 0), // PWM9 - PD12
@ -43,5 +43,5 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM2, CH4, PA3, TIM_USE_PWM, 0), // PWM15 - PA3
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PWM, 0), // PWM16 - PB0
DEF_TIM(TIM3, CH4, PB1, TIM_USE_PWM, 0), // PWM17 - PB1
DEF_TIM(TIM3, CH2, PA4, TIM_USE_PWM, 0) // PWM18 - PA4
DEF_TIM(TIM3, CH2, PA4, TIM_USE_PWM, 0), // PWM18 - PA4
};

View file

@ -25,19 +25,19 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM2, CH1, PA0, TIM_USE_PWM, 0 ), // PWM1 - RC1
DEF_TIM(TIM2, CH2, PA1, TIM_USE_PWM, 0 ), // PWM2 - RC2
DEF_TIM(TIM2, CH3, PA2, TIM_USE_PWM, 0 ), // PWM3 - RC3
DEF_TIM(TIM2, CH4, PA3, TIM_USE_PWM, 0 ), // PWM4 - RC4
DEF_TIM(TIM3, CH1, PA6, TIM_USE_PWM, 0 ), // PWM5 - RC5
DEF_TIM(TIM3, CH2, PA7, TIM_USE_PWM, 0 ), // PWM6 - RC6
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PWM, 0 ), // PWM7 - RC7
DEF_TIM(TIM3, CH4, PB1, TIM_USE_PWM, 0 ), // PWM8 - RC8
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 1 ), // PWM9 - OUT1
DEF_TIM(TIM1, CH4, PA11,TIM_USE_MOTOR, 1 ), // PWM10 - OUT2
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, 0 ), // PWM11 - OUT3
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 0 ), // PWM12 - OUT4
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0 ), // PWM13 - OUT5
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 0 ) // PWM14 - OUT6
DEF_TIM(TIM2, CH1, PA0, TIM_USE_PWM, 0), // PWM1 - RC1
DEF_TIM(TIM2, CH2, PA1, TIM_USE_PWM, 0), // PWM2 - RC2
DEF_TIM(TIM2, CH3, PA2, TIM_USE_PWM, 0), // PWM3 - RC3
DEF_TIM(TIM2, CH4, PA3, TIM_USE_PWM, 0), // PWM4 - RC4
DEF_TIM(TIM3, CH1, PA6, TIM_USE_PWM, 0), // PWM5 - RC5
DEF_TIM(TIM3, CH2, PA7, TIM_USE_PWM, 0), // PWM6 - RC6
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PWM, 0), // PWM7 - RC7
DEF_TIM(TIM3, CH4, PB1, TIM_USE_PWM, 0), // PWM8 - RC8
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0), // PWM9 - OUT1
DEF_TIM(TIM1, CH4, PA11, TIM_USE_MOTOR, 0), // PWM10 - OUT2
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, 0), // PWM11 - OUT3
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 0), // PWM12 - OUT4
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0), // PWM13 - OUT5
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 0), // PWM14 - OUT6
};

View file

@ -27,14 +27,14 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM11, CH1, PB9, TIM_USE_ANY, TIMER_OUTPUT_ENABLED , 0), // CAMERA_CONTROL_PIN
DEF_TIM(TIM11, CH1, PB9, TIM_USE_ANY, 0, 0), // CAMERA_CONTROL_PIN
DEF_TIM(TIM1, CH2N, PB0, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED | TIMER_OUTPUT_INVERTED, 0), // M1 - D2_ST6
DEF_TIM(TIM8, CH3N, PB1, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED | TIMER_OUTPUT_INVERTED, 0), // M2_OUT D2_ST2
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 1), // M3_OUT D1_ST6
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0), // M4_OUT D1_ST1
DEF_TIM(TIM1, CH2N, PB0, TIM_USE_MOTOR, 0, 0), // M1 - D2_ST6
DEF_TIM(TIM8, CH3N, PB1, TIM_USE_MOTOR, 0, 0), // M2_OUT D2_ST2
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1), // M3_OUT D1_ST6
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0), // M4_OUT D1_ST1
DEF_TIM(TIM3, CH1, PB4, TIM_USE_BEEPER, TIMER_OUTPUT_ENABLED, 0), // BEEPER PWM
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR | TIM_USE_LED, TIMER_OUTPUT_STANDARD, 0), // LED & MOTOR5 D1_ST7
DEF_TIM(TIM3, CH1, PB4, TIM_USE_BEEPER, 0, 0), // BEEPER PWM
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR | TIM_USE_LED, 0, 0), // LED & MOTOR5 D1_ST7
};

View file

@ -28,16 +28,16 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM10, CH1, PB8, TIM_USE_ANY, TIMER_OUTPUT_ENABLED, 0), // USE FOR CAMERA CONTROL
DEF_TIM(TIM10, CH1, PB8, TIM_USE_ANY, 0, 0), // USE FOR CAMERA CONTROL
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 1), // PWM1 - DMA1_ST6 D(1, 7, 3),D(1, 6, 3)
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 1), // PWM2 - DMA2_ST2 D(2, 4, 7),D(2, 2, 0)
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM3 - DMA1_ST1 D(1, 1, 3)
DEF_TIM(TIM3, CH4, PC9, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM4 - DMA1_ST2 D(1, 2, 5)
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 2), // PWM5 - DMA2_ST3 D(2, 6, 0),D(2, 1, 6),D(2, 3, 6)
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM6 - DMA1_ST0 D(1, 0, 2)
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1), // PWM1 - DMA1_ST6 D(1, 7, 3),D(1, 6, 3)
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 0, 1), // PWM2 - DMA2_ST2 D(2, 4, 7),D(2, 2, 0)
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0), // PWM3 - DMA1_ST1 D(1, 1, 3)
DEF_TIM(TIM3, CH4, PC9, TIM_USE_MOTOR, 0, 0), // PWM4 - DMA1_ST2 D(1, 2, 5)
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0, 2), // PWM5 - DMA2_ST3 D(2, 6, 0),D(2, 1, 6),D(2, 3, 6)
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, 0, 0), // PWM6 - DMA1_ST0 D(1, 0, 2)
DEF_TIM(TIM1, CH3N, PB1, TIM_USE_MOTOR | TIM_USE_LED, TIMER_OUTPUT_ENABLED, 0), // S5_OUT - DMA2_ST6 D(2, 6, 0),D(2, 6, 6)
DEF_TIM(TIM1, CH3N, PB1, TIM_USE_MOTOR | TIM_USE_LED, 0, 0), // S5_OUT - DMA2_ST6 D(2, 6, 0),D(2, 6, 6)
};

View file

@ -34,14 +34,14 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM2, CH2, PB3, TIM_USE_PWM, 0, 0), // S6_IN
DEF_TIM(TIM5, CH1, PA0, TIM_USE_PWM, 0, 0), // S7_IN
DEF_TIM(TIM5, CH2, PA1, TIM_USE_PWM, 0, 0), // S8_IN
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 1, 0), // S1_OUT
DEF_TIM(TIM3, CH1, PB4, TIM_USE_MOTOR, 1, 0), // S2_OUT
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 1, 0), // S3_OUT
DEF_TIM(TIM12, CH2, PB15, TIM_USE_MOTOR, 1, 0), // S4_OUT
DEF_TIM(TIM3, CH2, PB5, TIM_USE_MOTOR, 1, 0), // S5_OUT
DEF_TIM(TIM12, CH1, PB14, TIM_USE_MOTOR, 1, 0), // S6_OUT
DEF_TIM(TIM10, CH1, PB8, TIM_USE_MOTOR, 1, 0), // S7_OUT
DEF_TIM(TIM11, CH1, PB9, TIM_USE_MOTOR, 1, 0), // S8_OUT
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0), // S1_OUT
DEF_TIM(TIM3, CH1, PB4, TIM_USE_MOTOR, 0, 0), // S2_OUT
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0), // S3_OUT
DEF_TIM(TIM12, CH2, PB15, TIM_USE_MOTOR, 0, 0), // S4_OUT
DEF_TIM(TIM3, CH2, PB5, TIM_USE_MOTOR, 0, 0), // S5_OUT
DEF_TIM(TIM12, CH1, PB14, TIM_USE_MOTOR, 0, 0), // S6_OUT
DEF_TIM(TIM10, CH1, PB8, TIM_USE_MOTOR, 0, 0), // S7_OUT
DEF_TIM(TIM11, CH1, PB9, TIM_USE_MOTOR, 0, 0), // S8_OUT
DEF_TIM(TIM4, CH2, PB7, TIM_USE_LED , 0, 0), // S8_OUT
};

View file

@ -35,17 +35,17 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM1, CH1, PA8, TIM_USE_PPM, 0), // PWM1 - PA8
DEF_TIM(TIM3, CH1, PC6, TIM_USE_MOTOR, 1), // PWM2 - PC6
DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 1), // PWM3 - PC7
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 1), // PMW4 - PC8
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 1), // PWM5 - PC9
DEF_TIM(TIM2, CH1, PA0, TIM_USE_MOTOR, 1), // PWM6 - PA0
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 1), // PWM7 - PA1
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 1), // PWM8 - PA2
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 1), // PWM9 - PA3
DEF_TIM(TIM15, CH1, PB14, TIM_USE_MOTOR, 1), // PWM10 - PB14
DEF_TIM(TIM15, CH2, PB15, TIM_USE_MOTOR, 1), // PWM11 - PB15
DEF_TIM(TIM16, CH1, PA6, TIM_USE_LED, 1), // PWM11 - PB15
DEF_TIM(TIM3, CH1, PC6, TIM_USE_MOTOR, 0), // PWM2 - PC6
DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 0), // PWM3 - PC7
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 0), // PMW4 - PC8
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 0), // PWM5 - PC9
DEF_TIM(TIM2, CH1, PA0, TIM_USE_MOTOR, 0), // PWM6 - PA0
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 0), // PWM7 - PA1
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0), // PWM8 - PA2
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0), // PWM9 - PA3
DEF_TIM(TIM15, CH1, PB14, TIM_USE_MOTOR, 0), // PWM10 - PB14
DEF_TIM(TIM15, CH2, PB15, TIM_USE_MOTOR, 0), // PWM11 - PB15
DEF_TIM(TIM16, CH1, PA6, TIM_USE_LED, 0), // PWM11 - PB15
};

View file

@ -26,15 +26,15 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
#if defined(CRAZYFLIE2BQ)
DEF_TIM(TIM14, CH1, PA7, TIM_USE_PPM, TIMER_INPUT_ENABLED, 0 ), // PPM IN
DEF_TIM(TIM3, CH1, PB4, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // PWM1 - OUT1 (Motor 1)
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // PWM2 - OUT2 (Motor 2)
DEF_TIM(TIM3, CH2, PB5, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // PWM3 - OUT3 (Motor 3)
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // PWM4 - OUT4 (Motor 4)
DEF_TIM(TIM14, CH1, PA7, TIM_USE_PPM, 0, 0 ), // PPM IN
DEF_TIM(TIM3, CH1, PB4, TIM_USE_MOTOR, 0, 0 ), // PWM1 - OUT1 (Motor 1)
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0 ), // PWM2 - OUT2 (Motor 2)
DEF_TIM(TIM3, CH2, PB5, TIM_USE_MOTOR, 0, 0 ), // PWM3 - OUT3 (Motor 3)
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 0 ), // PWM4 - OUT4 (Motor 4)
#else
DEF_TIM(TIM2, CH4, PB11, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM1 - OUT1 (Motor 1)
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM2 - OUT2 (Motor 2)
DEF_TIM(TIM2, CH1, PA15, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM3 - OUT3 (Motor 3)
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM4 - OUT4 (Motor 4)
DEF_TIM(TIM2, CH4, PB11, TIM_USE_MOTOR, 0, 0 ), // PWM1 - OUT1 (Motor 1)
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 0, 0 ), // PWM2 - OUT2 (Motor 2)
DEF_TIM(TIM2, CH1, PA15, TIM_USE_MOTOR, 0, 0 ), // PWM3 - OUT3 (Motor 3)
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 0, 0 ), // PWM4 - OUT4 (Motor 4)
#endif
};

View file

@ -26,13 +26,13 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM1, CH1, PA8, TIM_USE_PPM, 0), // PWM1 - PA8
DEF_TIM(TIM8, CH2, PB8, TIM_USE_MOTOR, 1), // PWM2 - PB8, DMA2ch5
DEF_TIM(TIM8, CH3, PB9, TIM_USE_MOTOR, 1), // PWM3 - PB9, DMA2ch1
DEF_TIM(TIM2, CH4, PA10, TIM_USE_MOTOR, 1), // PMW4 - PA10, DMA1ch7
DEF_TIM(TIM2, CH3, PA9, TIM_USE_MOTOR, 1), // PWM5 - PA9, DMA1ch1
DEF_TIM(TIM2, CH1, PA0, TIM_USE_MOTOR, 1), // PWM6 - PA0
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 1), // PWM7 - PA1
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 1), // PWM8 - PB1
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 1), // PWM9 - PB0
DEF_TIM(TIM16, CH1, PA6, TIM_USE_LED, 1), // PWM9 - PB0
DEF_TIM(TIM8, CH2, PB8, TIM_USE_MOTOR, 0), // PWM2 - PB8, DMA2ch5
DEF_TIM(TIM8, CH3, PB9, TIM_USE_MOTOR, 0), // PWM3 - PB9, DMA2ch1
DEF_TIM(TIM2, CH4, PA10, TIM_USE_MOTOR, 0), // PMW4 - PA10, DMA1ch7
DEF_TIM(TIM2, CH3, PA9, TIM_USE_MOTOR, 0), // PWM5 - PA9, DMA1ch1
DEF_TIM(TIM2, CH1, PA0, TIM_USE_MOTOR, 0), // PWM6 - PA0
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 0), // PWM7 - PA1
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0), // PWM8 - PB1
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0), // PWM9 - PB0
DEF_TIM(TIM16, CH1, PA6, TIM_USE_LED, 0), // PWM9 - PB0
};

View file

@ -25,10 +25,10 @@
#include "drivers/dma.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM2, CH4, PA3, TIM_USE_PPM, TIMER_INPUT_ENABLED), /* PPM IN */
DEF_TIM(TIM17,CH1N,PB7, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED | TIMER_OUTPUT_INVERTED), /* PWM1 */
DEF_TIM(TIM8, CH1, PB6, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), /* PWM2 */
DEF_TIM(TIM8, CH3, PB9, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), /* PWM3 */
DEF_TIM(TIM8, CH2, PB8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), /* PWM4 */
DEF_TIM(TIM16,CH1, PA6, TIM_USE_LED, TIMER_OUTPUT_ENABLED), /* LED_STRIP*/
DEF_TIM(TIM2, CH4, PA3, TIM_USE_PPM, 0),
DEF_TIM(TIM17, CH1N, PB7, TIM_USE_MOTOR, 0),
DEF_TIM(TIM8, CH1, PB6, TIM_USE_MOTOR, 0),
DEF_TIM(TIM8, CH3, PB9, TIM_USE_MOTOR, 0),
DEF_TIM(TIM8, CH2, PB8, TIM_USE_MOTOR, 0),
DEF_TIM(TIM16, CH1, PA6, TIM_USE_LED, 0),
};

View file

@ -25,15 +25,15 @@
#include "drivers/dma.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM2, CH3, PA2, TIM_USE_PWM | TIM_USE_PPM, TIMER_INPUT_ENABLED, 0 ), // PPM IN DMA1_ST1 (shared with RX1)
DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // SERVO1 DMA2_ST2
DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // SERVO2 DMA2_ST3
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 1 ), // SERVO3 DMA2_ST4
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // SERVO4 DMA2_ST7
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // SERVO5 DMA1_ST2
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // SERVO6 DMA1_ST4
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // SERVO7 DMA1_ST7
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // SERVO8 DMA1_ST3
DEF_TIM(TIM2, CH3, PA2, TIM_USE_PWM | TIM_USE_PPM, 0, 0 ), // PPM IN DMA1_ST1 (shared with RX1)
DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 0, 0 ), // SERVO1 DMA2_ST2
DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 0, 0 ), // SERVO2 DMA2_ST3
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 0, 1 ), // SERVO3 DMA2_ST4
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 0, 0 ), // SERVO4 DMA2_ST7
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, 0, 0 ), // SERVO5 DMA1_ST2
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, 0, 0 ), // SERVO6 DMA1_ST4
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0, 0 ), // SERVO7 DMA1_ST7
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 0, 0 ), // SERVO8 DMA1_ST3
};
// Telemetry

View file

@ -8,21 +8,21 @@
#include "drivers/timer_def.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM3, CH4, PC9, TIM_USE_PWM, 0, 0), // S1_IN
DEF_TIM(TIM3, CH3, PC8, TIM_USE_PWM, 0, 0), // S2_IN
DEF_TIM(TIM3, CH1, PC6, TIM_USE_PWM, 0, 0), // S3_IN
DEF_TIM(TIM3, CH2, PC7, TIM_USE_PWM, 0, 0), // S4_IN
DEF_TIM(TIM4, CH4, PD15, TIM_USE_PWM, 0, 0), // S5_IN
DEF_TIM(TIM4, CH3, PD14, TIM_USE_PWM, 0, 0), // S6_IN
DEF_TIM(TIM4, CH2, PD13, TIM_USE_PWM, 0, 0), // S7_IN
DEF_TIM(TIM4, CH1, PD12, TIM_USE_PWM, 0, 0), // S8_IN
DEF_TIM(TIM2, CH1, PA0, TIM_USE_MOTOR, 1, 0), // S1_OUT
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 1, 0), // S2_OUT
DEF_TIM(TIM5, CH3, PA2, TIM_USE_MOTOR, 1, 0), // S3_OUT
DEF_TIM(TIM5, CH4, PA3, TIM_USE_MOTOR, 1, 0), // S4_OUT
DEF_TIM(TIM1, CH1, PE9, TIM_USE_MOTOR, 1, 0), // S5_OUT
DEF_TIM(TIM1, CH2, PE11, TIM_USE_MOTOR, 1, 0), // S6_OUT
DEF_TIM(TIM1, CH3, PE13, TIM_USE_MOTOR, 1, 0), // S7_OUT
DEF_TIM(TIM1, CH4, PE14, TIM_USE_MOTOR, 1, 0), // S8_OUT
DEF_TIM(TIM9, CH2, PE6, TIM_USE_MOTOR, 0, 0), // sonar echo if needed
DEF_TIM(TIM3, CH4, PC9, TIM_USE_PWM, 0, 0), // S1_IN
DEF_TIM(TIM3, CH3, PC8, TIM_USE_PWM, 0, 0), // S2_IN
DEF_TIM(TIM3, CH1, PC6, TIM_USE_PWM, 0, 0), // S3_IN
DEF_TIM(TIM3, CH2, PC7, TIM_USE_PWM, 0, 0), // S4_IN
DEF_TIM(TIM4, CH4, PD15, TIM_USE_PWM, 0, 0), // S5_IN
DEF_TIM(TIM4, CH3, PD14, TIM_USE_PWM, 0, 0), // S6_IN
DEF_TIM(TIM4, CH2, PD13, TIM_USE_PWM, 0, 0), // S7_IN
DEF_TIM(TIM4, CH1, PD12, TIM_USE_PWM, 0, 0), // S8_IN
DEF_TIM(TIM2, CH1, PA0, TIM_USE_MOTOR, 0, 0), // S1_OUT
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 0, 0), // S2_OUT
DEF_TIM(TIM5, CH3, PA2, TIM_USE_MOTOR, 0, 0), // S3_OUT
DEF_TIM(TIM5, CH4, PA3, TIM_USE_MOTOR, 0, 0), // S4_OUT
DEF_TIM(TIM1, CH1, PE9, TIM_USE_MOTOR, 0, 0), // S5_OUT
DEF_TIM(TIM1, CH2, PE11, TIM_USE_MOTOR, 0, 0), // S6_OUT
DEF_TIM(TIM1, CH3, PE13, TIM_USE_MOTOR, 0, 0), // S7_OUT
DEF_TIM(TIM1, CH4, PE14, TIM_USE_MOTOR, 0, 0), // S8_OUT
DEF_TIM(TIM9, CH2, PE6, TIM_USE_MOTOR, 0, 0), // sonar echo if needed
};

View file

@ -25,10 +25,10 @@
#include "drivers/timer_def.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0 ), // S1_OUT - DMA1_ST7
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0 ), // S2_OUT - DMA1_ST2
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 1 ), // S3_OUT - DMA1_ST6
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0 ), // S4_OUT - DMA1_ST1
DEF_TIM(TIM4, CH4, PB9, TIM_USE_PPM, TIMER_INPUT_ENABLED, 0 ), // PPM IN
DEF_TIM(TIM4, CH2, PB7, TIM_USE_LED, TIMER_OUTPUT_STANDARD, 0), // LED - DMA1_ST3
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0 ), // S1_OUT - DMA1_ST7
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0 ), // S2_OUT - DMA1_ST2
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1 ), // S3_OUT - DMA1_ST6
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0 ), // S4_OUT - DMA1_ST1
DEF_TIM(TIM4, CH4, PB9, TIM_USE_PPM, 0, 0 ), // PPM IN
DEF_TIM(TIM4, CH2, PB7, TIM_USE_LED, 0, 0 ), // LED - DMA1_ST3
};

View file

@ -26,24 +26,24 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
#if defined(FF_RADIANCE) || defined(FF_KOMBINI)
DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR, 1), // PWM1 - PA7 - *TIM17_CH1, TIM1_CH1N, TIM8_CH1
DEF_TIM(TIM3, CH1, PA6, TIM_USE_MOTOR, 1), // PWM2 - PA6 - *TIM3_CH1, TIM8_BKIN, TIM1_BKIN, TIM16_CH1
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 1), // PWM3 - PB0 - *TIM3_CH3, TIM1_CH2N, TIM8_CH2N
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 1), // PWM4 - PB1 - *TIM3_CH4, TIM1_CH3N, TIM8_CH3N
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 1), // PWM5 - PA1 - *TIM2_CH2, TIM15_CH1N
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 1), // PWM6 - PA2 - *TIM2_CH3, !TIM15_CH1
DEF_TIM(TIM3, CH2, PA4, TIM_USE_PPM, 0), // PPM - PA4
DEF_TIM(TIM16, CH1, PB8, TIM_USE_LED, 0),
DEF_TIM(TIM1, CH1, PA8, TIM_USE_TRANSPONDER, 1 ), // TRANSPONDER - PA8
DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR, 0), // PWM1 - PA7 - *TIM17_CH1, TIM1_CH1N, TIM8_CH1
DEF_TIM(TIM3, CH1, PA6, TIM_USE_MOTOR, 0), // PWM2 - PA6 - *TIM3_CH1, TIM8_BKIN, TIM1_BKIN, TIM16_CH1
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0), // PWM3 - PB0 - *TIM3_CH3, TIM1_CH2N, TIM8_CH2N
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0), // PWM4 - PB1 - *TIM3_CH4, TIM1_CH3N, TIM8_CH3N
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 0), // PWM5 - PA1 - *TIM2_CH2, TIM15_CH1N
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0), // PWM6 - PA2 - *TIM2_CH3, !TIM15_CH1
DEF_TIM(TIM3, CH2, PA4, TIM_USE_PPM, 0), // PPM - PA4
DEF_TIM(TIM16, CH1, PB8, TIM_USE_LED, 0),
DEF_TIM(TIM1, CH1, PA8, TIM_USE_TRANSPONDER, 0), // TRANSPONDER - PA8
#else
DEF_TIM(TIM3, CH2, PA4, TIM_USE_MOTOR, 1), // PWM1 - PA4 - *TIM3_CH2
DEF_TIM(TIM3, CH1, PA6, TIM_USE_MOTOR, 1), // PWM2 - PA6 - *TIM3_CH1, TIM8_BKIN, TIM1_BKIN, TIM16_CH1
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 1), // PWM3 - PB0 - *TIM3_CH3, TIM1_CH2N, TIM8_CH2N
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 1), // PWM4 - PB1 - *TIM3_CH4, TIM1_CH3N, TIM8_CH3N
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 1), // PWM5 - PA1 - *TIM2_CH2, TIM15_CH1N
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 1), // PWM6 - PA2 - *TIM2_CH3, !TIM15_CH1
DEF_TIM(TIM17, CH1, PA7, TIM_USE_PPM, 0), // PPM - PA7 - *TIM17_CH1, TIM1_CH1N, TIM8_CH1
DEF_TIM(TIM16, CH1, PB8, TIM_USE_LED, 0),
DEF_TIM(TIM1, CH1, PA8, TIM_USE_TRANSPONDER, 1 ), // TRANSPONDER - PA8
DEF_TIM(TIM3, CH2, PA4, TIM_USE_MOTOR, 0), // PWM1 - PA4 - *TIM3_CH2
DEF_TIM(TIM3, CH1, PA6, TIM_USE_MOTOR, 0), // PWM2 - PA6 - *TIM3_CH1, TIM8_BKIN, TIM1_BKIN, TIM16_CH1
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0), // PWM3 - PB0 - *TIM3_CH3, TIM1_CH2N, TIM8_CH2N
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0), // PWM4 - PB1 - *TIM3_CH4, TIM1_CH3N, TIM8_CH3N
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 0), // PWM5 - PA1 - *TIM2_CH2, TIM15_CH1N
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0), // PWM6 - PA2 - *TIM2_CH3, !TIM15_CH1
DEF_TIM(TIM17, CH1, PA7, TIM_USE_PPM, 0), // PPM - PA7 - *TIM17_CH1, TIM1_CH1N, TIM8_CH1
DEF_TIM(TIM16, CH1, PB8, TIM_USE_LED, 0),
DEF_TIM(TIM1, CH1, PA8, TIM_USE_TRANSPONDER, 0), // TRANSPONDER - PA8
#endif
};

View file

@ -25,9 +25,9 @@
#include "drivers/timer_def.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 1 ), // S3_OUT - DMA1_ST6
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0 ), // S1_OUT - DMA1_ST7
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0 ), // S4_OUT - DMA1_ST1
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0 ), // S2_OUT - DMA1_ST2
DEF_TIM(TIM4, CH2, PB7, TIM_USE_LED, TIMER_OUTPUT_STANDARD, 0), // LED - DMA1_ST3
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1 ), // S3_OUT - DMA1_ST6
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0 ), // S1_OUT - DMA1_ST7
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0 ), // S4_OUT - DMA1_ST1
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0 ), // S2_OUT - DMA1_ST2
DEF_TIM(TIM4, CH2, PB7, TIM_USE_LED, 0, 0 ), // LED - DMA1_ST3
};

View file

@ -25,12 +25,12 @@
#include "drivers/timer_def.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PPM, TIMER_INPUT_ENABLED, 0 ), // PPM IN
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PPM, 0, 0 ), // PPM IN
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S1_OUT - DMA1_ST7
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S2_OUT - DMA1_ST1
DEF_TIM(TIM2, CH1, PA15,TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S3_OUT - DMA1_ST5
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 1 ), // S4_OUT - DMA1_ST6
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0, 0 ), // S1_OUT - DMA1_ST7
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0 ), // S2_OUT - DMA1_ST1
DEF_TIM(TIM2, CH1, PA15, TIM_USE_MOTOR, 0, 0 ), // S3_OUT - DMA1_ST5
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1 ), // S4_OUT - DMA1_ST6
DEF_TIM(TIM5, CH1, PA0, TIM_USE_LED, TIMER_OUTPUT_ENABLED, 0 ), // LED_STRIP - DMA1_ST2
DEF_TIM(TIM5, CH1, PA0, TIM_USE_LED, 0, 0 ), // LED_STRIP - DMA1_ST2
};

View file

@ -24,14 +24,14 @@
#include "drivers/timer_def.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM8, CH3, PB9, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD), // PWM1
DEF_TIM(TIM8, CH2, PB8, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD), // PWM2
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD), // PWM3
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD), // PWM4
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD), // PWM5
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD), // PWM6
DEF_TIM(TIM2, CH1, PA0, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD), // PWM7
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD), // PWM8
DEF_TIM(TIM8, CH3, PB9, TIM_USE_MOTOR, 0), // PWM1
DEF_TIM(TIM8, CH2, PB8, TIM_USE_MOTOR, 0), // PWM2
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0), // PWM3
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 0), // PWM4
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0), // PWM5
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0), // PWM6
DEF_TIM(TIM2, CH1, PA0, TIM_USE_MOTOR, 0), // PWM7
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0), // PWM8
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED|TIM_USE_TRANSPONDER, TIMER_OUTPUT_ENABLED), // LED
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED|TIM_USE_TRANSPONDER, 0), // LED
};

View file

@ -25,19 +25,19 @@
#include "drivers/timer_def.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM4, CH3, PB8, TIM_USE_PWM | TIM_USE_PPM, TIMER_OUTPUT_NONE, 0), // PPM
DEF_TIM(TIM4, CH4, PB9, TIM_USE_PWM, TIMER_OUTPUT_NONE, 0), // S2_IN
DEF_TIM(TIM8, CH1, PC6, TIM_USE_PWM, TIMER_OUTPUT_NONE, 0), // S3_IN, UART6_TX
DEF_TIM(TIM8, CH2, PC7, TIM_USE_PWM, TIMER_OUTPUT_NONE, 0), // S4_IN, UART6_RX
DEF_TIM(TIM8, CH3, PC8, TIM_USE_PWM, TIMER_OUTPUT_NONE, 0), // S5_IN
DEF_TIM(TIM8, CH4, PC9, TIM_USE_PWM, TIMER_OUTPUT_NONE, 0), // S6_IN
DEF_TIM(TIM4, CH3, PB8, TIM_USE_PWM | TIM_USE_PPM, 0, 0), // PPM
DEF_TIM(TIM4, CH4, PB9, TIM_USE_PWM, 0, 0), // S2_IN
DEF_TIM(TIM8, CH1, PC6, TIM_USE_PWM, 0, 0), // S3_IN, UART6_TX
DEF_TIM(TIM8, CH2, PC7, TIM_USE_PWM, 0, 0), // S4_IN, UART6_RX
DEF_TIM(TIM8, CH3, PC8, TIM_USE_PWM, 0, 0), // S5_IN
DEF_TIM(TIM8, CH4, PC9, TIM_USE_PWM, 0, 0), // S6_IN
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0), // S1_OUT D1_ST7
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0), // S2_OUT D1_ST2
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 1), // S3_OUT D1_ST6
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0), // S4_OUT D1_ST1
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0), // S1_OUT D1_ST7
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0), // S2_OUT D1_ST2
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1), // S3_OUT D1_ST6
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0), // S4_OUT D1_ST1
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0), // S5_OUT
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0), // S6_OUT
DEF_TIM(TIM4, CH1, PB6, TIM_USE_LED, TIMER_OUTPUT_STANDARD, 0), // LED strip for F4 V2 / F4-Pro-0X and later (RCD_CS for F4)
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, 0, 0), // S5_OUT
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0, 0), // S6_OUT
DEF_TIM(TIM4, CH1, PB6, TIM_USE_LED, 0, 0), // LED strip for F4 V2 / F4-Pro-0X and later (RCD_CS for F4)
};

View file

@ -37,15 +37,15 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM1, IO_TAG(PA8), TIM_Channel_1, TIM_USE_LED, 1, GPIO_AF_6, DMA1_Channel2, DMA1_CH2_HANDLER }, // GPIO TIMER - LED_STRIP
*/
DEF_TIM(TIM2, CH2, PB3, TIM_USE_PPM, TIMER_INPUT_ENABLED ), // PPM IN
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PWM, TIMER_OUTPUT_ENABLED), // SS1 - PB0 - *TIM3_CH3, TIM1_CH2N, TIM8_CH2N
DEF_TIM(TIM3, CH4, PB1, TIM_USE_PWM, TIMER_OUTPUT_ENABLED), // SS1 - PB1 - *TIM3_CH4, TIM1_CH3N, TIM8_CH3N
DEF_TIM(TIM2, CH2, PB3, TIM_USE_PPM, 0), // PPM IN
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PWM, 0), // SS1 - PB0 - *TIM3_CH3, TIM1_CH2N, TIM8_CH2N
DEF_TIM(TIM3, CH4, PB1, TIM_USE_PWM, 0), // SS1 - PB1 - *TIM3_CH4, TIM1_CH3N, TIM8_CH3N
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // PWM4 - S1
DEF_TIM(TIM8, CH1, PB6, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // PWM5 - S2
DEF_TIM(TIM17, CH1, PB5, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // PWM6 - S3
DEF_TIM(TIM16, CH1, PB4, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // PWM7 - S4
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 0), // PWM4 - S1
DEF_TIM(TIM8, CH1, PB6, TIM_USE_MOTOR, 0), // PWM5 - S2
DEF_TIM(TIM17, CH1, PB5, TIM_USE_MOTOR, 0), // PWM6 - S3
DEF_TIM(TIM16, CH1, PB4, TIM_USE_MOTOR, 0), // PWM7 - S4
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED, TIMER_OUTPUT_ENABLED), // GPIO TIMER - LED_STRIP
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED, 0), // GPIO TIMER - LED_STRIP
};

View file

@ -26,12 +26,12 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM8, CH4, PC9, TIM_USE_PPM, TIMER_INPUT_ENABLED, 0 ), // PPM IN
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 1 ), // S1_OUT - DMA1_ST6_CH3
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S2_OUT - DMA1_ST7_CH5
DEF_TIM(TIM1, CH3N, PB1, TIM_USE_MOTOR, TIMER_OUTPUT_INVERTED, 0 ), // S3_OUT - DMA2_ST6_CH0
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S4_OUT - DMA1_ST1_CH3
DEF_TIM(TIM8, CH4, PC9, TIM_USE_PPM, 0, 0 ), // PPM IN
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1 ), // S1_OUT - DMA1_ST6_CH3
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0 ), // S2_OUT - DMA1_ST7_CH5
DEF_TIM(TIM1, CH3N, PB1, TIM_USE_MOTOR, 0, 0 ), // S3_OUT - DMA2_ST6_CH0
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0 ), // S4_OUT - DMA1_ST1_CH3
DEF_TIM(TIM5, CH1, PA0, TIM_USE_LED, TIMER_OUTPUT_ENABLED, 0 ), // LED_STRIP - DMA1_ST2_CH6
DEF_TIM(TIM5, CH1, PA0, TIM_USE_LED, 0, 0 ), // LED_STRIP - DMA1_ST2_CH6
};

View file

@ -27,12 +27,12 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM8, CH4, PC9, TIM_USE_PPM, TIMER_INPUT_ENABLED, 0), // PPM_IN
DEF_TIM(TIM8, CH4, PC9, TIM_USE_PPM, 0, 0), // PPM_IN
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // S1_OUT
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // S2_OUT
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 1), // S3_OUT
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // S4_OUT
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0), // S1_OUT
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0), // S2_OUT
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1), // S3_OUT
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0), // S4_OUT
// { TIM5, GPIOA, Pin_0, TIM_Channel_1, TIM5_IRQn, 1, GPIO_Mode_AF, GPIO_PinSource0, GPIO_AF_TIM5 }, // LED Strip

View file

@ -25,12 +25,12 @@
#include "drivers/dma.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM2, CH1,PA15, TIM_USE_PPM, TIMER_INPUT_ENABLED), // PPM IN
DEF_TIM(TIM16,CH1, PB4, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // PWM1
DEF_TIM(TIM17,CH1, PB5, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // PWM2
DEF_TIM(TIM8,CH3N, PB1, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED | TIMER_OUTPUT_INVERTED), // PWM3
DEF_TIM(TIM8,CH2N, PB0, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED | TIMER_OUTPUT_INVERTED), // PWM4
DEF_TIM(TIM16,CH1, PB8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // PWM5
DEF_TIM(TIM17,CH1, PB9, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // PWM6
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED, TIMER_OUTPUT_ENABLED), // LED_STRIP
DEF_TIM(TIM2, CH1, PA15, TIM_USE_PPM, 0), // PPM IN
DEF_TIM(TIM16, CH1, PB4, TIM_USE_MOTOR, 0), // PWM1
DEF_TIM(TIM17, CH1, PB5, TIM_USE_MOTOR, 0), // PWM2
DEF_TIM(TIM8, CH3N, PB1, TIM_USE_MOTOR, 0), // PWM3
DEF_TIM(TIM8, CH2N, PB0, TIM_USE_MOTOR, 0), // PWM4
DEF_TIM(TIM16, CH1, PB8, TIM_USE_MOTOR, 0), // PWM5
DEF_TIM(TIM17, CH1, PB9, TIM_USE_MOTOR, 0), // PWM6
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED, 0), // LED_STRIP
};

View file

@ -25,21 +25,21 @@
#include "drivers/timer_def.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM2, CH1, PA0, TIM_USE_PWM | TIM_USE_PPM, TIMER_INPUT_ENABLED), // RC_CH1 - PA0 - *TIM2_CH1
DEF_TIM(TIM2, CH2, PA1, TIM_USE_PWM, TIMER_INPUT_ENABLED), // RC_CH2 - PA1 - *TIM2_CH2, TIM15_CH1N
DEF_TIM(TIM2, CH4, PB11, TIM_USE_PWM, TIMER_INPUT_ENABLED), // RC_CH3 - PB11 - *TIM2_CH4, UART3_RX (AF7)
DEF_TIM(TIM2, CH3, PB10, TIM_USE_PWM, TIMER_INPUT_ENABLED), // RC_CH4 - PB10 - *TIM2_CH3, UART3_TX (AF7)
DEF_TIM(TIM3, CH1, PB4, TIM_USE_PWM, TIMER_INPUT_ENABLED), // RC_CH5 - PB4 - *TIM3_CH1
DEF_TIM(TIM3, CH2, PB5, TIM_USE_PWM, TIMER_INPUT_ENABLED), // RC_CH6 - PB5 - *TIM3_CH2
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PWM, TIMER_INPUT_ENABLED), // RC_CH7 - PB0 - *TIM3_CH3, TIM1_CH2N, TIM8_CH2N
DEF_TIM(TIM3, CH4, PB1, TIM_USE_PWM, TIMER_INPUT_ENABLED), // RC_CH8 - PB1 - *TIM3_CH4, TIM1_CH3N, TIM8_CH3N
DEF_TIM(TIM3, CH1, PA6, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // PWM1 - PA6 - TIM3_CH1, TIM8_BKIN, TIM1_BKIN, *TIM16_CH1
DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // PWM2 - PA7 - TIM3_CH2, *TIM17_CH1, TIM1_CH1N, TIM8_CH1
DEF_TIM(TIM1, CH1N, PA11, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED | TIMER_OUTPUT_INVERTED), // PWM3 - PA11
DEF_TIM(TIM1, CH2N, PA12, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED | TIMER_OUTPUT_INVERTED), // PWM4 - PA12
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // PWM5 - PB8
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // PWM6 - PB9
DEF_TIM(TIM15, CH1, PA2, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // PWM7 - PA2
DEF_TIM(TIM15, CH2, PA3, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // PWM8 - PA3
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // GPIO_TIMER / LED_STRIP
DEF_TIM(TIM2, CH1, PA0, TIM_USE_PWM | TIM_USE_PPM, 0), // RC_CH1 - PA0 - *TIM2_CH1
DEF_TIM(TIM2, CH2, PA1, TIM_USE_PWM, 0), // RC_CH2 - PA1 - *TIM2_CH2, TIM15_CH1N
DEF_TIM(TIM2, CH4, PB11, TIM_USE_PWM, 0), // RC_CH3 - PB11 - *TIM2_CH4, UART3_RX (AF7)
DEF_TIM(TIM2, CH3, PB10, TIM_USE_PWM, 0), // RC_CH4 - PB10 - *TIM2_CH3, UART3_TX (AF7)
DEF_TIM(TIM3, CH1, PB4, TIM_USE_PWM, 0), // RC_CH5 - PB4 - *TIM3_CH1
DEF_TIM(TIM3, CH2, PB5, TIM_USE_PWM, 0), // RC_CH6 - PB5 - *TIM3_CH2
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PWM, 0), // RC_CH7 - PB0 - *TIM3_CH3, TIM1_CH2N, TIM8_CH2N
DEF_TIM(TIM3, CH4, PB1, TIM_USE_PWM, 0), // RC_CH8 - PB1 - *TIM3_CH4, TIM1_CH3N, TIM8_CH3N
DEF_TIM(TIM3, CH1, PA6, TIM_USE_MOTOR, 0), // PWM1 - PA6 - TIM3_CH1, TIM8_BKIN, TIM1_BKIN, *TIM16_CH1
DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR, 0), // PWM2 - PA7 - TIM3_CH2, *TIM17_CH1, TIM1_CH1N, TIM8_CH1
DEF_TIM(TIM1, CH1N, PA11, TIM_USE_MOTOR, 0), // PWM3 - PA11
DEF_TIM(TIM1, CH2N, PA12, TIM_USE_MOTOR, 0), // PWM4 - PA12
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0), // PWM5 - PB8
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 0), // PWM6 - PB9
DEF_TIM(TIM15, CH1, PA2, TIM_USE_MOTOR, 0), // PWM7 - PA2
DEF_TIM(TIM15, CH2, PA3, TIM_USE_MOTOR, 0), // PWM8 - PA3
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0), // GPIO_TIMER / LED_STRIP
};

View file

@ -34,13 +34,13 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM3, CH2, PB5, TIM_USE_PWM, 0), // RC_CH6 - PB5 - *TIM3_CH2
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PWM, 0), // RC_CH7 - PB0 - *TIM3_CH3, TIM1_CH2N, TIM8_CH2N
DEF_TIM(TIM3, CH4, PB1, TIM_USE_PWM, 0), // RC_CH8 - PB1 - *TIM3_CH4, TIM1_CH3N, TIM8_CH3N
DEF_TIM(TIM16, CH1, PA6, TIM_USE_MOTOR, 1), // PWM1 - PA6 - TIM3_CH1, TIM8_BKIN, TIM1_BKIN, *TIM16_CH1
DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR, 1), // PWM2 - PA7 - TIM3_CH2, *TIM17_CH1, TIM1_CH1N, TIM8_CH1
DEF_TIM(TIM4, CH1, PA11, TIM_USE_MOTOR, 1), // PWM3 - PA11
DEF_TIM(TIM4, CH2, PA12, TIM_USE_MOTOR, 1), // PWM4 - PA12
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 1), // PWM5 - PB8
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 1), // PWM6 - PB9
DEF_TIM(TIM15, CH1, PA2, TIM_USE_MOTOR, 1), // PWM7 - PA2
DEF_TIM(TIM15, CH2, PA3, TIM_USE_MOTOR, 1), // PWM8 - PA3
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED, 1), // GPIO_TIMER / LED_STRIP
DEF_TIM(TIM16, CH1, PA6, TIM_USE_MOTOR, 0), // PWM1 - PA6 - TIM3_CH1, TIM8_BKIN, TIM1_BKIN, *TIM16_CH1
DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR, 0), // PWM2 - PA7 - TIM3_CH2, *TIM17_CH1, TIM1_CH1N, TIM8_CH1
DEF_TIM(TIM4, CH1, PA11, TIM_USE_MOTOR, 0), // PWM3 - PA11
DEF_TIM(TIM4, CH2, PA12, TIM_USE_MOTOR, 0), // PWM4 - PA12
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0), // PWM5 - PB8
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 0), // PWM6 - PB9
DEF_TIM(TIM15, CH1, PA2, TIM_USE_MOTOR, 0), // PWM7 - PA2
DEF_TIM(TIM15, CH2, PA3, TIM_USE_MOTOR, 0), // PWM8 - PA3
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED, 0), // GPIO_TIMER / LED_STRIP
};

View file

@ -24,16 +24,16 @@
#include "drivers/timer_def.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM8, CH2, PC7, TIM_USE_PPM, TIMER_INPUT_ENABLED, 0), // PPM IN
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // S1_OUT - DMA1_ST7
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // S2_OUT - DMA1_ST2
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 1), // S3_OUT - DMA1_ST6
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // S4_OUT - DMA1_ST1
DEF_TIM(TIM8, CH2, PC7, TIM_USE_PPM, 0, 0), // PPM IN
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0), // S1_OUT - DMA1_ST7
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0), // S2_OUT - DMA1_ST2
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1), // S3_OUT - DMA1_ST6
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0), // S4_OUT - DMA1_ST1
#if defined(KAKUTEF4V2)
DEF_TIM(TIM8, CH3, PC8, TIM_USE_LED, TIMER_OUTPUT_ENABLED, 1), // LED_STRIP - DMA2_ST4
DEF_TIM(TIM8, CH3, PC8, TIM_USE_LED, 0, 1), // LED_STRIP - DMA2_ST4
#else
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // S5_OUT - DMA1_ST2
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 1), // S6_OUT - DMA2_ST4
DEF_TIM(TIM5, CH2, PA1, TIM_USE_LED, TIMER_OUTPUT_ENABLED, 0), // LED_STRIP - DMA1_ST4
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, 0, 0), // S5_OUT - DMA1_ST2
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 0, 1), // S6_OUT - DMA2_ST4
DEF_TIM(TIM5, CH2, PA1, TIM_USE_LED, 0, 0), // LED_STRIP - DMA1_ST4
#endif
};

View file

@ -23,15 +23,15 @@
#include "drivers/timer_def.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM1, CH3, PE13, TIM_USE_PPM, 0, 1), // PPM , DMA2_ST6
DEF_TIM(TIM1, CH3, PE13, TIM_USE_PPM, 0, 1), // PPM , DMA2_ST6
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 1, 0), // M1 , DMA1_ST7
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 1, 0), // M2 , DMA1_ST2
DEF_TIM(TIM1, CH1, PE9, TIM_USE_MOTOR, 1, 2), // M3 , DMA2_ST2
DEF_TIM(TIM1, CH2, PE11, TIM_USE_MOTOR, 1, 1), // M4 , DMA2_ST4
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 1, 0), // M5 , DMA2_ST7
DEF_TIM(TIM5, CH4, PA3, TIM_USE_MOTOR, 1, 0), // M6 , DMA1_ST1
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0), // M1 , DMA1_ST7
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0), // M2 , DMA1_ST2
DEF_TIM(TIM1, CH1, PE9, TIM_USE_MOTOR, 0, 2), // M3 , DMA2_ST2
DEF_TIM(TIM1, CH2, PE11, TIM_USE_MOTOR, 0, 1), // M4 , DMA2_ST4
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 0, 0), // M5 , DMA2_ST7
DEF_TIM(TIM5, CH4, PA3, TIM_USE_MOTOR, 0, 0), // M6 , DMA1_ST1
DEF_TIM(TIM4, CH1, PD12, TIM_USE_LED, 1, 0), // LED_TRIP , DMA1_ST0
DEF_TIM(TIM4, CH1, PD12, TIM_USE_LED, 0, 0), // LED_TRIP , DMA1_ST0
};

View file

@ -26,24 +26,24 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
#ifdef KISSCC
DEF_TIM(TIM1, CH2N,PB14, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED | TIMER_OUTPUT_INVERTED),
DEF_TIM(TIM8, CH2N,PB0, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED | TIMER_OUTPUT_INVERTED),
DEF_TIM(TIM15,CH1N,PB15, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED | TIMER_OUTPUT_INVERTED),
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED),
DEF_TIM(TIM3, CH1, PA6, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED),
DEF_TIM(TIM17,CH1, PA7, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED),
DEF_TIM(TIM16,CH1N,PA13, TIM_USE_PWM, TIMER_INPUT_ENABLED),
DEF_TIM(TIM1, CH2N, PB14, TIM_USE_MOTOR, 0),
DEF_TIM(TIM8, CH2N, PB0, TIM_USE_MOTOR, 0),
DEF_TIM(TIM15, CH1N, PB15, TIM_USE_MOTOR, 0),
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0),
DEF_TIM(TIM3, CH1, PA6, TIM_USE_MOTOR, 0),
DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR, 0),
DEF_TIM(TIM16, CH1N, PA13, TIM_USE_PWM, 0),
#else
DEF_TIM(TIM1, CH2N,PB14, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED),
DEF_TIM(TIM8, CH2N,PB0, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED),
DEF_TIM(TIM15,CH1N,PB15, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED),
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED | TIMER_OUTPUT_INVERTED),
DEF_TIM(TIM3, CH1, PA6, TIM_USE_MOTOR | TIM_USE_LED, TIMER_OUTPUT_ENABLED | TIMER_OUTPUT_INVERTED),
DEF_TIM(TIM17,CH1, PA7, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED | TIMER_OUTPUT_INVERTED),
DEF_TIM(TIM4, CH3, PA13, TIM_USE_PWM, TIMER_INPUT_ENABLED), // On KISSFC TIM16 did not work, using TIM4 works
DEF_TIM(TIM1, CH2N, PB14, TIM_USE_MOTOR, TIMER_OUTPUT_INVERTED),
DEF_TIM(TIM8, CH2N, PB0, TIM_USE_MOTOR, TIMER_OUTPUT_INVERTED),
DEF_TIM(TIM15, CH1N, PB15, TIM_USE_MOTOR, TIMER_OUTPUT_INVERTED),
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, TIMER_OUTPUT_INVERTED),
DEF_TIM(TIM3, CH1, PA6, TIM_USE_MOTOR | TIM_USE_LED, TIMER_OUTPUT_INVERTED),
DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR, TIMER_OUTPUT_INVERTED),
DEF_TIM(TIM4, CH3, PA13, TIM_USE_PWM, 0), // On KISSFC TIM16 did not work, using TIM4 works
#endif
DEF_TIM(TIM2, CH2, PB3, TIM_USE_PWM | TIM_USE_PPM, TIMER_INPUT_ENABLED),
DEF_TIM(TIM2, CH1, PA15, TIM_USE_PWM, TIMER_INPUT_ENABLED),
DEF_TIM(TIM2, CH3, PA2, TIM_USE_PWM, TIMER_INPUT_ENABLED),
DEF_TIM(TIM2, CH4, PB11, TIM_USE_PWM, TIMER_INPUT_ENABLED),
DEF_TIM(TIM2, CH2, PB3, TIM_USE_PWM | TIM_USE_PPM, 0),
DEF_TIM(TIM2, CH1, PA15, TIM_USE_PWM, 0),
DEF_TIM(TIM2, CH3, PA2, TIM_USE_PWM, 0),
DEF_TIM(TIM2, CH4, PB11, TIM_USE_PWM, 0),
};

View file

@ -25,15 +25,15 @@
#include "drivers/timer_def.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 1),
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0),
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0),
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0),
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1),
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0),
#if defined(PLUMF4) || defined(KIWIF4V2)
// DEF_TIM(TIM4, CH1, PA0, TIM_USE_LED, TIMER_OUTPUT_STANDARD, 0), //LED
//Switch LED_STRIP back to VTX.DTA, since the LED pad does not seem to be working:
DEF_TIM(TIM4, CH2, PB7, TIM_USE_LED, TIMER_OUTPUT_STANDARD, 0), // LED
DEF_TIM(TIM4, CH2, PB7, TIM_USE_LED, 0, 0), // LED
#else
DEF_TIM(TIM4, CH2, PB7, TIM_USE_LED, TIMER_OUTPUT_NONE, 0), // LED
DEF_TIM(TIM4, CH2, PB7, TIM_USE_LED, 0, 0), // LED
#endif
};

20
src/main/target/KROOZX/target.c Executable file → Normal file
View file

@ -25,14 +25,14 @@
#include "drivers/dma.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM8, CH2, PC7, TIM_USE_PPM, TIMER_INPUT_ENABLED, 0), // PPM IN
DEF_TIM(TIM5, CH3, PA2, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM1
DEF_TIM(TIM5, CH4, PA3, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM2
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM3
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM4
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM5
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM6
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM7
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // PWM8
DEF_TIM(TIM8, CH1, PC6, TIM_USE_LED, TIMER_OUTPUT_ENABLED, 0), // LED_STRIP
DEF_TIM(TIM8, CH2, PC7, TIM_USE_PPM, 0, 0), // PPM IN
DEF_TIM(TIM5, CH3, PA2, TIM_USE_MOTOR, 0, 0), // PWM1
DEF_TIM(TIM5, CH4, PA3, TIM_USE_MOTOR, 0, 0), // PWM2
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, 0, 0), // PWM3
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, 0, 0), // PWM4
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0), // PWM5
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0), // PWM6
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0, 0), // PWM7
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 0, 0), // PWM8
DEF_TIM(TIM8, CH1, PC6, TIM_USE_LED, 0, 0), // LED_STRIP
};

View file

@ -26,16 +26,16 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM2, CH2, PA1, TIM_USE_PPM, TIMER_INPUT_ENABLED), // PPM
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PWM, TIMER_OUTPUT_ENABLED), // SS1Rx
DEF_TIM(TIM3, CH2, PB5, TIM_USE_PWM, TIMER_OUTPUT_ENABLED), // SS1Tx
DEF_TIM(TIM2, CH2, PA1, TIM_USE_PPM, 0), // PPM
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PWM, 0), // SS1Rx
DEF_TIM(TIM3, CH2, PB5, TIM_USE_PWM, 0), // SS1Tx
DEF_TIM(TIM8, CH3, PB9, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // S1
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // S2
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // S3
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // S4
DEF_TIM(TIM16, CH1, PB4, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // S5
DEF_TIM(TIM8, CH3, PB9, TIM_USE_MOTOR, 0), // S1
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0), // S2
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 0), // S3
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0), // S4
DEF_TIM(TIM16, CH1, PB4, TIM_USE_MOTOR, 0), // S5
DEF_TIM(TIM15, CH1, PA2, TIM_USE_LED, TIMER_OUTPUT_ENABLED), // LED_STRIP
DEF_TIM(TIM2, CH1, PA15, TIM_USE_ANY, TIMER_OUTPUT_ENABLED), // CAMERA CONTROL
DEF_TIM(TIM15, CH1, PA2, TIM_USE_LED, 0), // LED_STRIP
DEF_TIM(TIM2, CH1, PA15, TIM_USE_ANY, 0), // CAMERA CONTROL
};

View file

@ -27,18 +27,18 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM1, CH1, PA8, TIM_USE_PPM, 0), // PWM1 - PA8
DEF_TIM(TIM3, CH1, PC6, TIM_USE_MOTOR, 1), // PWM2 - PC6
DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 1), // PWM3 - PC7
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 1), // PMW4 - PC8
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 1), // PWM5 - PC9
DEF_TIM(TIM3, CH1, PC6, TIM_USE_MOTOR, 0), // PWM2 - PC6
DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 0), // PWM3 - PC7
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 0), // PMW4 - PC8
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 0), // PWM5 - PC9
#ifndef LUXV2_RACE
DEF_TIM(TIM2, CH1, PA0, TIM_USE_MOTOR, 1), // PWM6 - PA0
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 1), // PWM7 - PA1
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 1), // PWM8 - PA2
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 1), // PWM9 - PA3
DEF_TIM(TIM15, CH1, PB14, TIM_USE_MOTOR, 1), // PWM10 - PB14
DEF_TIM(TIM15, CH2, PB15, TIM_USE_MOTOR, 1), // PWM11 - PB15
DEF_TIM(TIM2, CH1, PA0, TIM_USE_MOTOR, 0), // PWM6 - PA0
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 0), // PWM7 - PA1
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0), // PWM8 - PA2
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0), // PWM9 - PA3
DEF_TIM(TIM15, CH1, PB14, TIM_USE_MOTOR, 0), // PWM10 - PB14
DEF_TIM(TIM15, CH2, PB15, TIM_USE_MOTOR, 0), // PWM11 - PB15
#endif
DEF_TIM(TIM16, CH1, PA6, TIM_USE_LED, 1),
DEF_TIM(TIM16, CH1, PA6, TIM_USE_LED, 0),
};

View file

@ -25,15 +25,15 @@
#include "drivers/timer_def.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM5, CH4, PA3, TIM_USE_PPM, TIMER_INPUT_ENABLED, 0), // PPM
DEF_TIM(TIM5, CH4, PA3, TIM_USE_PPM, 0, 0), // PPM
DEF_TIM(TIM3, CH1, PC6, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // S1 DMA1_ST4
DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 1), // S2 DMA2_ST2
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 1), // S3 DMA2_ST4
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // S4 DMA2_ST7
DEF_TIM(TIM3, CH1, PC6, TIM_USE_MOTOR, 0, 0), // S1 DMA1_ST4
DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 0, 1), // S2 DMA2_ST2
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 0, 1), // S3 DMA2_ST4
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 0, 0), // S4 DMA2_ST7
DEF_TIM(TIM2, CH1, PA15, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // S5 DMA1_ST5
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // S6 DMA2_ST6
DEF_TIM(TIM2, CH1, PA15, TIM_USE_MOTOR, 0, 0), // S5 DMA1_ST5
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0, 0), // S6 DMA2_ST6
DEF_TIM(TIM4, CH1, PB6, TIM_USE_LED, TIMER_OUTPUT_ENABLED, 0) // LED DMA1_ST0
DEF_TIM(TIM4, CH1, PB6, TIM_USE_LED, 0, 0), // LED DMA1_ST0
};

View file

@ -25,15 +25,15 @@
#include "drivers/timer_def.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM5, CH4, PA3, TIM_USE_PPM, TIMER_INPUT_ENABLED, 0), // PPM DMA1_ST1
DEF_TIM(TIM5, CH4, PA3, TIM_USE_PPM, 0, 0), // PPM DMA1_ST1
DEF_TIM(TIM3, CH1, PC6, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // S1 DMA1_ST4
DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // S2 DMA2_ST3
DEF_TIM(TIM3, CH3, PC8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // S3 DMA1_ST7
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // S4 DMA2_ST7
DEF_TIM(TIM3, CH1, PC6, TIM_USE_MOTOR, 0, 0), // S1 DMA1_ST4
DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 0, 0), // S2 DMA2_ST3
DEF_TIM(TIM3, CH3, PC8, TIM_USE_MOTOR, 0, 0), // S3 DMA1_ST7
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 0, 0), // S4 DMA2_ST7
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // S5 DMA1_ST2
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0), // S6 DMA2_ST6
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0), // S5 DMA1_ST2
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0, 0), // S6 DMA2_ST6
DEF_TIM(TIM2, CH1, PA15, TIM_USE_LED, TIMER_OUTPUT_ENABLED, 0) // LED STRIP DMA1_ST5
DEF_TIM(TIM2, CH1, PA15, TIM_USE_LED, 0, 0), // LED STRIP DMA1_ST5
};

View file

@ -34,11 +34,11 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM3, CH2, PA7, TIM_USE_PWM, 0), // PWM6 - RC6
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PWM, 0), // PWM7 - RC7
DEF_TIM(TIM3, CH4, PB1, TIM_USE_PWM, 0), // PWM8 - RC8
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 1), // PWM9 - OUT1
DEF_TIM(TIM1, CH4, PA11, TIM_USE_MOTOR, 1), // PWM10 - OUT2
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, 1), // PWM11 - OUT3
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 1), // PWM12 - OUT4
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 1), // PWM13 - OUT5
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 1) // PWM14 - OUT6
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0), // PWM9 - OUT1
DEF_TIM(TIM1, CH4, PA11, TIM_USE_MOTOR, 0), // PWM10 - OUT2
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, 0), // PWM11 - OUT3
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 0), // PWM12 - OUT4
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0), // PWM13 - OUT5
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 0), // PWM14 - OUT6
};

View file

@ -25,10 +25,10 @@
#include "drivers/timer_def.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM15, CH1, PA2, TIM_USE_MOTOR, 1), // DMA1_CH5
DEF_TIM(TIM2 , CH4, PA3, TIM_USE_MOTOR, 1), // DMA1_CH7
DEF_TIM(TIM3, CH4, PB7, TIM_USE_MOTOR, 1), // DMA1_CH3
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 1), // DMA1_CH2
DEF_TIM(TIM8, CH2, PB8, TIM_USE_MOTOR | TIM_USE_LED, 1), // DMA2_CH5
DEF_TIM(TIM8, CH3, PB9, TIM_USE_MOTOR, 1), // DMA2_CH1
DEF_TIM(TIM15, CH1, PA2, TIM_USE_MOTOR, 0), // DMA1_CH5
DEF_TIM(TIM2 , CH4, PA3, TIM_USE_MOTOR, 0), // DMA1_CH7
DEF_TIM(TIM3, CH4, PB7, TIM_USE_MOTOR, 0), // DMA1_CH3
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0), // DMA1_CH2
DEF_TIM(TIM8, CH2, PB8, TIM_USE_MOTOR | TIM_USE_LED, 0), // DMA2_CH5
DEF_TIM(TIM8, CH3, PB9, TIM_USE_MOTOR, 0), // DMA2_CH1
};

View file

@ -25,14 +25,14 @@
#include "drivers/dma.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM3, CH2, PA4, TIM_USE_MOTOR, 1 ), // PWM1 - PA4 - *TIM3_CH2
DEF_TIM(TIM3, CH1, PA6, TIM_USE_MOTOR, 1 ), // PWM2 - PA6 - *TIM3_CH1, TIM8_BKIN, TIM1_BKIN, TIM16_CH1
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 1 ), // PWM3 - PB0 - *TIM3_CH3, TIM1_CH2N, TIM8_CH2N
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 1 ), // PWM4 - PB1 - *TIM3_CH4, TIM1_CH3N, TIM8_CH3N
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 1 ), // PWM5 - PA1 - *TIM2_CH2, TIM15_CH1N
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 1 ), // PWM6 - PA2 - *TIM2_CH3, !TIM15_CH1
DEF_TIM(TIM15, CH2, PA3, TIM_USE_MOTOR, 1 ), // PWM7 - PA3 - *TIM15_CH2, TIM2_CH4
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 1 ), // PWM8 - PA8 - *TIM1_CH1, TIM4_ETR
DEF_TIM(TIM17, CH1, PA7, TIM_USE_PPM, 0 ), // PPM - PA7 - *TIM17_CH1, TIM1_CH1N, TIM8_CH1
DEF_TIM(TIM16, CH1, PB8, TIM_USE_LED, 0 ), // LED - PB8 - *TIM16_CH1, TIM4_CH3, TIM8_CH2
DEF_TIM(TIM3, CH2, PA4, TIM_USE_MOTOR, 0), // PWM1 - PA4 - *TIM3_CH2
DEF_TIM(TIM3, CH1, PA6, TIM_USE_MOTOR, 0), // PWM2 - PA6 - *TIM3_CH1, TIM8_BKIN, TIM1_BKIN, TIM16_CH1
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0), // PWM3 - PB0 - *TIM3_CH3, TIM1_CH2N, TIM8_CH2N
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0), // PWM4 - PB1 - *TIM3_CH4, TIM1_CH3N, TIM8_CH3N
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 0), // PWM5 - PA1 - *TIM2_CH2, TIM15_CH1N
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0), // PWM6 - PA2 - *TIM2_CH3, !TIM15_CH1
DEF_TIM(TIM15, CH2, PA3, TIM_USE_MOTOR, 0), // PWM7 - PA3 - *TIM15_CH2, TIM2_CH4
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0), // PWM8 - PA8 - *TIM1_CH1, TIM4_ETR
DEF_TIM(TIM17, CH1, PA7, TIM_USE_PPM, 0), // PPM - PA7 - *TIM17_CH1, TIM1_CH1N, TIM8_CH1
DEF_TIM(TIM16, CH1, PB8, TIM_USE_LED, 0), // LED - PB8 - *TIM16_CH1, TIM4_CH3, TIM8_CH2
};

View file

@ -24,13 +24,13 @@
#include "drivers/dma.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM( TIM3, CH2, PB5, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0 ), // PWM1
DEF_TIM( TIM3, CH3, PB0, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0 ), // PWM2
DEF_TIM( TIM2, CH2, PB3, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0 ), // PWM3
DEF_TIM( TIM3, CH4, PB1, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0 ), // PWM4
DEF_TIM(TIM3, CH2, PB5, TIM_USE_MOTOR, 0, 0 ), // PWM1
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0 ), // PWM2
DEF_TIM(TIM2, CH2, PB3, TIM_USE_MOTOR, 0, 0 ), // PWM3
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0 ), // PWM4
#ifdef ML_PWM_6
DEF_TIM( TIM5, CH3, PA2, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0 ), // PWM5
DEF_TIM( TIM5, CH4, PA3, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0 ), // PWM6
DEF_TIM(TIM5, CH3, PA2, TIM_USE_MOTOR, 0, 0 ), // PWM5
DEF_TIM(TIM5, CH4, PA3, TIM_USE_MOTOR, 0, 0 ), // PWM6
#endif
DEF_TIM( TIM1, CH1, PA8, TIM_USE_LED, TIMER_OUTPUT_STANDARD, 0 ), // Serial LED
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED, 0, 0 ), // Serial LED
};

18
src/main/target/MULTIFLITEPICO/target.c Executable file → Normal file
View file

@ -34,13 +34,13 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM3, CH2, PB5, TIM_USE_PWM, 0), // RC_CH6 - PB5 - *TIM3_CH2
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PWM, 0), // RC_CH7 - PB0 - *TIM3_CH3, TIM1_CH2N, TIM8_CH2N
DEF_TIM(TIM3, CH4, PB1, TIM_USE_PWM, 0), // RC_CH8 - PB1 - *TIM3_CH4, TIM1_CH3N, TIM8_CH3N
DEF_TIM(TIM16, CH1, PA6, TIM_USE_MOTOR, 1), // PWM1 - PA6 - TIM3_CH1, TIM8_BKIN, TIM1_BKIN, *TIM16_CH1
DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR, 1), // PWM2 - PA7 - TIM3_CH2, *TIM17_CH1, TIM1_CH1N, TIM8_CH1
DEF_TIM(TIM4, CH1, PA11, TIM_USE_MOTOR, 1), // PWM3 - PA11
DEF_TIM(TIM4, CH2, PA12, TIM_USE_MOTOR, 1), // PWM4 - PA12
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 1), // PWM5 - PB8
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 1), // PWM6 - PB9
DEF_TIM(TIM15, CH1, PA2, TIM_USE_MOTOR, 1), // PWM7 - PA2
DEF_TIM(TIM15, CH2, PA3, TIM_USE_MOTOR, 1), // PWM8 - PA3
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED, 1), // GPIO_TIMER / LED_STRIP
DEF_TIM(TIM16, CH1, PA6, TIM_USE_MOTOR, 0), // PWM1 - PA6 - TIM3_CH1, TIM8_BKIN, TIM1_BKIN, *TIM16_CH1
DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR, 0), // PWM2 - PA7 - TIM3_CH2, *TIM17_CH1, TIM1_CH1N, TIM8_CH1
DEF_TIM(TIM4, CH1, PA11, TIM_USE_MOTOR, 0), // PWM3 - PA11
DEF_TIM(TIM4, CH2, PA12, TIM_USE_MOTOR, 0), // PWM4 - PA12
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0), // PWM5 - PB8
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 0), // PWM6 - PB9
DEF_TIM(TIM15, CH1, PA2, TIM_USE_MOTOR, 0), // PWM7 - PA2
DEF_TIM(TIM15, CH2, PA3, TIM_USE_MOTOR, 0), // PWM8 - PA3
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED, 0), // GPIO_TIMER / LED_STRIP
};

View file

@ -33,10 +33,10 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM3, CH2, PA7, TIM_USE_PWM, 0), // PWM6 - RC6
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PWM, 0), // PWM7 - RC7
DEF_TIM(TIM3, CH4, PB1, TIM_USE_PWM, 0), // PWM8 - RC8
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 1), // PWM9 - OUT1
DEF_TIM(TIM1, CH4, PA11, TIM_USE_MOTOR, 1), // PWM10 - OUT2
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, 1), // PWM11 - OUT3
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 1), // PWM12 - OUT4
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 1), // PWM13 - OUT5
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 1) // PWM14 - OUT6
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0), // PWM9 - OUT1
DEF_TIM(TIM1, CH4, PA11, TIM_USE_MOTOR, 0), // PWM10 - OUT2
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, 0), // PWM11 - OUT3
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 0), // PWM12 - OUT4
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0), // PWM13 - OUT5
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 0), // PWM14 - OUT6
};

View file

@ -25,13 +25,13 @@
#include "drivers/timer_def.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM3, CH2, PC7, TIM_USE_PPM, TIMER_OUTPUT_STANDARD, 0 ),
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0 ),
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0 ),
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0 ),
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 1 ),
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR | TIM_USE_LED, TIMER_OUTPUT_STANDARD, 0 ),
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0 ),
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0 ),
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0 ),
DEF_TIM(TIM3, CH2, PC7, TIM_USE_PPM, 0, 0 ),
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, 0, 0 ),
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, 0, 0 ),
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0 ),
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1 ),
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR | TIM_USE_LED, 0, 0 ),
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0 ),
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 0, 0 ),
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 0, 0 ),
};

View file

@ -34,12 +34,12 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM8, CH4, PC9, TIM_USE_PWM, 0, 0), // S5_IN
DEF_TIM(TIM8, CH3, PC8, TIM_USE_PWM, 0, 0), // S6_IN
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 1, 0), // S10_OUT 1
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 1, 1), // S1_OUT 4
DEF_TIM(TIM3, CH2, PB5, TIM_USE_MOTOR, 1, 0), // S4_OUT
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 1, 0), // S5_OUT 3
DEF_TIM(TIM9, CH2, PE6, TIM_USE_MOTOR, 1, 0), // S3_OUT
DEF_TIM(TIM3, CH1, PB4, TIM_USE_MOTOR, 1, 0), // S9_OUT
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0, 0), // S10_OUT 1
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1), // S1_OUT 4
DEF_TIM(TIM3, CH2, PB5, TIM_USE_MOTOR, 0, 0), // S4_OUT
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 0, 0), // S5_OUT 3
DEF_TIM(TIM9, CH2, PE6, TIM_USE_MOTOR, 0, 0), // S3_OUT
DEF_TIM(TIM3, CH1, PB4, TIM_USE_MOTOR, 0, 0), // S9_OUT
};
#else
@ -52,12 +52,12 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM8, CH4, PC9, TIM_USE_PWM, 0, 0), // S5_IN
DEF_TIM(TIM8, CH3, PC8, TIM_USE_PWM, 0, 0), // S6_IN
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR | TIM_USE_LED, 1, 0), // S10_OUT 1
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 1, 0), // S5_OUT 3
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 1, 0), // S1_OUT 4
DEF_TIM(TIM9, CH2, PE6, TIM_USE_MOTOR, 1, 0), // S3_OUT
DEF_TIM(TIM3, CH2, PB5, TIM_USE_MOTOR, 1, 0), // S4_OUT
DEF_TIM(TIM3, CH1, PB4, TIM_USE_MOTOR, 1, 0), // S9_OUT
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR | TIM_USE_LED, 0, 0), // S10_OUT 1
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 0, 0), // S5_OUT 3
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 0), // S1_OUT 4
DEF_TIM(TIM9, CH2, PE6, TIM_USE_MOTOR, 0, 0), // S3_OUT
DEF_TIM(TIM3, CH2, PB5, TIM_USE_MOTOR, 0, 0), // S4_OUT
DEF_TIM(TIM3, CH1, PB4, TIM_USE_MOTOR, 0, 0), // S9_OUT
};
#endif

View file

@ -26,16 +26,16 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM12, CH2, PB15, TIM_USE_PWM | TIM_USE_PPM, TIMER_INPUT_ENABLED, 0),
DEF_TIM(TIM8, CH1, PC6, TIM_USE_PWM, TIMER_INPUT_ENABLED, 0),
DEF_TIM(TIM8, CH2, PC7, TIM_USE_PWM, TIMER_INPUT_ENABLED, 0),
DEF_TIM(TIM8, CH4, PC9, TIM_USE_PWM, TIMER_INPUT_ENABLED, 0),
DEF_TIM(TIM8, CH3, PC8, TIM_USE_PWM, TIMER_INPUT_ENABLED, 0),
DEF_TIM(TIM12, CH2, PB15, TIM_USE_PWM | TIM_USE_PPM, 0, 0),
DEF_TIM(TIM8, CH1, PC6, TIM_USE_PWM, 0, 0),
DEF_TIM(TIM8, CH2, PC7, TIM_USE_PWM, 0, 0),
DEF_TIM(TIM8, CH4, PC9, TIM_USE_PWM, 0, 0),
DEF_TIM(TIM8, CH3, PC8, TIM_USE_PWM, 0, 0),
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0),
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 1),
DEF_TIM(TIM3, CH2, PB5, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0),
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0),
DEF_TIM(TIM9, CH2, PE6, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0),
DEF_TIM(TIM3, CH1, PB4, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0),
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1),
DEF_TIM(TIM3, CH2, PB5, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM9, CH2, PE6, TIM_USE_MOTOR, 0, 0),
DEF_TIM(TIM3, CH1, PB4, TIM_USE_MOTOR, 0, 0),
};

View file

@ -27,18 +27,18 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
// PPM Pad
DEF_TIM(TIM3, CH1, PB4, TIM_USE_PPM, 0), // PPM - PB4
DEF_TIM(TIM3, CH1, PB4, TIM_USE_PPM, 0), // PPM - PB4
// PB5 / TIM3 CH2 is connected to USBPresent
DEF_TIM(TIM8, CH2, PB8, TIM_USE_MOTOR, 1), // PWM1 - PB8
DEF_TIM(TIM8, CH3, PB9, TIM_USE_MOTOR, 1), // PWM2 - PB9
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 1), // PWM3 - PA3
DEF_TIM(TIM15, CH1, PA2, TIM_USE_MOTOR, 1), // PWM4 - PA2
DEF_TIM(TIM8, CH2, PB8, TIM_USE_MOTOR, 0), // PWM1 - PB8
DEF_TIM(TIM8, CH3, PB9, TIM_USE_MOTOR, 0), // PWM2 - PB9
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0), // PWM3 - PA3
DEF_TIM(TIM15, CH1, PA2, TIM_USE_MOTOR, 0), // PWM4 - PA2
// UART3 RX/TX
//{ TIM2, IO_TAG(PB10), TIM_Channel_3, TIM_USE_MOTOR, 1, GPIO_AF_1, NULL, 0 }, // PWM5 - PB10 - TIM2_CH3 / UART3_TX (AF7)
//{ TIM2, IO_TAG(PB11), TIM_Channel_4, TIM_USE_MOTOR, 1, GPIO_AF_1, NULL, 0 }, // PWM6 - PB11 - TIM2_CH4 / UART3_RX (AF7)
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 1), // PWM7 - PB7
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, 1), // PWM8 - PB6
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED|TIM_USE_TRANSPONDER, 1), // GPIO_TIMER / LED_STRIP
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 0), // PWM7 - PB7
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, 0), // PWM8 - PB6
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED|TIM_USE_TRANSPONDER, 0), // GPIO_TIMER / LED_STRIP
};

View file

@ -27,30 +27,30 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
#if defined(OMNIBUSF4SD)
DEF_TIM(TIM10, CH1, PB8, TIM_USE_PWM | TIM_USE_PPM, TIMER_OUTPUT_NONE, 0), // PPM
DEF_TIM(TIM4, CH4, PB9, TIM_USE_PWM, TIMER_OUTPUT_NONE, 0), // S2_IN
DEF_TIM(TIM10, CH1, PB8, TIM_USE_PWM | TIM_USE_PPM, 0, 0), // PPM
DEF_TIM(TIM4, CH4, PB9, TIM_USE_PWM, 0, 0), // S2_IN
#else
DEF_TIM(TIM12, CH1, PB14, TIM_USE_PWM | TIM_USE_PPM, TIMER_OUTPUT_NONE, 0), // PPM
DEF_TIM(TIM12, CH2, PB15, TIM_USE_PWM, TIMER_OUTPUT_NONE, 0), // S2_IN
DEF_TIM(TIM12, CH1, PB14, TIM_USE_PWM | TIM_USE_PPM, 0, 0), // PPM
DEF_TIM(TIM12, CH2, PB15, TIM_USE_PWM, 0, 0), // S2_IN
#endif
DEF_TIM(TIM8, CH1, PC6, TIM_USE_PWM, TIMER_OUTPUT_NONE, 0), // S3_IN, UART6_TX
DEF_TIM(TIM8, CH2, PC7, TIM_USE_PWM, TIMER_OUTPUT_NONE, 0), // S4_IN, UART6_RX
DEF_TIM(TIM8, CH3, PC8, TIM_USE_PWM, TIMER_OUTPUT_NONE, 0), // S5_IN
DEF_TIM(TIM8, CH4, PC9, TIM_USE_PWM, TIMER_OUTPUT_NONE, 0), // S6_IN
DEF_TIM(TIM8, CH1, PC6, TIM_USE_PWM, 0, 0), // S3_IN, UART6_TX
DEF_TIM(TIM8, CH2, PC7, TIM_USE_PWM, 0, 0), // S4_IN, UART6_RX
DEF_TIM(TIM8, CH3, PC8, TIM_USE_PWM, 0, 0), // S5_IN
DEF_TIM(TIM8, CH4, PC9, TIM_USE_PWM, 0, 0), // S6_IN
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0), // S1_OUT D1_ST7
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0), // S2_OUT D1_ST2
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 1), // S3_OUT D1_ST6
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0), // S4_OUT D1_ST1
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0), // S1_OUT D1_ST7
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0), // S2_OUT D1_ST2
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1), // S3_OUT D1_ST6
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0), // S4_OUT D1_ST1
#if defined(OMNIBUSF4SD)
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0), // S5_OUT
DEF_TIM(TIM4, CH1, PB6, TIM_USE_LED, TIMER_OUTPUT_STANDARD, 0), // LED strip for F4 V2 / F4-Pro-0X and later (RCD_CS for F4)
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, 0, 0), // S5_OUT
DEF_TIM(TIM4, CH1, PB6, TIM_USE_LED, 0, 0), // LED strip for F4 V2 / F4-Pro-0X and later (RCD_CS for F4)
#else
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR | TIM_USE_LED, TIMER_OUTPUT_STANDARD, 0), // S5_OUT
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR | TIM_USE_LED, 0, 0), // S5_OUT
#endif
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, TIMER_OUTPUT_STANDARD, 0), // S6_OUT
DEF_TIM(TIM1, CH2, PA9, TIM_USE_NONE, TIMER_OUTPUT_NONE, 0), // UART1_TX
DEF_TIM(TIM1, CH3, PA10, TIM_USE_NONE, TIMER_OUTPUT_NONE, 0), // UART1_RX
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0, 0), // S6_OUT
DEF_TIM(TIM1, CH2, PA9, TIM_USE_NONE, 0, 0), // UART1_TX
DEF_TIM(TIM1, CH3, PA10, TIM_USE_NONE, 0, 0), // UART1_RX
};

View file

@ -23,21 +23,21 @@
#include "drivers/timer_def.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM1, CH3, PE13, TIM_USE_NONE, 0, 1), // RC1 / PPM, unusable
DEF_TIM(TIM1, CH3, PE13, TIM_USE_NONE, 0, 1 ), // RC1 / PPM, unusable
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 1, 0), // M1
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 1, 0), // M2
DEF_TIM(TIM1, CH1, PE9, TIM_USE_MOTOR, 1, 2), // M3
DEF_TIM(TIM1, CH2, PE11, TIM_USE_MOTOR, 1, 1), // M4
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0 ), // M1
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0 ), // M2
DEF_TIM(TIM1, CH1, PE9, TIM_USE_MOTOR, 0, 2 ), // M3
DEF_TIM(TIM1, CH2, PE11, TIM_USE_MOTOR, 0, 1 ), // M4
DEF_TIM(TIM4, CH1, PD12, TIM_USE_LED, 1, 0 ), // LED
DEF_TIM(TIM4, CH1, PD12, TIM_USE_LED, 0, 0 ), // LED
// Backdoor timers
DEF_TIM(TIM2, CH3, PB10, TIM_USE_NONE, 1, 0 ), // UART3_TX, I2C2_SCL
DEF_TIM(TIM2, CH4, PB11, TIM_USE_NONE, 1, 0 ), // UART3_RX, I2C2_SDA
DEF_TIM(TIM8, CH1, PC6, TIM_USE_NONE, 1, 0 ), // UART6_TX
DEF_TIM(TIM8, CH2, PC7, TIM_USE_NONE, 1, 0 ), // UART6_RX
DEF_TIM(TIM2, CH3, PB10, TIM_USE_NONE, 0, 0 ), // UART3_TX, I2C2_SCL
DEF_TIM(TIM2, CH4, PB11, TIM_USE_NONE, 0, 0 ), // UART3_RX, I2C2_SDA
DEF_TIM(TIM8, CH1, PC6, TIM_USE_NONE, 0, 0 ), // UART6_TX
DEF_TIM(TIM8, CH2, PC7, TIM_USE_NONE, 0, 0 ), // UART6_RX
// For ESC serial
DEF_TIM(TIM9, CH1, PA2, TIM_USE_NONE, 1, 0 ), // UART2_TX (unwired)
DEF_TIM(TIM9, CH1, PA2, TIM_USE_NONE, 0, 0 ), // UART2_TX (unwired)
};

12
src/main/target/RACEBASE/target.c Executable file → Normal file
View file

@ -25,10 +25,10 @@
#include "drivers/dma.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM2, CH1, PA0, TIM_USE_PPM, TIMER_INPUT_ENABLED),
DEF_TIM(TIM8, CH1, PB6, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED ), // PWM1 - DMA2 CH3
DEF_TIM(TIM3, CH4, PB7, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED ), // PWM2 - DMA1 CH3
DEF_TIM(TIM8, CH2, PB8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED ), // PMW3 - DMA2 CH5
DEF_TIM(TIM17,CH1,PB9, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED ), // PWM4 -DMA1 CH1
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED, TIMER_OUTPUT_ENABLED ), // LED - DMA1 CH2
DEF_TIM(TIM2, CH1, PA0, TIM_USE_PPM, 0),
DEF_TIM(TIM8, CH1, PB6, TIM_USE_MOTOR, 0), // PWM1 - DMA2 CH3
DEF_TIM(TIM3, CH4, PB7, TIM_USE_MOTOR, 0), // PWM2 - DMA1 CH3
DEF_TIM(TIM8, CH2, PB8, TIM_USE_MOTOR, 0), // PMW3 - DMA2 CH5
DEF_TIM(TIM17, CH1, PB9, TIM_USE_MOTOR, 0), // PWM4 -DMA1 CH1
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED, 0), // LED - DMA1 CH2
};

View file

@ -26,11 +26,11 @@
#include "drivers/dma.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 1),
DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR, 1),
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 1),
DEF_TIM(TIM3, CH2, PA4, TIM_USE_MOTOR, 1),
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 1),
DEF_TIM(TIM2, CH2, PA1, TIM_USE_PPM, 0),
DEF_TIM(TIM16, CH1, PB8, TIM_USE_LED, 0),
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0),
DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR, 0),
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0),
DEF_TIM(TIM3, CH2, PA4, TIM_USE_MOTOR, 0),
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0),
DEF_TIM(TIM2, CH2, PA1, TIM_USE_PPM, 0),
DEF_TIM(TIM16, CH1, PB8, TIM_USE_LED, 0),
};

View file

@ -25,24 +25,24 @@
#include "drivers/timer_def.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM12, CH1, PB14, TIM_USE_PWM | TIM_USE_PPM, 0, 0), // PPM (5th pin on FlexiIO port)
DEF_TIM(TIM12, CH2, PB15, TIM_USE_PWM, 0, 0), // S2_IN
DEF_TIM(TIM8, CH1, PC6, TIM_USE_PWM, 0, 0), // S3_IN
DEF_TIM(TIM8, CH2, PC7, TIM_USE_PWM, 0, 0), // S4_IN
DEF_TIM(TIM8, CH3, PC8, TIM_USE_PWM, 0, 0), // S5_IN
DEF_TIM(TIM8, CH4, PC9, TIM_USE_PWM, 0, 0), // S6_IN
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 1, 0), // S1_OUT D1_ST7
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 1, 0), // S2_OUT D1_ST2
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 1, 1), // S3_OUT D1_ST6
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 1, 0), // S4_OUT D1_ST1
DEF_TIM(TIM12, CH1, PB14, TIM_USE_PWM | TIM_USE_PPM, 0, 0), // PPM (5th pin on FlexiIO port)
DEF_TIM(TIM12, CH2, PB15, TIM_USE_PWM, 0, 0), // S2_IN
DEF_TIM(TIM8, CH1, PC6, TIM_USE_PWM, 0, 0), // S3_IN
DEF_TIM(TIM8, CH2, PC7, TIM_USE_PWM, 0, 0), // S4_IN
DEF_TIM(TIM8, CH3, PC8, TIM_USE_PWM, 0, 0), // S5_IN
DEF_TIM(TIM8, CH4, PC9, TIM_USE_PWM, 0, 0), // S6_IN
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0), // S1_OUT D1_ST7
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0), // S2_OUT D1_ST2
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1), // S3_OUT D1_ST6
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0), // S4_OUT D1_ST1
#ifdef REVOLT
DEF_TIM(TIM4, CH1, PB6, TIM_USE_LED, 0, 0), // LED for REVOLT D1_ST0
DEF_TIM(TIM4, CH1, PB6, TIM_USE_LED, 0, 0), // LED for REVOLT D1_ST0
#elif defined(AIRBOTF4) || defined(AIRBOTF4SD)
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, 1, 0), // S5_OUT
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 1, 0), // S6_OUT
DEF_TIM(TIM4, CH1, PB6, TIM_USE_LED, 0, 0), // LED D1_ST0, n/a on older AIRBOTF4
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, 0, 0), // S5_OUT
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0, 0), // S6_OUT
DEF_TIM(TIM4, CH1, PB6, TIM_USE_LED, 0, 0), // LED D1_ST0, n/a on older AIRBOTF4
#else
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR | TIM_USE_LED, 1, 0), // S5_OUT / LED
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, 1, 0), // S6_OUT D1_ST2
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR | TIM_USE_LED, 0, 0), // S5_OUT / LED
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, 0, 0), // S6_OUT D1_ST2
#endif
};

View file

@ -25,16 +25,16 @@
#include "drivers/dma.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM2, CH3, PB10, TIM_USE_PWM | TIM_USE_PPM, 0, 0), // PPM
DEF_TIM(TIM3, CH4, PB1, TIM_USE_PWM, 0, 0), // S2_IN
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PWM, 0, 0), // S3_IN
DEF_TIM(TIM3, CH2, PA7, TIM_USE_PWM, 0, 0), // S4_IN
DEF_TIM(TIM3, CH1, PA6, TIM_USE_PWM, 0, 0), // S5_IN
DEF_TIM(TIM2, CH1, PA5, TIM_USE_PWM, 0, 0), // S6_IN
DEF_TIM(TIM1, CH3, PA10, TIM_USE_MOTOR, 1, 0), // S1_OUT
DEF_TIM(TIM2, CH2, PB3, TIM_USE_MOTOR, 1, 0), // S2_OUT
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 1, 0), // S3_OUT
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 1, 0), // S4_OUT
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR | TIM_USE_LED, 1, 0), // S5_OUT
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, 1, 0), // S6_OUT
DEF_TIM(TIM2, CH3, PB10, TIM_USE_PWM | TIM_USE_PPM, 0, 0), // PPM
DEF_TIM(TIM3, CH4, PB1, TIM_USE_PWM, 0, 0), // S2_IN
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PWM, 0, 0), // S3_IN
DEF_TIM(TIM3, CH2, PA7, TIM_USE_PWM, 0, 0), // S4_IN
DEF_TIM(TIM3, CH1, PA6, TIM_USE_PWM, 0, 0), // S5_IN
DEF_TIM(TIM2, CH1, PA5, TIM_USE_PWM, 0, 0), // S6_IN
DEF_TIM(TIM1, CH3, PA10, TIM_USE_MOTOR, 0, 0), // S1_OUT
DEF_TIM(TIM2, CH2, PB3, TIM_USE_MOTOR, 0, 0), // S2_OUT
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0, 0), // S3_OUT
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 0, 0), // S4_OUT
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR | TIM_USE_LED, 0, 0), // S5_OUT
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, 0, 0), // S6_OUT
};

View file

@ -9,15 +9,15 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM2, CH4, PA3, TIM_USE_PPM, TIMER_INPUT_ENABLED) ,
DEF_TIM(TIM2, CH4, PA3, TIM_USE_PPM, 0),
// Main outputs 6 PWM
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED),
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED),
DEF_TIM(TIM8, CH2, PB8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED),
DEF_TIM(TIM8, CH3, PB9, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED),
DEF_TIM(TIM3, CH1, PC6, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED),
DEF_TIM(TIM3, CH2, PC7, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED),
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, 0),
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 0),
DEF_TIM(TIM8, CH2, PB8, TIM_USE_MOTOR, 0),
DEF_TIM(TIM8, CH3, PB9, TIM_USE_MOTOR, 0),
DEF_TIM(TIM3, CH1, PC6, TIM_USE_MOTOR, 0),
DEF_TIM(TIM3, CH2, PC7, TIM_USE_MOTOR, 0),
// Additional outputs
DEF_TIM(TIM16,CH1, PA6, TIM_USE_TRANSPONDER, TIMER_OUTPUT_ENABLED),
DEF_TIM(TIM1 ,CH1N,PA7, TIM_USE_LED, TIMER_OUTPUT_ENABLED),
DEF_TIM(TIM16, CH1, PA6, TIM_USE_TRANSPONDER, 0),
DEF_TIM(TIM1 , CH1N, PA7, TIM_USE_LED, 0),
};

View file

@ -26,13 +26,13 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM2, CH1, PA15, TIM_USE_PPM, 0), // PPM/SERIAL RX
DEF_TIM(TIM3, CH1, PB4, TIM_USE_MOTOR, 1), // PWM1
DEF_TIM(TIM17, CH1, PB5, TIM_USE_MOTOR, 1), // PWM2
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 1), // PWM3
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 1), // PWM4
DEF_TIM(TIM16, CH1, PB8, TIM_USE_MOTOR, 1), // PWM5
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 1), // PWM6
DEF_TIM(TIM15, CH1, PA2, TIM_USE_MOTOR, 1), // SOFTSERIAL1 RX (NC)
DEF_TIM(TIM15, CH2, PA3, TIM_USE_MOTOR, 1), // SOFTSERIAL1 TX
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED, 1), // LED_STRIP
DEF_TIM(TIM3, CH1, PB4, TIM_USE_MOTOR, 0), // PWM1
DEF_TIM(TIM17, CH1, PB5, TIM_USE_MOTOR, 0), // PWM2
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0), // PWM3
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0), // PWM4
DEF_TIM(TIM16, CH1, PB8, TIM_USE_MOTOR, 0), // PWM5
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 0), // PWM6
DEF_TIM(TIM15, CH1, PA2, TIM_USE_MOTOR, 0), // SOFTSERIAL1 RX (NC)
DEF_TIM(TIM15, CH2, PA3, TIM_USE_MOTOR, 0), // SOFTSERIAL1 TX
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED, 0), // LED_STRIP
};

View file

@ -25,11 +25,11 @@
#include "drivers/dma.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM2, CH4, PB11, TIM_USE_PPM, TIMER_INPUT_ENABLED), // RC_CH3 - PB11 - *TIM2_CH4, USART3_RX (AF7)
DEF_TIM(TIM8, CH1, PB6, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // PWM1 - PB6
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // PWM2 - PB6
DEF_TIM(TIM8, CH2, PB8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // PWM3 - PB8
DEF_TIM(TIM17, CH1, PB9, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), // PWM4 - PB9
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR | TIM_USE_LED, TIMER_OUTPUT_ENABLED), // PWM5 - PB0 - *TIM3_CH3
DEF_TIM(TIM1, CH3N, PB1, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED | TIMER_OUTPUT_INVERTED),// PWM6 - PB1 - *TIM3_CH4
DEF_TIM(TIM2, CH4, PB11, TIM_USE_PPM, 0), // RC_CH3 - PB11 - *TIM2_CH4, USART3_RX (AF7)
DEF_TIM(TIM8, CH1, PB6, TIM_USE_MOTOR, 0), // PWM1 - PB6
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 0), // PWM2 - PB6
DEF_TIM(TIM8, CH2, PB8, TIM_USE_MOTOR, 0), // PWM3 - PB8
DEF_TIM(TIM17, CH1, PB9, TIM_USE_MOTOR, 0), // PWM4 - PB9
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR | TIM_USE_LED, 0), // PWM5 - PB0 - *TIM3_CH3
DEF_TIM(TIM1, CH3N, PB1, TIM_USE_MOTOR, 0), // PWM6 - PB1 - *TIM3_CH4
};

View file

@ -27,15 +27,15 @@
// 6 3-pin headers
// PPM PORT - Also USART2 RX (AF5)
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM15, CH2, PB15, TIM_USE_MOTOR, 1), // PWM1 - PB15 - TIM1_CH3N, TIM15_CH1N, *TIM15_CH2
DEF_TIM(TIM15, CH1, PB14, TIM_USE_MOTOR, 1), // PWM2 - PB14 - TIM1_CH2N, *TIM15_CH1
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 1), // PWM3 - PA8 - *TIM1_CH1, TIM4_ETR
DEF_TIM(TIM15, CH2, PB15, TIM_USE_MOTOR, 0), // PWM1 - PB15 - TIM1_CH3N, TIM15_CH1N, *TIM15_CH2
DEF_TIM(TIM15, CH1, PB14, TIM_USE_MOTOR, 0), // PWM2 - PB14 - TIM1_CH2N, *TIM15_CH1
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0), // PWM3 - PA8 - *TIM1_CH1, TIM4_ETR
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0), // PWM4 - PB0 - *TIM3_CH3, TIM1_CH2N, TIM8_CH2N
DEF_TIM(TIM16, CH1, PA6, TIM_USE_MOTOR | TIM_USE_LED, 0), // PWM5 - PA6 - *TIM3_CH1, TIM8_BKIN, TIM1_BKIN, TIM16_CH1
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0), // PWM6 - PA2 - *TIM2_CH3, !TIM15_CH1
DEF_TIM(TIM3, CH4, PB1, TIM_USE_PWM, 0), // PWM7 - PB1 - *TIM3_CH4, TIM1_CH3N, TIM8_CH3N
DEF_TIM(TIM17, CH1, PA7, TIM_USE_PWM, 1), // PWM8 - PA7 - !TIM3_CH2, *TIM17_CH1, TIM1_CH1N, TIM8_CH1
DEF_TIM(TIM17, CH1, PA7, TIM_USE_PWM, 0), // PWM8 - PA7 - !TIM3_CH2, *TIM17_CH1, TIM1_CH1N, TIM8_CH1
DEF_TIM(TIM3, CH2, PA4, TIM_USE_PWM, 0), // PWM9 - PA4 - *TIM3_CH2
DEF_TIM(TIM2, CH2, PA1, TIM_USE_PWM, 0), // PWM10 - PA1 - *TIM2_CH2, TIM15_CH1N
DEF_TIM(TIM2, CH4, PA3, TIM_USE_PPM, 0) // PPM - PA3 - TIM2_CH4, TIM15_CH2 - PWM13
DEF_TIM(TIM2, CH4, PA3, TIM_USE_PPM, 0), // PPM - PA3 - TIM2_CH4, TIM15_CH2 - PWM13
};

View file

@ -26,14 +26,14 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM8, CH2, PC7, TIM_USE_PWM | TIM_USE_PPM, 0, 0 ), // PPM IN
DEF_TIM(TIM12, CH1, PB14, TIM_USE_PWM, 0, 0 ), // S2_IN
DEF_TIM(TIM12, CH2, PB15, TIM_USE_PWM, 0, 0 ), // S3_IN - GPIO_PartialRemap_TIM3
DEF_TIM(TIM8, CH3, PC8, TIM_USE_PWM, 0, 0 ), // S4_IN
DEF_TIM(TIM8, CH4, PC9, TIM_USE_PWM, 0, 0 ), // S5_IN
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 1, 0 ), // S1_OUT
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 1, 0 ), // S2_OUT
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 1, 0 ), // S3_OUT
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 1, 0 ), // S4_OUT
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, 1, 0 ), // S5_OUT - GPIO_PartialRemap_TIM3
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, 1, 0 ), // S6_OUT
DEF_TIM(TIM12, CH1, PB14, TIM_USE_PWM, 0, 0 ), // S2_IN
DEF_TIM(TIM12, CH2, PB15, TIM_USE_PWM, 0, 0 ), // S3_IN - GPIO_PartialRemap_TIM3
DEF_TIM(TIM8, CH3, PC8, TIM_USE_PWM, 0, 0 ), // S4_IN
DEF_TIM(TIM8, CH4, PC9, TIM_USE_PWM, 0, 0 ), // S5_IN
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0 ), // S1_OUT
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0 ), // S2_OUT
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 0 ), // S3_OUT
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0 ), // S4_OUT
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, 0, 0 ), // S5_OUT - GPIO_PartialRemap_TIM3
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, 0, 0 ), // S6_OUT
};

View file

@ -34,13 +34,13 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM3, CH2, PB5, TIM_USE_PWM, 0), // RC_CH6 - PB5 - *TIM3_CH2
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PWM, 0), // RC_CH7 - PB0 - *TIM3_CH3, TIM1_CH2N, TIM8_CH2N
DEF_TIM(TIM3, CH4, PB1, TIM_USE_PWM, 0), // RC_CH8 - PB1 - *TIM3_CH4, TIM1_CH3N, TIM8_CH3N
DEF_TIM(TIM16, CH1, PA6, TIM_USE_MOTOR, 1), // PWM1 - PA6 - TIM3_CH1, TIM8_BKIN, TIM1_BKIN, *TIM16_CH1
DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR, 1), // PWM2 - PA7 - TIM3_CH2, *TIM17_CH1, TIM1_CH1N, TIM8_CH1
DEF_TIM(TIM4, CH1, PA11, TIM_USE_MOTOR, 1), // PWM3 - PA11
DEF_TIM(TIM4, CH2, PA12, TIM_USE_MOTOR, 1), // PWM4 - PA12
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 1), // PWM5 - PB8
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 1), // PWM6 - PB9
DEF_TIM(TIM15, CH1, PA2, TIM_USE_MOTOR, 1), // PWM7 - PA2
DEF_TIM(TIM15, CH2, PA3, TIM_USE_MOTOR, 1), // PWM8 - PA3
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED, 1), // GPIO_TIMER / LED_STRIP
DEF_TIM(TIM16, CH1, PA6, TIM_USE_MOTOR, 0), // PWM1 - PA6 - TIM3_CH1, TIM8_BKIN, TIM1_BKIN, *TIM16_CH1
DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR, 0), // PWM2 - PA7 - TIM3_CH2, *TIM17_CH1, TIM1_CH1N, TIM8_CH1
DEF_TIM(TIM4, CH1, PA11, TIM_USE_MOTOR, 0), // PWM3 - PA11
DEF_TIM(TIM4, CH2, PA12, TIM_USE_MOTOR, 0), // PWM4 - PA12
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0), // PWM5 - PB8
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 0), // PWM6 - PB9
DEF_TIM(TIM15, CH1, PA2, TIM_USE_MOTOR, 0), // PWM7 - PA2
DEF_TIM(TIM15, CH2, PA3, TIM_USE_MOTOR, 0), // PWM8 - PA3
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED, 0), // GPIO_TIMER / LED_STRIP
};

View file

@ -26,36 +26,36 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
// PPM / UART2 RX
DEF_TIM(TIM8, CH1, PA15, TIM_USE_PPM, 0 ), // PPM
DEF_TIM(TIM8, CH1, PA15, TIM_USE_PPM, 0), // PPM
#if defined(AIORACERF3)
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 1 ), // PWM1
DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR, 1 ), // PWM2
DEF_TIM(TIM15, CH1, PA2, TIM_USE_MOTOR, 1 ), // PWM3
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 1 ), // PWM4
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 1 ), // PWM5
DEF_TIM(TIM3, CH1, PA6, TIM_USE_MOTOR, 1 ), // PWM6
DEF_TIM(TIM15, CH2, PA3, TIM_USE_MOTOR, 1 ), // PWM7
DEF_TIM(TIM2, CH1, PA0, TIM_USE_MOTOR, 1 ), // PWM8
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0), // PWM1
DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR, 0), // PWM2
DEF_TIM(TIM15, CH1, PA2, TIM_USE_MOTOR, 0), // PWM3
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 0), // PWM4
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0), // PWM5
DEF_TIM(TIM3, CH1, PA6, TIM_USE_MOTOR, 0), // PWM6
DEF_TIM(TIM15, CH2, PA3, TIM_USE_MOTOR, 0), // PWM7
DEF_TIM(TIM2, CH1, PA0, TIM_USE_MOTOR, 0), // PWM8
#elif defined(SPRACINGF3MQ_REV) && (SPRACINGF3MQ_REV <= 1)
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 1 ), // PWM1
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 1 ), // PWM2
DEF_TIM(TIM3, CH2, PA7, TIM_USE_MOTOR, 1 ), // PWM3
DEF_TIM(TIM16, CH1, PA6, TIM_USE_MOTOR, 1 ), // PWM4 [TIM16_CH1 (D1_CH3 / D1_CH6)] [TIM3_CH1 (D1_CH6)]
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 1 ), // PWM5 [TIM2_CH2 (D1_CH7)] [TIM15_CH1N (D1_CH5)]
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 1 ), // PWM6 [TIM2_CH3 (D1_CH1)] [TIM15_CH1 (D1_CH5)]
DEF_TIM(TIM2, CH1, PA0, TIM_USE_MOTOR, 1 ), // PWM7 [TIM2_CH1 (D1_CH5)]
DEF_TIM(TIM15, CH2, PA3, TIM_USE_MOTOR, 1 ), // PWM8 [TIM2_CH4 (D1_CH7)]
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0), // PWM1
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0), // PWM2
DEF_TIM(TIM3, CH2, PA7, TIM_USE_MOTOR, 0), // PWM3
DEF_TIM(TIM16, CH1, PA6, TIM_USE_MOTOR, 0), // PWM4 [TIM16_CH1 (D1_CH3 / D1_CH6)] [TIM3_CH1 (D1_CH6)]
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 0), // PWM5 [TIM2_CH2 (D1_CH7)] [TIM15_CH1N (D1_CH5)]
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0), // PWM6 [TIM2_CH3 (D1_CH1)] [TIM15_CH1 (D1_CH5)]
DEF_TIM(TIM2, CH1, PA0, TIM_USE_MOTOR, 0), // PWM7 [TIM2_CH1 (D1_CH5)]
DEF_TIM(TIM15, CH2, PA3, TIM_USE_MOTOR, 0), // PWM8 [TIM2_CH4 (D1_CH7)]
#else // SPRACINGF3EVO / SPRACINGF3MQ
DEF_TIM(TIM2, CH1, PA0, TIM_USE_MOTOR, 1 ), // PWM1 [TIM2_CH1 (D1_CH5)]
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 1 ), // PWM2 [TIM2_CH2 (D1_CH7)] [TIM15_CH1N (D1_CH5)]
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 1 ), // PWM3 [TIM2_CH3 (D1_CH1)] [TIM15_CH1 (D1_CH5)]
DEF_TIM(TIM15, CH2, PA3, TIM_USE_MOTOR, 1 ), // PWM4 [TIM2_CH4 (D1_CH7)]
DEF_TIM(TIM16, CH1, PA6, TIM_USE_MOTOR, 1 ), // PWM5 [TIM16_CH1 (D1_CH3 / D1_CH6)] [TIM3_CH1 (D1_CH6)]
DEF_TIM(TIM3, CH2, PA7, TIM_USE_MOTOR, 1 ), // PWM6
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 1 ), // PWM7
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 1 ), // PWM8
DEF_TIM(TIM2, CH1, PA0, TIM_USE_MOTOR, 0), // PWM1 [TIM2_CH1 (D1_CH5)]
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 0), // PWM2 [TIM2_CH2 (D1_CH7)] [TIM15_CH1N (D1_CH5)]
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0), // PWM3 [TIM2_CH3 (D1_CH1)] [TIM15_CH1 (D1_CH5)]
DEF_TIM(TIM15, CH2, PA3, TIM_USE_MOTOR, 0), // PWM4 [TIM2_CH4 (D1_CH7)]
DEF_TIM(TIM16, CH1, PA6, TIM_USE_MOTOR, 0), // PWM5 [TIM16_CH1 (D1_CH3 / D1_CH6)] [TIM3_CH1 (D1_CH6)]
DEF_TIM(TIM3, CH2, PA7, TIM_USE_MOTOR, 0), // PWM6
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0), // PWM7
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0), // PWM8
#endif
DEF_TIM(TIM2, CH3, PB10, TIM_USE_MOTOR, 1 ), // RC_CH4 - PB10 - *TIM2_CH3, UART3_TX (AF7)
DEF_TIM(TIM2, CH4, PB11, TIM_USE_MOTOR, 1 ), // RC_CH3 - PB11 - *TIM2_CH4, UART3_RX (AF7)
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED | TIM_USE_TRANSPONDER, 1 ), // LED_STRIP / TRANSPONDER
DEF_TIM(TIM2, CH3, PB10, TIM_USE_MOTOR, 0), // RC_CH4 - PB10 - *TIM2_CH3, UART3_TX (AF7)
DEF_TIM(TIM2, CH4, PB11, TIM_USE_MOTOR, 0), // RC_CH3 - PB11 - *TIM2_CH4, UART3_RX (AF7)
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED | TIM_USE_TRANSPONDER, 0), // LED_STRIP / TRANSPONDER
};

View file

@ -27,37 +27,37 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
#ifdef TINYBEEF3
// PPM / UART2 RX
DEF_TIM(TIM8, CH1, PA15, TIM_USE_PPM, 0 ), // PPM
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 1 ), // PWM1
DEF_TIM(TIM2, CH1, PA0, TIM_USE_MOTOR, 1 ), // PWM2
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 1 ), // PWM3
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 1 ), // PWM4
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 1 ), // PWM5
DEF_TIM(TIM15, CH2, PA3, TIM_USE_MOTOR, 1 ), // PWM6
DEF_TIM(TIM3, CH1, PA6, TIM_USE_MOTOR, 1 ), // PWM7
DEF_TIM(TIM3, CH2, PA7, TIM_USE_MOTOR, 1 ), // PWM8
DEF_TIM(TIM2, CH3, PB10, TIM_USE_MOTOR, 1 ), // RC_CH4 - PB10 - *TIM2_CH3, UART3_TX (AF7)
DEF_TIM(TIM2, CH4, PB11, TIM_USE_MOTOR, 1 ), // RC_CH3 - PB11 - *TIM2_CH4, UART3_RX (AF7)
DEF_TIM(TIM8, CH1, PA15, TIM_USE_PPM, 0), // PPM
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 0), // PWM1
DEF_TIM(TIM2, CH1, PA0, TIM_USE_MOTOR, 0), // PWM2
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0), // PWM3
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0), // PWM4
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0), // PWM5
DEF_TIM(TIM15, CH2, PA3, TIM_USE_MOTOR, 0), // PWM6
DEF_TIM(TIM3, CH1, PA6, TIM_USE_MOTOR, 0), // PWM7
DEF_TIM(TIM3, CH2, PA7, TIM_USE_MOTOR, 0), // PWM8
DEF_TIM(TIM2, CH3, PB10, TIM_USE_MOTOR, 0), // RC_CH4 - PB10 - *TIM2_CH3, UART3_TX (AF7)
DEF_TIM(TIM2, CH4, PB11, TIM_USE_MOTOR, 0), // RC_CH3 - PB11 - *TIM2_CH4, UART3_RX (AF7)
#else
// PPM Pad
#if defined(SPRACINGF3MINI_REV) && (SPRACINGF3MINI_REV <= 1)
DEF_TIM(TIM3, CH2, PB5, TIM_USE_PPM, 0), // PPM - PB5
DEF_TIM(TIM3, CH2, PB5, TIM_USE_PPM, 0), // PPM - PB5
// PB4 / TIM3 CH1 is connected to USBPresent
#else
DEF_TIM(TIM3, CH1, PB4, TIM_USE_PPM, 0), // PPM - PB4
DEF_TIM(TIM3, CH1, PB4, TIM_USE_PPM, 0), // PPM - PB4
// PB5 / TIM3 CH2 is connected to USBPresent
#endif
DEF_TIM(TIM16, CH1, PA6, TIM_USE_MOTOR, 1), // PWM1 - PA6
DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR, 1), // PWM2 - PA7
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 1), // PWM3 - PB8
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 1), // PWM4 - PB9
DEF_TIM(TIM15, CH1, PA2, TIM_USE_MOTOR, 1), // PWM5 - PA2
DEF_TIM(TIM15, CH2, PA3, TIM_USE_MOTOR, 1), // PWM6 - PA3
DEF_TIM(TIM2, CH1, PA0, TIM_USE_MOTOR, 1), // PWM7 - PA0
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 1), // PWM8 - PA1
DEF_TIM(TIM2, CH3, PB10, TIM_USE_NONE, 1), // PWM9 - PB10 - TIM2_CH3 / UART3_TX (AF7)
DEF_TIM(TIM2, CH4, PB11, TIM_USE_NONE, 1), // PWM10 - PB11 - TIM2_CH4 / UART3_RX (AF7)
DEF_TIM(TIM16, CH1, PA6, TIM_USE_MOTOR, 0), // PWM1 - PA6
DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR, 0), // PWM2 - PA7
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0), // PWM3 - PB8
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 0), // PWM4 - PB9
DEF_TIM(TIM15, CH1, PA2, TIM_USE_MOTOR, 0), // PWM5 - PA2
DEF_TIM(TIM15, CH2, PA3, TIM_USE_MOTOR, 0), // PWM6 - PA3
DEF_TIM(TIM2, CH1, PA0, TIM_USE_MOTOR, 0), // PWM7 - PA0
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 0), // PWM8 - PA1
DEF_TIM(TIM2, CH3, PB10, TIM_USE_NONE, 0), // PWM9 - PB10 - TIM2_CH3 / UART3_TX (AF7)
DEF_TIM(TIM2, CH4, PB11, TIM_USE_NONE, 0), // PWM10 - PB11 - TIM2_CH4 / UART3_RX (AF7)
#endif
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED | TIM_USE_TRANSPONDER, 1), // LED_STRIP / TRANSPONDER
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED | TIM_USE_TRANSPONDER, 0), // LED_STRIP / TRANSPONDER
};

28
src/main/target/SPRACINGF3NEO/target.c Executable file → Normal file
View file

@ -25,36 +25,36 @@
#include "drivers/dma.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM15, CH2, PA3, TIM_USE_PPM, 1 ), // PWM1 / PPM / UART2 RX
DEF_TIM(TIM15, CH1, PA2, TIM_USE_PWM, 1 ), // PWM2
DEF_TIM(TIM15, CH2, PA3, TIM_USE_PPM, 0), // PWM1 / PPM / UART2 RX
DEF_TIM(TIM15, CH1, PA2, TIM_USE_PWM, 0), // PWM2
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 1 ), // ESC1
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0), // ESC1
#ifdef USE_DSHOT
DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 1 ), // ESC2
DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 0), // ESC2
#else
DEF_TIM(TIM3, CH2, PC7, TIM_USE_MOTOR, 1 ), // ESC2
DEF_TIM(TIM3, CH2, PC7, TIM_USE_MOTOR, 0), // ESC2
#endif
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 1 ), // ESC3
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0), // ESC3
#ifdef USE_DSHOT
DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 1 ), // ESC4
DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 0), // ESC4
#else
DEF_TIM(TIM3, CH1, PC6, TIM_USE_MOTOR, 1 ), // ESC4
DEF_TIM(TIM3, CH1, PC6, TIM_USE_MOTOR, 0), // ESC4
#endif
#ifndef USE_DSHOT
// with DSHOT TIM8 is used for DSHOT and cannot be used for PWM
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 1 ), // ESC5
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 1 ), // ESC6
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 0), // ESC5
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 0), // ESC6
#endif
DEF_TIM(TIM2, CH3, PB10, TIM_USE_MOTOR, 1 ), // PWM3 - PB10 - *TIM2_CH3, UART3_TX (AF7)
DEF_TIM(TIM2, CH4, PB11, TIM_USE_MOTOR, 1 ), // PWM4 - PB11 - *TIM2_CH4, UART3_RX (AF7)
DEF_TIM(TIM2, CH3, PB10, TIM_USE_MOTOR, 0), // PWM3 - PB10 - *TIM2_CH3, UART3_TX (AF7)
DEF_TIM(TIM2, CH4, PB11, TIM_USE_MOTOR, 0), // PWM4 - PB11 - *TIM2_CH4, UART3_RX (AF7)
// with DSHOT DMA1-CH3 conflicts with TIM3_CH4 / ESC1.
DEF_TIM(TIM16, CH1, PB8, TIM_USE_TRANSPONDER, 0 ),
DEF_TIM(TIM16, CH1, PB8, TIM_USE_TRANSPONDER, 0),
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED, 0 ),
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED, 0),
};

View file

@ -26,10 +26,10 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 1 ), // DMA1_Channel2
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 1 ), // DMA1_Channel4
DEF_TIM(TIM16, CH1, PB4, TIM_USE_MOTOR, 1 ), // DMA1_Channel3 or DMA1_Channel6 with Remap (need remap to free SPI1_TX for Flash)
DEF_TIM(TIM17, CH1, PB5, TIM_USE_MOTOR, 1 ), // DMA1_Channel1 or DMA1_Channel7 with Remap (need remap, ADC1 is on DMA1_Channel1)
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0), // DMA1_Channel2
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0), // DMA1_Channel4
DEF_TIM(TIM16, CH1, PB4, TIM_USE_MOTOR, 0), // DMA1_Channel3 or DMA1_Channel6 with Remap (need remap to free SPI1_TX for Flash)
DEF_TIM(TIM17, CH1, PB5, TIM_USE_MOTOR, 0), // DMA1_Channel1 or DMA1_Channel7 with Remap (need remap, ADC1 is on DMA1_Channel1)
DEF_TIM(TIM1, CH1, PA8, TIM_USE_TRANSPONDER, 0 ),
DEF_TIM(TIM1, CH1, PA8, TIM_USE_TRANSPONDER, 0),
};

View file

@ -30,36 +30,36 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM9, CH2, PA3, TIM_USE_PPM | TIM_USE_PWM, 0, 0), // PPM / PWM1 / UART2 RX
DEF_TIM(TIM9, CH1, PA2, TIM_USE_PWM, 0, 0), // PPM / PWM2 / UART2 TX
DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 1, 1), // ESC 1
DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 1, 1), // ESC 2
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 1, 0), // ESC 3
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 1, 1), // ESC 4
DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 0, 1), // ESC 1
DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 0, 1), // ESC 2
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 0, 0), // ESC 3
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 0, 1), // ESC 4
#if defined(SPRACINGF4EVO_REV) && (SPRACINGF4EVO_REV >= 2)
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, 1, 0), // ESC 5 / Conflicts with USART5_RX / SPI3_RX - SPI3_RX can be mapped to DMA1_ST3_CH0
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 1, 0), // ESC 6 / Conflicts with USART3_RX
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, 0, 0), // ESC 5 / Conflicts with USART5_RX / SPI3_RX - SPI3_RX can be mapped to DMA1_ST3_CH0
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 0, 0), // ESC 6 / Conflicts with USART3_RX
#else
#ifdef USE_TIM10_TIM11_FOR_MOTORS
DEF_TIM(TIM10, CH1, PB8, TIM_USE_MOTOR, 1, 0), // ESC 5
DEF_TIM(TIM11, CH1, PB9, TIM_USE_MOTOR, 1, 0), // ESC 6
DEF_TIM(TIM10, CH1, PB8, TIM_USE_MOTOR, 0, 0), // ESC 5
DEF_TIM(TIM11, CH1, PB9, TIM_USE_MOTOR, 0, 0), // ESC 6
#else
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 1, 0), // ESC 5
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 1, 0), // ESC 6
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0, 0), // ESC 5
DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 0, 0), // ESC 6
#endif
#endif
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 1, 0), // ESC 7
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 1, 0), // ESC 8
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0), // ESC 7
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0), // ESC 8
DEF_TIM(TIM2, CH2, PA1, TIM_USE_LED, 1, 0), // LED Strip
DEF_TIM(TIM2, CH2, PA1, TIM_USE_LED, 0, 0), // LED Strip
// Additional 2 PWM channels available on UART3 RX/TX pins
// However, when using led strip the timer cannot be used, but no code appears to prevent that right now
DEF_TIM(TIM2, CH3, PB10, TIM_USE_MOTOR, 1, 0), // Shared with UART3 TX PIN and SPI3 TX (OSD)
DEF_TIM(TIM2, CH4, PB11, TIM_USE_MOTOR, 1, 1), // Shared with UART3 RX PIN
DEF_TIM(TIM2, CH3, PB10, TIM_USE_MOTOR, 0, 0), // Shared with UART3 TX PIN and SPI3 TX (OSD)
DEF_TIM(TIM2, CH4, PB11, TIM_USE_MOTOR, 0, 1), // Shared with UART3 RX PIN
DEF_TIM(TIM1, CH1, PA8, TIM_USE_TRANSPONDER, 1, 0), // Transponder
DEF_TIM(TIM1, CH1, PA8, TIM_USE_TRANSPONDER, 0, 0), // Transponder
// Additional 2 PWM channels available on UART1 RX/TX pins
// However, when using transponder the timer cannot be used, but no code appears to prevent that right now
DEF_TIM(TIM1, CH2, PA9, TIM_USE_SERVO | TIM_USE_PWM, 1, 1), // PWM 3
DEF_TIM(TIM1, CH3, PA10, TIM_USE_SERVO | TIM_USE_PWM, 1, 1), // PWM 4
DEF_TIM(TIM1, CH2, PA9, TIM_USE_SERVO | TIM_USE_PWM, 0, 1), // PWM 3
DEF_TIM(TIM1, CH3, PA10, TIM_USE_SERVO | TIM_USE_PWM, 0, 1), // PWM 4
};

View file

@ -26,19 +26,19 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM16, CH1, PB8, TIM_USE_PPM | TIM_USE_LED, 0),
DEF_TIM(TIM17, CH1, PB9, 0, 0),
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 1),
DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 1),
DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 1),
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 1),
DEF_TIM(TIM3, CH4, PB1, 0, 0),
DEF_TIM(TIM3, CH2, PA4, 0, 0),
DEF_TIM(TIM4, CH1, PD12, TIM_USE_BEEPER, 1),
DEF_TIM(TIM4, CH2, PD13, 0, 0),
DEF_TIM(TIM4, CH3, PD14, 0, 0),
DEF_TIM(TIM4, CH4, PD15, 0, 0),
DEF_TIM(TIM2, CH2, PA1, 0, 0),
DEF_TIM(TIM2, CH3, PA2, 0, 0)
DEF_TIM(TIM16, CH1, PB8, TIM_USE_PPM | TIM_USE_LED, 0),
DEF_TIM(TIM17, CH1, PB9, 0, 0),
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0),
DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 0),
DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 0),
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 0),
DEF_TIM(TIM3, CH4, PB1, 0, 0),
DEF_TIM(TIM3, CH2, PA4, 0, 0),
DEF_TIM(TIM4, CH1, PD12, TIM_USE_BEEPER, 0),
DEF_TIM(TIM4, CH2, PD13, 0, 0),
DEF_TIM(TIM4, CH3, PD14, 0, 0),
DEF_TIM(TIM4, CH4, PD15, 0, 0),
DEF_TIM(TIM2, CH2, PA1, 0, 0),
DEF_TIM(TIM2, CH3, PA2, 0, 0),
};

View file

@ -25,10 +25,10 @@
#include "drivers/timer_def.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), //DMA1_CH5
DEF_TIM(TIM8, CH3, PB9, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), //DMA2_CH1
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), //DMA1_CH7
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED), //DMA1_CH1
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0), //DMA1_CH5
DEF_TIM(TIM8, CH3, PB9, TIM_USE_MOTOR, 0), //DMA2_CH1
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0), //DMA1_CH7
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0), //DMA1_CH1
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED, TIMER_OUTPUT_ENABLED) //DMA1_CH2 - LED
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED, 0), //DMA1_CH2 - LED
};

View file

@ -31,10 +31,10 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM1, CH4, PE14, TIM_USE_PWM, 0, 0), // S4_IN
DEF_TIM(TIM9, CH1, PE6, TIM_USE_PWM, 0, 0), // S5_IN
DEF_TIM(TIM9, CH2, PE7, TIM_USE_PWM, 0, 0), // S6_IN
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 1, 0), // S1_OUT
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 1, 0), // S2_OUT
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 1, 0), // S3_OUT
DEF_TIM(TIM3, CH2, PB5, TIM_USE_MOTOR, 1, 0), // S4_OUT
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 1, 0), // S5_OUT
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 1, 0), // S6_OUT
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 0, 0), // S1_OUT
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0), // S2_OUT
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 0), // S3_OUT
DEF_TIM(TIM3, CH2, PB5, TIM_USE_MOTOR, 0, 0), // S4_OUT
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0), // S5_OUT
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0), // S6_OUT
};

View file

@ -16,13 +16,13 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM2, CH3, PB10, TIM_USE_PWM, 0), // RC_CH4 - PB10 - *TIM2_CH3, UART3_TX (AF7)
DEF_TIM(TIM3, CH3, PB0, TIM_USE_PWM, 0), // RC_CH5 - PB0 - *TIM3_CH3, TIM1_CH2N, TIM8_CH2N
DEF_TIM(TIM3, CH4, PB1, TIM_USE_PWM, 0), // RC_CH6 - PB1 - *TIM3_CH4, TIM1_CH3N, TIM8_CH3N
DEF_TIM(TIM16, CH1, PA6, TIM_USE_MOTOR, 1), // PWM1 - PA6 - TIM3_CH1, TIM8_BKIN, TIM1_BKIN, *TIM16_CH1
DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR, 1), // PWM2 - PA7 - TIM3_CH2, *TIM17_CH1, TIM1_CH1N, TIM8_CH1
DEF_TIM(TIM4, CH1, PA11, TIM_USE_MOTOR, 1), // PWM3 - PA11
DEF_TIM(TIM4, CH2, PA12, TIM_USE_MOTOR, 1), // PWM4 - PA12
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 1), // PWM5 - PB8
DEF_TIM(TIM8, CH3, PB9, TIM_USE_MOTOR, 1), // PWM6 - PB9
DEF_TIM(TIM15, CH1, PA2, TIM_USE_MOTOR, 1), // PWM7 - PA2
DEF_TIM(TIM15, CH2, PA3, TIM_USE_MOTOR, 1), // PWM8 - PA3
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR | TIM_USE_LED, 1), // GPIO_TIMER / LED_STRIP
DEF_TIM(TIM16, CH1, PA6, TIM_USE_MOTOR, 0), // PWM1 - PA6 - TIM3_CH1, TIM8_BKIN, TIM1_BKIN, *TIM16_CH1
DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR, 0), // PWM2 - PA7 - TIM3_CH2, *TIM17_CH1, TIM1_CH1N, TIM8_CH1
DEF_TIM(TIM4, CH1, PA11, TIM_USE_MOTOR, 0), // PWM3 - PA11
DEF_TIM(TIM4, CH2, PA12, TIM_USE_MOTOR, 0), // PWM4 - PA12
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0), // PWM5 - PB8
DEF_TIM(TIM8, CH3, PB9, TIM_USE_MOTOR, 0), // PWM6 - PB9
DEF_TIM(TIM15, CH1, PA2, TIM_USE_MOTOR, 0), // PWM7 - PA2
DEF_TIM(TIM15, CH2, PA3, TIM_USE_MOTOR, 0), // PWM8 - PA3
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR | TIM_USE_LED, 0), // GPIO_TIMER / LED_STRIP
};

View file

@ -25,14 +25,14 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM8, CH3, PC8, TIM_USE_PPM, TIMER_INPUT_ENABLED, 0 ), // PPM IN
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S1_OUT - DMA1_ST2
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S2_OUT - DMA1_ST4
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S3_OUT - DMA1_ST1
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 1 ), // S4_OUT - DMA1_ST6
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR | TIM_USE_LED, TIMER_OUTPUT_ENABLED, 0 ), // S5_OUT - DMA1_ST7
DEF_TIM(TIM4, CH2, PB7, TIM_USE_ANY, TIMER_OUTPUT_ENABLED, 0 ), // S6_OUT - DMA1_ST3 - Camera control
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S7_OUT
DEF_TIM(TIM3, CH4, PC9, TIM_USE_BEEPER, TIMER_OUTPUT_ENABLED, 0 ), // BEEPER PWM
DEF_TIM(TIM12, CH1, PB14, TIM_USE_BEEPER, TIMER_OUTPUT_ENABLED, 0 ), // BEEPER PWM OPT
DEF_TIM(TIM8, CH3, PC8, TIM_USE_PPM, 0, 0 ), // PPM IN
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, 0, 0 ), // S1_OUT - DMA1_ST2
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, 0, 0 ), // S2_OUT - DMA1_ST4
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0 ), // S3_OUT - DMA1_ST1
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1 ), // S4_OUT - DMA1_ST6
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR | TIM_USE_LED, 0, 0 ), // S5_OUT - DMA1_ST7
DEF_TIM(TIM4, CH2, PB7, TIM_USE_ANY, 0, 0 ), // S6_OUT - DMA1_ST3 - Camera control
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0 ), // S7_OUT
DEF_TIM(TIM3, CH4, PC9, TIM_USE_BEEPER, 0, 0 ), // BEEPER PWM
DEF_TIM(TIM12, CH1, PB14, TIM_USE_BEEPER, 0, 0 ), // BEEPER PWM OPT
};

View file

@ -25,13 +25,13 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM8, CH3, PC8, TIM_USE_PPM, TIMER_INPUT_ENABLED, 0 ), // PPM IN
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S1_OUT - DMA1_ST2
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S2_OUT - DMA1_ST4
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S3_OUT - DMA1_ST1
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 1 ), // S4_OUT - DMA1_ST6
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR | TIM_USE_LED, TIMER_OUTPUT_ENABLED, 0 ), // S5_OUT - DMA1_ST7 - LED Control
DEF_TIM(TIM4, CH2, PB7, TIM_USE_ANY, TIMER_OUTPUT_ENABLED, 0 ), // S6_OUT - DMA1_ST3 - Camera Control
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S7_OUT
DEF_TIM(TIM12, CH1, PB14, TIM_USE_BEEPER, TIMER_OUTPUT_ENABLED, 0 ), // BEEPER PWM
DEF_TIM(TIM8, CH3, PC8, TIM_USE_PPM, 0, 0 ), // PPM IN
DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, 0, 0 ), // S1_OUT - DMA1_ST2
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, 0, 0 ), // S2_OUT - DMA1_ST4
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0 ), // S3_OUT - DMA1_ST1
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1 ), // S4_OUT - DMA1_ST6
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR | TIM_USE_LED, 0, 0 ), // S5_OUT - DMA1_ST7 - LED Control
DEF_TIM(TIM4, CH2, PB7, TIM_USE_ANY, 0, 0 ), // S6_OUT - DMA1_ST3 - Camera Control
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0 ), // S7_OUT
DEF_TIM(TIM12, CH1, PB14, TIM_USE_BEEPER, 0, 0 ), // BEEPER PWM
};