|
45 | 45 | #include "gyrosensor.h" |
46 | 46 | #include "gpspositionsensor.h" |
47 | 47 | #include "gpstime.h" |
| 48 | +#include "airspeedstate.h" |
48 | 49 | #include "homelocation.h" |
49 | 50 | #include "positionstate.h" |
50 | 51 | #include "systemalarms.h" |
@@ -451,6 +452,10 @@ uint16_t build_GAM_message(struct hott_gam_message *msg) |
451 | 452 | msg->current = scale_float2uword(current, 10, 0); |
452 | 453 | msg->capacity = scale_float2uword(energy, 0.1f, 0); |
453 | 454 |
|
| 455 | + // AirSpeed |
| 456 | + float airspeed = (telestate->Airspeed.TrueAirspeed > 0) ? telestate->Airspeed.TrueAirspeed : 0; |
| 457 | + msg->speed = scale_float2uword(airspeed, MS_TO_KMH, 0); |
| 458 | + |
454 | 459 | // pressure kPa to 0.1Bar |
455 | 460 | msg->pressure = scale_float2uint8(telestate->Baro.Pressure, 0.1f, 0); |
456 | 461 |
|
@@ -496,6 +501,10 @@ uint16_t build_EAM_message(struct hott_eam_message *msg) |
496 | 501 | msg->current = scale_float2uword(current, 10, 0); |
497 | 502 | msg->capacity = scale_float2uword(energy, 0.1f, 0); |
498 | 503 |
|
| 504 | + // AirSpeed |
| 505 | + float airspeed = (telestate->Airspeed.TrueAirspeed > 0) ? telestate->Airspeed.TrueAirspeed : 0; |
| 506 | + msg->speed = scale_float2uword(airspeed, MS_TO_KMH, 0); |
| 507 | + |
499 | 508 | // temperatures |
500 | 509 | msg->temperature1 = scale_float2uint8(telestate->Gyro.temperature, 1, OFFSET_TEMPERATURE); |
501 | 510 | msg->temperature2 = scale_float2uint8(telestate->Baro.Temperature, 1, OFFSET_TEMPERATURE); |
@@ -597,6 +606,9 @@ void update_telemetrydata() |
597 | 606 | if (GPSPositionSensorHandle() != NULL) { |
598 | 607 | GPSPositionSensorGet(&telestate->GPS); |
599 | 608 | } |
| 609 | + if (AirspeedStateHandle() != NULL) { |
| 610 | + AirspeedStateGet(&telestate->Airspeed); |
| 611 | + } |
600 | 612 | if (GPSTimeHandle() != NULL) { |
601 | 613 | GPSTimeGet(&telestate->GPStime); |
602 | 614 | } |
|
0 commit comments