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

Converted camera control pin definition to timer flag.

This commit is contained in:
mikeller 2018-07-27 00:49:03 +12:00
parent eefd3e62a2
commit 430379016e
33 changed files with 123 additions and 170 deletions

View file

@ -55,24 +55,21 @@
#define CAMERA_CONTROL_HARDWARE_PWM_AVAILABLE #define CAMERA_CONTROL_HARDWARE_PWM_AVAILABLE
#include "timer.h" #include "timer.h"
#ifndef CAMERA_CONTROL_PIN
#define CAMERA_CONTROL_PIN NONE
#endif
#ifdef USE_OSD #ifdef USE_OSD
#include "io/osd.h" #include "io/osd.h"
#endif #endif
PG_REGISTER_WITH_RESET_TEMPLATE(cameraControlConfig_t, cameraControlConfig, PG_CAMERA_CONTROL_CONFIG, 0); PG_REGISTER_WITH_RESET_FN(cameraControlConfig_t, cameraControlConfig, PG_CAMERA_CONTROL_CONFIG, 0);
PG_RESET_TEMPLATE(cameraControlConfig_t, cameraControlConfig, void pgResetFn_cameraControlConfig(cameraControlConfig_t *cameraControlConfig)
.mode = CAMERA_CONTROL_MODE_HARDWARE_PWM, {
.refVoltage = 330, cameraControlConfig->mode = CAMERA_CONTROL_MODE_HARDWARE_PWM;
.keyDelayMs = 180, cameraControlConfig->refVoltage = 330;
.internalResistance = 470, cameraControlConfig->keyDelayMs = 180;
.ioTag = IO_TAG(CAMERA_CONTROL_PIN), cameraControlConfig->internalResistance = 470;
.inverted = 0, // Output is inverted externally cameraControlConfig->ioTag = timerioTagGetByUsage(TIM_USE_CAMERA_CONTROL, 0);
); cameraControlConfig->inverted = 0; // Output is inverted externally
}
static struct { static struct {
bool enabled; bool enabled;

View file

@ -63,15 +63,16 @@ typedef uint32_t timCNT_t;
#endif #endif
typedef enum { typedef enum {
TIM_USE_ANY = 0x0, TIM_USE_ANY = 0x0,
TIM_USE_NONE = 0x0, TIM_USE_NONE = 0x0,
TIM_USE_PPM = 0x1, TIM_USE_PPM = 0x1,
TIM_USE_PWM = 0x2, TIM_USE_PWM = 0x2,
TIM_USE_MOTOR = 0x4, TIM_USE_MOTOR = 0x4,
TIM_USE_SERVO = 0x8, TIM_USE_SERVO = 0x8,
TIM_USE_LED = 0x10, TIM_USE_LED = 0x10,
TIM_USE_TRANSPONDER = 0x20, TIM_USE_TRANSPONDER = 0x20,
TIM_USE_BEEPER = 0x40 TIM_USE_BEEPER = 0x40,
TIM_USE_CAMERA_CONTROL = 0x40,
} timerUsageFlag_e; } timerUsageFlag_e;
// use different types from capture and overflow - multiple overflow handlers are implemented as linked list // use different types from capture and overflow - multiple overflow handlers are implemented as linked list

View file

@ -32,30 +32,30 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
// ADC2 D(2,2) D(2,3) // ADC2 D(2,2) D(2,3)
// ADC3 D(2,0) D(2,1) // ADC3 D(2,0) D(2,1)
DEF_TIM(TIM1, CH1, PA8, TIM_USE_PPM, 0, 0), // PPM D(1,0) DEF_TIM(TIM1, CH1, PA8, TIM_USE_PPM, 0, 0), // PPM D(1,0)
// Motors // Motors
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 0, 0), // MOTOR1 U(2,1) D(2,2) D(2,4) DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 0, 0), // MOTOR1 U(2,1) D(2,2) D(2,4)
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0), // MOTOR2 U(1,2) D(1,7) DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0), // MOTOR2 U(1,2) D(1,7)
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0), // MOTOR3 U(1,2) D(1,2) DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0), // MOTOR3 U(1,2) D(1,2)
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 0, 0), // MOTOR4 U(1,6) D(1,3) DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 0, 0), // MOTOR4 U(1,6) D(1,3)
// More outputs // More outputs
DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0, 0), // MOTOR5 U(1,6) D(1,7) DEF_TIM(TIM4, CH3, PB8, TIM_USE_MOTOR, 0, 0), // MOTOR5 U(1,6) D(1,7)
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 0, 0), // MOTOR6 U(2,1) D(2,7) DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 0, 0), // MOTOR6 U(2,1) D(2,7)
DEF_TIM(TIM12, CH1, PB14, TIM_USE_MOTOR, 0, 0), // MOTOR7 ; SS2 DEF_TIM(TIM12, CH1, PB14, TIM_USE_MOTOR, 0, 0), // MOTOR7 ; SS2
DEF_TIM(TIM12, CH2, PB15, TIM_USE_MOTOR, 0, 0), // MOTOR8 DEF_TIM(TIM12, CH2, PB15, TIM_USE_MOTOR, 0, 0), // MOTOR8
// DEF_TIM(TIM4, CH1, PB6, TIM_USE_LED, 0, 0), // LED strip XXX Collision with M4 // DEF_TIM(TIM4, CH1, PB6, TIM_USE_LED, 0, 0), // LED strip XXX Collision with M4
// Backdoor timers // Backdoor timers
// UART1 (Collision with PPM) // UART1 (Collision with PPM)
DEF_TIM(TIM1, CH2, PA9, TIM_USE_NONE, 0, 1), // TX1 D(2,6) D(2,2) ; SS1 DEF_TIM(TIM1, CH2, PA9, TIM_USE_NONE, 0, 1), // TX1 D(2,6) D(2,2) ; SS1
DEF_TIM(TIM1, CH3, PA10, TIM_USE_NONE, 0, 0), // RX1 D(2,6) D(2,6) DEF_TIM(TIM1, CH3, PA10, TIM_USE_NONE, 0, 0), // RX1 D(2,6) D(2,6)
// UART2 // UART2
DEF_TIM(TIM5, CH3, PA2, TIM_USE_LED, 0, 0), // TX2 D(1,0) ; SA port ---> LED DEF_TIM(TIM5, CH3, PA2, TIM_USE_LED, 0, 0), // TX2 D(1,0) ; SA port ---> LED
DEF_TIM(TIM9, CH2, PA3, TIM_USE_NONE, 0, 0), // RX2 ; CAMC port DEF_TIM(TIM9, CH2, PA3, TIM_USE_CAMERA_CONTROL, 0, 0), // RX2 ; CAMC port
// I2C2 // I2C2
DEF_TIM(TIM2, CH3, PB10, TIM_USE_NONE, 0, 0), // SCL2 D(1,1) DEF_TIM(TIM2, CH3, PB10, TIM_USE_NONE, 0, 0), // SCL2 D(1,1)

