From e4a68862661a97acf35e16adbac9d5592bdebd23 Mon Sep 17 00:00:00 2001 From: Dominic Clifton Date: Sat, 7 Mar 2015 15:14:52 +0000 Subject: [PATCH] Allow independent in-flight adjustment of roll and pitch. --- src/main/io/rc_controls.c | 6 ++++++ src/main/io/rc_controls.h | 6 ++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/io/rc_controls.c b/src/main/io/rc_controls.c index efd0761d2..450a63b1a 100644 --- a/src/main/io/rc_controls.c +++ b/src/main/io/rc_controls.c @@ -402,8 +402,14 @@ void applyStepAdjustment(controlRateConfig_t *controlRateConfig, uint8_t adjustm generateThrottleCurve(controlRateConfig, escAndServoConfig); break; case ADJUSTMENT_PITCH_ROLL_RATE: + case ADJUSTMENT_PITCH_RATE: newValue = (int)controlRateConfig->rates[FD_PITCH] + delta; controlRateConfig->rates[FD_PITCH] = constrain(newValue, 0, 100); // FIXME magic numbers repeated in serial_cli.c + if (adjustmentFunction == ADJUSTMENT_PITCH_RATE) { + break; + } + // follow though for combined ADJUSTMENT_PITCH_ROLL_RATE + case ADJUSTMENT_ROLL_RATE: newValue = (int)controlRateConfig->rates[FD_ROLL] + delta; controlRateConfig->rates[FD_ROLL] = constrain(newValue, 0, 100); // FIXME magic numbers repeated in serial_cli.c break; diff --git a/src/main/io/rc_controls.h b/src/main/io/rc_controls.h index 56180c9af..3a8a5e846 100644 --- a/src/main/io/rc_controls.h +++ b/src/main/io/rc_controls.h @@ -156,10 +156,12 @@ typedef enum { ADJUSTMENT_YAW_P, ADJUSTMENT_YAW_I, ADJUSTMENT_YAW_D, - ADJUSTMENT_RATE_PROFILE + ADJUSTMENT_RATE_PROFILE, + ADJUSTMENT_PITCH_RATE, + ADJUSTMENT_ROLL_RATE, } adjustmentFunction_e; -#define ADJUSTMENT_FUNCTION_COUNT 13 +#define ADJUSTMENT_FUNCTION_COUNT 15 typedef enum { ADJUSTMENT_MODE_STEP,