diff options
Diffstat (limited to 'apps/systemlib/conversions.c')
-rw-r--r-- | apps/systemlib/conversions.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/apps/systemlib/conversions.c b/apps/systemlib/conversions.c index 32df446d9..b08b9fc69 100644 --- a/apps/systemlib/conversions.c +++ b/apps/systemlib/conversions.c @@ -42,6 +42,10 @@ #include "conversions.h" +#define air_gas_constant 8.31432f +#define air_density_sea_level 1.225f +#define absolute_null_kelvin 273.15f + int16_t int16_t_from_bytes(uint8_t bytes[]) { @@ -143,4 +147,9 @@ void quat2rot(const float Q[4], float R[9]) R[2] = 2.0F * (Q[1] * Q[3] - Q[0] * Q[2]); R[5] = 2.0F * (Q[2] * Q[3] + Q[0] * Q[1]); R[8] = ((q0_2 + q3_2) - q1_2) - q2_2; -}
\ No newline at end of file +} + +float get_air_density(float static_pressure, float temperature_celsius) +{ + return static_pressure/(air_gas_constant * (temperature_celsius + absolute_null_kelvin)); +} |