aboutsummaryrefslogtreecommitdiff
path: root/apps/systemlib/conversions.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/systemlib/conversions.c')
-rw-r--r--apps/systemlib/conversions.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/apps/systemlib/conversions.c b/apps/systemlib/conversions.c
index 9105d83cb..78e89f951 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[])
{
@@ -55,3 +59,8 @@ int16_t_from_bytes(uint8_t bytes[])
return u.w;
}
+
+float get_air_density(float static_pressure, float temperature_celsius)
+{
+ return static_pressure/(air_gas_constant * (temperature_celsius + absolute_null_kelvin));
+}