diff --git a/conf/messages.xml b/conf/messages.xml
index d958c4e631..83c8e99ea3 100644
--- a/conf/messages.xml
+++ b/conf/messages.xml
@@ -1942,13 +1942,13 @@
-
-
-
-
-
-
-
+ static pressure
+ differential pressure
+ air temperature
+ barometric pressure adjusted to sea level
+ barometric altitude above mean sea level
+ Equivalent Air Speed (or Calibrated Air Speed at low speed/altitude)
+ True Air Speed (when P, T and P_diff are available)
diff --git a/sw/airborne/modules/air_data/air_data.c b/sw/airborne/modules/air_data/air_data.c
index c2a6676141..806f86304c 100644
--- a/sw/airborne/modules/air_data/air_data.c
+++ b/sw/airborne/modules/air_data/air_data.c
@@ -126,7 +126,8 @@ static void pressure_diff_cb(uint8_t __attribute__((unused)) sender_id, float pr
{
air_data.differential = pressure;
if (air_data.calc_airspeed) {
- air_data.airspeed = tas_from_dynamic_pressure(air_data.differential);
+ air_data.airspeed = eas_from_dynamic_pressure(air_data.differential);
+ air_data.tas = tas_from_eas(air_data.airspeed);
#if USE_AIRSPEED_AIR_DATA
stateSetAirspeed_f(&air_data.airspeed);
#endif
@@ -156,7 +157,7 @@ static void send_air_data(struct transport_tx *trans, struct link_device *dev)
&air_data.pressure, &air_data.differential,
&air_data.temperature, &air_data.qnh,
&air_data.amsl_baro, &air_data.airspeed,
- &air_data.tas_factor);
+ &air_data.tas);
}
static void send_amsl(struct transport_tx *trans, struct link_device *dev)
@@ -187,6 +188,7 @@ void air_data_init(void)
air_data.pressure = -1.0f;
air_data.qnh = -1.0f;
air_data.airspeed = -1.0f;
+ air_data.tas = -1.0f;
air_data.temperature = -1000.0f;
air_data.differential = 0.0f;
air_data.amsl_baro = 0.0f;
diff --git a/sw/airborne/modules/air_data/air_data.h b/sw/airborne/modules/air_data/air_data.h
index 5d7bc90a70..95dcd523c3 100644
--- a/sw/airborne/modules/air_data/air_data.h
+++ b/sw/airborne/modules/air_data/air_data.h
@@ -39,7 +39,8 @@ struct AirData {
float differential; ///< Differential pressure (total - static pressure) (Pa)
float temperature; ///< temperature in degrees Celcius, -1000 if unknown
- float airspeed; ///< Conventional Air Speed in m/s, -1 if unknown
+ float airspeed; ///< Equivalent Air Speed (equals to Calibrated Air Speed at low speed/altitude) (in m/s, -1 if unknown
+ float tas; ///< True Air Speed (TAS) in m/s, -1 if unknown
float tas_factor; ///< factor to convert equivalent airspeed (EAS) to true airspeed (TAS)
float qnh; ///< Barometric pressure adjusted to sea level in hPa, -1 if unknown
float amsl_baro; ///< altitude above sea level in m from pressure and QNH