mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-24 16:55:36 +03:00
Added calibration menu to CMS.
This commit is contained in:
parent
c6e5882dd9
commit
cedcf2d7e2
41 changed files with 387 additions and 143 deletions
|
@ -88,6 +88,7 @@ TEST(ArmingPreventionTest, CalibrationPowerOnGraceAngleThrottleArmSwitch)
|
|||
// given
|
||||
simulationTime = 0;
|
||||
gyroCalibDone = false;
|
||||
sensorsSet(SENSOR_GYRO);
|
||||
|
||||
// and
|
||||
modeActivationConditionsMutable(0)->auxChannelIndex = 0;
|
||||
|
@ -178,6 +179,7 @@ TEST(ArmingPreventionTest, ArmingGuardRadioLeftOnAndArmed)
|
|||
// given
|
||||
simulationTime = 0;
|
||||
gyroCalibDone = false;
|
||||
sensorsSet(SENSOR_GYRO);
|
||||
|
||||
// and
|
||||
modeActivationConditionsMutable(0)->auxChannelIndex = 0;
|
||||
|
@ -1036,8 +1038,8 @@ extern "C" {
|
|||
void saveConfigAndNotify(void) {}
|
||||
void blackboxFinish(void) {}
|
||||
bool accIsCalibrationComplete(void) { return true; }
|
||||
bool isBaroCalibrationComplete(void) { return true; }
|
||||
bool isGyroCalibrationComplete(void) { return gyroCalibDone; }
|
||||
bool baroIsCalibrationComplete(void) { return true; }
|
||||
bool gyroIsCalibrationComplete(void) { return gyroCalibDone; }
|
||||
void gyroStartCalibration(bool) {}
|
||||
bool isFirstArmingGyroCalibrationRunning(void) { return false; }
|
||||
void pidController(const pidProfile_t *, timeUs_t) {}
|
||||
|
@ -1072,6 +1074,7 @@ extern "C" {
|
|||
void transponderUpdate(timeUs_t) {}
|
||||
void GPS_reset_home_position(void) {}
|
||||
void accStartCalibration(void) {}
|
||||
bool accHasBeenCalibrated(void) { return true; }
|
||||
void baroSetGroundLevel(void) {}
|
||||
void changePidProfile(uint8_t) {}
|
||||
void changeControlRateProfile(uint8_t) {}
|
||||
|
@ -1093,6 +1096,6 @@ extern "C" {
|
|||
void applyAccelerometerTrimsDelta(rollAndPitchTrims_t*) {}
|
||||
bool isFixedWing(void) { return false; }
|
||||
void compassStartCalibration(void) {}
|
||||
bool isCompassCalibrationComplete(void) { return true; }
|
||||
bool compassIsCalibrationComplete(void) { return true; }
|
||||
bool isUpright(void) { return mockIsUpright; }
|
||||
}
|
||||
|
|
|
@ -125,7 +125,7 @@ static OSD_Entry menuMainEntries[] =
|
|||
{"EXIT", OME_OSD_Exit, cmsMenuExit, (void*)0, 0},
|
||||
{NULL, OME_END, NULL, NULL, 0}
|
||||
};
|
||||
CMS_Menu menuMain = {
|
||||
CMS_Menu cmsx_menuMain = {
|
||||
#ifdef CMS_MENU_DEBUG
|
||||
.GUARD_text = "MENUMAIN",
|
||||
.GUARD_type = OME_MENU,
|
||||
|
|
|
@ -242,7 +242,7 @@ uint32_t millis(void) { return 0; }
|
|||
uint32_t micros(void) { return 0; }
|
||||
|
||||
bool compassIsHealthy(void) { return true; }
|
||||
bool isBaroCalibrationComplete(void) { return true; }
|
||||
bool baroIsCalibrationComplete(void) { return true; }
|
||||
void performBaroCalibrationCycle(void) {}
|
||||
int32_t baroCalculateAltitude(void) { return 0; }
|
||||
bool gyroGetAccumulationAverage(float *) { return false; }
|
||||
|
|
|
@ -100,8 +100,8 @@ TEST(SensorGyro, Calibrate)
|
|||
EXPECT_EQ(9, gyroDevPtr->gyroZero[Y]);
|
||||
EXPECT_EQ(10, gyroDevPtr->gyroZero[Z]);
|
||||
gyroStartCalibration(false);
|
||||
EXPECT_EQ(false, isGyroCalibrationComplete());
|
||||
while (!isGyroCalibrationComplete()) {
|
||||
EXPECT_EQ(false, gyroIsCalibrationComplete());
|
||||
while (!gyroIsCalibrationComplete()) {
|
||||
gyroDevPtr->readFn(gyroDevPtr);
|
||||
performGyroCalibration(gyroSensorPtr, gyroMovementCalibrationThreshold);
|
||||
}
|
||||
|
@ -121,16 +121,16 @@ TEST(SensorGyro, Update)
|
|||
gyroInit();
|
||||
gyroDevPtr->readFn = fakeGyroRead;
|
||||
gyroStartCalibration(false);
|
||||
EXPECT_EQ(false, isGyroCalibrationComplete());
|
||||
EXPECT_EQ(false, gyroIsCalibrationComplete());
|
||||
|
||||
timeUs_t currentTimeUs = 0;
|
||||
fakeGyroSet(gyroDevPtr, 5, 6, 7);
|
||||
gyroUpdate(currentTimeUs);
|
||||
while (!isGyroCalibrationComplete()) {
|
||||
while (!gyroIsCalibrationComplete()) {
|
||||
fakeGyroSet(gyroDevPtr, 5, 6, 7);
|
||||
gyroUpdate(currentTimeUs);
|
||||
}
|
||||
EXPECT_EQ(true, isGyroCalibrationComplete());
|
||||
EXPECT_EQ(true, gyroIsCalibrationComplete());
|
||||
EXPECT_EQ(5, gyroDevPtr->gyroZero[X]);
|
||||
EXPECT_EQ(6, gyroDevPtr->gyroZero[Y]);
|
||||
EXPECT_EQ(7, gyroDevPtr->gyroZero[Z]);
|
||||
|
|
|
@ -129,8 +129,9 @@ extern "C" {
|
|||
void saveConfigAndNotify(void) {}
|
||||
void blackboxFinish(void) {}
|
||||
bool accIsCalibrationComplete(void) { return true; }
|
||||
bool isBaroCalibrationComplete(void) { return true; }
|
||||
bool isGyroCalibrationComplete(void) { return gyroCalibDone; }
|
||||
bool accHasBeenCalibrated(void) { return true; }
|
||||
bool baroIsCalibrationComplete(void) { return true; }
|
||||
bool gyroIsCalibrationComplete(void) { return gyroCalibDone; }
|
||||
void gyroStartCalibration(bool) {}
|
||||
bool isFirstArmingGyroCalibrationRunning(void) { return false; }
|
||||
void pidController(const pidProfile_t *, timeUs_t) {}
|
||||
|
@ -180,6 +181,6 @@ extern "C" {
|
|||
void applyAccelerometerTrimsDelta(rollAndPitchTrims_t*) {}
|
||||
bool isFixedWing(void) { return false; }
|
||||
void compassStartCalibration(void) {}
|
||||
bool isCompassCalibrationComplete(void) { return true; }
|
||||
bool compassIsCalibrationComplete(void) { return true; }
|
||||
bool isUpright(void) { return true; }
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue