示例#1
0
文件: target.c 项目: 4712/cleanflight
 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this software.
 *
 * If not, see <http://www.gnu.org/licenses/>.
 */

#include <stdint.h>

#include "platform.h"
#include "drivers/io.h"

#include "drivers/dma.h"
#include "drivers/timer.h"
#include "drivers/timer_def.h"

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

示例#2
0
#include <stdbool.h>
#include <stdint.h>

#include <platform.h>
#include "drivers/io.h"

#include "drivers/timer.h"
#include "drivers/timer_def.h"
#include "drivers/dma.h"

const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
    DEF_TIM(TIM2,  CH1, PA0,  TIM_USE_PWM | TIM_USE_PPM,   0), // RC_CH1 - PA0  - *TIM2_CH1
    DEF_TIM(TIM2,  CH2, PA1,  TIM_USE_PWM,                 0), // RC_CH2 - PA1  - *TIM2_CH2, TIM15_CH1N
    DEF_TIM(TIM2,  CH4, PB11, TIM_USE_PWM,                 0), // RC_CH3 - PB11 - *TIM2_CH4, UART3_RX (AF7)
    DEF_TIM(TIM2,  CH3, PB10, TIM_USE_PWM,                 0), // RC_CH4 - PB10 - *TIM2_CH3, UART3_TX (AF7)
    DEF_TIM(TIM3,  CH3, PB0,  TIM_USE_PWM,                 0), // RC_CH5 - PB0  - *TIM3_CH3, TIM1_CH2N, TIM8_CH2N
    DEF_TIM(TIM3,  CH4, PB1,  TIM_USE_PWM,                 0), // RC_CH6 - PB1  - *TIM3_CH4, TIM1_CH3N, TIM8_CH3N
    DEF_TIM(TIM16, CH1, PA6,  TIM_USE_MOTOR,               1), // PWM1 - PA6  - TIM3_CH1, TIM8_BKIN, TIM1_BKIN, *TIM16_CH1
    DEF_TIM(TIM17, CH1, PA7,  TIM_USE_MOTOR,               1), // PWM2 - PA7  - TIM3_CH2, *TIM17_CH1, TIM1_CH1N, TIM8_CH1
    DEF_TIM(TIM4,  CH1, PA11, TIM_USE_MOTOR,               1), // PWM3 - PA11
    DEF_TIM(TIM4,  CH2, PA12, TIM_USE_MOTOR,               1), // PWM4 - PA12
    DEF_TIM(TIM4,  CH3, PB8,  TIM_USE_MOTOR,               1), // PWM5 - PB8
    DEF_TIM(TIM8,  CH3, PB9,  TIM_USE_MOTOR,               1), // PWM6 - PB9
    DEF_TIM(TIM15, CH1, PA2,  TIM_USE_MOTOR,               1), // PWM7 - PA2
    DEF_TIM(TIM15, CH2, PA3,  TIM_USE_MOTOR,               1), // PWM8 - PA3
    DEF_TIM(TIM1,  CH1, PA8,  TIM_USE_MOTOR | TIM_USE_LED, 1), // GPIO_TIMER / LED_STRIP
};
示例#3
0
 *
 * You should have received a copy of the GNU General Public License
 * along with this software.
 *
 * If not, see <http://www.gnu.org/licenses/>.
 */

#include <stdint.h>

#include "platform.h"
#include "drivers/io.h"

#include "drivers/dma.h"
#include "drivers/timer.h"
#include "drivers/timer_def.h"

const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {


    DEF_TIM(TIM11, CH1,  PB9, TIM_USE_CAMERA_CONTROL,      0, 0), //   CAMERA_CONTROL_PIN

    DEF_TIM(TIM1,  CH2N, PB0, TIM_USE_MOTOR,               0, 0), // M1 - D2_ST6
    DEF_TIM(TIM8,  CH3N, PB1, TIM_USE_MOTOR,               0, 0), // M2_OUT D2_ST2
    DEF_TIM(TIM2,  CH4,  PA3, TIM_USE_MOTOR,               0, 1), // M3_OUT D1_ST6
    DEF_TIM(TIM2,  CH3,  PA2, TIM_USE_MOTOR,               0, 0), // M4_OUT D1_ST1

    DEF_TIM(TIM3,  CH1,  PB4, TIM_USE_BEEPER,              0, 0), // BEEPER PWM
    DEF_TIM(TIM4,  CH3,  PB8, TIM_USE_MOTOR | TIM_USE_LED, 0, 0), // LED & MOTOR5 D1_ST7

};
示例#4
0
 *
 * If not, see <http://www.gnu.org/licenses/>.
 */

#include <stdint.h>

#include "platform.h"
#include "drivers/io.h"

#include "drivers/timer.h"
#include "drivers/timer_def.h"
#include "drivers/dma.h"


const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
    DEF_TIM(TIM5,  CH1, PA0,  TIM_USE_CAMERA_CONTROL,      0, 0),

    DEF_TIM(TIM9,  CH2, PA3,  TIM_USE_PPM | TIM_USE_PWM,   0, 0), // PPM / PWM1 / UART2 RX
    DEF_TIM(TIM9,  CH1, PA2,  TIM_USE_PWM,                 0, 0), // PPM / PWM2 / UART2 TX

#if (SPRACINGF7DUAL_REV <= 1)
    DEF_TIM(TIM8,  CH2, PC7,  TIM_USE_MOTOR,               0, 1), // ESC 1
#else
    DEF_TIM(TIM8,  CH3, PC8,  TIM_USE_MOTOR,               0, 1), // ESC 1
#endif
    DEF_TIM(TIM8,  CH1, PC6,  TIM_USE_MOTOR,               0, 0), // ESC 2
    DEF_TIM(TIM8,  CH4, PC9,  TIM_USE_MOTOR,               0, 0), // ESC 3
#if (SPRACINGF7DUAL_REV <= 1)
    DEF_TIM(TIM8,  CH3, PC8,  TIM_USE_MOTOR,               0, 1), // ESC 4
#else
    DEF_TIM(TIM8,  CH2, PC7,  TIM_USE_MOTOR,               0, 1), // ESC 4
示例#5
0
文件: target.c 项目: 4712/cleanflight
 * along with this software.
 *
 * If not, see <http://www.gnu.org/licenses/>.
 */

#include <stdint.h>

#include "platform.h"
#include "drivers/io.h"

#include "drivers/dma.h"
#include "drivers/timer.h"
#include "drivers/timer_def.h"

