mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-02-23 00:04:02 -04:00
AP_Compass: add a macro for checking calibration values in HMC
This commit is contained in:
parent
f61386ae43
commit
79ffddc6db
@ -326,17 +326,21 @@ bool AP_Compass_HMC5843::_calibrate(uint8_t calibration_gain,
|
||||
// still be changing its state from the application of the
|
||||
// strap excitation. After that we accept values in a
|
||||
// reasonable range
|
||||
#define IS_CALIBRATION_VALUE_VALID(val) (val > 0.7f && val < 1.35f)
|
||||
|
||||
if (numAttempts > 2 &&
|
||||
cal[0] > 0.7f && cal[0] < 1.35f &&
|
||||
cal[1] > 0.7f && cal[1] < 1.35f &&
|
||||
cal[2] > 0.7f && cal[2] < 1.35f) {
|
||||
// hal.console->printf_P(PSTR("cal=%.2f %.2f %.2f good\n"), cal[0], cal[1], cal[2]);
|
||||
IS_CALIBRATION_VALUE_VALID(cal[0]) &&
|
||||
IS_CALIBRATION_VALUE_VALID(cal[1]) &&
|
||||
IS_CALIBRATION_VALUE_VALID(cal[2])) {
|
||||
// hal.console->printf_P(PSTR("car=%.2f %.2f %.2f good\n"), cal[0], cal[1], cal[2]);
|
||||
good_count++;
|
||||
calibration[0] += cal[0];
|
||||
calibration[1] += cal[1];
|
||||
calibration[2] += cal[2];
|
||||
}
|
||||
|
||||
#undef IS_CALIBRATION_VALUE_VALID
|
||||
|
||||
#if 0
|
||||
/* useful for debugging */
|
||||
hal.console->printf_P(PSTR("MagX: %d MagY: %d MagZ: %d\n"), (int)_mag_x, (int)_mag_y, (int)_mag_z);
|
||||
|
Loading…
Reference in New Issue
Block a user