|
APM:Libraries
|
#include <CompassCalibrator.h>
Classes | |
| class | CompassSample |
| class | param_t |
Public Types | |
| typedef uint8_t | completion_mask_t[10] |
Public Member Functions | |
| CompassCalibrator () | |
| void | start (bool retry, float delay, uint16_t offset_max) |
| void | clear () |
| void | update (bool &failure) |
| void | new_sample (const Vector3f &sample) |
| bool | check_for_timeout () |
| bool | running () const |
| void | set_tolerance (float tolerance) |
| void | get_calibration (Vector3f &offsets, Vector3f &diagonals, Vector3f &offdiagonals) |
| float | get_completion_percent () const |
| completion_mask_t & | get_completion_mask () |
| enum compass_cal_status_t | get_status () const |
| float | get_fitness () const |
| uint8_t | get_attempt () const |
Private Member Functions | |
| bool | set_status (compass_cal_status_t status) |
| bool | accept_sample (const Vector3f &sample) |
| bool | accept_sample (const CompassSample &sample) |
| bool | fit_acceptable () |
| void | reset_state () |
| void | initialize_fit () |
| bool | fitting () const |
| void | thin_samples () |
| float | calc_residual (const Vector3f &sample, const param_t ¶ms) const |
| float | calc_mean_squared_residuals (const param_t ¶ms) const |
| float | calc_mean_squared_residuals () const |
| void | calc_initial_offset () |
| void | calc_sphere_jacob (const Vector3f &sample, const param_t ¶ms, float *ret) const |
| void | run_sphere_fit () |
| void | calc_ellipsoid_jacob (const Vector3f &sample, const param_t ¶ms, float *ret) const |
| void | run_ellipsoid_fit () |
| void | update_completion_mask (const Vector3f &v) |
| void | update_completion_mask () |
Private Attributes | |
| enum compass_cal_status_t | _status |
| uint32_t | _last_sample_ms |
| float | _delay_start_sec |
| uint32_t | _start_time_ms |
| bool | _retry |
| float | _tolerance |
| uint8_t | _attempt |
| uint16_t | _offset_max |
| completion_mask_t | _completion_mask |
| class param_t | _params |
| uint16_t | _fit_step |
| CompassSample * | _sample_buffer |
| float | _fitness |
| float | _initial_fitness |
| float | _sphere_lambda |
| float | _ellipsoid_lambda |
| uint16_t | _samples_collected |
| uint16_t | _samples_thinned |
Definition at line 19 of file CompassCalibrator.h.
| typedef uint8_t CompassCalibrator::completion_mask_t[10] |
Definition at line 21 of file CompassCalibrator.h.
| CompassCalibrator::CompassCalibrator | ( | ) |
|
private |
Definition at line 399 of file CompassCalibrator.cpp.
Referenced by accept_sample(), new_sample(), and thin_samples().
|
private |
|
private |
Definition at line 568 of file CompassCalibrator.cpp.
Referenced by run_ellipsoid_fit().
|
private |
Definition at line 476 of file CompassCalibrator.cpp.
Referenced by update().
|
private |
|
private |
Definition at line 433 of file CompassCalibrator.cpp.
Referenced by initialize_fit(), run_ellipsoid_fit(), and run_sphere_fit().
|
private |
Definition at line 424 of file CompassCalibrator.cpp.
Referenced by calc_mean_squared_residuals(), run_ellipsoid_fit(), and run_sphere_fit().
|
private |
Definition at line 453 of file CompassCalibrator.cpp.
Referenced by run_sphere_fit().
| bool CompassCalibrator::check_for_timeout | ( | ) |
| void CompassCalibrator::clear | ( | ) |
Definition at line 77 of file CompassCalibrator.cpp.
Referenced by Compass::_accept_calibration_mask(), Compass::_cancel_calibration(), and CompassCalibrator().
|
private |
Definition at line 339 of file CompassCalibrator.cpp.
Referenced by update().
|
private |
Definition at line 220 of file CompassCalibrator.cpp.
Referenced by update().
|
inline |
Definition at line 43 of file CompassCalibrator.h.
Referenced by Compass::send_mag_cal_progress().
| void CompassCalibrator::get_calibration | ( | Vector3f & | offsets, |
| Vector3f & | diagonals, | ||
| Vector3f & | offdiagonals | ||
| ) |
Definition at line 93 of file CompassCalibrator.cpp.
Referenced by Compass::_accept_calibration(), Compass::send_mag_cal_report(), and set_tolerance().
| CompassCalibrator::completion_mask_t & CompassCalibrator::get_completion_mask | ( | ) |
Definition at line 145 of file CompassCalibrator.cpp.
Referenced by set_tolerance().
| float CompassCalibrator::get_completion_percent | ( | ) | const |
Definition at line 103 of file CompassCalibrator.cpp.
Referenced by set_tolerance().
|
inline |
Definition at line 42 of file CompassCalibrator.h.
Referenced by Compass::send_mag_cal_report().
|
inline |
Definition at line 41 of file CompassCalibrator.h.
Referenced by Compass::_accept_calibration(), Compass::send_mag_cal_progress(), and Compass::send_mag_cal_report().
|
private |
Definition at line 224 of file CompassCalibrator.cpp.
Referenced by reset_state(), and set_status().
| void CompassCalibrator::new_sample | ( | const Vector3f & | sample | ) |
Definition at line 160 of file CompassCalibrator.cpp.
Referenced by AP_Compass_Backend::publish_raw_field().
|
private |
Definition at line 237 of file CompassCalibrator.cpp.
Referenced by set_status().
|
private |
Definition at line 597 of file CompassCalibrator.cpp.
Referenced by update().
|
private |
Definition at line 486 of file CompassCalibrator.cpp.
Referenced by update().
| bool CompassCalibrator::running | ( | ) | const |
Definition at line 216 of file CompassCalibrator.cpp.
Referenced by check_for_timeout(), fitting(), new_sample(), and start().
|
private |
Definition at line 249 of file CompassCalibrator.cpp.
Referenced by check_for_timeout(), clear(), new_sample(), start(), and update().
|
inline |
Definition at line 35 of file CompassCalibrator.h.
Referenced by Compass::_start_calibration().
| void CompassCalibrator::start | ( | bool | retry, |
| float | delay, | ||
| uint16_t | offset_max | ||
| ) |
Definition at line 81 of file CompassCalibrator.cpp.
Referenced by Compass::_start_calibration().
|
private |
Definition at line 357 of file CompassCalibrator.cpp.
Referenced by set_status().
| void CompassCalibrator::update | ( | bool & | failure | ) |
Definition at line 174 of file CompassCalibrator.cpp.
Referenced by Compass::compass_cal_update().
|
private |
Update _completion_mask for the geodesic section of v. Corrections are applied to v with _params.
| v[in] | A vector representing one calibration sample. |
Definition at line 122 of file CompassCalibrator.cpp.
|
private |
Reset and update _completion_mask with the current samples.
Definition at line 137 of file CompassCalibrator.cpp.
Referenced by new_sample(), run_ellipsoid_fit(), run_sphere_fit(), and thin_samples().
|
private |
Definition at line 84 of file CompassCalibrator.h.
Referenced by get_attempt(), set_status(), and start().
|
private |
Definition at line 87 of file CompassCalibrator.h.
Referenced by get_completion_mask(), reset_state(), and update_completion_mask().
|
private |
Definition at line 80 of file CompassCalibrator.h.
Referenced by set_status(), and start().
|
private |
Definition at line 96 of file CompassCalibrator.h.
Referenced by initialize_fit(), and run_ellipsoid_fit().
|
private |
Definition at line 91 of file CompassCalibrator.h.
Referenced by initialize_fit(), and update().
|
private |
Definition at line 93 of file CompassCalibrator.h.
Referenced by fit_acceptable(), get_fitness(), initialize_fit(), run_ellipsoid_fit(), run_sphere_fit(), and update().
|
private |
Definition at line 94 of file CompassCalibrator.h.
Referenced by initialize_fit(), and update().
|
private |
Definition at line 77 of file CompassCalibrator.h.
Referenced by check_for_timeout(), and new_sample().
|
private |
Definition at line 85 of file CompassCalibrator.h.
Referenced by fit_acceptable(), and start().
|
private |
Definition at line 90 of file CompassCalibrator.h.
Referenced by accept_sample(), calc_initial_offset(), calc_mean_squared_residuals(), fit_acceptable(), get_calibration(), initialize_fit(), reset_state(), run_ellipsoid_fit(), run_sphere_fit(), and update_completion_mask().
|
private |
Definition at line 82 of file CompassCalibrator.h.
Referenced by check_for_timeout(), set_status(), and start().
|
private |
Definition at line 92 of file CompassCalibrator.h.
Referenced by accept_sample(), calc_initial_offset(), calc_mean_squared_residuals(), new_sample(), run_ellipsoid_fit(), run_sphere_fit(), set_status(), thin_samples(), and update_completion_mask().
|
private |
Definition at line 97 of file CompassCalibrator.h.
Referenced by accept_sample(), calc_initial_offset(), calc_mean_squared_residuals(), fitting(), get_completion_percent(), initialize_fit(), new_sample(), reset_state(), run_ellipsoid_fit(), run_sphere_fit(), thin_samples(), and update_completion_mask().
|
private |
Definition at line 98 of file CompassCalibrator.h.
Referenced by get_completion_percent(), reset_state(), and thin_samples().
|
private |
Definition at line 95 of file CompassCalibrator.h.
Referenced by initialize_fit(), and run_sphere_fit().
|
private |
Definition at line 81 of file CompassCalibrator.h.
Referenced by set_status(), and start().
|
private |
Definition at line 74 of file CompassCalibrator.h.
Referenced by get_calibration(), get_completion_percent(), get_status(), new_sample(), running(), set_status(), and update().
|
private |
Definition at line 83 of file CompassCalibrator.h.
Referenced by fit_acceptable(), and set_tolerance().
1.8.13