const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
    DEF_TIM(TIM2, CH1, PA0,  TIM_USE_PPM | TIM_USE_PWM, 0), // PWM1 - RC1
    DEF_TIM(TIM2, CH2, PA1,  TIM_USE_PWM,               0), // PWM2 - RC2
    DEF_TIM(TIM2, CH3, PA2,  TIM_USE_PWM,               0), // PWM3 - RC3
    DEF_TIM(TIM2, CH4, PA3,  TIM_USE_PWM,               0), // PWM4 - RC4
    DEF_TIM(TIM3, CH1, PA6,  TIM_USE_PWM | TIM_USE_LED, 0), // PWM5 - RC5
    DEF_TIM(TIM3, CH2, PA7,  TIM_USE_PWM,               0), // PWM6 - RC6
    DEF_TIM(TIM3, CH3, PB0,  TIM_USE_PWM,               0), // PWM7 - RC7
    DEF_TIM(TIM3, CH4, PB1,  TIM_USE_PWM,               0), // PWM8 - RC8
    DEF_TIM(TIM1, CH1, PA8,  TIM_USE_MOTOR,             0), // PWM9 - OUT1
    DEF_TIM(TIM1, CH4, PA11, TIM_USE_MOTOR,             0), // PWM10 - OUT2
    DEF_TIM(TIM4, CH1, PB6,  TIM_USE_MOTOR,             0), // PWM11 - OUT3
    DEF_TIM(TIM4, CH2, PB7,  TIM_USE_MOTOR,             0), // PWM12 - OUT4
    DEF_TIM(TIM4, CH3, PB8,  TIM_USE_MOTOR,             0), // PWM13 - OUT5
    DEF_TIM(TIM4, CH4, PB9,  TIM_USE_MOTOR,             0), // PWM14 - OUT6
};
示例#6
0
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Cleanflight.  If not, see <http://www.gnu.org/licenses/>.
 */

#include <stdint.h>

#include <platform.h>
#include "drivers/io.h"

#include "drivers/dma.h"
#include "drivers/timer.h"
#include "drivers/timer_def.h"

const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
    DEF_TIM(TIM9, CH2,  PA3, TIM_USE_PPM,                       0, 0), // PPM IN

    DEF_TIM(TIM8, CH2N, PB0, TIM_USE_MOTOR,                     0, 0), // M1 - DMAR2_ST1 (DMA2_ST2)
    DEF_TIM(TIM8, CH3N, PB1, TIM_USE_MOTOR,                     0, 0), // M2 -           (DMA2_ST4)
    DEF_TIM(TIM2, CH2,  PA1, TIM_USE_MOTOR,                     0, 0), // M3 - DMAR1_ST7 (DMA1_ST6)
    DEF_TIM(TIM2, CH1,  PA0, TIM_USE_MOTOR,                     0, 0), // M4 -           (DMA1_ST5)
    DEF_TIM(TIM8, CH1,  PC6, TIM_USE_MOTOR,                     0, 0), // M5 -           (DMA2_ST2)
    DEF_TIM(TIM8, CH2,  PC7, TIM_USE_MOTOR,                     0, 0), // M6 -           (DMA2_ST3)
    DEF_TIM(TIM3, CH2,  PB5, TIM_USE_MOTOR,                     0, 0), // M7 - DMAR1_ST2 (DMA1_ST5, doesn't work for DShot)
    DEF_TIM(TIM4, CH4,  PB9, TIM_USE_MOTOR,                     0, 0), // M8 - DMAR1_ST6 (no DMA, doesn't work for DShot)

    DEF_TIM(TIM4, CH3,  PB8, TIM_USE_LED | TIM_USE_TRANSPONDER, 0, 0), // LED_STRIP / TRANSPONDER - DMA1_ST7 (can be used for DShot, conflicts with OSD TX)
};
示例#7
0
 *
 * You should have received a copy of the GNU General Public License
 * along with Cleanflight.  If not, see <http://www.gnu.org/licenses/>.
 */

#include <stdint.h>

#include <platform.h>
#include "drivers/io.h"

#include "drivers/dma.h"
#include "drivers/timer.h"
#include "drivers/timer_def.h"

const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
    DEF_TIM(TIM4,  CH3, PB8,  TIM_USE_PWM | TIM_USE_PPM,   TIMER_OUTPUT_NONE,     0), // PPM
    DEF_TIM(TIM4,  CH4, PB9,  TIM_USE_PWM,                 TIMER_OUTPUT_NONE,     0), // S2_IN
    DEF_TIM(TIM8,  CH1, PC6,  TIM_USE_PWM,                 TIMER_OUTPUT_NONE,     0), // S3_IN, UART6_TX
    DEF_TIM(TIM8,  CH2, PC7,  TIM_USE_PWM,                 TIMER_OUTPUT_NONE,     0), // S4_IN, UART6_RX
    DEF_TIM(TIM8,  CH3, PC8,  TIM_USE_PWM,                 TIMER_OUTPUT_NONE,     0), // S5_IN
    DEF_TIM(TIM8,  CH4, PC9,  TIM_USE_PWM,                 TIMER_OUTPUT_NONE,     0), // S6_IN

    DEF_TIM(TIM3,  CH3, PB0,  TIM_USE_MOTOR,               TIMER_OUTPUT_STANDARD, 0), // S1_OUT D1_ST7
    DEF_TIM(TIM3,  CH4, PB1,  TIM_USE_MOTOR,               TIMER_OUTPUT_STANDARD, 0), // S2_OUT D1_ST2
    DEF_TIM(TIM2,  CH4, PA3,  TIM_USE_MOTOR,               TIMER_OUTPUT_STANDARD, 1), // S3_OUT D1_ST6
    DEF_TIM(TIM2,  CH3, PA2,  TIM_USE_MOTOR,               TIMER_OUTPUT_STANDARD, 0), // S4_OUT D1_ST1

    DEF_TIM(TIM5,  CH2, PA1,  TIM_USE_MOTOR,               TIMER_OUTPUT_STANDARD, 0), // S5_OUT
    DEF_TIM(TIM1,  CH1, PA8,  TIM_USE_MOTOR,               TIMER_OUTPUT_STANDARD, 0), // S6_OUT
    DEF_TIM(TIM4,  CH1, PB6,  TIM_USE_LED,                 TIMER_OUTPUT_STANDARD, 0), // LED strip for F4 V2 / F4-Pro-0X and later (RCD_CS for F4)
};
示例#8
0
文件: target.c 项目: 4712/cleanflight
 * You should have received a copy of the GNU General Public License
 * along with this software.
 *
 * If not, see <http://www.gnu.org/licenses/>.
 */

#include <stdint.h>

#include "platform.h"
#include "drivers/io.h"

#include "drivers/dma.h"
#include "drivers/timer.h"
#include "drivers/timer_def.h"

