diff --git a/src/main/drivers/pwm_mapping.c b/src/main/drivers/pwm_mapping.c
deleted file mode 100755
index e033674653..0000000000
--- a/src/main/drivers/pwm_mapping.c
+++ /dev/null
@@ -1,388 +0,0 @@
-/*
- * This file is part of Cleanflight.
- *
- * Cleanflight is free software: you can redistribute it and/or modify
- * 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 .
- */
-
-#include
-#include
-#include
-
-#include "platform.h"
-
-#include "gpio.h"
-#include "io.h"
-#include "io_impl.h"
-#include "timer.h"
-
-#include "pwm_output.h"
-#include "pwm_rx.h"
-#include "pwm_mapping.h"
-
-/*
- Configuration maps
-
- Note: this documentation is only valid for STM32F10x, for STM32F30x please read the code itself.
-
- 1) multirotor PPM input
- PWM1 used for PPM
- PWM5..8 used for motors
- PWM9..10 used for servo or else motors
- PWM11..14 used for motors
-
- 2) multirotor PPM input with more servos
- PWM1 used for PPM
- PWM5..8 used for motors
- PWM9..10 used for servo or else motors
- PWM11..14 used for servos
-
- 2) multirotor PWM input
- PWM1..8 used for input
- PWM9..10 used for servo or else motors
- PWM11..14 used for motors
-
- 3) airplane / flying wing w/PWM
- PWM1..8 used for input
- PWM9 used for motor throttle +PWM10 for 2nd motor
- PWM11.14 used for servos
-
- 4) airplane / flying wing with PPM
- PWM1 used for PPM
- PWM5..8 used for servos
- PWM9 used for motor throttle +PWM10 for 2nd motor
- PWM11.14 used for servos
-*/
-
-const uint16_t * const hardwareMaps[] = {
- multiPWM,
- multiPPM,
- airPWM,
- airPPM,
-};
-
-#ifdef CC3D
-const uint16_t * const hardwareMapsBP6[] = {
- multiPWM_BP6,
- multiPPM_BP6,
- airPWM_BP6,
- airPPM_BP6,
-};
-#endif
-
-static pwmOutputConfiguration_t pwmOutputConfiguration;
-
-pwmOutputConfiguration_t *pwmGetOutputConfiguration(void)
-{
- return &pwmOutputConfiguration;
-}
-
-pwmOutputConfiguration_t *pwmInit(drv_pwm_config_t *init)
-{
- const uint16_t *setup;
-
-#ifndef SKIP_RX_PWM_PPM
- int channelIndex = 0;
-#endif
-
- memset(&pwmOutputConfiguration, 0, sizeof(pwmOutputConfiguration));
-
- // this is pretty hacky shit, but it will do for now. array of 4 config maps, [ multiPWM multiPPM airPWM airPPM ]
- int i = 0;
- if (init->airplane)
- i = 2; // switch to air hardware config
- if (init->usePPM || init->useSerialRx)
- i++; // next index is for PPM
-
-#ifdef CC3D
- setup = init->useBuzzerP6 ? hardwareMapsBP6[i] : hardwareMaps[i];
-#else
- setup = hardwareMaps[i];
-#endif
-#ifndef SKIP_RX_PWM_PPM
- TIM_TypeDef* ppmTimer = NULL;
-#endif
- for (i = 0; i < USABLE_TIMER_CHANNEL_COUNT && setup[i] != 0xFFFF; i++) {
- uint8_t timerIndex = setup[i] & 0x00FF;
- uint8_t type = (setup[i] & 0xFF00) >> 8;
-
- const timerHardware_t *timerHardwarePtr = &timerHardware[timerIndex];
-
-#ifdef OLIMEXINO_UNCUT_LED2_E_JUMPER
- // PWM2 is connected to LED2 on the board and cannot be connected unless you cut LED2_E
- if (timerIndex == PWM2)
- continue;
-#endif
-
-#ifdef STM32F10X
- // skip UART2 ports
- if (init->useUART2 && (timerIndex == PWM3 || timerIndex == PWM4))
- continue;
-#endif
-
-#if defined(STM32F303xC) && defined(USE_UART3)
- // skip UART3 ports (PB10/PB11)
- if (init->useUART3 && (timerHardwarePtr->tag == IO_TAG(UART3_TX_PIN) || timerHardwarePtr->tag == IO_TAG(UART3_RX_PIN)))
- continue;
-#endif
-
-#ifdef SOFTSERIAL_1_TIMER
- if (init->useSoftSerial && timerHardwarePtr->tim == SOFTSERIAL_1_TIMER)
- continue;
-#endif
-#ifdef SOFTSERIAL_2_TIMER
- if (init->useSoftSerial && timerHardwarePtr->tim == SOFTSERIAL_2_TIMER)
- continue;
-#endif
-
-#ifdef WS2811_TIMER
- // skip LED Strip output
- if (init->useLEDStrip) {
- if (timerHardwarePtr->tim == WS2811_TIMER)
- continue;
-#if defined(STM32F303xC) && defined(WS2811_PIN)
- if (timerHardwarePtr->tag == IO_TAG(WS2811_PIN))
- continue;
-#endif
- }
-
-#endif
-
-#ifdef VBAT_ADC_PIN
- if (init->useVbat && timerHardwarePtr->tag == IO_TAG(VBAT_ADC_PIN)) {
- continue;
- }
-#endif
-
-#ifdef RSSI_ADC_PIN
- if (init->useRSSIADC && timerHardwarePtr->tag == IO_TAG(RSSI_ADC_PIN)) {
- continue;
- }
-#endif
-
-#ifdef CURRENT_METER_ADC_PIN
- if (init->useCurrentMeterADC && timerHardwarePtr->tag == IO_TAG(CURRENT_METER_ADC_PIN)) {
- continue;
- }
-#endif
-
-#ifdef SONAR
- if (init->useSonar &&
- (
- timerHardwarePtr->tag == init->sonarIOConfig.triggerTag ||
- timerHardwarePtr->tag == init->sonarIOConfig.echoTag
- )) {
- continue;
- }
-#endif
-
- // hacks to allow current functionality
- if (type == MAP_TO_PWM_INPUT && !init->useParallelPWM)
- continue;
-
- if (type == MAP_TO_PPM_INPUT && !init->usePPM)
- continue;
-
-#ifdef USE_SERVOS
- if (init->useServos && !init->airplane) {
-#if defined(NAZE)
- // remap PWM9+10 as servos
- if ((timerIndex == PWM9 || timerIndex == PWM10) && timerHardwarePtr->tim == TIM1)
- type = MAP_TO_SERVO_OUTPUT;
-#endif
-
-#if defined(DOGE)
- // remap outputs 1+2 (PWM2+3) as servos
- if ((timerIndex == PWM2 || timerIndex == PWM3) && timerHardwarePtr->tim == TIM4)
- type = MAP_TO_SERVO_OUTPUT;
-#endif
-
-#if defined(COLIBRI_RACE) || defined(LUX_RACE)
- // remap PWM1+2 as servos
- if ((timerIndex == PWM6 || timerIndex == PWM7 || timerIndex == PWM8 || timerIndex == PWM9) && timerHardwarePtr->tim == TIM2)
- type = MAP_TO_SERVO_OUTPUT;
-#endif
-
-#if defined(CC3D)
- // remap PWM9+10 as servos
- if ((timerIndex == PWM9 || timerIndex == PWM10) && timerHardwarePtr->tim == TIM1)
- type = MAP_TO_SERVO_OUTPUT;
-#endif
-
-#if defined(SPARKY)
- // remap PWM1+2 as servos
- if ((timerIndex == PWM1 || timerIndex == PWM2) && timerHardwarePtr->tim == TIM15)
- type = MAP_TO_SERVO_OUTPUT;
-#endif
-
-#if defined(SPRACINGF3)
- // remap PWM15+16 as servos
- if ((timerIndex == PWM15 || timerIndex == PWM16) && timerHardwarePtr->tim == TIM15)
- type = MAP_TO_SERVO_OUTPUT;
-#endif
-
-#if defined(X_RACERSPI)
- // skip UART2 ports when necessary
- if (init->useUART2) {
- // this board maps UART2 and PWM13,PWM14 to the same pins
- if (timerIndex == PWM13 || timerIndex == PWM14)
- continue;
-
- // remap PWM5+6 as servos when using UART2 .. except if softserial1, but that's caught above
- if ((timerIndex == PWM5 || timerIndex == PWM6) && timerHardwarePtr->tim == TIM3)
- type = MAP_TO_SERVO_OUTPUT;
- } else {
- // remap PWM13+14 as servos
- if ((timerIndex == PWM13 || timerIndex == PWM14) && timerHardwarePtr->tim == TIM15)
- type = MAP_TO_SERVO_OUTPUT;
- }
-#endif
-
-#if defined(SPRACINGF3MINI) || defined(OMNIBUS)
- // remap PWM6+7 as servos
- if ((timerIndex == PWM6 || timerIndex == PWM7) && timerHardwarePtr->tim == TIM15)
- type = MAP_TO_SERVO_OUTPUT;
-#endif
-
-#if defined(RCEXPLORERF3)
- if (timerIndex == PWM2)
- {
- type = MAP_TO_SERVO_OUTPUT;
- }
-#endif
-
-#if defined(SPRACINGF3EVO)
- // remap PWM6+7 as servos
- if ((timerIndex == PWM8 || timerIndex == PWM9) && timerHardwarePtr->tim == TIM3)
- type = MAP_TO_SERVO_OUTPUT;
-#endif
-
-#if (defined(STM32F3DISCOVERY) && !defined(CHEBUZZF3))
- // remap PWM 5+6 or 9+10 as servos - softserial pin pairs require timer ports that use the same timer
- if (init->useSoftSerial) {
- if (timerIndex == PWM5 || timerIndex == PWM6)
- type = MAP_TO_SERVO_OUTPUT;
- } else {
- if (timerIndex == PWM9 || timerIndex == PWM10)
- type = MAP_TO_SERVO_OUTPUT;
- }
-#endif
-
-#if defined(MOTOLAB)
- // remap PWM 7+8 as servos
- if (timerIndex == PWM7 || timerIndex == PWM8)
- type = MAP_TO_SERVO_OUTPUT;
-#endif
-
-#if defined(SINGULARITY)
- // remap PWM6+7 as servos
- if (timerIndex == PWM6 || timerIndex == PWM7)
- type = MAP_TO_SERVO_OUTPUT;
-#endif
- }
-
- if (init->useChannelForwarding && !init->airplane) {
-#if defined(NAZE) && defined(WS2811_TIMER)
- // if LED strip is active, PWM5-8 are unavailable, so map AUX1+AUX2 to PWM13+PWM14
- if (init->useLEDStrip) {
- if (timerIndex >= PWM13 && timerIndex <= PWM14) {
- type = MAP_TO_SERVO_OUTPUT;
- }
- } else
-#endif
-
-#if defined(SPRACINGF3) || defined(NAZE)
- // remap PWM5..8 as servos when used in extended servo mode
- if (timerIndex >= PWM5 && timerIndex <= PWM8)
- type = MAP_TO_SERVO_OUTPUT;
-#elif defined(X_RACERSPI)
- // remap PWM3..6 as servos when used in extended servo mode
- if (timerIndex >= PWM3 && timerIndex <= PWM6)
- type = MAP_TO_SERVO_OUTPUT;
-#endif
-
- }
-
-#endif // USE_SERVOS
-
-#ifdef CC3D
- if (init->useParallelPWM) {
- // Skip PWM inputs that conflict with timers used outputs.
- if ((type == MAP_TO_SERVO_OUTPUT || type == MAP_TO_MOTOR_OUTPUT) && (timerHardwarePtr->tim == TIM2 || timerHardwarePtr->tim == TIM3)) {
- continue;
- }
- if (type == MAP_TO_PWM_INPUT && timerHardwarePtr->tim == TIM4) {
- continue;
- }
- }
-#endif
-
- if (type == MAP_TO_PPM_INPUT) {
-#ifndef SKIP_RX_PWM_PPM
- ppmTimer = timerHardwarePtr->tim;
- ppmInConfig(timerHardwarePtr);
-#endif
- } else if (type == MAP_TO_PWM_INPUT) {
-#ifndef SKIP_RX_PWM_PPM
- pwmInConfig(timerHardwarePtr, channelIndex);
- channelIndex++;
-#endif
- } else if (type == MAP_TO_MOTOR_OUTPUT) {
- // Check if we already configured maximum supported number of motors or output ports and skip the rest
- if (pwmOutputConfiguration.motorCount >= MAX_MOTORS || pwmOutputConfiguration.outputCount >= MAX_PWM_OUTPUT_PORTS) {
- continue;
- }
-#ifdef CC3D
- if (!(init->pwmProtocolType == PWM_TYPE_CONVENTIONAL)) {
- // Skip it if it would cause PPM capture timer to be reconfigured or manually overflowed
- if (timerHardwarePtr->tim == TIM2)
- continue;
- }
-#endif
-#ifndef SKIP_RX_PWM_PPM
- if (init->usePPM) {
- if (init->pwmProtocolType != PWM_TYPE_CONVENTIONAL && timerHardwarePtr->tim == ppmTimer) {
- ppmAvoidPWMTimerClash(timerHardwarePtr, ppmTimer, init->pwmProtocolType);
- }
- }
-#endif
- if (init->useFastPwm) {
- pwmFastPwmMotorConfig(timerHardwarePtr, pwmOutputConfiguration.motorCount, init->motorPwmRate, init->idlePulse, init->pwmProtocolType);
- pwmOutputConfiguration.portConfigurations[pwmOutputConfiguration.outputCount].flags = PWM_PF_MOTOR | PWM_PF_OUTPUT_PROTOCOL_PWM | PWM_PF_OUTPUT_PROTOCOL_ONESHOT;
- } else if (init->pwmProtocolType == PWM_TYPE_BRUSHED) {
- pwmBrushedMotorConfig(timerHardwarePtr, pwmOutputConfiguration.motorCount, init->motorPwmRate);
- pwmOutputConfiguration.portConfigurations[pwmOutputConfiguration.outputCount].flags = PWM_PF_MOTOR | PWM_PF_OUTPUT_PROTOCOL_PWM | PWM_PF_MOTOR_MODE_BRUSHED;
- } else {
- pwmBrushlessMotorConfig(timerHardwarePtr, pwmOutputConfiguration.motorCount, init->motorPwmRate, init->idlePulse);
- pwmOutputConfiguration.portConfigurations[pwmOutputConfiguration.outputCount].flags = PWM_PF_MOTOR | PWM_PF_OUTPUT_PROTOCOL_PWM;
- }
- pwmOutputConfiguration.portConfigurations[pwmOutputConfiguration.outputCount].index = pwmOutputConfiguration.motorCount;
- pwmOutputConfiguration.portConfigurations[pwmOutputConfiguration.outputCount].timerHardware = timerHardwarePtr;
- pwmOutputConfiguration.motorCount++;
- pwmOutputConfiguration.outputCount++;
- } else if (type == MAP_TO_SERVO_OUTPUT) {
-#ifdef USE_SERVOS
- if (pwmOutputConfiguration.servoCount >= MAX_SERVOS || pwmOutputConfiguration.outputCount >= MAX_PWM_OUTPUT_PORTS) {
- continue;
- }
- pwmOutputConfiguration.portConfigurations[pwmOutputConfiguration.outputCount].index = pwmOutputConfiguration.servoCount;
- pwmServoConfig(timerHardwarePtr, pwmOutputConfiguration.servoCount, init->servoPwmRate, init->servoCenterPulse);
- pwmOutputConfiguration.portConfigurations[pwmOutputConfiguration.outputCount].flags = PWM_PF_SERVO | PWM_PF_OUTPUT_PROTOCOL_PWM;
- pwmOutputConfiguration.servoCount++;
- pwmOutputConfiguration.outputCount++;
-#endif
- }
- }
-
- return &pwmOutputConfiguration;
-}
diff --git a/src/main/drivers/pwm_mapping.h b/src/main/drivers/pwm_mapping.h
deleted file mode 100644
index c017061835..0000000000
--- a/src/main/drivers/pwm_mapping.h
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * This file is part of Cleanflight.
- *
- * Cleanflight is free software: you can redistribute it and/or modify
- * 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 .
- */
-
-#pragma once
-
-#include "io_types.h"
-
-#define MAX_PWM_MOTORS 12
-#define MAX_PWM_SERVOS 8
-
-#define MAX_MOTORS 12
-#define MAX_SERVOS 8
-#define MAX_PWM_OUTPUT_PORTS MAX_PWM_MOTORS // must be set to the largest of either MAX_MOTORS or MAX_SERVOS
-
-#if MAX_PWM_OUTPUT_PORTS < MAX_MOTORS || MAX_PWM_OUTPUT_PORTS < MAX_SERVOS
-#error Invalid motor/servo/port configuration
-#endif
-
-#define PWM_TIMER_MHZ 1
-
-
-typedef struct sonarIOConfig_s {
- ioTag_t triggerTag;
- ioTag_t echoTag;
-} sonarIOConfig_t;
-
-typedef struct drv_pwm_config_s {
- bool useParallelPWM;
- bool usePPM;
- bool useSerialRx;
- bool useRSSIADC;
- bool useCurrentMeterADC;
- bool useUART2;
- bool useUART3;
- bool useUART6;
- bool useVbat;
- bool useFastPwm;
- bool useSoftSerial;
- bool useLEDStrip;
-#ifdef SONAR
- bool useSonar;
-#endif
-#ifdef USE_SERVOS
- bool useServos;
- bool useChannelForwarding; // configure additional channels as servos
- uint16_t servoPwmRate;
- uint16_t servoCenterPulse;
-#endif
-#ifdef CC3D
- bool useBuzzerP6;
-#endif
- bool airplane; // fixed wing hardware config, lots of servos etc
- uint8_t pwmProtocolType;
- uint16_t motorPwmRate;
- uint16_t idlePulse; // PWM value to use when initializing the driver. set this to either PULSE_1MS (regular pwm),
- // some higher value (used by 3d mode), or 0, for brushed pwm drivers.
- sonarIOConfig_t sonarIOConfig;
-} drv_pwm_config_t;
-
-
-enum {
- MAP_TO_PPM_INPUT = 1,
- MAP_TO_PWM_INPUT,
- MAP_TO_MOTOR_OUTPUT,
- MAP_TO_SERVO_OUTPUT,
-};
-
-typedef enum {
- PWM_PF_NONE = 0,
- PWM_PF_MOTOR = (1 << 0),
- PWM_PF_SERVO = (1 << 1),
- PWM_PF_MOTOR_MODE_BRUSHED = (1 << 2),
- PWM_PF_OUTPUT_PROTOCOL_PWM = (1 << 3),
- PWM_PF_OUTPUT_PROTOCOL_ONESHOT = (1 << 4)
-} pwmPortFlags_e;
-
-struct timerHardware_s;
-typedef struct pwmPortConfiguration_s {
- uint8_t index;
- pwmPortFlags_e flags;
- const struct timerHardware_s *timerHardware;
-} pwmPortConfiguration_t;
-
-typedef struct pwmOutputConfiguration_s {
- uint8_t servoCount;
- uint8_t motorCount;
- uint8_t outputCount;
- pwmPortConfiguration_t portConfigurations[MAX_PWM_OUTPUT_PORTS];
-} pwmOutputConfiguration_t;
-
-// This indexes into the read-only hardware definition structure, timerHardware_t
-enum {
- PWM1 = 0,
- PWM2,
- PWM3,
- PWM4,
- PWM5,
- PWM6,
- PWM7,
- PWM8,
- PWM9,
- PWM10,
- PWM11,
- PWM12,
- PWM13,
- PWM14,
- PWM15,
- PWM16,
- PWM17,
- PWM18,
- PWM19,
- PWM20
-};
-
-extern const uint16_t multiPPM[];
-extern const uint16_t multiPWM[];
-extern const uint16_t airPPM[];
-extern const uint16_t airPWM[];
-
-#ifdef CC3D
-extern const uint16_t multiPPM_BP6[];
-extern const uint16_t multiPWM_BP6[];
-extern const uint16_t airPPM_BP6[];
-extern const uint16_t airPWM_BP6[];
-#endif
-
-pwmOutputConfiguration_t *pwmInit(drv_pwm_config_t *init);
-pwmOutputConfiguration_t *pwmGetOutputConfiguration(void);
diff --git a/src/main/target/AIORACERF3/target.c b/src/main/target/AIORACERF3/target.c
index f950c67844..acb1586cfe 100644
--- a/src/main/target/AIORACERF3/target.c
+++ b/src/main/target/AIORACERF3/target.c
@@ -19,67 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM4 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM9 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM10 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM4 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM9 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM10 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8),
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
// PPM / UART2 RX
{ TIM8, IO_TAG(PA15), TIM_Channel_1, TIM8_CC_IRQn, 0, IOCFG_AF_PP_PD, GPIO_AF_2 }, // PPM
diff --git a/src/main/target/AIR32/target.c b/src/main/target/AIR32/target.c
index b5b9889379..6ead0d6fee 100644
--- a/src/main/target/AIR32/target.c
+++ b/src/main/target/AIR32/target.c
@@ -19,45 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM9 | (MAP_TO_PPM_INPUT << 8), // PPM input
-
- PWM1 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- // TODO
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- // TODO
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM3, IO_TAG(PA4), TIM_Channel_2, TIM3_IRQn, 1, IOCFG_AF_PP, GPIO_AF_2 }, // PWM1 - PA4 - *TIM3_CH2
{ TIM3, IO_TAG(PA6), TIM_Channel_1, TIM3_IRQn, 1, IOCFG_AF_PP, GPIO_AF_2 }, // PWM2 - PA6 - *TIM3_CH1, TIM8_BKIN, TIM1_BKIN, TIM16_CH1
diff --git a/src/main/target/AIRHEROF3/target.c b/src/main/target/AIRHEROF3/target.c
index 4b516689ab..242a1945f9 100755
--- a/src/main/target/AIRHEROF3/target.c
+++ b/src/main/target/AIRHEROF3/target.c
@@ -19,75 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM4 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8), // input #8
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or servo #1 (swap to servo if needed)
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2 or servo #2 (swap to servo if needed)
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or #3
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #4 or #6
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM4 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8), // servo #4
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8), // servo #5
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8), // servo #8
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8), // input #8
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8), // servo #4
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM2, IO_TAG(PA0), TIM_Channel_1, TIM2_IRQn, 0, IOCFG_AF_PP, GPIO_AF_1}, // PWM1 - RC1
{ TIM2, IO_TAG(PA1), TIM_Channel_2, TIM2_IRQn, 0, IOCFG_AF_PP, GPIO_AF_1}, // PWM2 - RC2
diff --git a/src/main/target/ALIENFLIGHTF1/target.c b/src/main/target/ALIENFLIGHTF1/target.c
index dec8739ba0..e838c785ba 100644
--- a/src/main/target/ALIENFLIGHTF1/target.c
+++ b/src/main/target/ALIENFLIGHTF1/target.c
@@ -19,75 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8), // input #8
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or servo #1 (swap to servo if needed)
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2 or servo #2 (swap to servo if needed)
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or #3
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #4 or #6
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8), // servo #4
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8), // servo #5
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8), // servo #8
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8), // input #8
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8), // servo #4
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM2, IO_TAG(PA0), TIM_Channel_1, TIM2_IRQn, 0, IOCFG_IPD }, // PWM1 - RC1
{ TIM2, IO_TAG(PA1), TIM_Channel_2, TIM2_IRQn, 0, IOCFG_IPD }, // PWM2 - RC2
diff --git a/src/main/target/ALIENFLIGHTF3/config.c b/src/main/target/ALIENFLIGHTF3/config.c
index 2d2cb1ded1..2ddb49c684 100644
--- a/src/main/target/ALIENFLIGHTF3/config.c
+++ b/src/main/target/ALIENFLIGHTF3/config.c
@@ -42,7 +42,7 @@
// alternative defaults settings for AlienFlight targets
-void targetConfiguration(master_t *config)
+void targetConfiguration(master_t *config)
{
config->mag_hardware = MAG_NONE; // disabled by default
config->rxConfig.spektrum_sat_bind = 5;
diff --git a/src/main/target/ALIENFLIGHTF3/target.c b/src/main/target/ALIENFLIGHTF3/target.c
index 8169e9e912..fc7861550b 100644
--- a/src/main/target/ALIENFLIGHTF3/target.c
+++ b/src/main/target/ALIENFLIGHTF3/target.c
@@ -19,50 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM11 | (MAP_TO_PPM_INPUT << 8), // PPM input
-
- PWM1 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM15
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM15
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM1
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM3
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM3
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM2
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM3
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM17
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM3
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM2
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- // TODO
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- // TODO
- 0xFFFF
-};
-
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
// up to 10 Motor Outputs
{ TIM15, IO_TAG(PB15), TIM_Channel_2, TIM1_BRK_TIM15_IRQn, 1, IOCFG_AF_PP, GPIO_AF_1 }, // PWM1 - PB15 - TIM1_CH3N, TIM15_CH1N, *TIM15_CH2
diff --git a/src/main/target/ALIENFLIGHTF4/config.c b/src/main/target/ALIENFLIGHTF4/config.c
index 76c2565bc3..b357b9c7ba 100644
--- a/src/main/target/ALIENFLIGHTF4/config.c
+++ b/src/main/target/ALIENFLIGHTF4/config.c
@@ -42,7 +42,7 @@
// alternative defaults settings for AlienFlight targets
-void targetConfiguration(master_t *config)
+void targetConfiguration(master_t *config)
{
config->mag_hardware = MAG_NONE; // disabled by default
config->rxConfig.spektrum_sat_bind = 5;
diff --git a/src/main/target/ALIENFLIGHTF4/target.c b/src/main/target/ALIENFLIGHTF4/target.c
index dafcdf86da..dcdce3e43c 100644
--- a/src/main/target/ALIENFLIGHTF4/target.c
+++ b/src/main/target/ALIENFLIGHTF4/target.c
@@ -19,77 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or servo #1 (swap to servo if needed)
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2 or servo #2 (swap to servo if needed)
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #3 or #1
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #4 or #2
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #5 or #3
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #6 or #4
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #7 or #5
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #8 or #6
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8), // input #2
- PWM3 | (MAP_TO_PWM_INPUT << 8), // input #3
- PWM4 | (MAP_TO_PWM_INPUT << 8), // input #4
- PWM5 | (MAP_TO_PWM_INPUT << 8), // input #5
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or servo #1 (swap to servo if needed)
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2 or servo #2 (swap to servo if needed)
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #3 or #1
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #4 or #2
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #5 or #3
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #6 or #4
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #7 or #5
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #8 or #6
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM9 | (MAP_TO_SERVO_OUTPUT << 8), // servo #2
- PWM10 | (MAP_TO_SERVO_OUTPUT << 8), // servo #3
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #4
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8), // servo #5
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8), // servo #6
- PWM2 | (MAP_TO_SERVO_OUTPUT << 8), // servo #7
- PWM3 | (MAP_TO_SERVO_OUTPUT << 8), // servo #8
- PWM4 | (MAP_TO_SERVO_OUTPUT << 8), // servo #9
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8), // servo #10
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8), // input #2
- PWM3 | (MAP_TO_PWM_INPUT << 8), // input #3
- PWM4 | (MAP_TO_PWM_INPUT << 8), // input #4
- PWM5 | (MAP_TO_PWM_INPUT << 8), // input #5
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM9 | (MAP_TO_SERVO_OUTPUT << 8), // servo #2
- PWM10 | (MAP_TO_SERVO_OUTPUT << 8), // servo #3
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #4
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8), // servo #5
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8), // servo #6
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM1, IO_TAG(PA8), TIM_Channel_1, TIM1_CC_IRQn, 0, IOCFG_AF_PP, GPIO_AF_TIM1 }, // PWM1 - PA8 RC1
{ TIM1, IO_TAG(PB0), TIM_Channel_2, TIM1_CC_IRQn, 0, IOCFG_AF_PP, GPIO_AF_TIM1 }, // PWM2 - PB0 RC2
diff --git a/src/main/target/BETAFLIGHTF3/target.c b/src/main/target/BETAFLIGHTF3/target.c
index b96615c6a6..26c8c44a73 100755
--- a/src/main/target/BETAFLIGHTF3/target.c
+++ b/src/main/target/BETAFLIGHTF3/target.c
@@ -21,52 +21,6 @@
#include
#include "drivers/io.h"
#include "drivers/timer.h"
-#include "drivers/pwm_mapping.h"
-
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8),
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8),
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM3, IO_TAG(PB7), TIM_Channel_4, TIM3_IRQn, 0, IOCFG_AF_PP, GPIO_AF_1 }, // RC_CH1 - PA0 - *TIM2_CH1
diff --git a/src/main/target/CC3D/target.c b/src/main/target/CC3D/target.c
index 589c6af30d..c0a1dd07c2 100644
--- a/src/main/target/CC3D/target.c
+++ b/src/main/target/CC3D/target.c
@@ -19,130 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM6 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #3
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #4
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8), // input #6
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or servo #1 (swap to servo if needed)
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2 or servo #2 (swap to servo if needed)
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or #3
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #4 or #6
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM6 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM9 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM10 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM2 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM3 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM4 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8), // input #6
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM9 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM10 | (MAP_TO_SERVO_OUTPUT << 8), // servo #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #3
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8), // servo #4
- 0xFFFF
-};
-
-const uint16_t multiPPM_BP6[] = {
- PWM6 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #3
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #4
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t multiPWM_BP6[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8), // input #6
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or servo #1 (swap to servo if needed)
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2 or servo #2 (swap to servo if needed)
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or #3
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPPM_BP6[] = {
- PWM6 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM9 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM10 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM2 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM3 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM4 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPWM_BP6[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8), // input #6
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM9 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM10 | (MAP_TO_SERVO_OUTPUT << 8), // servo #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #3
- 0xFFFF
-};
-
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM4, IO_TAG(PB6), TIM_Channel_1, TIM4_IRQn, 0, IOCFG_IPD }, // S1_IN
{ TIM3, IO_TAG(PB5), TIM_Channel_2, TIM3_IRQn, 0, IOCFG_IPD }, // S2_IN - SoftSerial TX - GPIO_PartialRemap_TIM3 / Sonar trigger
diff --git a/src/main/target/CHEBUZZF3/target.c b/src/main/target/CHEBUZZF3/target.c
index c2aca46716..8867ca53e6 100644
--- a/src/main/target/CHEBUZZF3/target.c
+++ b/src/main/target/CHEBUZZF3/target.c
@@ -19,75 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8), // input #8
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or servo #1 (swap to servo if needed)
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2 or servo #2 (swap to servo if needed)
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or #3
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #4 or #6
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8), // servo #4
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8), // servo #5
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8), // servo #8
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8), // input #8
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8), // servo #4
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
// INPUTS CH1-8
{ TIM1, IO_TAG(PA8), TIM_Channel_1, TIM1_CC_IRQn, 1, IOCFG_AF_PP_PD, GPIO_AF_6 }, // PWM1 - PA8
diff --git a/src/main/target/CJMCU/target.c b/src/main/target/CJMCU/target.c
index 3562e3234d..d784dfcb9f 100644
--- a/src/main/target/CJMCU/target.c
+++ b/src/main/target/CJMCU/target.c
@@ -19,40 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8),
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM9 | (MAP_TO_PWM_INPUT << 8),
- PWM10 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM2, IO_TAG(PA0), TIM_Channel_1, TIM2_IRQn, 0, IOCFG_IPD }, // PWM1 - RC1
{ TIM2, IO_TAG(PA1), TIM_Channel_2, TIM2_IRQn, 0, IOCFG_IPD }, // PWM2 - RC2
diff --git a/src/main/target/COLIBRI/target.c b/src/main/target/COLIBRI/target.c
index 7392620ff0..b9cb1b1704 100644
--- a/src/main/target/COLIBRI/target.c
+++ b/src/main/target/COLIBRI/target.c
@@ -20,89 +20,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM15 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM16 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8), // input #8
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM15 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM16 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM15 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM16 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM2 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM3 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM4 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8), // input #8
- PWM9 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM10 | (MAP_TO_SERVO_OUTPUT << 8), // servo #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #3
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8), // servo #4
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM15 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM16 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM1, IO_TAG(PA10), TIM_Channel_3, TIM1_CC_IRQn, 0, IOCFG_AF_PP, GPIO_AF_TIM1 }, // S1_IN
{ TIM8, IO_TAG(PC6), TIM_Channel_1, TIM8_CC_IRQn, 0, IOCFG_AF_PP, GPIO_AF_TIM8 }, // S2_IN
diff --git a/src/main/target/COLIBRI_RACE/config.c b/src/main/target/COLIBRI_RACE/config.c
index 7a008e4fef..3c3860c0b0 100644
--- a/src/main/target/COLIBRI_RACE/config.c
+++ b/src/main/target/COLIBRI_RACE/config.c
@@ -29,9 +29,8 @@
// alternative defaults settings for COLIBRI RACE targets
-void targetConfiguration(master_t *config)
+void targetConfiguration(master_t *config)
{
- config->motorConfig.minthrottle = 1025;
config->motorConfig.maxthrottle = 1980;
config->batteryConfig.vbatmaxcellvoltage = 45;
config->batteryConfig.vbatmincellvoltage = 30;
diff --git a/src/main/target/COLIBRI_RACE/target.c b/src/main/target/COLIBRI_RACE/target.c
index 099f9b62e7..9bf7e986c0 100644
--- a/src/main/target/COLIBRI_RACE/target.c
+++ b/src/main/target/COLIBRI_RACE/target.c
@@ -19,69 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- // prevent crashing, but do nothing
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- // prevent crashing, but do nothing
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
+
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM1, IO_TAG(PA8), TIM_Channel_1, TIM1_CC_IRQn, 0, IOCFG_AF_PP_PD, GPIO_AF_6 }, // PWM1 - PA8
{ TIM3, IO_TAG(PC6), TIM_Channel_1, TIM3_IRQn, 1, IOCFG_AF_PP, GPIO_AF_2 }, // PWM2 - PC6
diff --git a/src/main/target/DOGE/target.c b/src/main/target/DOGE/target.c
index ca13ef7d0b..b75f0e7dd8 100644
--- a/src/main/target/DOGE/target.c
+++ b/src/main/target/DOGE/target.c
@@ -19,61 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- // prevent crashing, but do nothing
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- // prevent crashing, but do nothing
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM1, IO_TAG(PA8), TIM_Channel_1, TIM1_CC_IRQn, 0, IOCFG_AF_PP_PD, GPIO_AF_6 }, // PWM1 - PA8
diff --git a/src/main/target/EUSTM32F103RC/target.c b/src/main/target/EUSTM32F103RC/target.c
index 0dc2d66044..e73d34f83a 100644
--- a/src/main/target/EUSTM32F103RC/target.c
+++ b/src/main/target/EUSTM32F103RC/target.c
@@ -19,75 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8), // input #8
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or servo #1 (swap to servo if needed)
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2 or servo #2 (swap to servo if needed)
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or #3
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #4 or #6
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8), // servo #4
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8), // servo #5
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8), // servo #8
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8), // input #8
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8), // servo #4
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM2, IO_TAG(PA0), TIM_Channel_1, TIM2_IRQn, 0, IOCFG_IPD }, // PWM1 - RC1
{ TIM2, IO_TAG(PA1), TIM_Channel_2, TIM2_IRQn, 0, IOCFG_IPD }, // PWM2 - RC2
diff --git a/src/main/target/F4BY/target.c b/src/main/target/F4BY/target.c
index e9befde0ab..42608606e9 100644
--- a/src/main/target/F4BY/target.c
+++ b/src/main/target/F4BY/target.c
@@ -2,88 +2,9 @@
#include
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM15 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM16 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8), // Swap to servo if needed
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8), // Swap to servo if needed
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8), // Swap to servo if needed
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8), // Swap to servo if needed
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8), // input #8
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #4 or #6
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM15 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #4 or #6
- PWM16 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #4 or #6
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM15 | (MAP_TO_SERVO_OUTPUT << 8), // Swap to servo if needed
- PWM16 | (MAP_TO_SERVO_OUTPUT << 8), // Swap to servo if needed
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8), // Swap to servo if needed
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8), // Swap to servo if needed
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8), // Swap to servo if needed
- PWM4 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM3 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM2 | (MAP_TO_SERVO_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8), // input #8
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8), // servo #2
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8), // servo #3
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8), // servo #4
- PWM15 | (MAP_TO_SERVO_OUTPUT << 8), // servo #5
- PWM15 | (MAP_TO_SERVO_OUTPUT << 8), // servo #6
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM3, IO_TAG(PC9), TIM_Channel_4, TIM3_IRQn, 0, IOCFG_AF_PP, GPIO_AF_TIM3}, // S1_IN
{ TIM3, IO_TAG(PC8), TIM_Channel_3, TIM3_IRQn, 0, IOCFG_AF_PP, GPIO_AF_TIM3}, // S2_IN
diff --git a/src/main/target/FURYF3/target.c b/src/main/target/FURYF3/target.c
index db28609d97..7de36bf968 100644
--- a/src/main/target/FURYF3/target.c
+++ b/src/main/target/FURYF3/target.c
@@ -19,55 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
-
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8),
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
-
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM2 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM3 | (MAP_TO_SERVO_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8),
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM2, IO_TAG(PB3), TIM_Channel_2, TIM2_IRQn, 0, IOCFG_AF_PP, GPIO_AF_1 }, // PPM IN
{ TIM3, IO_TAG(PB0), TIM_Channel_3, TIM3_IRQn, 0, IOCFG_AF_PP, GPIO_AF_2 }, // SS1 - PB0 - *TIM3_CH3, TIM1_CH2N, TIM8_CH2N
diff --git a/src/main/target/FURYF4/target.c b/src/main/target/FURYF4/target.c
index a53aa4d447..90db896c53 100644
--- a/src/main/target/FURYF4/target.c
+++ b/src/main/target/FURYF4/target.c
@@ -19,45 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8),
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8),
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM8, IO_TAG(PC9), TIM_Channel_4, TIM8_CC_IRQn, 0, IOCFG_AF_PP, GPIO_AF_TIM8 }, // PPM_IN
diff --git a/src/main/target/IMPULSERCF3/target.c b/src/main/target/IMPULSERCF3/target.c
index d3b68be89c..04200bc0b4 100644
--- a/src/main/target/IMPULSERCF3/target.c
+++ b/src/main/target/IMPULSERCF3/target.c
@@ -20,50 +20,6 @@
#include
#include "drivers/io.h"
#include "drivers/timer.h"
-#include "drivers/pwm_mapping.h"
-
-
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8),
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8),
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM2, IO_TAG(PA15), TIM_Channel_1, TIM2_IRQn, 0, IOCFG_AF_PP, GPIO_AF_1}, // PPM/SERIAL RX
diff --git a/src/main/target/IRCFUSIONF3/target.c b/src/main/target/IRCFUSIONF3/target.c
index 2e4e12fb0a..370f9eb358 100644
--- a/src/main/target/IRCFUSIONF3/target.c
+++ b/src/main/target/IRCFUSIONF3/target.c
@@ -19,84 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
-
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM15 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM16 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8),
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8),
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM15 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM16 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM15 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM16 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8), // servo #10
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8), // input #8
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM15 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM16 | (MAP_TO_SERVO_OUTPUT << 8), // server #6
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM2, IO_TAG(PA0), TIM_Channel_1, TIM2_IRQn, 0, IOCFG_AF_PP, GPIO_AF_1 }, // RC_CH1 - PA0 - *TIM2_CH1
{ TIM2, IO_TAG(PA1), TIM_Channel_2, TIM2_IRQn, 0, IOCFG_AF_PP, GPIO_AF_1 }, // RC_CH2 - PA1 - *TIM2_CH2, TIM15_CH1N
diff --git a/src/main/target/ISHAPEDF3/target.c b/src/main/target/ISHAPEDF3/target.c
index 99f79ec9b7..d998cdba92 100644
--- a/src/main/target/ISHAPEDF3/target.c
+++ b/src/main/target/ISHAPEDF3/target.c
@@ -19,84 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
-
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM15 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM16 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8),
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8),
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM15 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM16 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM15 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM16 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8), // servo #10
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8), // input #8
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM15 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM16 | (MAP_TO_SERVO_OUTPUT << 8), // server #6
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM2, IO_TAG(PA0), TIM_Channel_1, TIM2_IRQn, 0, IOCFG_AF_PP, GPIO_AF_1 }, // RC_CH1 - PA0 - *TIM2_CH1
{ TIM2, IO_TAG(PA1), TIM_Channel_2, TIM2_IRQn, 0, IOCFG_AF_PP, GPIO_AF_1 }, // RC_CH2 - PA1 - *TIM2_CH2, TIM15_CH1N
diff --git a/src/main/target/KISSFC/target.c b/src/main/target/KISSFC/target.c
index a443fe862f..743f531e3d 100644
--- a/src/main/target/KISSFC/target.c
+++ b/src/main/target/KISSFC/target.c
@@ -19,46 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM7 | (MAP_TO_PPM_INPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM1 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM1 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8),
- PWM9 | (MAP_TO_PWM_INPUT << 8),
- PWM10 | (MAP_TO_PWM_INPUT << 8),
- PWM11 | (MAP_TO_PWM_INPUT << 8),
- PWM12 | (MAP_TO_PWM_INPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- // TODO
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- // TODO
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM1, IO_TAG(PA8), TIM_Channel_1, TIM1_CC_IRQn, TIMER_OUTPUT_ENABLED|TIMER_OUTPUT_INVERTED, IOCFG_AF_PP, GPIO_AF_6},
{ TIM3, IO_TAG(PB0), TIM_Channel_3, TIM3_IRQn, TIMER_OUTPUT_ENABLED|TIMER_OUTPUT_INVERTED, IOCFG_AF_PP, GPIO_AF_2},
diff --git a/src/main/target/LUX_RACE/target.c b/src/main/target/LUX_RACE/target.c
index 099f9b62e7..07c5716f90 100644
--- a/src/main/target/LUX_RACE/target.c
+++ b/src/main/target/LUX_RACE/target.c
@@ -19,69 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- // prevent crashing, but do nothing
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- // prevent crashing, but do nothing
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM1, IO_TAG(PA8), TIM_Channel_1, TIM1_CC_IRQn, 0, IOCFG_AF_PP_PD, GPIO_AF_6 }, // PWM1 - PA8
{ TIM3, IO_TAG(PC6), TIM_Channel_1, TIM3_IRQn, 1, IOCFG_AF_PP, GPIO_AF_2 }, // PWM2 - PC6
diff --git a/src/main/target/MICROSCISKY/target.c b/src/main/target/MICROSCISKY/target.c
index dec8739ba0..e838c785ba 100644
--- a/src/main/target/MICROSCISKY/target.c
+++ b/src/main/target/MICROSCISKY/target.c
@@ -19,75 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8), // input #8
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or servo #1 (swap to servo if needed)
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2 or servo #2 (swap to servo if needed)
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or #3
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #4 or #6
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8), // servo #4
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8), // servo #5
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8), // servo #8
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8), // input #8
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8), // servo #4
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM2, IO_TAG(PA0), TIM_Channel_1, TIM2_IRQn, 0, IOCFG_IPD }, // PWM1 - RC1
{ TIM2, IO_TAG(PA1), TIM_Channel_2, TIM2_IRQn, 0, IOCFG_IPD }, // PWM2 - RC2
diff --git a/src/main/target/MOTOLAB/target.c b/src/main/target/MOTOLAB/target.c
index cc898ba834..43db149492 100644
--- a/src/main/target/MOTOLAB/target.c
+++ b/src/main/target/MOTOLAB/target.c
@@ -19,45 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM9 | (MAP_TO_PPM_INPUT << 8), // PPM input
-
- PWM1 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- // TODO
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- // TODO
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM3, IO_TAG(PA4), TIM_Channel_2, TIM3_IRQn, 1, IOCFG_AF_PP, GPIO_AF_2 }, // PWM1 - PA4 - *TIM3_CH2
{ TIM3, IO_TAG(PA6), TIM_Channel_1, TIM3_IRQn, 1, IOCFG_AF_PP, GPIO_AF_2 }, // PWM2 - PA6 - *TIM3_CH1, TIM8_BKIN, TIM1_BKIN, TIM16_CH1
diff --git a/src/main/target/NAZE/target.c b/src/main/target/NAZE/target.c
index dec8739ba0..e838c785ba 100644
--- a/src/main/target/NAZE/target.c
+++ b/src/main/target/NAZE/target.c
@@ -19,75 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8), // input #8
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or servo #1 (swap to servo if needed)
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2 or servo #2 (swap to servo if needed)
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or #3
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #4 or #6
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8), // servo #4
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8), // servo #5
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8), // servo #8
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8), // input #8
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8), // servo #4
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM2, IO_TAG(PA0), TIM_Channel_1, TIM2_IRQn, 0, IOCFG_IPD }, // PWM1 - RC1
{ TIM2, IO_TAG(PA1), TIM_Channel_2, TIM2_IRQn, 0, IOCFG_IPD }, // PWM2 - RC2
diff --git a/src/main/target/OLIMEXINO/target.c b/src/main/target/OLIMEXINO/target.c
index 5d0a271c5b..51f6b87ef7 100644
--- a/src/main/target/OLIMEXINO/target.c
+++ b/src/main/target/OLIMEXINO/target.c
@@ -19,75 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8), // input #8
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or servo #1 (swap to servo if needed)
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2 or servo #2 (swap to servo if needed)
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or #3
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #4 or #6
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8), // servo #4
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8), // servo #5
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8), // servo #8
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8), // input #8
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8), // servo #4
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM2, IO_TAG(PA0), TIM_Channel_1, TIM2_IRQn, 0, IOCFG_IPD }, // PWM1 - RC1
{ TIM2, IO_TAG(PA1), TIM_Channel_2, TIM2_IRQn, 0, IOCFG_IPD }, // PWM2 - RC2
diff --git a/src/main/target/OMNIBUS/target.c b/src/main/target/OMNIBUS/target.c
index 163dda015d..dcc66f9c45 100644
--- a/src/main/target/OMNIBUS/target.c
+++ b/src/main/target/OMNIBUS/target.c
@@ -19,68 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
-
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM4 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM9 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM10 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #8
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM4 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM9 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM10 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #8
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
// PPM Pad
{ TIM3, IO_TAG(PB4), TIM_Channel_1, TIM3_IRQn, 0, IOCFG_AF_PP, GPIO_AF_2 }, // PPM - PB4
diff --git a/src/main/target/OMNIBUSF4/target.c b/src/main/target/OMNIBUSF4/target.c
index 58bb31b7ce..b289fb5ee7 100644
--- a/src/main/target/OMNIBUSF4/target.c
+++ b/src/main/target/OMNIBUSF4/target.c
@@ -19,64 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8), // input #6
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or servo #1 (swap to servo if needed)
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2 or servo #2 (swap to servo if needed)
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or #3
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #4 or #6
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM9 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM10 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8), // input #6
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM9 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM10 | (MAP_TO_SERVO_OUTPUT << 8), // servo #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #3
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8), // servo #4
- 0xFFFF
-};
-
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM12, IO_TAG(PB14), TIM_Channel_1, TIM8_BRK_TIM12_IRQn, 0, IOCFG_AF_PP, GPIO_AF_TIM12 },// PPM (5th pin on FlexiIO port)
{ TIM12, IO_TAG(PB15), TIM_Channel_2, TIM8_BRK_TIM12_IRQn, 0, IOCFG_AF_PP, GPIO_AF_TIM12 },// S2_IN - GPIO_PartialRemap_TIM3
diff --git a/src/main/target/PIKOBLX/target.c b/src/main/target/PIKOBLX/target.c
index cc898ba834..43db149492 100644
--- a/src/main/target/PIKOBLX/target.c
+++ b/src/main/target/PIKOBLX/target.c
@@ -19,45 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM9 | (MAP_TO_PPM_INPUT << 8), // PPM input
-
- PWM1 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- // TODO
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- // TODO
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM3, IO_TAG(PA4), TIM_Channel_2, TIM3_IRQn, 1, IOCFG_AF_PP, GPIO_AF_2 }, // PWM1 - PA4 - *TIM3_CH2
{ TIM3, IO_TAG(PA6), TIM_Channel_1, TIM3_IRQn, 1, IOCFG_AF_PP, GPIO_AF_2 }, // PWM2 - PA6 - *TIM3_CH1, TIM8_BKIN, TIM1_BKIN, TIM16_CH1
diff --git a/src/main/target/PORT103R/target.c b/src/main/target/PORT103R/target.c
index 093fa6ee27..1b2c76f515 100644
--- a/src/main/target/PORT103R/target.c
+++ b/src/main/target/PORT103R/target.c
@@ -19,75 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8), // input #8
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or servo #1 (swap to servo if needed)
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2 or servo #2 (swap to servo if needed)
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or #3
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #4 or #6
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8), // servo #4
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8), // servo #5
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8), // servo #8
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8), // input #8
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8), // servo #4
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM2, IO_TAG(PA0), TIM_Channel_1, TIM2_IRQn, 0, IOCFG_IPD }, // PWM1 - RC1
{ TIM2, IO_TAG(PA1), TIM_Channel_2, TIM2_IRQn, 0, IOCFG_IPD }, // PWM2 - RC2
diff --git a/src/main/target/RACEBASE/config.c b/src/main/target/RACEBASE/config.c
index 7b1a8fa9f7..fb6db5a643 100755
--- a/src/main/target/RACEBASE/config.c
+++ b/src/main/target/RACEBASE/config.c
@@ -27,7 +27,7 @@
// alternative defaults settings for COLIBRI RACE targets
-void targetConfiguration(master_t *config)
+void targetConfiguration(master_t *config)
{
config->rxConfig.sbus_inversion = 0;
config->rxConfig.rssi_scale = 19;
diff --git a/src/main/target/RACEBASE/target.c b/src/main/target/RACEBASE/target.c
index e1386f9617..cc2c688932 100755
--- a/src/main/target/RACEBASE/target.c
+++ b/src/main/target/RACEBASE/target.c
@@ -20,33 +20,7 @@
#include
#include "drivers/io.h"
#include "drivers/timer.h"
-#include "drivers/pwm_mapping.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- 0xFFFF
-};
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM2, IO_TAG(PA0), TIM_Channel_1, TIM2_IRQn, 1, IOCFG_AF_PP, GPIO_AF_1},
diff --git a/src/main/target/RCEXPLORERF3/target.c b/src/main/target/RCEXPLORERF3/target.c
index 758cf0ad33..8ac51e6713 100644
--- a/src/main/target/RCEXPLORERF3/target.c
+++ b/src/main/target/RCEXPLORERF3/target.c
@@ -20,47 +20,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM6 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM3
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM17 - can be switched to servo
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM3
- PWM1 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM1
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM3
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM3
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM17 - can be switched to servo
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM3
- PWM1 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM1
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM3
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM6 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM3
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM17 - can be switched to servo
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM3
- PWM1 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM1
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM3
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM3
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM17 - can be switched to servo
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM3
- PWM1 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM1
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM3
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM3, IO_TAG(PA4), TIM_Channel_2, TIM3_IRQn, 1, IOCFG_AF_PP, GPIO_AF_2}, // PWM1 - PA4
{ TIM17, IO_TAG(PA7), TIM_Channel_1, TIM1_TRG_COM_TIM17_IRQn, 1, IOCFG_AF_PP, GPIO_AF_1}, // PWM2 - PA7
diff --git a/src/main/target/REVO/target.c b/src/main/target/REVO/target.c
index 065e0d0f71..31d22875b9 100644
--- a/src/main/target/REVO/target.c
+++ b/src/main/target/REVO/target.c
@@ -19,73 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM2 | (MAP_TO_SERVO_OUTPUT << 8), // Swap to servo if needed
- PWM3 | (MAP_TO_SERVO_OUTPUT << 8), // Swap to servo if needed
- PWM4 | (MAP_TO_SERVO_OUTPUT << 8), // Swap to servo if needed
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8), // Swap to servo if needed
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8), // input #6
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or servo #1 (swap to servo if needed)
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2 or servo #2 (swap to servo if needed)
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or #3
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #4 or #6
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM9 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM10 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM2 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM3 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM4 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8), // input #6
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM9 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM10 | (MAP_TO_SERVO_OUTPUT << 8), // servo #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #3
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8), // servo #4
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM12, IO_TAG(PB14), TIM_Channel_1, TIM8_BRK_TIM12_IRQn, 0, IOCFG_AF_PP, GPIO_AF_TIM12 }, // PPM (5th pin on FlexiIO port)
{ TIM12, IO_TAG(PB15), TIM_Channel_2, TIM8_BRK_TIM12_IRQn, 0, IOCFG_AF_PP, GPIO_AF_TIM12 }, // S2_IN - GPIO_PartialRemap_TIM3
diff --git a/src/main/target/REVONANO/target.c b/src/main/target/REVONANO/target.c
index bf5023fc24..9349b40100 100644
--- a/src/main/target/REVONANO/target.c
+++ b/src/main/target/REVONANO/target.c
@@ -19,73 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // Motor #1
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // Motor #2
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // Motor #3
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // Motor #4
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8), // input #6
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or servo #1 (swap to servo if needed)
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2 or servo #2 (swap to servo if needed)
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or #3
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #4 or #6
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // Motor #1
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8), // input #6
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM9 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM10 | (MAP_TO_SERVO_OUTPUT << 8), // servo #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #3
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8), // servo #4
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM2, IO_TAG(PB10), TIM_Channel_3, TIM2_IRQn, 0, IOCFG_AF_PP, GPIO_AF_TIM2 }, // PPM
{ TIM3, IO_TAG(PB1), TIM_Channel_4, TIM3_IRQn, 0, IOCFG_AF_PP, GPIO_AF_TIM3 }, // S2_IN
diff --git a/src/main/target/RMDO/target.c b/src/main/target/RMDO/target.c
index d344cda357..61603c7b4e 100644
--- a/src/main/target/RMDO/target.c
+++ b/src/main/target/RMDO/target.c
@@ -19,84 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
-
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM15 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM16 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8),
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8),
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM15 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM16 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM15 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM16 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8), // servo #10
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8), // input #8
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM15 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM16 | (MAP_TO_SERVO_OUTPUT << 8), // server #6
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM2, IO_TAG(PA0), TIM_Channel_1, TIM2_IRQn, 0, IOCFG_AF_PP, GPIO_AF_1 }, // RC_CH1 - PA0 - *TIM2_CH1
{ TIM2, IO_TAG(PA1), TIM_Channel_2, TIM2_IRQn, 0, IOCFG_AF_PP, GPIO_AF_1 }, // RC_CH2 - PA1 - *TIM2_CH2, TIM15_CH1N
diff --git a/src/main/target/SINGULARITY/target.c b/src/main/target/SINGULARITY/target.c
index e48d0c33b4..0926431f19 100644
--- a/src/main/target/SINGULARITY/target.c
+++ b/src/main/target/SINGULARITY/target.c
@@ -19,63 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8),
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8),
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM9 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM10 | (MAP_TO_SERVO_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM9 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM10 | (MAP_TO_SERVO_OUTPUT << 8),
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM2, IO_TAG(PA15), TIM_Channel_1, TIM2_IRQn, 0, IOCFG_AF_PP, GPIO_AF_1 }, // PPM/SERIAL RX
{ TIM3, IO_TAG(PB4), TIM_Channel_1, TIM3_IRQn, 0, IOCFG_AF_PP, GPIO_AF_2 }, // PWM1
diff --git a/src/main/target/SIRINFPV/target.c b/src/main/target/SIRINFPV/target.c
index 7d602c74b1..be26986a86 100644
--- a/src/main/target/SIRINFPV/target.c
+++ b/src/main/target/SIRINFPV/target.c
@@ -19,51 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM7 | (MAP_TO_PPM_INPUT << 8),
- PWM1 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM7 | (MAP_TO_PPM_INPUT << 8),
- PWM1 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM2 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM3 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM4 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM1 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM2 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM3 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM4 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM4, IO_TAG(PB6), TIM_Channel_1, TIM4_IRQn, 1, IOCFG_AF_PP, GPIO_AF_2 }, // PWM1 - PB6
diff --git a/src/main/target/SPARKY/target.c b/src/main/target/SPARKY/target.c
index 20b1f185d3..44aa07090a 100644
--- a/src/main/target/SPARKY/target.c
+++ b/src/main/target/SPARKY/target.c
@@ -19,50 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM11 | (MAP_TO_PPM_INPUT << 8), // PPM input
-
- PWM1 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM15
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM15
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM1
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM3
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM3
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM2
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM3
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM17
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM3
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // TIM2
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- // TODO
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- // TODO
- 0xFFFF
-};
-
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
// 6 3-pin headers
{ TIM15, IO_TAG(PB15), TIM_Channel_2, TIM1_BRK_TIM15_IRQn, 1, IOCFG_AF_PP, GPIO_AF_1 }, // PWM1 - PB15 - TIM1_CH3N, TIM15_CH1N, *TIM15_CH2
diff --git a/src/main/target/SPARKY2/target.c b/src/main/target/SPARKY2/target.c
index a4e95ecee4..87abe2834b 100644
--- a/src/main/target/SPARKY2/target.c
+++ b/src/main/target/SPARKY2/target.c
@@ -19,69 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or servo #1 (swap to servo if needed)
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2 or servo #2 (swap to servo if needed)
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or #3
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #4 or #6
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM9 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM10 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM2 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM3 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM4 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM9 | (MAP_TO_SERVO_OUTPUT << 8), // servo #2
- PWM10 | (MAP_TO_SERVO_OUTPUT << 8), // servo #3
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #4
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM8, IO_TAG(PC7), TIM_Channel_2, TIM8_CC_IRQn, 0, IOCFG_AF_PP, GPIO_AF_TIM8 }, // PPM IN
{ TIM12, IO_TAG(PB14), TIM_Channel_1, TIM8_BRK_TIM12_IRQn, 0, IOCFG_AF_PP, GPIO_AF_TIM12 }, // S2_IN
diff --git a/src/main/target/SPRACINGF3/target.c b/src/main/target/SPRACINGF3/target.c
index 99f79ec9b7..d998cdba92 100644
--- a/src/main/target/SPRACINGF3/target.c
+++ b/src/main/target/SPRACINGF3/target.c
@@ -19,84 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
-
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM15 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM16 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8),
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8),
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM15 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM16 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM15 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM16 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8), // servo #10
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8), // input #8
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM15 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM16 | (MAP_TO_SERVO_OUTPUT << 8), // server #6
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM2, IO_TAG(PA0), TIM_Channel_1, TIM2_IRQn, 0, IOCFG_AF_PP, GPIO_AF_1 }, // RC_CH1 - PA0 - *TIM2_CH1
{ TIM2, IO_TAG(PA1), TIM_Channel_2, TIM2_IRQn, 0, IOCFG_AF_PP, GPIO_AF_1 }, // RC_CH2 - PA1 - *TIM2_CH2, TIM15_CH1N
diff --git a/src/main/target/SPRACINGF3EVO/target.c b/src/main/target/SPRACINGF3EVO/target.c
index 87eb5db35f..16541c9aeb 100644
--- a/src/main/target/SPRACINGF3EVO/target.c
+++ b/src/main/target/SPRACINGF3EVO/target.c
@@ -19,68 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
-
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM4 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM9 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM10 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM4 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM9 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM10 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8),
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
// PPM / UART2 RX
{ TIM8, IO_TAG(PA15), TIM_Channel_1, TIM8_CC_IRQn, 0, IOCFG_AF_PP_PD, GPIO_AF_2 }, // PPM
diff --git a/src/main/target/SPRACINGF3MINI/target.c b/src/main/target/SPRACINGF3MINI/target.c
index bf8776aa92..13e7ee222c 100644
--- a/src/main/target/SPRACINGF3MINI/target.c
+++ b/src/main/target/SPRACINGF3MINI/target.c
@@ -19,68 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
-
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM4 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM9 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM10 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #8
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM4 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM9 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM10 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #8
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
// PPM Pad
#ifdef SPRACINGF3MINI_MKII_REVA
diff --git a/src/main/target/STM32F3DISCOVERY/target.c b/src/main/target/STM32F3DISCOVERY/target.c
index d2c17db5a2..1820565927 100644
--- a/src/main/target/STM32F3DISCOVERY/target.c
+++ b/src/main/target/STM32F3DISCOVERY/target.c
@@ -19,75 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8), // input #8
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or servo #1 (swap to servo if needed)
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2 or servo #2 (swap to servo if needed)
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or #3
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #4 or #6
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8), // servo #4
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8), // servo #5
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8), // servo #8
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8), // input #8
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8), // servo #4
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM1, IO_TAG(PA8), TIM_Channel_1, TIM1_CC_IRQn, 1, IOCFG_AF_PP_PD, GPIO_AF_6 }, // PWM1 - PA8
{ TIM16, IO_TAG(PB8), TIM_Channel_1, TIM1_UP_TIM16_IRQn, 0, IOCFG_AF_PP_PD, GPIO_AF_1 }, // PWM2 - PB8
diff --git a/src/main/target/VRRACE/target.c b/src/main/target/VRRACE/target.c
index 90270b1fa8..af85c900d0 100644
--- a/src/main/target/VRRACE/target.c
+++ b/src/main/target/VRRACE/target.c
@@ -19,74 +19,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM2 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8), // input #6
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or servo #1 (swap to servo if needed)
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2 or servo #2 (swap to servo if needed)
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1 or #3
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #4 or #6
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM9 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM10 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM2 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM3 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM4 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8), // input #6
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM9 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM10 | (MAP_TO_SERVO_OUTPUT << 8), // servo #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #3
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8), // servo #4
- 0xFFFF
-};
-
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM1, IO_TAG(PE9), TIM_Channel_1, TIM1_CC_IRQn, 0, IOCFG_AF_PP, GPIO_AF_TIM1 }, // PPM
{ TIM1, IO_TAG(PE11), TIM_Channel_2, TIM1_CC_IRQn, 0, IOCFG_AF_PP, GPIO_AF_TIM1 }, // S2_IN
diff --git a/src/main/target/X_RACERSPI/target.c b/src/main/target/X_RACERSPI/target.c
index 037daf84c7..b59d0ba6a3 100644
--- a/src/main/target/X_RACERSPI/target.c
+++ b/src/main/target/X_RACERSPI/target.c
@@ -4,80 +4,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
-
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM3 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM4 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8),
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM9 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM10 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM3 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM4 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8), // servo #10
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8), // input #6
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM9 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM10 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8), // servo #6
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM2, IO_TAG(PA0), TIM_Channel_1, TIM2_IRQn, 0, IOCFG_AF_PP, GPIO_AF_1 }, // RC_CH1 - PA0 - *TIM2_CH1
{ TIM2, IO_TAG(PA1), TIM_Channel_2, TIM2_IRQn, 0, IOCFG_AF_PP, GPIO_AF_1 }, // RC_CH2 - PA1 - *TIM2_CH2, TIM15_CH1N
diff --git a/src/main/target/ZCOREF3/target.c b/src/main/target/ZCOREF3/target.c
index 48a6ce60da..d6197448da 100644
--- a/src/main/target/ZCOREF3/target.c
+++ b/src/main/target/ZCOREF3/target.c
@@ -4,83 +4,9 @@
#include
#include "drivers/io.h"
-#include "drivers/pwm_mapping.h"
+
#include "drivers/timer.h"
-const uint16_t multiPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM15 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM16 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM5 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM6 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM7 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- PWM8 | (MAP_TO_MOTOR_OUTPUT << 8), // Swap to servo if needed
- 0xFFFF
-};
-
-const uint16_t multiPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8),
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8),
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM11 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM12 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM13 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM14 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM15 | (MAP_TO_MOTOR_OUTPUT << 8),
- PWM16 | (MAP_TO_MOTOR_OUTPUT << 8),
- 0xFFFF
-};
-
-const uint16_t airPPM[] = {
- PWM1 | (MAP_TO_PPM_INPUT << 8), // PPM input
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM15 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM16 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM5 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM6 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM7 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM8 | (MAP_TO_SERVO_OUTPUT << 8), // servo #10
- 0xFFFF
-};
-
-const uint16_t airPWM[] = {
- PWM1 | (MAP_TO_PWM_INPUT << 8), // input #1
- PWM2 | (MAP_TO_PWM_INPUT << 8),
- PWM3 | (MAP_TO_PWM_INPUT << 8),
- PWM4 | (MAP_TO_PWM_INPUT << 8),
- PWM5 | (MAP_TO_PWM_INPUT << 8),
- PWM6 | (MAP_TO_PWM_INPUT << 8),
- PWM7 | (MAP_TO_PWM_INPUT << 8),
- PWM8 | (MAP_TO_PWM_INPUT << 8), // input #8
- PWM9 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #1
- PWM10 | (MAP_TO_MOTOR_OUTPUT << 8), // motor #2
- PWM11 | (MAP_TO_SERVO_OUTPUT << 8), // servo #1
- PWM12 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM13 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM14 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM15 | (MAP_TO_SERVO_OUTPUT << 8),
- PWM16 | (MAP_TO_SERVO_OUTPUT << 8), // server #6
- 0xFFFF
-};
-
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
{ TIM2, IO_TAG(PA0), TIM_Channel_1, TIM2_IRQn, 0, IOCFG_AF_PP, GPIO_AF_1 }, // RC_CH1 - PA0 - *TIM2_CH1
{ TIM2, IO_TAG(PA1), TIM_Channel_2, TIM2_IRQn, 0, IOCFG_AF_PP, GPIO_AF_1 }, // RC_CH2 - PA1 - *TIM2_CH2, TIM15_CH1N