|
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