From f95b06a88017f526c11e4bde2180b32294d07811 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sat, 11 Aug 2012 08:57:32 +1000 Subject: [PATCH] AHRS: make airspeed sensor available to AHRS this will be used for long term dead-reckoning --- libraries/AP_AHRS/AP_AHRS.h | 7 ++++++- libraries/AP_Airspeed/AP_Airspeed.h | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/libraries/AP_AHRS/AP_AHRS.h b/libraries/AP_AHRS/AP_AHRS.h index b7ab34a856..fc75f9e9b0 100644 --- a/libraries/AP_AHRS/AP_AHRS.h +++ b/libraries/AP_AHRS/AP_AHRS.h @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -46,6 +47,7 @@ public: void set_fly_forward(bool b) { _fly_forward = b; } void set_compass(Compass *compass) { _compass = compass; } void set_barometer(AP_Baro *barometer) { _barometer = barometer; } + void set_airspeed(AP_Airspeed *airspeed) { _airspeed = airspeed; } // Methods virtual void update(void) = 0; @@ -90,9 +92,12 @@ public: //static const struct AP_Param::GroupInfo var_info[]; protected: - // pointer to compass object, if enabled + // pointer to compass object, if available Compass * _compass; + // pointer to airspeed object, if available + AP_Airspeed * _airspeed; + // time in microseconds of last compass update uint32_t _compass_last_update; diff --git a/libraries/AP_Airspeed/AP_Airspeed.h b/libraries/AP_Airspeed/AP_Airspeed.h index 75628a216a..350dc6954d 100644 --- a/libraries/AP_Airspeed/AP_Airspeed.h +++ b/libraries/AP_Airspeed/AP_Airspeed.h @@ -32,7 +32,7 @@ public: float get_airspeed_cm(void) { return _airspeed*100; } // return true if airspeed is enabled, and airspeed use is set - bool use(void) { return _enable && _use; } + bool use(void) { return _enable && _use && _offset != 0; } // return true if airspeed is enabled bool enabled(void) { return _enable; }