View file

@ -155,8 +155,6 @@
#define USE_RANGEFINDER_HCSR04 #define USE_RANGEFINDER_HCSR04
//#define USE_RANGEFINDER_TF //#define USE_RANGEFINDER_TF
#define CAMERA_CONTROL_PIN PA3
#define DEFAULT_RX_FEATURE FEATURE_RX_SERIAL #define DEFAULT_RX_FEATURE FEATURE_RX_SERIAL
#define SERIALRX_PROVIDER SERIALRX_SBUS #define SERIALRX_PROVIDER SERIALRX_SBUS

View file

@ -28,7 +28,7 @@
#include "drivers/timer_def.h" #include "drivers/timer_def.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM2, CH2, PB3, TIM_USE_ANY, 0, 0), // CAMERA_CONTROL_PIN DEF_TIM(TIM2, CH2, PB3, TIM_USE_CAMERA_CONTROL, 0, 0), // CAMERA_CONTROL_PIN
// TIM8_UP (DMA2_ST1_CH7) // TIM8_UP (DMA2_ST1_CH7)
DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 0, 0), // M1 DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 0, 0), // M1

View file

@ -32,8 +32,6 @@
#define INVERTER_PIN_UART1 PC0 #define INVERTER_PIN_UART1 PC0
#define CAMERA_CONTROL_PIN PB3
#define USE_EXTI #define USE_EXTI
#define MPU_INT_EXTI PC4 #define MPU_INT_EXTI PC4
#define USE_MPU_DATA_READY_SIGNAL #define USE_MPU_DATA_READY_SIGNAL