/*
 * - Support HEXA-Dshot
 * - S5_OUT, S6_OUT are N-channels, which are only capable of outputs. (E.g., motors, servos, LED strip, PWM outputs.)
 * - Input is only available on DEBUG pad. See comment on SOFTSERIAL1 in target.h for details.
 */
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
    DEF_TIM(TIM3, CH2,  PC7, TIM_USE_PPM,                 0, 0 ), // PPM IN
    DEF_TIM(TIM5, CH1,  PA0, TIM_USE_MOTOR,               0, 0 ), // S1_OUT - DMA1_ST2
    DEF_TIM(TIM5, CH2,  PA1, TIM_USE_MOTOR,               0, 0 ), // S2_OUT - DMA1_ST4
    DEF_TIM(TIM5, CH3,  PA2, TIM_USE_MOTOR,               0, 0 ), // S3_OUT - DMA1_ST0
    DEF_TIM(TIM5, CH4,  PA3, TIM_USE_MOTOR,               0, 1 ), // S4_OUT - DMA1_ST3 (Could be DMA1_ST1 with dmaopt=0)
    DEF_TIM(TIM1, CH2N, PB0, TIM_USE_MOTOR | TIM_USE_LED, 0, 0 ), // S5_OUT - DMA2_ST6
    DEF_TIM(TIM8, CH3N, PB1, TIM_USE_MOTOR,               0, 0 ), // S6_OUT - DMA2_ST2
    DEF_TIM(TIM2, CH2,  PB3, TIM_USE_NONE,                0, 0 ), // DEBUG  - DMA1_ST6
};
示例#9
0
*
* You should have received a copy of the GNU General Public License
* along with Cleanflight.  If not, see <http://www.gnu.org/licenses/>.
*/

#include <stdint.h>

#include <platform.h>
#include "drivers/io.h"

#include "drivers/dma.h"
#include "drivers/timer.h"
#include "drivers/timer_def.h"

const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
    DEF_TIM(TIM5, CH4, PA3,  TIM_USE_PPM,   0, 0), // PPM

    DEF_TIM(TIM3, CH1, PC6,  TIM_USE_MOTOR, 0, 0), // S1  UP(1,2)
    DEF_TIM(TIM8, CH2, PC7,  TIM_USE_MOTOR, 0, 1), // S2  UP(2,1)
    DEF_TIM(TIM8, CH3, PC8,  TIM_USE_MOTOR, 0, 1), // S3  UP(2,1)
    DEF_TIM(TIM8, CH4, PC9,  TIM_USE_MOTOR, 0, 0), // S4  UP(2,1)
    DEF_TIM(TIM2, CH1, PA15, TIM_USE_MOTOR, 0, 0), // S5  UP(1,7)
    DEF_TIM(TIM1, CH1, PA8,  TIM_USE_MOTOR, 0, 0), // S6  UP(2,5)

    DEF_TIM(TIM4, CH3, PB8,  TIM_USE_MOTOR, 0, 0), // S7  D(1,7)!S5 UP(2,6)
    DEF_TIM(TIM4, CH1, PB6,  TIM_USE_LED, 0, 0),   // LED D(1,0) UP(2,6)

    DEF_TIM(TIM5, CH1, PA0,  TIM_USE_PWM, 0, 0),   // TX4 UP(1,6) D(1,2)!S1
    DEF_TIM(TIM5, CH2, PA1,  TIM_USE_PWM, 0, 0),   // RX4 UP(1,6) D(1,4)
    DEF_TIM(TIM9, CH1, PA2,  TIM_USE_PWM, 0, 0),   // TX2
};
示例#10
0
文件: target.c 项目: 4712/cleanflight
 * along with this software.
 *
 * If not, see <http://www.gnu.org/licenses/>.
 */

#include <stdint.h>

#include <platform.h>
#include "drivers/io.h"

#include "drivers/dma.h"
#include "drivers/timer.h"
#include "drivers/timer_def.h"

const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
    DEF_TIM(TIM12, CH2, PB15, TIM_USE_PPM,   0, 0), // PPM

    DEF_TIM(TIM3,  CH3, PB0,  TIM_USE_MOTOR, 0, 0), // S1 (1,7)
    DEF_TIM(TIM3,  CH4, PB1,  TIM_USE_MOTOR, 0, 0), // S2 (2,2)
    DEF_TIM(TIM3,  CH2, PC7,  TIM_USE_MOTOR, 0, 0), // S3 (2,4)  (2.2)
    DEF_TIM(TIM3,  CH1, PB4,  TIM_USE_MOTOR, 0, 0), // S4 (2,7)
    DEF_TIM(TIM8,  CH3, PC8,  TIM_USE_MOTOR, 0, 0), // S5 (1,2)
    DEF_TIM(TIM8,  CH4, PC9,  TIM_USE_MOTOR, 0, 0), // S6 (1,5)
    DEF_TIM(TIM8,  CH1, PC6,  TIM_USE_MOTOR, 0, 0), // S7 (2,6)
    DEF_TIM(TIM1,  CH1, PA8,  TIM_USE_MOTOR, 0, 1), // S8 (2,1)  (2.3 2.6)

    DEF_TIM(TIM4,  CH1, PB6,  TIM_USE_LED,   0, 0), // LED STRIP(1,0)

    DEF_TIM(TIM2,  CH2, PB3,  TIM_USE_PWM,   0, 0), // FC CAM
};
示例#11
0
 * You should have received a copy of the GNU General Public License
 * along with this software.
 *
 * If not, see <http://www.gnu.org/licenses/>.
 */

#include <stdint.h>

#include "platform.h"
#include "drivers/io.h"
#include "drivers/dma.h"

#include "drivers/timer.h"
#include "drivers/timer_def.h"

const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {

    DEF_TIM(TIM12, CH2, PB15, TIM_USE_PWM | TIM_USE_PPM, 0, 0),
    DEF_TIM(TIM8,  CH1, PC6,  TIM_USE_PWM,               0, 0),
    DEF_TIM(TIM8,  CH2, PC7,  TIM_USE_PWM,               0, 1),
//    DEF_TIM(TIM8,  CH4, PC9,  TIM_USE_PWM,               0, 0), // Used for SDIO
//    DEF_TIM(TIM8,  CH3, PC8,  TIM_USE_PWM,               0, 1), // Used for SDIO

    DEF_TIM(TIM4,  CH3, PB8,  TIM_USE_MOTOR,             0, 0),
    DEF_TIM(TIM2,  CH4, PA3,  TIM_USE_MOTOR,             0, 1),
    DEF_TIM(TIM3,  CH2, PB5,  TIM_USE_MOTOR,             0, 0),
    DEF_TIM(TIM4,  CH4, PB9,  TIM_USE_MOTOR,             0, 0),
    DEF_TIM(TIM9,  CH2, PE6,  TIM_USE_MOTOR,             0, 0),
    DEF_TIM(TIM3,  CH1, PB4,  TIM_USE_MOTOR,             0, 0),
};
示例#12
0
 * (at your option) any later version.
 *
 * Cleanflight is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Cleanflight.  If not, see <http://www.gnu.org/licenses/>.
 */

