diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2014-04-28 18:34:33 +0200 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2014-04-28 18:34:33 +0200 |
commit | 90569d22bcee65b102c9f55be71806d301829cee (patch) | |
tree | 36e0a41693fceea1e1978811470fe589a923b0ab /src/modules/ekf_att_pos_estimator/estimator.h | |
parent | 2c37ec16dc4a8ba47d985dc489b5b322758457c2 (diff) | |
download | px4-firmware-90569d22bcee65b102c9f55be71806d301829cee.tar.gz px4-firmware-90569d22bcee65b102c9f55be71806d301829cee.tar.bz2 px4-firmware-90569d22bcee65b102c9f55be71806d301829cee.zip |
Added support for automatic mag declination setup
Diffstat (limited to 'src/modules/ekf_att_pos_estimator/estimator.h')
-rw-r--r-- | src/modules/ekf_att_pos_estimator/estimator.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/modules/ekf_att_pos_estimator/estimator.h b/src/modules/ekf_att_pos_estimator/estimator.h index e118ae573..378107b69 100644 --- a/src/modules/ekf_att_pos_estimator/estimator.h +++ b/src/modules/ekf_att_pos_estimator/estimator.h @@ -208,6 +208,7 @@ public: float innovRng; ///< Range finder innovation float varInnovVtas; // innovation variance output float VtasMeas; // true airspeed measurement (m/s) + float magDeclination; ///< magnetic declination double latRef; // WGS-84 latitude of reference point (rad) double lonRef; // WGS-84 longitude of reference point (rad) float hgtRef; // WGS-84 height of reference point (m) @@ -309,7 +310,7 @@ void OnGroundCheck(); void CovarianceInit(); -void InitialiseFilter(float (&initvelNED)[3], double referenceLat, double referenceLon, float referenceHgt); +void InitialiseFilter(float (&initvelNED)[3], double referenceLat, double referenceLon, float referenceHgt, float declination); float ConstrainFloat(float val, float min, float max); @@ -334,7 +335,7 @@ void GetLastErrorState(struct ekf_status_report *last_error); bool StatesNaN(struct ekf_status_report *err_report); void FillErrorReport(struct ekf_status_report *err); -void InitializeDynamic(float (&initvelNED)[3]); +void InitializeDynamic(float (&initvelNED)[3], float declination); protected: @@ -342,7 +343,7 @@ bool FilterHealthy(); void ResetHeight(void); -void AttitudeInit(float ax, float ay, float az, float mx, float my, float mz, float *initQuat); +void AttitudeInit(float ax, float ay, float az, float mx, float my, float mz, float declination, float *initQuat); }; |