View file

@ -30,7 +30,7 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM11, CH1, PB9, TIM_USE_ANY, 0, 0), // CAMERA_CONTROL_PIN 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(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(TIM8, CH3N, PB1, TIM_USE_MOTOR, 0, 0), // M2_OUT D2_ST2

View file

@ -38,8 +38,6 @@
#define INVERTER_PIN_UART1 PC0 // PC0 used as inverter select GPIO #define INVERTER_PIN_UART1 PC0 // PC0 used as inverter select GPIO
#define CAMERA_CONTROL_PIN PB9 // define dedicated camera_osd_control pin
#define USE_EXTI #define USE_EXTI
#define MPU_INT_EXTI PC4 #define MPU_INT_EXTI PC4

View file

@ -28,7 +28,7 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM2, CH2, PB3, TIM_USE_ANY, 0, 0), // USE FOR CAMERA CONTROL DEF_TIM(TIM2, CH2, PB3, TIM_USE_CAMERA_CONTROL, 0, 0), // USE FOR CAMERA CONTROL
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, 0, 0), // D1-ST6 DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, 0, 0), // D1-ST6
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 0, 0), // D1-ST6 DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 0, 0), // D1-ST6

View file

@ -29,9 +29,6 @@
#define BEEPER_PIN PB4 #define BEEPER_PIN PB4
#define BEEPER_INVERTED #define BEEPER_INVERTED
//define camera control
#define CAMERA_CONTROL_PIN PB3
#define USE_EXTI #define USE_EXTI
#define MPU_INT_EXTI PC4 #define MPU_INT_EXTI PC4
#define USE_MPU_DATA_READY_SIGNAL #define USE_MPU_DATA_READY_SIGNAL

View file

@ -42,6 +42,6 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM4, CH1, PB6, TIM_USE_LED, 0, 0), // LED STRIP(1,0) DEF_TIM(TIM4, CH1, PB6, TIM_USE_LED, 0, 0), // LED STRIP(1,0)
DEF_TIM(TIM2, CH1, PA5, TIM_USE_PWM, 0, 0), // FC CAM DEF_TIM(TIM2, CH1, PA5, TIM_USE_CAMERA_CONTROL, 0, 0), // FC CAM
}; };

View file

@ -31,9 +31,6 @@
#define BEEPER_PIN PC13 #define BEEPER_PIN PC13
#define BEEPER_INVERTED #define BEEPER_INVERTED
//define camera control
#define CAMERA_CONTROL_PIN PA5
//Gyro & ACC------------------------------- //Gyro & ACC-------------------------------
#define USE_SPI #define USE_SPI
#define USE_SPI_DEVICE_1 #define USE_SPI_DEVICE_1

View file

