From 2123a758e7e55223ac7b306f1c276b100d81ad7c Mon Sep 17 00:00:00 2001 From: Martin Budden Date: Sat, 2 Jul 2016 15:23:19 +0100 Subject: [PATCH] Allowed setting of default serial rx in target.h --- src/main/config/config.c | 24 ++++++++---------------- src/main/target/ALIENFLIGHTF3/target.h | 2 +- src/main/target/COLIBRI_RACE/target.h | 6 ++++-- src/main/target/KISSFC/target.h | 3 ++- src/main/target/NAZE/target.h | 1 + src/main/target/OLIMEXINO/target.c | 18 +++++++++++++++++- src/main/target/SINGULARITY/target.h | 6 +++--- 7 files changed, 36 insertions(+), 24 deletions(-) diff --git a/src/main/config/config.c b/src/main/config/config.c index 5bcd1e923..755598e4d 100755 --- a/src/main/config/config.c +++ b/src/main/config/config.c @@ -645,7 +645,13 @@ static void resetConf(void) masterConfig.blackbox_rate_denom = 1; #endif // BLACKBOX - + +#ifdef SERIALRX_UART + if (featureConfigured(FEATURE_RX_SERIAL)) { + masterConfig.serialConfig.portConfigs[SERIALRX_UART].functionMask = FUNCTION_RX_SERIAL; + } +#endif + // alternative defaults settings for COLIBRI RACE targets #if defined(COLIBRI_RACE) masterConfig.escAndServoConfig.minthrottle = 1025; @@ -660,11 +666,6 @@ static void resetConf(void) #if defined(ALIENFLIGHT) featureClear(FEATURE_ONESHOT125); -#ifdef ALIENFLIGHTF1 - masterConfig.serialConfig.portConfigs[1].functionMask = FUNCTION_RX_SERIAL; -#else - masterConfig.serialConfig.portConfigs[2].functionMask = FUNCTION_RX_SERIAL; -#endif #ifdef ALIENFLIGHTF3 masterConfig.mag_hardware = MAG_NONE; // disabled by default #endif @@ -688,11 +689,6 @@ static void resetConf(void) masterConfig.customMotorMixer[7] = (motorMixer_t){ 1.0f, 1.0f, 0.414178f, -1.0f }; // MIDREAR_L#endif #endif -#if defined(SINGULARITY) - // alternative defaults settings for SINGULARITY target - masterConfig.serialConfig.portConfigs[2].functionMask = FUNCTION_RX_SERIAL; -#endif - // copy first profile into remaining profile for (int i = 1; i < MAX_PROFILE_COUNT; i++) { memcpy(&masterConfig.profile[i], currentProfile, sizeof(profile_t)); @@ -901,15 +897,11 @@ void validateAndFixConfig(void) #if defined(COLIBRI_RACE) masterConfig.serialConfig.portConfigs[0].functionMask = FUNCTION_MSP; - if(featureConfigured(FEATURE_RX_PARALLEL_PWM) || featureConfigured(FEATURE_RX_MSP)) { + if (featureConfigured(FEATURE_RX_PARALLEL_PWM) || featureConfigured(FEATURE_RX_MSP)) { featureClear(FEATURE_RX_PARALLEL_PWM); featureClear(FEATURE_RX_MSP); featureSet(FEATURE_RX_PPM); } - if(featureConfigured(FEATURE_RX_SERIAL)) { - masterConfig.serialConfig.portConfigs[2].functionMask = FUNCTION_RX_SERIAL; - //masterConfig.rxConfig.serialrx_provider = SERIALRX_SBUS; - } #endif useRxConfig(&masterConfig.rxConfig); diff --git a/src/main/target/ALIENFLIGHTF3/target.h b/src/main/target/ALIENFLIGHTF3/target.h index a5d1b042f..4cd3d955c 100644 --- a/src/main/target/ALIENFLIGHTF3/target.h +++ b/src/main/target/ALIENFLIGHTF3/target.h @@ -117,7 +117,6 @@ #define USE_ADC #define ADC_INSTANCE ADC2 -//#define BOARD_HAS_VOLTAGE_DIVIDER #define VBAT_ADC_PIN PA4 #define VBAT_SCALE_DEFAULT 20 @@ -133,6 +132,7 @@ #define DEFAULT_FEATURES FEATURE_MOTOR_STOP #define DEFAULT_RX_FEATURE FEATURE_RX_SERIAL #define SERIALRX_PROVIDER SERIALRX_SPEKTRUM2048 +#define SERIALRX_UART SERIAL_PORT_USART3 #define USE_SERIAL_4WAY_BLHELI_INTERFACE diff --git a/src/main/target/COLIBRI_RACE/target.h b/src/main/target/COLIBRI_RACE/target.h index 976b287a0..449a65e26 100755 --- a/src/main/target/COLIBRI_RACE/target.h +++ b/src/main/target/COLIBRI_RACE/target.h @@ -113,7 +113,6 @@ #define USE_ADC #define ADC_INSTANCE ADC1 -#define BOARD_HAS_VOLTAGE_DIVIDER #define VBAT_ADC_PIN PC0 #define CURRENT_METER_ADC_PIN PC1 #define RSSI_ADC_PIN PC2 @@ -144,7 +143,10 @@ #define USE_MPU_DATA_READY_SIGNAL #define ENSURE_MPU_DATA_READY_IS_LOW -#define DEFAULT_RX_FEATURE FEATURE_RX_PPM +#define DEFAULT_FEATURES FEATURE_VBAT +#define DEFAULT_RX_FEATURE FEATURE_RX_SERIAL +#define SERIALRX_PROVIDER SERIALRX_SBUS +#define SERIALRX_UART SERIAL_PORT_USART3 #define USE_SERIAL_4WAY_BLHELI_INTERFACE diff --git a/src/main/target/KISSFC/target.h b/src/main/target/KISSFC/target.h index 9095ef701..d5679d6f2 100644 --- a/src/main/target/KISSFC/target.h +++ b/src/main/target/KISSFC/target.h @@ -81,7 +81,8 @@ #define DEFAULT_FEATURES FEATURE_VBAT #define DEFAULT_RX_FEATURE FEATURE_RX_SERIAL -#define SERIALRX_PROVIDER SERIALRX_SBUS; +#define SERIALRX_PROVIDER SERIALRX_SBUS +#define SERIALRX_UART SERIAL_PORT_USART2 #define SPEKTRUM_BIND #define BIND_PIN PB4 diff --git a/src/main/target/NAZE/target.h b/src/main/target/NAZE/target.h index df73f8e4f..1bc1ded34 100644 --- a/src/main/target/NAZE/target.h +++ b/src/main/target/NAZE/target.h @@ -180,6 +180,7 @@ #define DEFAULT_FEATURES FEATURE_MOTOR_STOP #define DEFAULT_RX_FEATURE FEATURE_RX_SERIAL #define SERIALRX_PROVIDER SERIALRX_SPEKTRUM2048 +#define SERIALRX_UART SERIAL_PORT_USART2 #define HARDWARE_BIND_PLUG // Hardware bind plug at PB5 (Pin 41) diff --git a/src/main/target/OLIMEXINO/target.c b/src/main/target/OLIMEXINO/target.c index 1b75af422..ea20267b3 100644 --- a/src/main/target/OLIMEXINO/target.c +++ b/src/main/target/OLIMEXINO/target.c @@ -1,8 +1,24 @@ +/* + * 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 "drivers/io.h" #include "drivers/pwm_mapping.h" const uint16_t multiPPM[] = { diff --git a/src/main/target/SINGULARITY/target.h b/src/main/target/SINGULARITY/target.h index f58dcbe96..814b72420 100644 --- a/src/main/target/SINGULARITY/target.h +++ b/src/main/target/SINGULARITY/target.h @@ -91,7 +91,6 @@ #define M25P16_SPI_INSTANCE SPI2 #define USE_ADC -#define BOARD_HAS_VOLTAGE_DIVIDER #define ADC_INSTANCE ADC2 #define VBAT_ADC_PIN PB2 @@ -115,8 +114,9 @@ #define ENABLE_BLACKBOX_LOGGING_ON_SPIFLASH_BY_DEFAULT -#define DEFAULT_RX_FEATURE FEATURE_RX_SERIAL -#define DEFAULT_FEATURES FEATURE_BLACKBOX +#define DEFAULT_FEATURES (FEATURE_VBAT | FEATURE_BLACKBOX) +#define DEFAULT_RX_FEATURE FEATURE_RX_SERIAL +#define SERIALRX_UART SERIAL_PORT_USART3 #define SPEKTRUM_BIND // USART2, PA15