1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-14 11:59:58 +03:00

Minor ROM size optimisation of rc_controls

This commit is contained in:
Martin Budden 2018-01-12 08:04:58 +00:00
parent db0f1c4f10
commit a7544f3b9d

View file

@ -243,16 +243,18 @@ void processRcStickPositions(throttleStatus_e throttleStatus)
} }
// Change PID profile // Change PID profile
int newPidProfile = 0; switch (rcSticks) {
if (rcSticks == THR_LO + YAW_LO + PIT_CE + ROL_LO) { // ROLL left -> PID profile 1 case THR_LO + YAW_LO + PIT_CE + ROL_LO:
newPidProfile = 1; // ROLL left -> PID profile 1
} else if (rcSticks == THR_LO + YAW_LO + PIT_HI + ROL_CE) { // PITCH up -> PID profile 2 changePidProfile(0);
newPidProfile = 2; return;
} else if (rcSticks == THR_LO + YAW_LO + PIT_CE + ROL_HI) { // ROLL right -> PID profile 3 case THR_LO + YAW_LO + PIT_HI + ROL_CE:
newPidProfile = 3; // PITCH up -> PID profile 2
} changePidProfile(1);
if (newPidProfile) { return;
changePidProfile(newPidProfile - 1); case THR_LO + YAW_LO + PIT_CE + ROL_HI:
// ROLL right -> PID profile 3
changePidProfile(2);
return; return;
} }
@ -280,18 +282,23 @@ void processRcStickPositions(throttleStatus_e throttleStatus)
memset(&accelerometerTrimsDelta, 0, sizeof(accelerometerTrimsDelta)); memset(&accelerometerTrimsDelta, 0, sizeof(accelerometerTrimsDelta));
bool shouldApplyRollAndPitchTrimDelta = false; bool shouldApplyRollAndPitchTrimDelta = false;
if (rcSticks == THR_HI + YAW_CE + PIT_HI + ROL_CE) { switch (rcSticks) {
case THR_HI + YAW_CE + PIT_HI + ROL_CE:
accelerometerTrimsDelta.values.pitch = 2; accelerometerTrimsDelta.values.pitch = 2;
shouldApplyRollAndPitchTrimDelta = true; shouldApplyRollAndPitchTrimDelta = true;
} else if (rcSticks == THR_HI + YAW_CE + PIT_LO + ROL_CE) { break;
case THR_HI + YAW_CE + PIT_LO + ROL_CE:
accelerometerTrimsDelta.values.pitch = -2; accelerometerTrimsDelta.values.pitch = -2;
shouldApplyRollAndPitchTrimDelta = true; shouldApplyRollAndPitchTrimDelta = true;
} else if (rcSticks == THR_HI + YAW_CE + PIT_CE + ROL_HI) { break;
case THR_HI + YAW_CE + PIT_CE + ROL_HI:
accelerometerTrimsDelta.values.roll = 2; accelerometerTrimsDelta.values.roll = 2;
shouldApplyRollAndPitchTrimDelta = true; shouldApplyRollAndPitchTrimDelta = true;
} else if (rcSticks == THR_HI + YAW_CE + PIT_CE + ROL_LO) { break;
case THR_HI + YAW_CE + PIT_CE + ROL_LO:
accelerometerTrimsDelta.values.roll = -2; accelerometerTrimsDelta.values.roll = -2;
shouldApplyRollAndPitchTrimDelta = true; shouldApplyRollAndPitchTrimDelta = true;
break;
} }
if (shouldApplyRollAndPitchTrimDelta) { if (shouldApplyRollAndPitchTrimDelta) {
applyAndSaveAccelerometerTrimsDelta(&accelerometerTrimsDelta); applyAndSaveAccelerometerTrimsDelta(&accelerometerTrimsDelta);