#include <stdbool.h>
#include <stdint.h>

#include <platform.h>
#include "drivers/io.h"

#include "drivers/timer.h"
#include "drivers/timer_def.h"
#include "drivers/dma.h"

const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
    DEF_TIM(TIM1,  CH1, PA8, TIM_USE_MOTOR, 0),
    DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR, 0),
    DEF_TIM(TIM3,  CH3, PB0, TIM_USE_MOTOR, 0),
    DEF_TIM(TIM3,  CH2, PA4, TIM_USE_MOTOR, 0),
    DEF_TIM(TIM3,  CH4, PB1, TIM_USE_MOTOR, 0),
    DEF_TIM(TIM2,  CH2, PA1, TIM_USE_PPM,   0),
    DEF_TIM(TIM16, CH1, PB8, TIM_USE_LED,   0),
};
示例#13
0
文件: target.c 项目: 4712/cleanflight
 * Foundation, either version 3 of the License, or (at your option)
 * any later version.
 *
 * Cleanflight and Betaflight are distributed in the hope that they
 * will be useful, but WITHOUT ANY WARRANTY; without even the implied
 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this software.
 *
 * If not, see <http://www.gnu.org/licenses/>.
 */

#include <stdint.h>

#include "platform.h"
#include "drivers/io.h"

#include "drivers/dma.h"
#include "drivers/timer.h"
#include "drivers/timer_def.h"

const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
    DEF_TIM(TIM1,  CH3N, PB15, TIM_USE_MOTOR,                     0), // PWM1  - PB15 - DMA1_CH6 - *TIM1_CH3N, TIM15_CH1N, TIM15_CH2
    DEF_TIM(TIM15, CH1,  PB14, TIM_USE_MOTOR,                     0), // PWM2  - PB14 - DMA1_CH5 - TIM1_CH2N, *TIM15_CH1
    DEF_TIM(TIM1,  CH1,  PA8,  TIM_USE_MOTOR,                     0), // PWM3  - PA8  - DMA1_CH2 - *TIM1_CH1, TIM4_ETR
    DEF_TIM(TIM8,  CH2N, PB0,  TIM_USE_MOTOR,                     0), // PWM4  - PB0  - DMA2_CH5 - TIM3_CH3, TIM1_CH2N, *TIM8_CH2N
    DEF_TIM(TIM16, CH1,  PB8,  TIM_USE_TRANSPONDER | TIM_USE_LED, 0),
};
示例#14
0
文件: target.c 项目: 4712/cleanflight
 * along with this software.
 *
 * If not, see <http://www.gnu.org/licenses/>.
 */

#include <stdint.h>

#include "platform.h"
#include "drivers/io.h"

#include "drivers/dma.h"
#include "drivers/timer.h"
#include "drivers/timer_def.h"

const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
    DEF_TIM(TIM12, CH2, PB15,  TIM_USE_PPM,   0, 0), // PPM

    DEF_TIM(TIM3, CH3, PB0,  TIM_USE_MOTOR, 0, 0),   // S1 (1,7)
    DEF_TIM(TIM3, CH1, PB4,  TIM_USE_MOTOR, 0, 0),   // S2 (1,4)
    DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 0, 0),    // S3 (2,4)
    DEF_TIM(TIM8, CH4, PC9,  TIM_USE_MOTOR, 0, 0),   // S4 (2,7)  
    DEF_TIM(TIM8, CH1, PC6,  TIM_USE_MOTOR, 0, 0),   // S5 (2,2) 
    DEF_TIM(TIM8, CH2, PC7,  TIM_USE_MOTOR, 0, 0),   // S6 (2,3)


    DEF_TIM(TIM1, CH3, PA10,  TIM_USE_LED, 0, 0),    // LED STRIP(2,6)

    DEF_TIM(TIM2, CH2, PB3,  TIM_USE_PWM, 0, 0),     // FC CAM	
	
};
示例#15
0
 * (at your option) any later version.
 *
 * Cleanflight is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Cleanflight.  If not, see <http://www.gnu.org/licenses/>.
 */

#include <stdint.h>

#include <platform.h>
#include "drivers/io.h"
#include "drivers/timer.h"
#include "drivers/timer_def.h"
#include "drivers/dma.h"


const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
    DEF_TIM(TIM8, CH2, PC7, TIM_USE_PPM,                 TIMER_INPUT_ENABLED,  0 ), // PPM IN
    DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR,               TIMER_OUTPUT_ENABLED, 0 ), // S1_OUT - DMA1_ST2
    DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR,               TIMER_OUTPUT_ENABLED, 0 ), // S2_OUT - DMA1_ST4
    DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR,               TIMER_OUTPUT_ENABLED, 0 ), // S3_OUT - DMA1_ST1
    DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR,               TIMER_OUTPUT_ENABLED, 1 ), // S4_OUT - DMA1_ST6
    DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR | TIM_USE_LED, TIMER_OUTPUT_ENABLED, 0 ), // S5_OUT - DMA1_ST7
    DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR,               TIMER_OUTPUT_ENABLED, 0 ), // S6_OUT - DMA1_ST2
};

示例#16
0
 * You should have received a copy of the GNU General Public License
 * along with Cleanflight.  If not, see <http://www.gnu.org/licenses/>.
 */

#include <stdint.h>

#include <platform.h>
#include "drivers/io.h"

#include "drivers/timer.h"
#include "drivers/timer_def.h"
#include "drivers/dma.h"

