AlienFlight fixes
This commit is contained in:
parent
05f5dab607
commit
513db25bd5
|
@ -583,6 +583,7 @@ static void resetConf(void)
|
|||
#ifdef ALIENFLIGHT
|
||||
featureSet(FEATURE_RX_SERIAL);
|
||||
featureSet(FEATURE_MOTOR_STOP);
|
||||
featureClear(FEATURE_ONESHOT125);
|
||||
#ifdef ALIENFLIGHTF3
|
||||
masterConfig.serialConfig.portConfigs[2].functionMask = FUNCTION_RX_SERIAL;
|
||||
masterConfig.batteryConfig.vbatscale = 20;
|
||||
|
@ -595,6 +596,14 @@ static void resetConf(void)
|
|||
masterConfig.escAndServoConfig.minthrottle = 1000;
|
||||
masterConfig.escAndServoConfig.maxthrottle = 2000;
|
||||
masterConfig.motor_pwm_rate = 32000;
|
||||
currentProfile->pidProfile.pidController = 2;
|
||||
masterConfig.failsafeConfig.failsafe_delay = 2;
|
||||
masterConfig.failsafeConfig.failsafe_off_delay = 0;
|
||||
masterConfig.mixerConfig.yaw_jump_prevention_limit = 500;
|
||||
currentControlRateProfile->rcRate8 = 100;
|
||||
currentControlRateProfile->rates[FD_PITCH] = 20;
|
||||
currentControlRateProfile->rates[FD_ROLL] = 20;
|
||||
currentControlRateProfile->rates[FD_YAW] = 20;
|
||||
parseRcChannels("TAER1234", &masterConfig.rxConfig);
|
||||
|
||||
// { 1.0f, -0.414178f, 1.0f, -1.0f }, // REAR_R
|
||||
|
|
|
@ -17,15 +17,20 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
struct {
|
||||
GPIO_TypeDef *gpio;
|
||||
uint16_t pin;
|
||||
} led_config[3];
|
||||
|
||||
// Helpful macros
|
||||
#ifdef LED0
|
||||
#define LED0_TOGGLE digitalToggle(LED0_GPIO, LED0_PIN)
|
||||
#define LED0_TOGGLE digitalToggle(led_config[0].gpio, led_config[0].pin)
|
||||
#ifndef LED0_INVERTED
|
||||
#define LED0_OFF digitalHi(LED0_GPIO, LED0_PIN)
|
||||
#define LED0_ON digitalLo(LED0_GPIO, LED0_PIN)
|
||||
#define LED0_OFF digitalHi(led_config[0].gpio, led_config[0].pin)
|
||||
#define LED0_ON digitalLo(led_config[0].gpio, led_config[0].pin)
|
||||
#else
|
||||
#define LED0_OFF digitalLo(LED0_GPIO, LED0_PIN)
|
||||
#define LED0_ON digitalHi(LED0_GPIO, LED0_PIN)
|
||||
#define LED0_OFF digitalLo(led_config[0].gpio, led_config[0].pin)
|
||||
#define LED0_ON digitalHi(led_config[0].gpio, led_config[0].pin)
|
||||
#endif // inverted
|
||||
#else
|
||||
#define LED0_TOGGLE do {} while(0)
|
||||
|
@ -34,13 +39,13 @@
|
|||
#endif
|
||||
|
||||
#ifdef LED1
|
||||
#define LED1_TOGGLE digitalToggle(LED1_GPIO, LED1_PIN)
|
||||
#define LED1_TOGGLE digitalToggle(led_config[1].gpio, led_config[1].pin)
|
||||
#ifndef LED1_INVERTED
|
||||
#define LED1_OFF digitalHi(LED1_GPIO, LED1_PIN)
|
||||
#define LED1_ON digitalLo(LED1_GPIO, LED1_PIN)
|
||||
#define LED1_OFF digitalHi(led_config[1].gpio, led_config[1].pin)
|
||||
#define LED1_ON digitalLo(led_config[1].gpio, led_config[1].pin)
|
||||
#else
|
||||
#define LED1_OFF digitalLo(LED1_GPIO, LED1_PIN)
|
||||
#define LED1_ON digitalHi(LED1_GPIO, LED1_PIN)
|
||||
#define LED1_OFF digitalLo(led_config[1].gpio, led_config[1].pin)
|
||||
#define LED1_ON digitalHi(led_config[1].gpio, led_config[1].pin)
|
||||
#endif // inverted
|
||||
#else
|
||||
#define LED1_TOGGLE do {} while(0)
|
||||
|
@ -50,13 +55,13 @@
|
|||
|
||||
|
||||
#ifdef LED2
|
||||
#define LED2_TOGGLE digitalToggle(LED2_GPIO, LED2_PIN)
|
||||
#define LED2_TOGGLE digitalToggle(led_config[2].gpio, led_config[2].pin)
|
||||
#ifndef LED2_INVERTED
|
||||
#define LED2_OFF digitalHi(LED2_GPIO, LED2_PIN)
|
||||
#define LED2_ON digitalLo(LED2_GPIO, LED2_PIN)
|
||||
#define LED2_OFF digitalHi(led_config[2].gpio, led_config[2].pin)
|
||||
#define LED2_ON digitalLo(led_config[2].gpio, led_config[2].pin)
|
||||
#else
|
||||
#define LED2_OFF digitalLo(LED2_GPIO, LED2_PIN)
|
||||
#define LED2_ON digitalHi(LED2_GPIO, LED2_PIN)
|
||||
#define LED2_OFF digitalLo(led_config[2].gpio, led_config[2].pin)
|
||||
#define LED2_ON digitalHi(led_config[2].gpio, led_config[2].pin)
|
||||
#endif // inverted
|
||||
#else
|
||||
#define LED2_TOGGLE do {} while(0)
|
||||
|
@ -64,4 +69,4 @@
|
|||
#define LED2_ON do {} while(0)
|
||||
#endif
|
||||
|
||||
void ledInit(void);
|
||||
void ledInit(bool alternative_led);
|
||||
|
|
|
@ -28,56 +28,37 @@
|
|||
|
||||
#include "light_led.h"
|
||||
|
||||
|
||||
void ledInit(void)
|
||||
void ledInit(bool alternative_led)
|
||||
{
|
||||
UNUSED(alternative_led);
|
||||
#if defined(LED0) || defined(LED1) || defined(LED2)
|
||||
uint32_t i;
|
||||
|
||||
struct {
|
||||
GPIO_TypeDef *gpio;
|
||||
gpio_config_t cfg;
|
||||
} gpio_setup[] = {
|
||||
#ifdef LED0
|
||||
{
|
||||
.gpio = LED0_GPIO,
|
||||
.cfg = { LED0_PIN, Mode_Out_PP, Speed_2MHz }
|
||||
},
|
||||
#endif
|
||||
#ifdef LED1
|
||||
{
|
||||
.gpio = LED1_GPIO,
|
||||
.cfg = { LED1_PIN, Mode_Out_PP, Speed_2MHz }
|
||||
},
|
||||
#endif
|
||||
#ifdef LED2
|
||||
{
|
||||
.gpio = LED2_GPIO,
|
||||
.cfg = { LED2_PIN, Mode_Out_PP, Speed_2MHz }
|
||||
}
|
||||
#endif
|
||||
};
|
||||
|
||||
uint8_t gpio_count = ARRAYLEN(gpio_setup);
|
||||
|
||||
gpio_config_t cfg;
|
||||
cfg.mode = Mode_Out_PP;
|
||||
cfg.speed = Speed_2MHz;
|
||||
#ifdef LED0
|
||||
RCC_APB2PeriphClockCmd(LED0_PERIPHERAL, ENABLE);
|
||||
led_config[0].gpio = LED0_GPIO;
|
||||
led_config[0].pin = LED0_PIN;
|
||||
cfg.pin = led_config[0].pin;
|
||||
LED0_OFF;
|
||||
gpioInit(led_config[0].gpio, &cfg);
|
||||
#endif
|
||||
#ifdef LED1
|
||||
RCC_APB2PeriphClockCmd(LED1_PERIPHERAL, ENABLE);
|
||||
led_config[1].gpio = LED1_GPIO;
|
||||
led_config[1].pin = LED1_PIN;
|
||||
cfg.pin = led_config[1].pin;
|
||||
LED1_OFF;
|
||||
gpioInit(led_config[1].gpio, &cfg);
|
||||
#endif
|
||||
#ifdef LED2
|
||||
RCC_APB2PeriphClockCmd(LED2_PERIPHERAL, ENABLE);
|
||||
#endif
|
||||
|
||||
LED0_OFF;
|
||||
LED1_OFF;
|
||||
led_config[2].gpio = LED2_GPIO;
|
||||
led_config[2].pin = LED2_PIN;
|
||||
cfg.pin = led_config[2].pin;
|
||||
LED2_OFF;
|
||||
|
||||
for (i = 0; i < gpio_count; i++) {
|
||||
gpioInit(gpio_setup[i].gpio, &gpio_setup[i].cfg);
|
||||
}
|
||||
|
||||
gpioInit(led_config[2].gpio, &cfg);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -27,52 +27,62 @@
|
|||
|
||||
#include "light_led.h"
|
||||
|
||||
void ledInit(void)
|
||||
void ledInit(bool alternative_led)
|
||||
{
|
||||
uint32_t i;
|
||||
|
||||
struct {
|
||||
GPIO_TypeDef *gpio;
|
||||
gpio_config_t cfg;
|
||||
} gpio_setup[] = {
|
||||
#if defined(LED0) || defined(LED1) || defined(LED2)
|
||||
gpio_config_t cfg;
|
||||
cfg.mode = Mode_Out_PP;
|
||||
cfg.speed = Speed_2MHz;
|
||||
#ifdef LED0
|
||||
{
|
||||
.gpio = LED0_GPIO,
|
||||
.cfg = { LED0_PIN, Mode_Out_PP, Speed_2MHz }
|
||||
},
|
||||
if (alternative_led) {
|
||||
#ifdef LED0_PERIPHERAL_2
|
||||
RCC_AHBPeriphClockCmd(LED0_PERIPHERAL_2, ENABLE);
|
||||
led_config[0].gpio = LED0_GPIO_2;
|
||||
led_config[0].pin = LED0_PIN_2;
|
||||
#endif
|
||||
#ifdef LED1
|
||||
{
|
||||
.gpio = LED1_GPIO,
|
||||
.cfg = { LED1_PIN, Mode_Out_PP, Speed_2MHz }
|
||||
},
|
||||
#endif
|
||||
#ifdef LED2
|
||||
{
|
||||
.gpio = LED2_GPIO,
|
||||
.cfg = { LED2_PIN, Mode_Out_PP, Speed_2MHz }
|
||||
}
|
||||
#endif
|
||||
};
|
||||
|
||||
uint8_t gpio_count = ARRAYLEN(gpio_setup);
|
||||
|
||||
#ifdef LED0
|
||||
RCC_AHBPeriphClockCmd(LED0_PERIPHERAL, ENABLE);
|
||||
#endif
|
||||
#ifdef LED1
|
||||
RCC_AHBPeriphClockCmd(LED1_PERIPHERAL, ENABLE);
|
||||
#endif
|
||||
#ifdef LED2
|
||||
RCC_AHBPeriphClockCmd(LED2_PERIPHERAL, ENABLE);
|
||||
#endif
|
||||
|
||||
LED0_OFF;
|
||||
LED1_OFF;
|
||||
LED2_OFF;
|
||||
|
||||
for (i = 0; i < gpio_count; i++) {
|
||||
gpioInit(gpio_setup[i].gpio, &gpio_setup[i].cfg);
|
||||
} else {
|
||||
RCC_AHBPeriphClockCmd(LED0_PERIPHERAL, ENABLE);
|
||||
led_config[0].gpio = LED0_GPIO;
|
||||
led_config[0].pin = LED0_PIN;
|
||||
}
|
||||
cfg.pin = led_config[0].pin;
|
||||
LED0_OFF;
|
||||
gpioInit(led_config[0].gpio, &cfg);
|
||||
#endif
|
||||
#ifdef LED1
|
||||
if (alternative_led) {
|
||||
#ifdef LED1_PERIPHERAL_2
|
||||
RCC_AHBPeriphClockCmd(LED1_PERIPHERAL_2, ENABLE);
|
||||
led_config[1].gpio = LED1_GPIO_2;
|
||||
led_config[1].pin = LED1_PIN_2;
|
||||
#endif
|
||||
} else {
|
||||
RCC_AHBPeriphClockCmd(LED1_PERIPHERAL, ENABLE);
|
||||
led_config[1].gpio = LED1_GPIO;
|
||||
led_config[1].pin = LED1_PIN;
|
||||
}
|
||||
cfg.pin = led_config[1].pin;
|
||||
LED1_OFF;
|
||||
gpioInit(led_config[1].gpio, &cfg);
|
||||
#endif
|
||||
#ifdef LED2
|
||||
if (alternative_led) {
|
||||
#ifdef LED2_PERIPHERAL_2
|
||||
RCC_AHBPeriphClockCmd(LED2_PERIPHERAL_2, ENABLE);
|
||||
led_config[2].gpio = LED2_GPIO_2;
|
||||
led_config[2].pin = LED2_PIN_2;
|
||||
#endif
|
||||
} else {
|
||||
RCC_AHBPeriphClockCmd(LED2_PERIPHERAL, ENABLE);
|
||||
led_config[2].gpio = LED2_GPIO;
|
||||
led_config[2].pin = LED2_PIN;
|
||||
}
|
||||
cfg.pin = led_config[2].pin;
|
||||
LED2_OFF;
|
||||
gpioInit(led_config[2].gpio, &cfg);
|
||||
#endif
|
||||
#else
|
||||
UNUSED(alternative_led);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -189,7 +189,15 @@ void init(void)
|
|||
// Latch active features to be used for feature() in the remainder of init().
|
||||
latchActiveFeatures();
|
||||
|
||||
ledInit();
|
||||
#ifdef ALIENFLIGHTF3
|
||||
if (hardwareRevision == AFF3_REV_1) {
|
||||
ledInit(false);
|
||||
} else {
|
||||
ledInit(true);
|
||||
}
|
||||
#else
|
||||
ledInit(false);
|
||||
#endif
|
||||
|
||||
#ifdef SPRACINGF3MINI
|
||||
gpio_config_t buttonAGpioConfig = {
|
||||
|
|
Loading…
Reference in New Issue