@ -28,20 +28,20 @@
#include "drivers/timer_def.h" #include "drivers/timer_def.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { 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, 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(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0 ), // S2_OUT - DMA1_ST2
#if defined(FF_FORTINIF4_REV03) #if defined(FF_FORTINIF4_REV03)
DEF_TIM(TIM2, CH4, PB11, TIM_USE_MOTOR, 0, 1 ), // S3_OUT - DMA1_ST6 DEF_TIM(TIM2, CH4, PB11, TIM_USE_MOTOR, 0, 1 ), // S3_OUT - DMA1_ST6
DEF_TIM(TIM2, CH3, PB10, TIM_USE_MOTOR, 0, 0 ), // S4_OUT - DMA1_ST1 DEF_TIM(TIM2, CH3, PB10, TIM_USE_MOTOR, 0, 0 ), // S4_OUT - DMA1_ST1
#else #else
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1 ), // S3_OUT - DMA1_ST6 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(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0 ), // S4_OUT - DMA1_ST1
#endif #endif
DEF_TIM(TIM4, CH4, PB9, TIM_USE_PPM, 0, 0 ), // PPM IN DEF_TIM(TIM4, CH4, PB9, TIM_USE_PPM, 0, 0 ), // PPM IN
#if defined(FF_FORTINIF4_REV03) #if defined(FF_FORTINIF4_REV03)
DEF_TIM(TIM4, CH2, PB7, TIM_USE_ANY, 0, 0 ), // FC CAM - DMA1_ST3 DEF_TIM(TIM4, CH2, PB7, TIM_USE_CAM, 0, 0 ), // FC CAM - DMA1_ST3
DEF_TIM(TIM4, CH1, PB6, TIM_USE_LED, 0, 0 ), // LED - DMA1_ST0 DEF_TIM(TIM4, CH1, PB6, TIM_USE_LED, 0, 0 ), // LED - DMA1_ST0
#else #else
DEF_TIM(TIM4, CH2, PB7, TIM_USE_LED, 0, 0 ), // LED - DMA1_ST3 DEF_TIM(TIM4, CH2, PB7, TIM_USE_LED | TIM_USE_CAMERA_CONTROL, 0, 0 ), // LED - DMA1_ST3
#endif #endif
}; };

View file

@ -49,10 +49,6 @@
#define BEEPER_INVERTED #define BEEPER_INVERTED
/*---------------------------------*/ /*---------------------------------*/
/*----------CAMERA CONTROL---------*/
#define CAMERA_CONTROL_PIN PB7
/*---------------------------------*/
/*------------SENSORS--------------*/ /*------------SENSORS--------------*/
// MPU interrupt // MPU interrupt
#define USE_EXTI #define USE_EXTI

View file

@ -43,10 +43,6 @@
#define BEEPER_INVERTED #define BEEPER_INVERTED
/*---------------------------------*/ /*---------------------------------*/
/*----------CAMERA CONTROL---------*/
// #define CAMERA_CONTROL_PIN PB7
/*---------------------------------*/
/*------------SENSORS--------------*/ /*------------SENSORS--------------*/
// MPU interrupt // MPU interrupt
#define USE_EXTI #define USE_EXTI

View file

@ -28,18 +28,18 @@
#include "drivers/timer_def.h" #include "drivers/timer_def.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM12, CH2, PB15, TIM_USE_PPM, 0, 0), // PPM 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, 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(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, 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, 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, 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(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(TIM1, CH3, PA10, TIM_USE_LED, 0, 0), // LED STRIP(2,6)
DEF_TIM(TIM2, CH2, PB3, TIM_USE_PWM, 0, 0), // FC CAM DEF_TIM(TIM2, CH2, PB3, TIM_USE_CAMERA_CONTROL, 0, 0), // FC CAM
}; };

View file

@ -31,9 +31,6 @@
#define BEEPER_PIN PA4 #define BEEPER_PIN PA4
#define BEEPER_INVERTED #define BEEPER_INVERTED
//define camera control
#define CAMERA_CONTROL_PIN PB3
//Gyro & ACC------------------------------- //Gyro & ACC-------------------------------
#define USE_SPI #define USE_SPI
#define USE_SPI_DEVICE_1 #define USE_SPI_DEVICE_1

View file

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

View file