const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {

    DEF_TIM(TIM16, CH1, PB8,  TIM_USE_PPM | TIM_USE_LED, 0),
    DEF_TIM(TIM17, CH1, PB9,  0,                         0),
    DEF_TIM(TIM1,  CH1, PA8,  TIM_USE_MOTOR,             1),
    DEF_TIM(TIM8,  CH1, PC6,  TIM_USE_MOTOR,             1),
    DEF_TIM(TIM8,  CH2, PC7,  TIM_USE_MOTOR,             1),
    DEF_TIM(TIM8,  CH3, PC8,  TIM_USE_MOTOR,             1),
    DEF_TIM(TIM3,  CH4, PB1,  0,                         0),
    DEF_TIM(TIM3,  CH2, PA4,  0,                         0),
    DEF_TIM(TIM4,  CH1, PD12, TIM_USE_BEEPER,            1),
    DEF_TIM(TIM4,  CH2, PD13, 0,                         0),
    DEF_TIM(TIM4,  CH3, PD14, 0,                         0),
    DEF_TIM(TIM4,  CH4, PD15, 0,                         0),
    DEF_TIM(TIM2,  CH2, PA1,  0,                         0),
    DEF_TIM(TIM2,  CH3, PA2,  0,                         0)

};
示例#17
0
 *
 * If not, see <http://www.gnu.org/licenses/>.
 */

#include <stdint.h>

#include "platform.h"
#include "drivers/io.h"

#include "drivers/dma.h"
#include "drivers/timer.h"
#include "drivers/timer_def.h"

const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
    // Main motors
    DEF_TIM(TIM3,  CH2,  PB5,  TIM_USE_MOTOR,               0, 0), // M1
    DEF_TIM(TIM3,  CH1,  PB4,  TIM_USE_MOTOR,               0, 0), // M2
    DEF_TIM(TIM3,  CH3,  PB0,  TIM_USE_MOTOR,               0, 0), // M3
    DEF_TIM(TIM3,  CH4,  PB1,  TIM_USE_MOTOR,               0, 0), // M4

    // Additional motors/servos
    DEF_TIM(TIM8,  CH4,  PC9,  TIM_USE_NONE,                0, 0), // MST5 Collision with TX/RX6 (useful for OCTO)
    DEF_TIM(TIM8,  CH3,  PC8,  TIM_USE_NONE,                0, 1), // MST6 Collision with TX/RX6 (useful for OCTO)
    DEF_TIM(TIM11, CH1,  PB9,  TIM_USE_NONE,                0, 0), // I2C1_SDA, MST7
    DEF_TIM(TIM10, CH1,  PB8,  TIM_USE_NONE,                0, 0), // I2C1_SCL, MST8

    // PPM
    DEF_TIM(TIM4,  CH2,  PB7,  TIM_USE_PPM,                 0, 0), // Overloaded with UART1_RX

    // LED strip
    DEF_TIM(TIM1,  CH2,  PA9,  TIM_USE_LED,                 0, 0),
示例#18
0
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Cleanflight is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Cleanflight.  If not, see <http://www.gnu.org/licenses/>.
 */

#include <stdint.h>

#include <platform.h>
#include "drivers/io.h"

#include "drivers/dma.h"
#include "drivers/timer.h"
#include "drivers/timer_def.h"

const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
    DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0 ), // S1_OUT - DMA1_ST7
    DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0 ), // S2_OUT - DMA1_ST2
    DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1 ), // S3_OUT - DMA1_ST6
    DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0 ), // S4_OUT - DMA1_ST1
    DEF_TIM(TIM4, CH4, PB9, TIM_USE_PPM,   0, 0 ), // PPM IN
    DEF_TIM(TIM4, CH2, PB7, TIM_USE_LED,   0, 0 ), // LED    - DMA1_ST3
};
示例#19
0
 *
 * You should have received a copy of the GNU General Public License
 * along with Cleanflight.  If not, see <http://www.gnu.org/licenses/>.
 */

#include <stdint.h>

#include <platform.h>
#include "drivers/io.h"

#include "drivers/dma.h"
#include "drivers/timer.h"
#include "drivers/timer_def.h"

const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
#if defined(FF_PIKOF4OSD)
    DEF_TIM(TIM5, CH4, PA3, TIM_USE_MOTOR, 0, 0 ), // S1_OUT - DMA1_ST7
    DEF_TIM(TIM3, CH3, PB1, TIM_USE_MOTOR, 0, 0 ), // S2_OUT - DMA1_ST1
    DEF_TIM(TIM5, CH3, PA2, TIM_USE_MOTOR, 0, 0 ), // S3_OUT - DMA1_ST6
    DEF_TIM(TIM3, CH4, PB0, TIM_USE_MOTOR, 0, 0 ), // S4_OUT - DMA1_ST2
    DEF_TIM(TIM8, CH2N, PB14, TIM_USE_MOTOR, 0, 0 ), // PA14 RC4  - DMA2_ST6, *DMA2_ST2
    DEF_TIM(TIM1, CH3N, PB15, TIM_USE_MOTOR, 0, 0 ), // PA15 RC5  - DMA2_ST6, DMA2_ST6
#else
    DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1 ), // S1_OUT - DMA1_ST6
    DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0 ), // S2_OUT - DMA1_ST7
    DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0 ), // S3_OUT - DMA1_ST1
    DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0 ), // S4_OUT - DMA1_ST2
#endif
    DEF_TIM(TIM4, CH2, PB7, TIM_USE_LED,   0, 0 ), // LED    - DMA1_ST3
};
示例#20
0
 * Cleanflight is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Cleanflight.  If not, see <http://www.gnu.org/licenses/>.
 */

#include <stdint.h>

#include <platform.h>
#include "drivers/io.h"

#include "drivers/timer.h"
#include "drivers/timer_def.h"
#include "drivers/dma.h"

const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
    DEF_TIM(TIM2,  CH1, PA15, TIM_USE_PPM,   0), // PPM/SERIAL RX
    DEF_TIM(TIM3,  CH1, PB4,  TIM_USE_MOTOR, 0), // PWM1
    DEF_TIM(TIM17, CH1, PB5,  TIM_USE_MOTOR, 0), // PWM2
    DEF_TIM(TIM3,  CH3, PB0,  TIM_USE_MOTOR, 0), // PWM3
    DEF_TIM(TIM3,  CH4, PB1,  TIM_USE_MOTOR, 0), // PWM4
    DEF_TIM(TIM16, CH1, PB8,  TIM_USE_MOTOR, 0), // PWM5
    DEF_TIM(TIM4,  CH4, PB9,  TIM_USE_MOTOR, 0), // PWM6
    DEF_TIM(TIM15, CH1, PA2,  TIM_USE_MOTOR, 0), // SOFTSERIAL1 RX (NC)
    DEF_TIM(TIM15, CH2, PA3,  TIM_USE_MOTOR, 0), // SOFTSERIAL1 TX
    DEF_TIM(TIM1,  CH1, PA8,  TIM_USE_LED,   0), // LED_STRIP
};
示例#21
0
文件: target.c 项目: 4712/cleanflight
 *
 * You should have received a copy of the GNU General Public License
 * along with this software.
 *
 * If not, see <http://www.gnu.org/licenses/>.
 */

