Merge pull request #2924 from betaflight/spracingf3mq

SPRacing target cleanups/additions.
This commit is contained in:
Martin Budden 2017-04-23 09:34:29 +01:00 committed by GitHub
commit ba62820076
8 changed files with 61 additions and 5 deletions

View File

@ -0,0 +1 @@
# Brushed variant of the SPRACINGF3EVO

View File

@ -19,11 +19,37 @@
#ifdef TARGET_CONFIG #ifdef TARGET_CONFIG
#include "common/axis.h"
#include "fc/config.h" #include "fc/config.h"
#include "flight/mixer.h"
#include "flight/pid.h"
#if defined(SPRACINGF3MQ)
#ifdef BRUSHED_MOTORS_PWM_RATE
#undef BRUSHED_MOTORS_PWM_RATE
#endif
#define BRUSHED_MOTORS_PWM_RATE 32000 // 32kHz
#endif
void targetConfiguration(void) void targetConfiguration(void)
{ {
// Temporary workaround: Disable SDCard DMA by default since it causes errors on this target // Temporary workaround: Disable SDCard DMA by default since it causes errors on this target
sdcardConfigMutable()->useDma = false; sdcardConfigMutable()->useDma = false;
#if defined(SPRACINGF3MQ)
motorConfigMutable()->dev.motorPwmRate = BRUSHED_MOTORS_PWM_RATE;
pidProfilesMutable(0)->P8[FD_ROLL] = 90;
pidProfilesMutable(0)->I8[FD_ROLL] = 44;
pidProfilesMutable(0)->D8[FD_ROLL] = 60;
pidProfilesMutable(0)->P8[FD_PITCH] = 90;
pidProfilesMutable(0)->I8[FD_PITCH] = 44;
pidProfilesMutable(0)->D8[FD_PITCH] = 60;
#endif
} }
#endif #endif

View File

@ -27,7 +27,7 @@
const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
// PPM / UART2 RX // PPM / UART2 RX
DEF_TIM(TIM8, CH1, PA15, TIM_USE_PPM, 0 ), // PPM DEF_TIM(TIM8, CH1, PA15, TIM_USE_PPM, 0 ), // PPM
#ifdef AIORACERF3 #if defined(AIORACERF3)
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 1 ), // PWM1 DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 1 ), // PWM1
DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR, 1 ), // PWM2 DEF_TIM(TIM17, CH1, PA7, TIM_USE_MOTOR, 1 ), // PWM2
DEF_TIM(TIM15, CH1, PA2, TIM_USE_MOTOR, 1 ), // PWM3 DEF_TIM(TIM15, CH1, PA2, TIM_USE_MOTOR, 1 ), // PWM3
@ -36,7 +36,16 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM3, CH1, PA6, TIM_USE_MOTOR, 1 ), // PWM6 DEF_TIM(TIM3, CH1, PA6, TIM_USE_MOTOR, 1 ), // PWM6
DEF_TIM(TIM15, CH2, PA3, TIM_USE_MOTOR, 1 ), // PWM7 DEF_TIM(TIM15, CH2, PA3, TIM_USE_MOTOR, 1 ), // PWM7
DEF_TIM(TIM2, CH1, PA0, TIM_USE_MOTOR, 1 ), // PWM8 DEF_TIM(TIM2, CH1, PA0, TIM_USE_MOTOR, 1 ), // PWM8
#else #elif defined(SPRACINGF3MQ_REV) && (SPRACINGF3MQ_REV <= 1)
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 1 ), // PWM1
DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 1 ), // PWM2
DEF_TIM(TIM3, CH2, PA7, TIM_USE_MOTOR, 1 ), // PWM3
DEF_TIM(TIM16, CH1, PA6, TIM_USE_MOTOR, 1 ), // PWM4 [TIM16_CH1 (D1_CH3 / D1_CH6)] [TIM3_CH1 (D1_CH6)]
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 1 ), // PWM5 [TIM2_CH2 (D1_CH7)] [TIM15_CH1N (D1_CH5)]
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 1 ), // PWM6 [TIM2_CH3 (D1_CH1)] [TIM15_CH1 (D1_CH5)]
DEF_TIM(TIM2, CH1, PA0, TIM_USE_MOTOR, 1 ), // PWM7 [TIM2_CH1 (D1_CH5)]
DEF_TIM(TIM15, CH2, PA3, TIM_USE_MOTOR, 1 ), // PWM8 [TIM2_CH4 (D1_CH7)]
#else // SPRACINGF3EVO / SPRACINGF3MQ
DEF_TIM(TIM2, CH1, PA0, TIM_USE_MOTOR, 1 ), // PWM1 [TIM2_CH1 (D1_CH5)] DEF_TIM(TIM2, CH1, PA0, TIM_USE_MOTOR, 1 ), // PWM1 [TIM2_CH1 (D1_CH5)]
DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 1 ), // PWM2 [TIM2_CH2 (D1_CH7)] [TIM15_CH1N (D1_CH5)] DEF_TIM(TIM2, CH2, PA1, TIM_USE_MOTOR, 1 ), // PWM2 [TIM2_CH2 (D1_CH7)] [TIM15_CH1N (D1_CH5)]
DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 1 ), // PWM3 [TIM2_CH3 (D1_CH1)] [TIM15_CH1 (D1_CH5)] DEF_TIM(TIM2, CH3, PA2, TIM_USE_MOTOR, 1 ), // PWM3 [TIM2_CH3 (D1_CH1)] [TIM15_CH1 (D1_CH5)]

