* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this software. * * If not, see <http://www.gnu.org/licenses/>. */ #include <stdint.h> #include "platform.h" #include "drivers/io.h" #include "drivers/dma.h" #include "drivers/timer.h" #include "drivers/timer_def.h" const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { 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(TIM5, CH3, PA2, TIM_USE_MOTOR, 0, 0 ), // S3_OUT - DMA1_ST1 DEF_TIM(TIM5, CH4, PA3, TIM_USE_MOTOR, 0, 1 ), // S4_OUT - DMA1_ST6 DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0 ), // S5_OUT - DMA1_ST7 - LED Control DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR | TIM_USE_LED, 0, 0 ), // S6_OUT DEF_TIM(TIM4, CH2, PB7, TIM_USE_ANY, 0, 0 ), // Camera Control DEF_TIM(TIM12, CH1, PB14, TIM_USE_BEEPER, 0, 0 ), // BEEPER PWM };
#include <stdbool.h> #include <stdint.h> #include <platform.h> #include "drivers/io.h" #include "drivers/timer.h" #include "drivers/timer_def.h" #include "drivers/dma.h" const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { 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, 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 };
* * You should have received a copy of the GNU General Public License * along with this software. * * If not, see <http://www.gnu.org/licenses/>. */ #include <stdint.h> #include "platform.h" #include "drivers/io.h" #include "drivers/dma.h" #include "drivers/timer.h" #include "drivers/timer_def.h" const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { DEF_TIM(TIM11, CH1, PB9, TIM_USE_CAMERA_CONTROL, 0, 0), // CAMERA_CONTROL_PIN 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, 0, 0), // BEEPER PWM DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR | TIM_USE_LED, 0, 0), // LED & MOTOR5 D1_ST7 };
* * If not, see <http://www.gnu.org/licenses/>. */ #include <stdint.h> #include "platform.h" #include "drivers/io.h" #include "drivers/timer.h" #include "drivers/timer_def.h" #include "drivers/dma.h" const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { DEF_TIM(TIM5, CH1, PA0, TIM_USE_CAMERA_CONTROL, 0, 0), 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 #if (SPRACINGF7DUAL_REV <= 1) DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 0, 1), // ESC 1 #else DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 0, 1), // ESC 1 #endif DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 0, 0), // ESC 2 DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 0, 0), // ESC 3 #if (SPRACINGF7DUAL_REV <= 1) DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 0, 1), // ESC 4 #else DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 0, 1), // ESC 4
* along with this software. * * If not, see <http://www.gnu.org/licenses/>. */ #include <stdint.h> #include "platform.h" #include "drivers/io.h" #include "drivers/dma.h" #include "drivers/timer.h" #include "drivers/timer_def.h" const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { 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 };
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Cleanflight. If not, see <http://www.gnu.org/licenses/>. */ #include <stdint.h> #include <platform.h> #include "drivers/io.h" #include "drivers/dma.h" #include "drivers/timer.h" #include "drivers/timer_def.h" const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { DEF_TIM(TIM9, CH2, PA3, TIM_USE_PPM, 0, 0), // PPM IN DEF_TIM(TIM8, CH2N, PB0, TIM_USE_MOTOR, 0, 0), // M1 - DMAR2_ST1 (DMA2_ST2) DEF_TIM(TIM8, CH3N, PB1, TIM_USE_MOTOR, 0, 0), // M2 - (DMA2_ST4) DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 0, 0), // M3 - DMAR1_ST7 (DMA1_ST6) DEF_TIM(TIM2, CH1, PA0, TIM_USE_MOTOR, 0, 0), // M4 - (DMA1_ST5) DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 0, 0), // M5 - (DMA2_ST2) DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 0, 0), // M6 - (DMA2_ST3) DEF_TIM(TIM3, CH2, PB5, TIM_USE_MOTOR, 0, 0), // M7 - DMAR1_ST2 (DMA1_ST5, doesn't work for DShot) DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 0, 0), // M8 - DMAR1_ST6 (no DMA, doesn't work for DShot) 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) };
* * You should have received a copy of the GNU General Public License * along with Cleanflight. If not, see <http://www.gnu.org/licenses/>. */ #include <stdint.h> #include <platform.h> #include "drivers/io.h" #include "drivers/dma.h" #include "drivers/timer.h" #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(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(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) };
* You should have received a copy of the GNU General Public License * along with this software. * * If not, see <http://www.gnu.org/licenses/>. */ #include <stdint.h> #include "platform.h" #include "drivers/io.h" #include "drivers/dma.h" #include "drivers/timer.h" #include "drivers/timer_def.h" /* * - Support HEXA-Dshot * - S5_OUT, S6_OUT are N-channels, which are only capable of outputs. (E.g., motors, servos, LED strip, PWM outputs.) * - Input is only available on DEBUG pad. See comment on SOFTSERIAL1 in target.h for details. */ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { 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 };
* * You should have received a copy of the GNU General Public License * along with Cleanflight. If not, see <http://www.gnu.org/licenses/>. */ #include <stdint.h> #include <platform.h> #include "drivers/io.h" #include "drivers/dma.h" #include "drivers/timer.h" #include "drivers/timer_def.h" const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { DEF_TIM(TIM5, CH4, PA3, TIM_USE_PPM, 0, 0), // PPM DEF_TIM(TIM3, CH1, PC6, TIM_USE_MOTOR, 0, 0), // S1 UP(1,2) DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 0, 1), // S2 UP(2,1) DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 0, 1), // S3 UP(2,1) DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 0, 0), // S4 UP(2,1) DEF_TIM(TIM2, CH1, PA15, TIM_USE_MOTOR, 0, 0), // S5 UP(1,7) DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0, 0), // S6 UP(2,5) DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0, 0), // S7 D(1,7)!S5 UP(2,6) DEF_TIM(TIM4, CH1, PB6, TIM_USE_LED, 0, 0), // LED D(1,0) UP(2,6) DEF_TIM(TIM5, CH1, PA0, TIM_USE_PWM, 0, 0), // TX4 UP(1,6) D(1,2)!S1 DEF_TIM(TIM5, CH2, PA1, TIM_USE_PWM, 0, 0), // RX4 UP(1,6) D(1,4) DEF_TIM(TIM9, CH1, PA2, TIM_USE_PWM, 0, 0), // TX2 };
* along with this software. * * If not, see <http://www.gnu.org/licenses/>. */ #include <stdint.h> #include <platform.h> #include "drivers/io.h" #include "drivers/dma.h" #include "drivers/timer.h" #include "drivers/timer_def.h" const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { DEF_TIM(TIM12, CH2, PB15, TIM_USE_PPM, 0, 0), // PPM DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0), // S1 (1,7) DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0), // S2 (2,2) DEF_TIM(TIM3, CH2, PC7, TIM_USE_MOTOR, 0, 0), // S3 (2,4) (2.2) DEF_TIM(TIM3, CH1, PB4, TIM_USE_MOTOR, 0, 0), // S4 (2,7) DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 0, 0), // S5 (1,2) DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 0, 0), // S6 (1,5) DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 0, 0), // S7 (2,6) DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0, 1), // S8 (2,1) (2.3 2.6) DEF_TIM(TIM4, CH1, PB6, TIM_USE_LED, 0, 0), // LED STRIP(1,0) DEF_TIM(TIM2, CH2, PB3, TIM_USE_PWM, 0, 0), // FC CAM };
* You should have received a copy of the GNU General Public License * along with this software. * * If not, see <http://www.gnu.org/licenses/>. */ #include <stdint.h> #include "platform.h" #include "drivers/io.h" #include "drivers/dma.h" #include "drivers/timer.h" #include "drivers/timer_def.h" const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { 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, 1), // DEF_TIM(TIM8, CH4, PC9, TIM_USE_PWM, 0, 0), // Used for SDIO // DEF_TIM(TIM8, CH3, PC8, TIM_USE_PWM, 0, 1), // Used for SDIO 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), };
* (at your option) any later version. * * Cleanflight is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Cleanflight. If not, see <http://www.gnu.org/licenses/>. */ #include <stdbool.h> #include <stdint.h> #include <platform.h> #include "drivers/io.h" #include "drivers/timer.h" #include "drivers/timer_def.h" #include "drivers/dma.h" const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { 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), };
* Foundation, either version 3 of the License, or (at your option) * any later version. * * Cleanflight and Betaflight are distributed in the hope that they * will be useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this software. * * If not, see <http://www.gnu.org/licenses/>. */ #include <stdint.h> #include "platform.h" #include "drivers/io.h" #include "drivers/dma.h" #include "drivers/timer.h" #include "drivers/timer_def.h" const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { 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 | TIM_USE_LED, 0), };
* along with this software. * * If not, see <http://www.gnu.org/licenses/>. */ #include <stdint.h> #include "platform.h" #include "drivers/io.h" #include "drivers/dma.h" #include "drivers/timer.h" #include "drivers/timer_def.h" const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { DEF_TIM(TIM12, CH2, PB15, TIM_USE_PPM, 0, 0), // PPM DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0), // S1 (1,7) DEF_TIM(TIM3, CH1, PB4, TIM_USE_MOTOR, 0, 0), // S2 (1,4) DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 0, 0), // S3 (2,4) DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 0, 0), // S4 (2,7) DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 0, 0), // S5 (2,2) DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 0, 0), // S6 (2,3) DEF_TIM(TIM1, CH3, PA10, TIM_USE_LED, 0, 0), // LED STRIP(2,6) DEF_TIM(TIM2, CH2, PB3, TIM_USE_PWM, 0, 0), // FC CAM };
* (at your option) any later version. * * Cleanflight is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Cleanflight. If not, see <http://www.gnu.org/licenses/>. */ #include <stdint.h> #include <platform.h> #include "drivers/io.h" #include "drivers/timer.h" #include "drivers/timer_def.h" #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, 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(TIM3, CH4, PB1, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S6_OUT - DMA1_ST2 };
* You should have received a copy of the GNU General Public License * along with Cleanflight. If not, see <http://www.gnu.org/licenses/>. */ #include <stdint.h> #include <platform.h> #include "drivers/io.h" #include "drivers/timer.h" #include "drivers/timer_def.h" #include "drivers/dma.h" 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) };
* * If not, see <http://www.gnu.org/licenses/>. */ #include <stdint.h> #include "platform.h" #include "drivers/io.h" #include "drivers/dma.h" #include "drivers/timer.h" #include "drivers/timer_def.h" const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { // Main motors DEF_TIM(TIM3, CH2, PB5, TIM_USE_MOTOR, 0, 0), // M1 DEF_TIM(TIM3, CH1, PB4, TIM_USE_MOTOR, 0, 0), // M2 DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0), // M3 DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0), // M4 // Additional motors/servos DEF_TIM(TIM8, CH4, PC9, TIM_USE_NONE, 0, 0), // MST5 Collision with TX/RX6 (useful for OCTO) DEF_TIM(TIM8, CH3, PC8, TIM_USE_NONE, 0, 1), // MST6 Collision with TX/RX6 (useful for OCTO) DEF_TIM(TIM11, CH1, PB9, TIM_USE_NONE, 0, 0), // I2C1_SDA, MST7 DEF_TIM(TIM10, CH1, PB8, TIM_USE_NONE, 0, 0), // I2C1_SCL, MST8 // PPM DEF_TIM(TIM4, CH2, PB7, TIM_USE_PPM, 0, 0), // Overloaded with UART1_RX // LED strip DEF_TIM(TIM1, CH2, PA9, TIM_USE_LED, 0, 0),
* it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Cleanflight is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Cleanflight. If not, see <http://www.gnu.org/licenses/>. */ #include <stdint.h> #include <platform.h> #include "drivers/io.h" #include "drivers/dma.h" #include "drivers/timer.h" #include "drivers/timer_def.h" const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { 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 };
* * You should have received a copy of the GNU General Public License * along with Cleanflight. If not, see <http://www.gnu.org/licenses/>. */ #include <stdint.h> #include <platform.h> #include "drivers/io.h" #include "drivers/dma.h" #include "drivers/timer.h" #include "drivers/timer_def.h" const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { #if defined(FF_PIKOF4OSD) DEF_TIM(TIM5, CH4, PA3, TIM_USE_MOTOR, 0, 0 ), // S1_OUT - DMA1_ST7 DEF_TIM(TIM3, CH3, PB1, TIM_USE_MOTOR, 0, 0 ), // S2_OUT - DMA1_ST1 DEF_TIM(TIM5, CH3, PA2, TIM_USE_MOTOR, 0, 0 ), // S3_OUT - DMA1_ST6 DEF_TIM(TIM3, CH4, PB0, TIM_USE_MOTOR, 0, 0 ), // S4_OUT - DMA1_ST2 DEF_TIM(TIM8, CH2N, PB14, TIM_USE_MOTOR, 0, 0 ), // PA14 RC4 - DMA2_ST6, *DMA2_ST2 DEF_TIM(TIM1, CH3N, PB15, TIM_USE_MOTOR, 0, 0 ), // PA15 RC5 - DMA2_ST6, DMA2_ST6 #else DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1 ), // S1_OUT - DMA1_ST6 DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0 ), // S2_OUT - DMA1_ST7 DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0 ), // S3_OUT - DMA1_ST1 DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0 ), // S4_OUT - DMA1_ST2 #endif DEF_TIM(TIM4, CH2, PB7, TIM_USE_LED, 0, 0 ), // LED - DMA1_ST3 };
* Cleanflight is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Cleanflight. If not, see <http://www.gnu.org/licenses/>. */ #include <stdint.h> #include <platform.h> #include "drivers/io.h" #include "drivers/timer.h" #include "drivers/timer_def.h" #include "drivers/dma.h" 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, 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 };
* * You should have received a copy of the GNU General Public License * along with this software. * * If not, see <http://www.gnu.org/licenses/>. */ #include <stdint.h> #include "platform.h" #include "drivers/io.h" #include "drivers/timer.h" #include "drivers/timer_def.h" #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, 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 };
* * You should have received a copy of the GNU General Public License * along with Cleanflight. If not, see <http://www.gnu.org/licenses/>. */ #include <stdint.h> #include <platform.h> #include "drivers/io.h" #include "drivers/dma.h" #include "drivers/timer.h" #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 ), // 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, 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
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this software. * * If not, see <http://www.gnu.org/licenses/>. */ #include <stdint.h> #include "platform.h" #include "drivers/io.h" #include "drivers/dma.h" #include "drivers/timer.h" #include "drivers/timer_def.h" const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { DEF_TIM(TIM12, CH2, PB15, TIM_USE_PPM, 0, 0), DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0), DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 0, 0), DEF_TIM(TIM1, CH3, PA10, TIM_USE_MOTOR, 0, 0), DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0, 0), DEF_TIM(TIM3, CH2, PC7, TIM_USE_MOTOR, 0, 0), DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 0, 0), DEF_TIM(TIM4, CH1, PB6, TIM_USE_LED, 0, 0), };
* * You should have received a copy of the GNU General Public License * along with Cleanflight. If not, see <http://www.gnu.org/licenses/>. */ #include <stdint.h> #include <platform.h> #include "drivers/io.h" #include "drivers/dma.h" #include "drivers/timer.h" #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(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(TIM5, CH2, PA1, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 0 ), // S2_OUT 3 DMA1_ST4 DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, TIMER_OUTPUT_ENABLED, 1 ), // S1_OUT 4 DMA1_ST7 DMA1_ST6 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(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, TIMER_OUTPUT_ENABLED, 0 ), // S8_OUT DMA1_ST6
* along with this software. * * If not, see <http://www.gnu.org/licenses/>. */ #include <stdint.h> #include "platform.h" #include "drivers/io.h" #include "drivers/dma.h" #include "drivers/timer.h" #include "drivers/timer_def.h" const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { DEF_TIM(TIM10, CH1, PB8, TIM_USE_PWM | TIM_USE_PPM, 0, 0), // PPM // Motors 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, 0, 0), // D1_ST0 // UART Backdoors 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
* along with Cleanflight. If not, see <http://www.gnu.org/licenses/>. */ #include <stdint.h> #include <platform.h> #include "drivers/io.h" #include "drivers/timer.h" #include "drivers/timer_def.h" #include "drivers/dma.h" 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) #else // PPM Pad #ifdef SPRACINGF3MINI_MKII_REVA DEF_TIM(TIM3, CH2, PB5, TIM_USE_PPM, 0), // PPM - PB5 // PB4 / TIM3 CH1 is connected to USBPresent
* will be useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this software. * * If not, see <http://www.gnu.org/licenses/>. */ #include <stdint.h> #include "platform.h" #include "drivers/io.h" #include "drivers/dma.h" #include "drivers/timer.h" #include "drivers/timer_def.h" const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { DEF_TIM(TIM4, CH4, PB9, TIM_USE_PPM | TIM_USE_LED, 1, 0 ), // PPM IN DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0 ), // S1_OUT - TIM3_UP - BURST DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0 ), // S2_OUT - TIM3_UP - BURST DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0 ), // S3_OUT - TIM2_UP - BURST DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1 ), // S4_OUT - TIM2_UP - BURST DEF_TIM(TIM1, CH3, PA10, TIM_USE_MOTOR, 0, 1 ), // S5_OUT - TIM1_UP - BURST DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0, 1 ), // S6_OUT - TIM1_UP - BURST };
#include <stdint.h> #include <platform.h> #include "drivers/io.h" #include "drivers/dma.h" #include "drivers/timer.h" #include "drivers/timer_def.h" // DSHOT will work for motor 1,3,4,5,6,7 and 8. // Motor 2 pin timers have no DMA channel assigned in the hardware. Remapping of the pin is needed. // If SDCard or UART4 DMA is used motor 4 will not work. // 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, 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 };
* (at your option) any later version. * * Cleanflight is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Cleanflight. If not, see <http://www.gnu.org/licenses/>. */ #include <stdint.h> #include <platform.h> #include "drivers/io.h" #include "drivers/timer.h" #include "drivers/timer_def.h" #include "drivers/dma.h" const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0, 1), DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 0, 1), DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 0, 1), DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 0, 1), DEF_TIM(TIM3, CH4, PB1, 0, 0, 0), DEF_TIM(TIM3, CH2, PA4, 0, 0, 0), DEF_TIM(TIM2, CH2, PA1, 0, 0, 0), DEF_TIM(TIM2, CH3, PA2, 0, 0, 0) };
* * You should have received a copy of the GNU General Public License * along with this software. * * If not, see <http://www.gnu.org/licenses/>. */ #include <stdint.h> #include "platform.h" #include "drivers/io.h" #include "drivers/dma.h" #include "drivers/timer.h" #include "drivers/timer_def.h" const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { DEF_TIM(TIM9, CH2, PA3, TIM_USE_PPM, 0, 0), // PPM IN DEF_TIM(TIM1, CH2N, PB0, TIM_USE_MOTOR, 0, 0), // M1 - DMAR: DMA2_ST5 DEF_TIM(TIM1, CH3N, PB1, TIM_USE_MOTOR, 0, 0), // M2 - DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 0, 0), // M3 - DMAR: DMA1_ST7 DEF_TIM(TIM2, CH1, PA0, TIM_USE_MOTOR, 0, 0), // M4 - DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 0, 0), // M5 - DMAR: DMA2_ST1 DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 0, 0), // M6 - DEF_TIM(TIM3, CH2, PB5, TIM_USE_MOTOR, 0, 0), // M7 - DMAR: DMA1_ST2 DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR, 0, 0), // M8 - DMAR: DMA1_ST6 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) };