#include <stdint.h>

#include "platform.h"
#include "drivers/io.h"

#include "drivers/timer.h"
#include "drivers/timer_def.h"
#include "drivers/dma.h"

const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
    DEF_TIM(TIM2, CH3, PB10, TIM_USE_PWM | TIM_USE_PPM,   0, 0), // PPM
    DEF_TIM(TIM3, CH4, PB1,  TIM_USE_PWM,                 0, 0), // S2_IN
    DEF_TIM(TIM3, CH3, PB0,  TIM_USE_PWM,                 0, 0), // S3_IN
    DEF_TIM(TIM3, CH2, PA7,  TIM_USE_PWM,                 0, 0), // S4_IN
    DEF_TIM(TIM3, CH1, PA6,  TIM_USE_PWM,                 0, 0), // S5_IN
    DEF_TIM(TIM2, CH1, PA5,  TIM_USE_PWM,                 0, 0), // S6_IN
    DEF_TIM(TIM1, CH3, PA10, TIM_USE_MOTOR,               0, 0), // S1_OUT
    DEF_TIM(TIM2, CH2, PB3,  TIM_USE_MOTOR,               0, 0), // S2_OUT
    DEF_TIM(TIM4, CH3, PB8,  TIM_USE_MOTOR,               0, 0), // S3_OUT
    DEF_TIM(TIM4, CH4, PB9,  TIM_USE_MOTOR,               0, 0), // S4_OUT
    DEF_TIM(TIM5, CH1, PA0,  TIM_USE_MOTOR | TIM_USE_LED, 0, 0), // S5_OUT
    DEF_TIM(TIM5, CH2, PA1,  TIM_USE_MOTOR,               0, 0), // S6_OUT
};
示例#22
0
 *
 * You should have received a copy of the GNU General Public License
 * along with Cleanflight.  If not, see <http://www.gnu.org/licenses/>.
 */

#include <stdint.h>

#include <platform.h>
#include "drivers/io.h"

#include "drivers/dma.h"
#include "drivers/timer.h"
#include "drivers/timer_def.h"

const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
    DEF_TIM(TIM12, CH1,  PB14, TIM_USE_PWM | TIM_USE_PPM,   0, 0 ), // S1_IN
    DEF_TIM(TIM12, CH2,  PB15, TIM_USE_PWM,                 0, 0 ), // S2_IN
    DEF_TIM(TIM8,  CH1,  PC6,  TIM_USE_PWM,                 0, 0 ), // S3_IN DMA2_ST2 DMA2_ST2
    DEF_TIM(TIM8,  CH2,  PC7,  TIM_USE_PWM,                 0, 0 ), // S4_IN DMA2_ST3 DMA2_ST2
    DEF_TIM(TIM8,  CH3,  PC8,  TIM_USE_PWM,                 0, 0 ), // S5_IN DMA2_ST4 DMA2_ST2
    DEF_TIM(TIM8,  CH4,  PC9,  TIM_USE_PWM,                 0, 0 ), // S6_IN DMA2_ST7

    DEF_TIM(TIM4,  CH3,  PB8,  TIM_USE_MOTOR,               0, 0 ), // S10_OUT 1 DMA1_ST7
    DEF_TIM(TIM2,  CH3,  PA2,  TIM_USE_MOTOR,               0, 0 ), // S6_OUT  2 DMA1_ST1
    DEF_TIM(TIM4,  CH2,  PB7,  TIM_USE_MOTOR,               0, 0 ), // S5_OUT  3 DMA1_ST3
    DEF_TIM(TIM2,  CH4,  PA3,  TIM_USE_MOTOR,               0, 1 ), // S1_OUT  4 DMA1_ST7 DMA1_ST6
    DEF_TIM(TIM5,  CH2,  PA1,  TIM_USE_MOTOR,               0, 0 ), // S2_OUT DMA1_ST4
    DEF_TIM(TIM1,  CH2N, PB0,  TIM_USE_MOTOR,               0, 1 ), // S3_OUT DMA2_ST6 DMA2_ST2
    DEF_TIM(TIM3,  CH2,  PB5,  TIM_USE_MOTOR | TIM_USE_LED, 0, 0 ), // S4_OUT DMA1_ST5
    DEF_TIM(TIM5,  CH1,  PA0,  TIM_USE_MOTOR,               0, 0 ), // S7_OUT DMA1_ST2
    DEF_TIM(TIM1,  CH3N, PB1,  TIM_USE_MOTOR,               0, 0 ), // S8_OUT DMA2_ST6
示例#23
0
 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this software.
 *
 * If not, see <http://www.gnu.org/licenses/>.
 */

#include <stdint.h>

#include "platform.h"
#include "drivers/io.h"

#include "drivers/dma.h"
#include "drivers/timer.h"
#include "drivers/timer_def.h"

const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
    DEF_TIM(TIM12, CH2, PB15,  TIM_USE_PPM,   0, 0), 

    DEF_TIM(TIM3, CH3, PB0,  TIM_USE_MOTOR, 0, 0),  
    DEF_TIM(TIM8, CH1, PC6,  TIM_USE_MOTOR, 0, 0),  
    DEF_TIM(TIM1, CH3, PA10, TIM_USE_MOTOR, 0, 0),  
    DEF_TIM(TIM1, CH1, PA8,  TIM_USE_MOTOR, 0, 0), 
    DEF_TIM(TIM3, CH2, PC7,  TIM_USE_MOTOR, 0, 0),  
    DEF_TIM(TIM8, CH4, PC9,  TIM_USE_MOTOR, 0, 0),  
    DEF_TIM(TIM4, CH1, PB6,  TIM_USE_LED, 0, 0),     
	
};
示例#24
0
 *
 * You should have received a copy of the GNU General Public License
 * along with Cleanflight.  If not, see <http://www.gnu.org/licenses/>.
 */

#include <stdint.h>

#include <platform.h>
#include "drivers/io.h"

#include "drivers/dma.h"
#include "drivers/timer.h"
#include "drivers/timer_def.h"