View File

@ -19,12 +19,29 @@
#ifdef AIORACERF3 #ifdef AIORACERF3
#define TARGET_BOARD_IDENTIFIER "ARF3" #define TARGET_BOARD_IDENTIFIER "ARF3"
#elif SPRACINGF3MQ
#define TARGET_BOARD_IDENTIFIER "SPMQ"
#else #else
#define TARGET_BOARD_IDENTIFIER "SPEV" #define TARGET_BOARD_IDENTIFIER "SPEV"
#endif
#define TARGET_CONFIG #define TARGET_CONFIG
#ifdef AIORACERF3
#undef TARGET_CONFIG
#endif #endif
#ifdef SPRACINGF3MQ
#define BRUSHED_MOTORS
#ifndef SPRACINGF3MQ_REV
#define SPRACINGF3MQ_REV 2
#endif
#undef USE_UNCOMMON_MIXERS
#endif
#define CONFIG_FASTLOOP_PREFERRED_ACC ACC_DEFAULT #define CONFIG_FASTLOOP_PREFERRED_ACC ACC_DEFAULT
#define BRUSHED_ESC_AUTODETECT #define BRUSHED_ESC_AUTODETECT

View File

@ -40,7 +40,7 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM2, CH4, PB11, TIM_USE_MOTOR, 1 ), // RC_CH3 - PB11 - *TIM2_CH4, UART3_RX (AF7) DEF_TIM(TIM2, CH4, PB11, TIM_USE_MOTOR, 1 ), // RC_CH3 - PB11 - *TIM2_CH4, UART3_RX (AF7)
#else #else
// PPM Pad // PPM Pad
#ifdef SPRACINGF3MINI_MKII_REVA #if defined(SPRACINGF3MINI_REV) && (SPRACINGF3MINI_REV <= 1)
DEF_TIM(TIM3, CH2, PB5, TIM_USE_PPM, 0), // PPM - PB5 DEF_TIM(TIM3, CH2, PB5, TIM_USE_PPM, 0), // PPM - PB5
// PB4 / TIM3 CH1 is connected to USBPresent // PB4 / TIM3 CH1 is connected to USBPresent
#else #else

View File

@ -26,6 +26,10 @@
#else #else
#define TARGET_BOARD_IDENTIFIER "SRFM" #define TARGET_BOARD_IDENTIFIER "SRFM"
#ifndef SPRACINGF3MINI_REV
#define SPRACINGF3MINI_REV 2
#endif
#define CONFIG_FASTLOOP_PREFERRED_ACC ACC_NONE #define CONFIG_FASTLOOP_PREFERRED_ACC ACC_NONE
#define LED0 PB3 #define LED0 PB3

View File

@ -55,6 +55,5 @@ void targetConfiguration(void)
serialConfigMutable()->portConfigs[findSerialPortIndexByIdentifier(TELEMETRY_UART)].functionMask = FUNCTION_TELEMETRY_SMARTPORT; serialConfigMutable()->portConfigs[findSerialPortIndexByIdentifier(TELEMETRY_UART)].functionMask = FUNCTION_TELEMETRY_SMARTPORT;
telemetryConfigMutable()->telemetry_inversion = 0; telemetryConfigMutable()->telemetry_inversion = 0;
telemetryConfigMutable()->sportHalfDuplex = 0; telemetryConfigMutable()->sportHalfDuplex = 0;
} }
#endif #endif

View File

@ -35,7 +35,7 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 1, 0), // ESC 3 DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 1, 0), // ESC 3
DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 1, 1), // ESC 4 DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 1, 1), // ESC 4
#if (SPRACINGF4EVO_REV >= 2) #if defined(SPRACINGF4EVO_REV) && (SPRACINGF4EVO_REV >= 2)
DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, 1, 0), // ESC 5 / Conflicts with USART5_RX / SPI3_RX - SPI3_RX can be mapped to DMA1_ST3_CH0 DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, 1, 0), // ESC 5 / Conflicts with USART5_RX / SPI3_RX - SPI3_RX can be mapped to DMA1_ST3_CH0
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 1, 0), // ESC 6 / Conflicts with USART3_RX DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 1, 0), // ESC 6 / Conflicts with USART3_RX
#else #else