mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-19 22:35:23 +03:00
Add ACC_CALIB arming disabled reason if ACC is required but not calibrated
Checks various features, modes, and OSD elements to determine if ACC is needed. Generates an arming disabled warning if ACC calibration has never been completed.
This commit is contained in:
parent
2888bdd2b8
commit
565f1f4db5
9 changed files with 122 additions and 1 deletions
|
@ -96,6 +96,11 @@ void resetRollAndPitchTrims(rollAndPitchTrims_t *rollAndPitchTrims)
|
|||
);
|
||||
}
|
||||
|
||||
static void setConfigCalibrationCompleted(void)
|
||||
{
|
||||
accelerometerConfigMutable()->calibrationCompleted = true;
|
||||
}
|
||||
|
||||
void accResetRollAndPitchTrims(void)
|
||||
{
|
||||
resetRollAndPitchTrims(&accelerometerConfigMutable()->accelerometerTrims);
|
||||
|
@ -119,6 +124,7 @@ void pgResetFn_accelerometerConfig(accelerometerConfig_t *instance)
|
|||
.acc_lpf_hz = 10,
|
||||
.acc_hardware = ACC_DEFAULT,
|
||||
.acc_high_fsr = false,
|
||||
.calibrationCompleted = false,
|
||||
);
|
||||
resetRollAndPitchTrims(&instance->accelerometerTrims);
|
||||
resetFlightDynamicsTrims(&instance->accZero);
|
||||
|
@ -405,6 +411,7 @@ static void performAcclerationCalibration(rollAndPitchTrims_t *rollAndPitchTrims
|
|||
accelerationTrims->raw[Z] = (a[Z] + (CALIBRATING_ACC_CYCLES / 2)) / CALIBRATING_ACC_CYCLES - acc.dev.acc_1G;
|
||||
|
||||
resetRollAndPitchTrims(rollAndPitchTrims);
|
||||
setConfigCalibrationCompleted();
|
||||
|
||||
saveConfigAndNotify();
|
||||
}
|
||||
|
@ -459,6 +466,7 @@ static void performInflightAccelerationCalibration(rollAndPitchTrims_t *rollAndP
|
|||
accelerationTrims->raw[Z] = b[Z] / 50 - acc.dev.acc_1G; // for nunchuck 200=1G
|
||||
|
||||
resetRollAndPitchTrims(rollAndPitchTrims);
|
||||
setConfigCalibrationCompleted();
|
||||
|
||||
saveConfigAndNotify();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue