From 38dd09f9b532c4b99ad99068681057c43cb02958 Mon Sep 17 00:00:00 2001 From: Stephen Willey Date: Mon, 7 Sep 2015 09:56:12 -0700 Subject: [PATCH] Floating point inflight adjustments adjust by 0.01 instead of 0.1 --- src/main/io/rc_controls.c | 6 +++--- src/test/unit/rc_controls_unittest.cc | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/io/rc_controls.c b/src/main/io/rc_controls.c index aad42b80b4..fd91111e42 100644 --- a/src/main/io/rc_controls.c +++ b/src/main/io/rc_controls.c @@ -529,7 +529,7 @@ void applyStepAdjustment(controlRateConfig_t *controlRateConfig, uint8_t adjustm case ADJUSTMENT_PITCH_ROLL_P: case ADJUSTMENT_PITCH_P: if (IS_PID_CONTROLLER_FP_BASED(pidProfile->pidController)) { - newFloatValue = constrainf(pidProfile->P_f[PIDPITCH] + (float)(delta / 10.0f), 0, 100); // FIXME magic numbers repeated in serial_cli.c + newFloatValue = constrainf(pidProfile->P_f[PIDPITCH] + (float)(delta / 100.0f), 0, 100); // FIXME magic numbers repeated in serial_cli.c pidProfile->P_f[PIDPITCH] = newFloatValue; blackboxLogInflightAdjustmentEventFloat(ADJUSTMENT_PITCH_P, newFloatValue); } else { @@ -543,7 +543,7 @@ void applyStepAdjustment(controlRateConfig_t *controlRateConfig, uint8_t adjustm // follow though for combined ADJUSTMENT_PITCH_ROLL_P case ADJUSTMENT_ROLL_P: if (IS_PID_CONTROLLER_FP_BASED(pidProfile->pidController)) { - newFloatValue = constrainf(pidProfile->P_f[PIDROLL] + (float)(delta / 10.0f), 0, 100); // FIXME magic numbers repeated in serial_cli.c + newFloatValue = constrainf(pidProfile->P_f[PIDROLL] + (float)(delta / 100.0f), 0, 100); // FIXME magic numbers repeated in serial_cli.c pidProfile->P_f[PIDROLL] = newFloatValue; blackboxLogInflightAdjustmentEventFloat(ADJUSTMENT_ROLL_P, newFloatValue); } else { @@ -606,7 +606,7 @@ void applyStepAdjustment(controlRateConfig_t *controlRateConfig, uint8_t adjustm break; case ADJUSTMENT_YAW_P: if (IS_PID_CONTROLLER_FP_BASED(pidProfile->pidController)) { - newFloatValue = constrainf(pidProfile->P_f[PIDYAW] + (float)(delta / 10.0f), 0, 100); // FIXME magic numbers repeated in serial_cli.c + newFloatValue = constrainf(pidProfile->P_f[PIDYAW] + (float)(delta / 100.0f), 0, 100); // FIXME magic numbers repeated in serial_cli.c pidProfile->P_f[PIDYAW] = newFloatValue; blackboxLogInflightAdjustmentEventFloat(ADJUSTMENT_YAW_P, newFloatValue); } else { diff --git a/src/test/unit/rc_controls_unittest.cc b/src/test/unit/rc_controls_unittest.cc index a5bad1c9d3..d21defb795 100644 --- a/src/test/unit/rc_controls_unittest.cc +++ b/src/test/unit/rc_controls_unittest.cc @@ -673,9 +673,9 @@ TEST_F(RcControlsAdjustmentsTest, processPIDIncreasePidController2) EXPECT_EQ(adjustmentStateMask, expectedAdjustmentStateMask); // and - EXPECT_EQ(0.1f, pidProfile.P_f[PIDPITCH]); - EXPECT_EQ(5.1f, pidProfile.P_f[PIDROLL]); - EXPECT_EQ(7.1f, pidProfile.P_f[PIDYAW]); + EXPECT_EQ(0.01f, pidProfile.P_f[PIDPITCH]); + EXPECT_EQ(5.01f, pidProfile.P_f[PIDROLL]); + EXPECT_EQ(7.01f, pidProfile.P_f[PIDYAW]); EXPECT_EQ(10.01f, pidProfile.I_f[PIDPITCH]); EXPECT_EQ(15.01f, pidProfile.I_f[PIDROLL]); EXPECT_EQ(17.01f, pidProfile.I_f[PIDYAW]);