@ -77,8 +77,6 @@
#define USE_SERIAL_4WAY_BLHELI_INTERFACE #define USE_SERIAL_4WAY_BLHELI_INTERFACE
#define CAMERA_CONTROL_PIN PA15
#define DEFAULT_RX_FEATURE FEATURE_RX_SERIAL #define DEFAULT_RX_FEATURE FEATURE_RX_SERIAL
#define SERIALRX_PROVIDER SERIALRX_SBUS #define SERIALRX_PROVIDER SERIALRX_SBUS
#define SERIALRX_UART SERIAL_PORT_USART1 #define SERIALRX_UART SERIAL_PORT_USART1

View file

@ -29,29 +29,29 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
// Motors // Motors
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0), // D(1,7) U(1,2) DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0), // D(1,7) U(1,2)
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0), // D(1,2) U(1,2) DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0), // D(1,2) U(1,2)
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1), // D(1,6) U(1,7) DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1), // D(1,6) U(1,7)
#if defined(OMNIBUSF4FW) #if defined(OMNIBUSF4FW)
DEF_TIM(TIM3, CH2, PB5, TIM_USE_MOTOR, 0, 0), // D(1,5) U(1,2) DEF_TIM(TIM3, CH2, PB5, TIM_USE_MOTOR, 0, 0), // D(1,5) U(1,2)
#elif defined(OMNIBUSF4FW1) #elif defined(OMNIBUSF4FW1)
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0, 0), DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0, 0),
#endif #endif
// Other functions // Other functions
DEF_TIM(TIM4, CH1, PB6, TIM_USE_LED, 0, 0), // D(1,0) DEF_TIM(TIM4, CH1, PB6, TIM_USE_LED, 0, 0), // D(1,0)
DEF_TIM(TIM10, CH1, PB8, TIM_USE_PPM, 0, 0), // PPM DEF_TIM(TIM10, CH1, PB8, TIM_USE_PPM, 0, 0), // PPM
DEF_TIM(TIM11, CH1, PB9, TIM_USE_NONE, 0, 0), // CAM_CTL DEF_TIM(TIM11, CH1, PB9, TIM_USE_CAMERA_CONTROL, 0, 0), // CAM_CTL
// Spare pins and backdoor timer // Spare pins and backdoor timer
DEF_TIM(TIM8, CH1, PC6, TIM_USE_NONE, 0, 0), // UART6_TX DEF_TIM(TIM8, CH1, PC6, TIM_USE_NONE, 0, 0), // UART6_TX
DEF_TIM(TIM8, CH2, PC7, TIM_USE_NONE, 0, 0), // UART6_RX DEF_TIM(TIM8, CH2, PC7, TIM_USE_NONE, 0, 0), // UART6_RX
DEF_TIM(TIM8, CH3, PC8, TIM_USE_NONE, 0, 0), // SJ1 DEF_TIM(TIM8, CH3, PC8, TIM_USE_NONE, 0, 0), // SJ1
DEF_TIM(TIM8, CH4, PC9, TIM_USE_NONE, 0, 0), // SJ2 DEF_TIM(TIM8, CH4, PC9, TIM_USE_NONE, 0, 0), // SJ2
// Backdoor timers on UARTs // Backdoor timers on UARTs
DEF_TIM(TIM1, CH2, PA9, TIM_USE_NONE, 0, 0), // UART1_TX DEF_TIM(TIM1, CH2, PA9, TIM_USE_NONE, 0, 0), // UART1_TX
DEF_TIM(TIM1, CH3, PA10, TIM_USE_NONE, 0, 0), // UART1_RX DEF_TIM(TIM1, CH3, PA10, TIM_USE_NONE, 0, 0), // UART1_RX
DEF_TIM(TIM5, CH2, PA1, TIM_USE_NONE, 0, 0), // UART4_RX DEF_TIM(TIM5, CH2, PA1, TIM_USE_NONE, 0, 0), // UART4_RX
DEF_TIM(TIM9, CH1, PA2, TIM_USE_NONE, 0, 0), // UART2_TX DEF_TIM(TIM9, CH1, PA2, TIM_USE_NONE, 0, 0), // UART2_TX
}; };

