From 74a54d81dd06e37c8e0be509efb7d7bb6e8646a6 Mon Sep 17 00:00:00 2001 From: Johannes Kasberger Date: Mon, 7 Apr 2014 22:52:32 +0200 Subject: [PATCH 1/2] Added options to allow further TPA configuration Replaced define BREAKPOINT with cfg option Added tpa and tpa_breakpoint to cli --- src/cli.c | 2 ++ src/config.c | 1 + src/mw.c | 6 ++---- src/mw.h | 1 + 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/cli.c b/src/cli.c index b3a160671..aab69f04c 100644 --- a/src/cli.c +++ b/src/cli.c @@ -164,6 +164,8 @@ const clivalue_t valueTable[] = { { "thr_expo", VAR_UINT8, &cfg.thrExpo8, 0, 100 }, { "roll_pitch_rate", VAR_UINT8, &cfg.rollPitchRate, 0, 100 }, { "yawrate", VAR_UINT8, &cfg.yawRate, 0, 100 }, + { "tparate", VAR_UINT8, &cfg.dynThrPID, 0, 100}, + { "tpa_breakpoint", VAR_UINT16, &cfg.tpaBreakPoint, 1000, 2000}, { "failsafe_delay", VAR_UINT8, &cfg.failsafe_delay, 0, 200 }, { "failsafe_off_delay", VAR_UINT8, &cfg.failsafe_off_delay, 0, 200 }, { "failsafe_throttle", VAR_UINT16, &cfg.failsafe_throttle, 1000, 2000 }, diff --git a/src/config.c b/src/config.c index f566f2c2c..90353446b 100755 --- a/src/config.c +++ b/src/config.c @@ -255,6 +255,7 @@ static void resetConf(void) cfg.rollPitchRate = 0; cfg.yawRate = 0; cfg.dynThrPID = 0; + cfg.tpaBreakPoint = 1500; cfg.thrMid8 = 50; cfg.thrExpo8 = 0; // for (i = 0; i < CHECKBOXITEMS; i++) diff --git a/src/mw.c b/src/mw.c index 026ad7e31..4869bf036 100755 --- a/src/mw.c +++ b/src/mw.c @@ -80,8 +80,6 @@ void blinkLED(uint8_t num, uint8_t wait, uint8_t repeat) } } -#define BREAKPOINT 1500 - void annexCode(void) { static uint32_t calibratedAccTime; @@ -98,11 +96,11 @@ void annexCode(void) int i; // PITCH & ROLL only dynamic PID adjustemnt, depending on throttle value - if (rcData[THROTTLE] < BREAKPOINT) { + if (rcData[THROTTLE] < cfg.tpaBreakPoint) { prop2 = 100; } else { if (rcData[THROTTLE] < 2000) { - prop2 = 100 - (uint16_t) cfg.dynThrPID * (rcData[THROTTLE] - BREAKPOINT) / (2000 - BREAKPOINT); + prop2 = 100 - (uint16_t) cfg.dynThrPID * (rcData[THROTTLE] - cfg.tpaBreakPoint) / (2000 - cfg.tpaBreakPoint); } else { prop2 = 100 - cfg.dynThrPID; } diff --git a/src/mw.h b/src/mw.h index e6ec6ea79..5fcb96de9 100755 --- a/src/mw.h +++ b/src/mw.h @@ -165,6 +165,7 @@ typedef struct config_t { uint8_t yawRate; uint8_t dynThrPID; + uint16_t tpaBreakPoint; // Breakpoint where TPA is activated int16_t mag_declination; // Get your magnetic decliniation from here : http://magnetic-declination.com/ int16_t angleTrim[2]; // accelerometer trim From 99ff409783cc4b22221a9ef009d72c57dbfc7c01 Mon Sep 17 00:00:00 2001 From: Johannes Kasberger Date: Mon, 7 Apr 2014 23:07:51 +0200 Subject: [PATCH 2/2] increment EEPROM_CONF_VERSION --- src/config.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config.c b/src/config.c index 90353446b..fc0af9916 100755 --- a/src/config.c +++ b/src/config.c @@ -13,7 +13,7 @@ master_t mcfg; // master config struct with data independent from profiles config_t cfg; // profile config struct const char rcChannelLetters[] = "AERT1234"; -static const uint8_t EEPROM_CONF_VERSION = 60; +static const uint8_t EEPROM_CONF_VERSION = 61; static uint32_t enabledSensors = 0; static void resetConf(void);