const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
    DEF_TIM(TIM12, CH1, PB14, TIM_USE_PWM | TIM_USE_PPM,  TIMER_INPUT_ENABLED,  0 ), // S1_IN
    DEF_TIM(TIM12, CH2, PB15, TIM_USE_PWM,                TIMER_INPUT_ENABLED,  0 ), // S2_IN
    DEF_TIM(TIM8,  CH1, PC6,  TIM_USE_PWM,                TIMER_INPUT_ENABLED,  0 ), // S3_IN DMA2_ST2 DMA2_ST2
    DEF_TIM(TIM8,  CH2, PC7,  TIM_USE_PWM,                TIMER_INPUT_ENABLED,  0 ), // S4_IN DMA2_ST3 DMA2_ST2
    DEF_TIM(TIM8,  CH3, PC8,  TIM_USE_PWM,                TIMER_INPUT_ENABLED,  0 ), // S5_IN DMA2_ST4 DMA2_ST2
    DEF_TIM(TIM8,  CH4, PC9,  TIM_USE_PWM,                TIMER_INPUT_ENABLED,  0 ), // S6_IN DMA2_ST7

    DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR,               TIMER_OUTPUT_ENABLED,  0 ), // S10_OUT 1 DMA1_ST7
    DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR,               TIMER_OUTPUT_ENABLED,  0 ), // S6_OUT  2 DMA1_ST1
    DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR,               TIMER_OUTPUT_ENABLED,  0 ), // S2_OUT  3 DMA1_ST4
    DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR,               TIMER_OUTPUT_ENABLED,  1 ), // S1_OUT  4 DMA1_ST7 DMA1_ST6
    DEF_TIM(TIM3, CH2, PB5, TIM_USE_MOTOR | TIM_USE_LED, TIMER_OUTPUT_ENABLED,  0 ), // S4_OUT DMA1_ST5
    DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR,               TIMER_OUTPUT_ENABLED,  0 ), // S7_OUT DMA1_ST2
    DEF_TIM(TIM4, CH4, PB9, TIM_USE_MOTOR,               TIMER_OUTPUT_ENABLED,  0 ), // S5_OUT
    DEF_TIM(TIM9, CH2, PE6, TIM_USE_MOTOR,               TIMER_OUTPUT_ENABLED,  0 ), // S3_OUT
    DEF_TIM(TIM2, CH2, PB3, TIM_USE_MOTOR,               TIMER_OUTPUT_ENABLED,  0 ), // S8_OUT DMA1_ST6
示例#25
0
文件: target.c 项目: 4712/cleanflight
 * along with this software.
 *
 * If not, see <http://www.gnu.org/licenses/>.
 */

#include <stdint.h>

#include "platform.h"
#include "drivers/io.h"

#include "drivers/dma.h"
#include "drivers/timer.h"
#include "drivers/timer_def.h"

const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
    DEF_TIM(TIM10, CH1, PB8,  TIM_USE_PWM | TIM_USE_PPM,   0, 0), // PPM

    // Motors
    DEF_TIM(TIM3,  CH3, PB0,  TIM_USE_MOTOR,               0, 0), // S1_OUT D1_ST7
    DEF_TIM(TIM3,  CH4, PB1,  TIM_USE_MOTOR,               0, 0), // S2_OUT D1_ST2
    DEF_TIM(TIM8,  CH4, PC9,  TIM_USE_MOTOR,               0, 0), // S3_OUT D1_ST6
    DEF_TIM(TIM8,  CH3, PC8,  TIM_USE_MOTOR,               0, 0), // S4_OUT D1_ST1

    // LED strip
    DEF_TIM(TIM4,  CH1, PB6,  TIM_USE_MOTOR | TIM_USE_LED, 0, 0), // D1_ST0

    // UART Backdoors
    DEF_TIM(TIM1,  CH2, PA9,  TIM_USE_NONE,                0, 0), // TX1 Bidir
    DEF_TIM(TIM1,  CH3, PA10, TIM_USE_NONE,                0, 0), // RX1 Bidir
    DEF_TIM(TIM5,  CH3, PA2,  TIM_USE_NONE,                0, 0), // TX2 TX only
    DEF_TIM(TIM9,  CH2, PA3,  TIM_USE_NONE,                0, 0), // RX2 RX only
示例#26
0
 * along with Cleanflight.  If not, see <http://www.gnu.org/licenses/>.
 */

#include <stdint.h>

#include <platform.h>
#include "drivers/io.h"

#include "drivers/timer.h"
#include "drivers/timer_def.h"
#include "drivers/dma.h"

const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
#ifdef TINYBEEF3
    // PPM / UART2 RX
    DEF_TIM(TIM8,  CH1,  PA15, TIM_USE_PPM,   0 ),  // PPM
    DEF_TIM(TIM2,  CH2,  PA1,  TIM_USE_MOTOR, 1 ),  // PWM1
    DEF_TIM(TIM2,  CH1,  PA0,  TIM_USE_MOTOR, 1 ),  // PWM2
    DEF_TIM(TIM3,  CH3,  PB0,  TIM_USE_MOTOR, 1 ),  // PWM3
    DEF_TIM(TIM3,  CH4,  PB1,  TIM_USE_MOTOR, 1 ),  // PWM4
    DEF_TIM(TIM2,  CH3,  PA2,  TIM_USE_MOTOR, 1 ),  // PWM5
    DEF_TIM(TIM15, CH2,  PA3,  TIM_USE_MOTOR, 1 ),  // PWM6
    DEF_TIM(TIM3,  CH1,  PA6,  TIM_USE_MOTOR, 1 ),  // PWM7
    DEF_TIM(TIM3,  CH2,  PA7,  TIM_USE_MOTOR, 1 ),  // PWM8
    DEF_TIM(TIM2,  CH3,  PB10, TIM_USE_MOTOR, 1 ),  // RC_CH4 - PB10 - *TIM2_CH3, UART3_TX (AF7)
    DEF_TIM(TIM2,  CH4,  PB11, TIM_USE_MOTOR, 1 ),  // RC_CH3 - PB11 - *TIM2_CH4, UART3_RX (AF7)
#else
    // PPM Pad
#ifdef SPRACINGF3MINI_MKII_REVA
    DEF_TIM(TIM3, CH2, PB5, TIM_USE_PPM, 0), // PPM - PB5
    // PB4 / TIM3 CH1 is connected to USBPresent
示例#27
0
文件: target.c 项目: 4712/cleanflight
 * will be useful, but WITHOUT ANY WARRANTY; without even the implied
 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this software.
 *
 * If not, see <http://www.gnu.org/licenses/>.
 */

#include <stdint.h>

#include "platform.h"
#include "drivers/io.h"

#include "drivers/dma.h"
#include "drivers/timer.h"
#include "drivers/timer_def.h"

