aboutsummaryrefslogtreecommitdiff
path: root/src/modules/ekf_att_pos_estimator/estimator.h
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2014-04-28 18:34:33 +0200
committerLorenz Meier <lm@inf.ethz.ch>2014-04-28 18:34:33 +0200
commit90569d22bcee65b102c9f55be71806d301829cee (patch)
tree36e0a41693fceea1e1978811470fe589a923b0ab /src/modules/ekf_att_pos_estimator/estimator.h
parent2c37ec16dc4a8ba47d985dc489b5b322758457c2 (diff)
downloadpx4-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.h7
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);
};