Allow inflight adjustment of rc_expo.

This commit is contained in:
Dominic Clifton 2014-10-24 21:58:00 +01:00
parent 81e3425326
commit 9ddbb4ed9d
2 changed files with 12 additions and 2 deletions

View File

@ -268,6 +268,10 @@ static const adjustmentConfig_t defaultAdjustmentConfigs[ADJUSTMENT_FUNCTION_COU
.adjustmentFunction = ADJUSTMENT_RC_RATE, .adjustmentFunction = ADJUSTMENT_RC_RATE,
.step = 1 .step = 1
}, },
{
.adjustmentFunction = ADJUSTMENT_RC_EXPO,
.step = 1
},
{ {
.adjustmentFunction = ADJUSTMENT_PITCH_ROLL_RATE, .adjustmentFunction = ADJUSTMENT_PITCH_ROLL_RATE,
.step = 1 .step = 1
@ -316,6 +320,11 @@ void applyAdjustment(controlRateConfig_t *controlRateConfig, uint8_t adjustmentF
controlRateConfig->rcRate8 = constrain(newValue, 0, 250); // FIXME magic numbers repeated in serial_cli.c controlRateConfig->rcRate8 = constrain(newValue, 0, 250); // FIXME magic numbers repeated in serial_cli.c
generatePitchRollCurve(controlRateConfig); generatePitchRollCurve(controlRateConfig);
break; break;
case ADJUSTMENT_RC_EXPO:
newValue = (int)controlRateConfig->rcExpo8 + delta;
controlRateConfig->rcExpo8 = constrain(newValue, 0, 100); // FIXME magic numbers repeated in serial_cli.c
generatePitchRollCurve(controlRateConfig);
break;
case ADJUSTMENT_PITCH_ROLL_RATE: case ADJUSTMENT_PITCH_ROLL_RATE:
newValue = (int)controlRateConfig->rollPitchRate + delta; newValue = (int)controlRateConfig->rollPitchRate + delta;
controlRateConfig->rollPitchRate = constrain(newValue, 0, 100); // FIXME magic numbers repeated in serial_cli.c controlRateConfig->rollPitchRate = constrain(newValue, 0, 100); // FIXME magic numbers repeated in serial_cli.c

View File

@ -136,10 +136,11 @@ void updateActivatedModes(modeActivationCondition_t *modeActivationConditions);
typedef enum { typedef enum {
ADJUSTMENT_NONE = 0, ADJUSTMENT_NONE = 0,
ADJUSTMENT_RC_RATE, ADJUSTMENT_RC_RATE,
ADJUSTMENT_PITCH_ROLL_RATE ADJUSTMENT_RC_EXPO,
ADJUSTMENT_PITCH_ROLL_RATE,
} adjustmentFunction_e; } adjustmentFunction_e;
#define ADJUSTMENT_FUNCTION_COUNT 3 #define ADJUSTMENT_FUNCTION_COUNT 4
typedef struct adjustmentConfig_s { typedef struct adjustmentConfig_s {
uint8_t adjustmentFunction; uint8_t adjustmentFunction;