const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {

    DEF_TIM(TIM4, CH4, PB9,  TIM_USE_PPM | TIM_USE_LED, 1,  0 ),     // PPM IN
    DEF_TIM(TIM3, CH4, PB1,  TIM_USE_MOTOR, 0, 0 ),                  // S1_OUT - TIM3_UP - BURST
    DEF_TIM(TIM3, CH3, PB0,  TIM_USE_MOTOR, 0, 0 ),                  // S2_OUT - TIM3_UP - BURST
    DEF_TIM(TIM2, CH3, PA2,  TIM_USE_MOTOR, 0, 0 ),                  // S3_OUT - TIM2_UP - BURST
    DEF_TIM(TIM2, CH4, PA3,  TIM_USE_MOTOR, 0, 1 ),                  // S4_OUT - TIM2_UP - BURST
    DEF_TIM(TIM1, CH3, PA10, TIM_USE_MOTOR, 0, 1 ),                  // S5_OUT - TIM1_UP - BURST
    DEF_TIM(TIM1, CH1, PA8,  TIM_USE_MOTOR, 0, 1 ),                  // S6_OUT - TIM1_UP - BURST
};

示例#28
0
#include <stdint.h>

#include <platform.h>
#include "drivers/io.h"

#include "drivers/dma.h"
#include "drivers/timer.h"
#include "drivers/timer_def.h"

// DSHOT will work for motor 1,3,4,5,6,7 and 8.
// Motor 2 pin timers have no DMA channel assigned in the hardware. Remapping of the pin is needed.
// If SDCard or UART4 DMA is used motor 4 will not work.
// If UART1 DMA is used motor 8 will not work.

const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
    DEF_TIM(TIM1, CH1, PA8,  TIM_USE_PWM | TIM_USE_PPM, 0, 1), // PWM1  - PA8  RC1  - DMA2_ST6, *DMA2_ST1, DMA2_ST3
    DEF_TIM(TIM3, CH3, PB0,  TIM_USE_PWM,               0, 0), // PWM2  - PB0  RC2  - DMA1_ST5
    DEF_TIM(TIM3, CH4, PB1,  TIM_USE_PWM,               0, 0), // PWM3  - PB1  RC3  - DMA1_ST7
    DEF_TIM(TIM1, CH2, PB14, TIM_USE_PWM,               0, 1), // PWM4  - PA14 RC4  - DMA2_ST6, *DMA2_ST2
    DEF_TIM(TIM1, CH3, PB15, TIM_USE_PWM | TIM_USE_LED, 0, 0), // PWM5  - PA15 RC5  - DMA2_ST6, DMA2_ST6
    DEF_TIM(TIM4, CH3, PB8,  TIM_USE_MOTOR,             0, 0), // PWM6  - PB8  OUT1 - DMA1_ST7
    DEF_TIM(TIM4, CH4, PB9,  TIM_USE_MOTOR,             0, 0), // PWM7  - PB9  OUT2 - DMA_NONE
    DEF_TIM(TIM5, CH1, PA0,  TIM_USE_MOTOR,             0, 0), // PWM8  - PA0  OUT3 - DMA1_ST2
    DEF_TIM(TIM5, CH2, PA1,  TIM_USE_MOTOR,             0, 0), // PWM9  - PA1  OUT4 - DMA1_ST4
    DEF_TIM(TIM8, CH1, PC6,  TIM_USE_MOTOR,             0, 0), // PWM10 - PC6  OUT5 - DMA2_ST2, DMA2_ST2
    DEF_TIM(TIM8, CH2, PC7,  TIM_USE_MOTOR,             0, 0), // PWM11 - PC7  OUT6 - DMA2_ST3, DMA2_ST2
    DEF_TIM(TIM8, CH3, PC8,  TIM_USE_MOTOR,             0, 1), // PWM13 - PC8  OUT7 - DMA2_ST2, *DMA2_ST4
    DEF_TIM(TIM8, CH4, PC9,  TIM_USE_MOTOR,             0, 0), // PWM13 - PC9  OUT8 - DMA2_ST7
};
示例#29
0
 * (at your option) any later version.
 *
 * Cleanflight is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Cleanflight.  If not, see <http://www.gnu.org/licenses/>.
 */

#include <stdint.h>

#include <platform.h>
#include "drivers/io.h"

#include "drivers/timer.h"
#include "drivers/timer_def.h"
#include "drivers/dma.h"

const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
    DEF_TIM(TIM1,  CH1, PA8,  TIM_USE_MOTOR,             0, 1),
    DEF_TIM(TIM8,  CH1, PC6,  TIM_USE_MOTOR,             0, 1),
    DEF_TIM(TIM8,  CH2, PC7,  TIM_USE_MOTOR,             0, 1),
    DEF_TIM(TIM8,  CH3, PC8,  TIM_USE_MOTOR,             0, 1),
    DEF_TIM(TIM3,  CH4, PB1,  0,                         0, 0),
    DEF_TIM(TIM3,  CH2, PA4,  0,                         0, 0),
    DEF_TIM(TIM2,  CH2, PA1,  0,                         0, 0),
    DEF_TIM(TIM2,  CH3, PA2,  0,                         0, 0)
};
示例#30
0
文件: target.c 项目: 4712/cleanflight
 *
 * You should have received a copy of the GNU General Public License
 * along with this software.
 *
 * If not, see <http://www.gnu.org/licenses/>.
 */

#include <stdint.h>

#include "platform.h"
#include "drivers/io.h"

#include "drivers/dma.h"
#include "drivers/timer.h"
#include "drivers/timer_def.h"

const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
    DEF_TIM(TIM9, CH2,  PA3, TIM_USE_PPM,                       0, 0), // PPM IN

    DEF_TIM(TIM1, CH2N, PB0, TIM_USE_MOTOR,                     0, 0), // M1 - DMAR: DMA2_ST5
    DEF_TIM(TIM1, CH3N, PB1, TIM_USE_MOTOR,                     0, 0), // M2 -
    DEF_TIM(TIM2, CH2,  PA1, TIM_USE_MOTOR,                     0, 0), // M3 - DMAR: DMA1_ST7
    DEF_TIM(TIM2, CH1,  PA0, TIM_USE_MOTOR,                     0, 0), // M4 -
    DEF_TIM(TIM8, CH1,  PC6, TIM_USE_MOTOR,                     0, 0), // M5 - DMAR: DMA2_ST1
    DEF_TIM(TIM8, CH2,  PC7, TIM_USE_MOTOR,                     0, 0), // M6 -
    DEF_TIM(TIM3, CH2,  PB5, TIM_USE_MOTOR,                     0, 0), // M7 - DMAR: DMA1_ST2
    DEF_TIM(TIM4, CH4,  PB9, TIM_USE_MOTOR,                     0, 0), // M8 - DMAR: DMA1_ST6

    DEF_TIM(TIM4, CH3,  PB8, TIM_USE_LED | TIM_USE_TRANSPONDER, 0, 0), // LED_STRIP / TRANSPONDER - DMA1_ST7 (can be used for DShot, conflicts with OSD TX)
};