View file

@ -150,8 +150,6 @@
#define I2C2_SDA NONE // PB11, shared with UART3RX #define I2C2_SDA NONE // PB11, shared with UART3RX
#define I2C_DEVICE (I2CDEV_2) #define I2C_DEVICE (I2CDEV_2)
#define CAMERA_CONTROL_PIN PB9
#define USE_ADC #define USE_ADC
#define ADC_INSTANCE ADC2 #define ADC_INSTANCE ADC2
#define CURRENT_METER_ADC_PIN PC1 // Direct from CRNT pad (part of onboard sensor for Pro) #define CURRENT_METER_ADC_PIN PC1 // Direct from CRNT pad (part of onboard sensor for Pro)

View file

@ -30,25 +30,24 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
#ifdef FPVM_BETAFLIGHTF7 #ifdef FPVM_BETAFLIGHTF7
DEF_TIM(TIM8, CH3, PC8, TIM_USE_ANY, 0, 0), // USED FOR CAMERA CONTROL DEF_TIM(TIM8, CH3, PC8, TIM_USE_CAMERA_CONTROL, 0, 0), // USED FOR CAMERA CONTROL
#endif #endif
DEF_TIM(TIM1, CH3, PE13, TIM_USE_NONE, 0, 1 ), // RC1 / PPM, unusable DEF_TIM(TIM1, CH3, PE13, TIM_USE_NONE, 0, 1 ), // RC1 / PPM, unusable
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0 ), // M1 DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0 ), // M1
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0 ), // M2 DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0 ), // M2
DEF_TIM(TIM1, CH1, PE9, TIM_USE_MOTOR, 0, 2 ), // M3 DEF_TIM(TIM1, CH1, PE9, TIM_USE_MOTOR, 0, 2 ), // M3
DEF_TIM(TIM1, CH2, PE11, TIM_USE_MOTOR, 0, 1 ), // M4 DEF_TIM(TIM1, CH2, PE11, TIM_USE_MOTOR, 0, 1 ), // M4
DEF_TIM(TIM4, CH1, PD12, TIM_USE_LED, 0, 0 ), // LED DEF_TIM(TIM4, CH1, PD12, TIM_USE_LED, 0, 0 ), // LED
// Backdoor timers // Backdoor timers
DEF_TIM(TIM2, CH3, PB10, TIM_USE_NONE, 0, 0 ), // UART3_TX, I2C2_SCL DEF_TIM(TIM2, CH3, PB10, TIM_USE_NONE, 0, 0 ), // UART3_TX, I2C2_SCL
DEF_TIM(TIM2, CH4, PB11, TIM_USE_NONE, 0, 0 ), // UART3_RX, I2C2_SDA DEF_TIM(TIM2, CH4, PB11, TIM_USE_NONE, 0, 0 ), // UART3_RX, I2C2_SDA
DEF_TIM(TIM8, CH1, PC6, TIM_USE_NONE, 0, 0 ), // UART6_TX DEF_TIM(TIM8, CH1, PC6, TIM_USE_NONE, 0, 0 ), // UART6_TX
DEF_TIM(TIM8, CH2, PC7, TIM_USE_NONE, 0, 0 ), // UART6_RX DEF_TIM(TIM8, CH2, PC7, TIM_USE_NONE, 0, 0 ), // UART6_RX
DEF_TIM(TIM2, CH4, PA3, TIM_USE_PPM, 0, 0 ), // UART2_RX, joined with PE13 DEF_TIM(TIM2, CH4, PA3, TIM_USE_PPM, 0, 0 ), // UART2_RX, joined with PE13
// For ESC serial // For ESC serial
DEF_TIM(TIM9, CH1, PA2, TIM_USE_NONE, 0, 0 ), // UART2_TX (unwired) DEF_TIM(TIM9, CH1, PA2, TIM_USE_NONE, 0, 0 ), // UART2_TX (unwired)
}; };

