25#ifndef COMPASS_CALIBRATION_H_
26#define COMPASS_CALIBRATION_H_
87 for(
unsigned i=0;
i<3; ++
i)
96 for(
unsigned i=0;
i<3; ++
i)
123 for (
unsigned i = 0;
i < 3; ++
i)
142 for (
unsigned i = 0;
i < 3; ++
i)
160 for(
unsigned i=0;
i<3; ++
i)
181 float variance = 0.0f;
182 for(
unsigned i=0;
i<3; ++
i)
197 variance =
SQR( variance);
199 for(
unsigned i=0;
i<3; ++
i)
linear least square fit for arbitrary data
Tuning parameters for navigation, wind an variometer.
#define MINIMUM_MAG_CALIBRATION_SAMPLES
#define MAG_SCALE_CHANGE_LIMIT
#define MAG_OFFSET_CHANGE_LIMIT
Maintains 3 axes magnetic calibration data.
single_axis_calibration_t calibration[3]
bool set_calibration_if_changed(linear_least_square_fit< sample_type, evaluation_type > mag_calibrator_right[3], linear_least_square_fit< sample_type, evaluation_type > mag_calibrator_left[3], float scale_factor)
const single_axis_calibration_t * get_calibration(void) const
float3vector calibrate(const float3vector &in)
compass_calibration_t(void)
void write_into_EEPROM(void) const
bool read_from_EEPROM(void)
bool parameters_changed_significantly(single_axis_calibration_t const *new_calibration) const
maintain offset and slope data for one sensor axis
float scale
convert sensor-units into SI-data
float variance
measure of precision: sensor calibration parameter variance
void refresh(linear_least_square_result< float > &result)
feed in new calibration from linear least square fit
single_axis_calibration_t(float _offset=0.0f, float slope=1.0f)
float offset
sensor offset in sensor units
float calibrate(float sensor_reading)
calibrate instant sensor reading using calibration data
void refresh(float _offset, float _slope, float _variance_offset, float _variance_slope)
feed in new calibration from linear least square fit
mathematical vector of arbitrary type and size
bool write_EEPROM_value(EEPROM_PARAMETER_ID id, float value)
bool read_EEPROM_value(EEPROM_PARAMETER_ID id, float &value)
bool EEPROM_initialize(void)
definitions for persistent data in EEPROM or config. file
collection of system tuning parameters