mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-13 19:40:31 +03:00
Minor ROM size optimisation of rc_controls
This commit is contained in:
parent
db0f1c4f10
commit
a7544f3b9d
1 changed files with 21 additions and 14 deletions
|
@ -243,16 +243,18 @@ void processRcStickPositions(throttleStatus_e throttleStatus)
|
|||
}
|
||||
|
||||
// Change PID profile
|
||||
int newPidProfile = 0;
|
||||
if (rcSticks == THR_LO + YAW_LO + PIT_CE + ROL_LO) { // ROLL left -> PID profile 1
|
||||
newPidProfile = 1;
|
||||
} else if (rcSticks == THR_LO + YAW_LO + PIT_HI + ROL_CE) { // PITCH up -> PID profile 2
|
||||
newPidProfile = 2;
|
||||
} else if (rcSticks == THR_LO + YAW_LO + PIT_CE + ROL_HI) { // ROLL right -> PID profile 3
|
||||
newPidProfile = 3;
|
||||
}
|
||||
if (newPidProfile) {
|
||||
changePidProfile(newPidProfile - 1);
|
||||
switch (rcSticks) {
|
||||
case THR_LO + YAW_LO + PIT_CE + ROL_LO:
|
||||
// ROLL left -> PID profile 1
|
||||
changePidProfile(0);
|
||||
return;
|
||||
case THR_LO + YAW_LO + PIT_HI + ROL_CE:
|
||||
// PITCH up -> PID profile 2
|
||||
changePidProfile(1);
|
||||
return;
|
||||
case THR_LO + YAW_LO + PIT_CE + ROL_HI:
|
||||
// ROLL right -> PID profile 3
|
||||
changePidProfile(2);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -280,18 +282,23 @@ void processRcStickPositions(throttleStatus_e throttleStatus)
|
|||
memset(&accelerometerTrimsDelta, 0, sizeof(accelerometerTrimsDelta));
|
||||
|
||||
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;
|
||||
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;
|
||||
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;
|
||||
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;
|
||||
shouldApplyRollAndPitchTrimDelta = true;
|
||||
break;
|
||||
}
|
||||
if (shouldApplyRollAndPitchTrimDelta) {
|
||||
applyAndSaveAccelerometerTrimsDelta(&accelerometerTrimsDelta);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue