AP_Baro: added hil_mode support

This commit is contained in:
Andrew Tridgell 2015-02-10 07:39:48 +11:00
parent 4ff75f0371
commit ac3dd87790
2 changed files with 10 additions and 3 deletions

View File

@ -66,7 +66,8 @@ AP_Baro::AP_Baro() :
_last_altitude_EAS2TAS(0.0f),
_EAS2TAS(0.0f),
_external_temperature(0.0f),
_last_external_temperature_ms(0)
_last_external_temperature_ms(0),
_hil_mode(false)
{
memset(sensors, 0, sizeof(sensors));
@ -289,8 +290,10 @@ void AP_Baro::init(void)
*/
void AP_Baro::update(void)
{
for (uint8_t i=0; i<_num_drivers; i++) {
drivers[i]->update();
if (!_hil_mode) {
for (uint8_t i=0; i<_num_drivers; i++) {
drivers[i]->update();
}
}
// consider a sensor as healthy if it has had an update in the

View File

@ -121,6 +121,9 @@ public:
// return number of registered sensors
uint8_t num_instances(void) const { return _num_sensors; }
// enable HIL mode
void set_hil_mode(void) { _hil_mode = true; }
private:
// how many drivers do we have?
uint8_t _num_drivers;
@ -150,6 +153,7 @@ private:
float _external_temperature;
uint32_t _last_external_temperature_ms;
DerivativeFilterFloat_Size7 _climb_rate_filter;
bool _hil_mode:1;
void SimpleAtmosphere(const float alt, float &sigma, float &delta, float &theta);
};