Updating HoTT GPS Altitude code to match spec.
Unit test added.
This commit is contained in:
parent
79a90b09ef
commit
bbfebc5de9
|
@ -171,8 +171,10 @@ void hottPrepareGPSResponse(HOTT_GPS_MSG_t *hottGPSMessage)
|
|||
hottGPSMessage->home_distance_L = GPS_distanceToHome & 0x00FF;
|
||||
hottGPSMessage->home_distance_H = GPS_distanceToHome >> 8;
|
||||
|
||||
hottGPSMessage->altitude_L = GPS_altitude & 0x00FF;
|
||||
hottGPSMessage->altitude_H = GPS_altitude >> 8;
|
||||
uint16_t hottGpsAltitude = (GPS_altitude / 10) + HOTT_GPS_ALTITUDE_OFFSET; // 1 / 0.1f == 10, GPS_altitude of 1 == 0.1m
|
||||
|
||||
hottGPSMessage->altitude_L = hottGpsAltitude & 0x00FF;
|
||||
hottGPSMessage->altitude_H = hottGpsAltitude >> 8;
|
||||
|
||||
hottGPSMessage->home_direction = GPS_directionToHome;
|
||||
}
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
#define HOTT_EAM_OFFSET_M3S 120
|
||||
#define HOTT_EAM_OFFSET_TEMPERATURE 20
|
||||
|
||||
#define HOTT_GPS_ALTITUDE_OFFSET 500
|
||||
|
||||
typedef enum {
|
||||
HOTT_EAM_ALARM1_FLAG_NONE = 0,
|
||||
HOTT_EAM_ALARM1_FLAG_MAH = (1 << 0),
|
||||
|
@ -476,4 +478,7 @@ void configureHoTTTelemetryPort(void);
|
|||
void freeHoTTTelemetryPort(void);
|
||||
|
||||
uint32_t getHoTTTelemetryProviderBaudRate(void);
|
||||
|
||||
void hottPrepareGPSResponse(HOTT_GPS_MSG_t *hottGPSMessage);
|
||||
|
||||
#endif /* TELEMETRY_HOTT_H_ */
|
||||
|
|
|
@ -109,6 +109,22 @@ TEST(TelemetryHottTest, UpdateGPSCoordinates3)
|
|||
EXPECT_EQ((int16_t)(hottGPSMessage->pos_EW_sec_H << 8 | hottGPSMessage->pos_EW_sec_L), 9999);
|
||||
}
|
||||
|
||||
TEST(TelemetryHottTest, PrepareGPSMessage_Altitude1m)
|
||||
{
|
||||
// given
|
||||
HOTT_GPS_MSG_t *hottGPSMessage = getGPSMessageForTest();
|
||||
|
||||
f.GPS_FIX = 1;
|
||||
uint16_t altitudeInMeters = 1;
|
||||
GPS_altitude = altitudeInMeters * (1 / 0.1f); // 1 = 0.1m
|
||||
|
||||
// when
|
||||
hottPrepareGPSResponse(hottGPSMessage);
|
||||
|
||||
// then
|
||||
EXPECT_EQ((int16_t)(hottGPSMessage->altitude_H << 8 | hottGPSMessage->altitude_L), 1 + HOTT_GPS_ALTITUDE_OFFSET);
|
||||
}
|
||||
|
||||
|
||||
// STUBS
|
||||
|
||||
|
@ -166,6 +182,8 @@ serialPort_t *openSerialPort(serialPortFunction_e functionMask, serialReceiveCal
|
|||
UNUSED(callback);
|
||||
UNUSED(mode);
|
||||
UNUSED(inversion);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
serialPort_t *findOpenSerialPort(uint16_t functionMask) {
|
||||
|
|
Loading…
Reference in New Issue