View file

@ -40,12 +40,6 @@
#define BEEPER_PIN PD15 #define BEEPER_PIN PD15
#define BEEPER_INVERTED #define BEEPER_INVERTED
//CAMERA CONTROL----------------------------
#ifdef FPVM_BETAFLIGHTF7
//define camera control
#define CAMERA_CONTROL_PIN PC8 // Camera control.
#endif
//GYRO & ACC-------------------------------- //GYRO & ACC--------------------------------
#define USE_ACC #define USE_ACC

View file

@ -47,7 +47,7 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM1, CH2, PA9, TIM_USE_LED, 0, 0), DEF_TIM(TIM1, CH2, PA9, TIM_USE_LED, 0, 0),
// CAMCTL // CAMCTL
DEF_TIM(TIM12, CH2, PB15, TIM_USE_NONE, 0, 0), DEF_TIM(TIM12, CH2, PB15, TIM_USE_CAMERA_CONTROL, 0, 0),
// Backdoor timers on UARTs // Backdoor timers on UARTs
DEF_TIM(TIM4, CH1, PB6, TIM_USE_NONE, 0, 0), // UART1_TX Collision with PPM DEF_TIM(TIM4, CH1, PB6, TIM_USE_NONE, 0, 0), // UART1_TX Collision with PPM

View file

@ -177,8 +177,6 @@
#define RSSI_ADC_PIN PC4 #define RSSI_ADC_PIN PC4
#define EXTERNAL1_ADC_PIN PA4 #define EXTERNAL1_ADC_PIN PA4
#define CAMERA_CONTROL_PIN PB15
#define USE_TRANSPONDER #define USE_TRANSPONDER
#define USE_RANGEFINDER #define USE_RANGEFINDER

View file

@ -27,11 +27,11 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM11, CH1, PB9, TIM_USE_ANY, 0, 0), // CAMERA_CONTROL_PIN DEF_TIM(TIM11, CH1, PB9, TIM_USE_CAMERA_CONTROL, 0, 0), // CAMERA_CONTROL_PIN
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0), // M1_OUT - D1_ST2_CH5 DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0), // M1_OUT - D1_ST2_CH5
DEF_TIM(TIM8, CH2N, PB0, TIM_USE_MOTOR, 0, 0), // M2_OUT - D2_ST3_CH7 DEF_TIM(TIM8, CH2N, PB0, TIM_USE_MOTOR, 0, 0), // M2_OUT - D2_ST3_CH7
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 0, 0), // M3_OUT - D2_ST7_CH7 DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 0, 0), // M3_OUT - D2_ST7_CH7
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0, 1), // M4_OUT - D2_ST1_CH6 DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0, 1), // M4_OUT - D2_ST1_CH6
DEF_TIM(TIM4, CH3, PB8, TIM_USE_LED , 0, 0) // LED & MOTOR5 D1_ST7_CH2 DEF_TIM(TIM4, CH3, PB8, TIM_USE_LED , 0, 0) // LED & MOTOR5 D1_ST7_CH2
}; };

View file

@ -28,7 +28,6 @@
#define BEEPER_INVERTED #define BEEPER_INVERTED
#define INVERTER_PIN_UART1 PC3 // PC3 used as sBUS inverter select GPIO #define INVERTER_PIN_UART1 PC3 // PC3 used as sBUS inverter select GPIO
#define CAMERA_CONTROL_PIN PB9 // define dedicated camera_osd_control pin
#define USE_EXTI #define USE_EXTI
#define MPU_INT_EXTI PC4 #define MPU_INT_EXTI PC4

View file

