diff --git a/src/cli.c b/src/cli.c index b3a1606710..aab69f04c7 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 f566f2c2ce..90353446ba 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 026ad7e319..4869bf036a 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 e6ec6ea791..5fcb96de90 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