Baro: get_air_density_ratio gets div-by-zero check

This commit is contained in:
Randy Mackay 2015-04-29 14:12:41 +09:00
parent 0dbe94c9a1
commit 1b381b5675
2 changed files with 8 additions and 3 deletions

View File

@ -208,10 +208,15 @@ float AP_Baro::get_EAS2TAS(void)
return _EAS2TAS;
}
// return air density / sea level density - decreases in altitude
// return air density / sea level density - decreases as altitude climbs
float AP_Baro::get_air_density_ratio(void)
{
return 1.0f/(sq(get_EAS2TAS()));
float eas2tas = get_EAS2TAS();
if (eas2tas > 0.0f) {
return 1.0f/(sq(get_EAS2TAS()));
} else {
return 1.0f;
}
}
// return current climb_rate estimeate relative to time that calibrate()

View File

@ -79,7 +79,7 @@ public:
// get scale factor required to convert equivalent to true airspeed
float get_EAS2TAS(void);
// get air density / sea level density - decreases in altitude
// get air density / sea level density - decreases as altitude climbs
float get_air_density_ratio(void);
// get current climb rate in meters/s. A positive number means