@ -28,18 +28,18 @@
#include "drivers/timer_def.h" #include "drivers/timer_def.h"
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM12, CH2, PB15, TIM_USE_PPM, 0, 0), // PPM 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, 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, 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, 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(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, 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, 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(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(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(TIM4, CH1, PB6, TIM_USE_LED, 0, 0), // LED STRIP(1,0)
DEF_TIM(TIM2, CH2, PB3, TIM_USE_PWM, 0, 0), // FC CAM DEF_TIM(TIM2, CH2, PB3, TIM_USE_CAMERA_CONTROL, 0, 0), // FC CAM
}; };

View file

@ -33,8 +33,6 @@
#define BEEPER_PIN PC13 #define BEEPER_PIN PC13
#define BEEPER_INVERTED #define BEEPER_INVERTED
#define CAMERA_CONTROL_PIN PB3
#define USE_SPI #define USE_SPI
#define USE_SPI_DEVICE_1 #define USE_SPI_DEVICE_1

View file

@ -28,14 +28,14 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM8, CH3, PC8, TIM_USE_PPM, 0, 0 ), // PPM IN 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, 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, CH2, PA1, TIM_USE_MOTOR, 0, 0 ), // S2_OUT - DMA1_ST4
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0 ), // S3_OUT - DMA1_ST1 DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 0, 0 ), // S3_OUT - DMA1_ST1
DEF_TIM(TIM2, CH4, PA3, TIM_USE_MOTOR, 0, 1 ), // S4_OUT - DMA1_ST6 DEF_TIM(TIM2, 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 DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0 ), // S5_OUT - DMA1_ST7
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR | TIM_USE_LED, 0, 0 ), // S6_OUT - DMA1_ST3 DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR | TIM_USE_LED | TIM_USE_CAMERA_CONTROL, 0, 0 ), // S6_OUT - DMA1_ST3
DEF_TIM(TIM3, CH4, PB1, TIM_USE_ANY, 0, 0 ), // Camera control DEF_TIM(TIM3, CH4, PB1, TIM_USE_ANY, 0, 0 ), // Camera control
DEF_TIM(TIM3, CH4, PC9, TIM_USE_BEEPER, 0, 0 ), // BEEPER PWM DEF_TIM(TIM3, CH4, PC9, TIM_USE_BEEPER, 0, 0 ), // BEEPER PWM
DEF_TIM(TIM12, CH1, PB14, TIM_USE_BEEPER, 0, 0 ), // BEEPER PWM OPT DEF_TIM(TIM12, CH1, PB14, TIM_USE_BEEPER, 0, 0 ), // BEEPER PWM OPT
}; };

View file

@ -30,9 +30,6 @@
#define LED1_PIN PB4 #define LED1_PIN PB4
#define LED2_PIN PB5 #define LED2_PIN PB5
//define camera control
#define CAMERA_CONTROL_PIN PB7 // Camera control
#define USE_BEEPER #define USE_BEEPER
#define BEEPER_PIN PC9 #define BEEPER_PIN PC9
#define BEEPER_OPT PB14 #define BEEPER_OPT PB14

View file

@ -35,7 +35,7 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM5, CH4, PA3, TIM_USE_MOTOR, 0, 1 ), // S4_OUT - DMA1_ST6 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, 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(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(TIM4, CH2, PB7, TIM_USE_CAMERA_CONTROL, 0, 0 ), // Camera Control
DEF_TIM(TIM12, CH1, PB14, TIM_USE_BEEPER, 0, 0 ), // BEEPER PWM DEF_TIM(TIM12, CH1, PB14, TIM_USE_BEEPER, 0, 0 ), // BEEPER PWM
}; };

View file

@ -27,9 +27,6 @@
#define LED0_PIN PB4 #define LED0_PIN PB4
//define camera control
#define CAMERA_CONTROL_PIN PB7
#define USE_BEEPER #define USE_BEEPER
#define BEEPER_PIN PB14 #define BEEPER_PIN PB14
#define BEEPER_PWM_HZ 3150 #define BEEPER_PWM_HZ 3150