diff --git a/msg/vehicle_gps_position.msg b/msg/vehicle_gps_position.msg index 25c532ccaa..718144f327 100644 --- a/msg/vehicle_gps_position.msg +++ b/msg/vehicle_gps_position.msg @@ -3,6 +3,7 @@ uint64 timestamp_position # Timestamp for position information int32 lat # Latitude in 1E-7 degrees int32 lon # Longitude in 1E-7 degrees int32 alt # Altitude in 1E-3 meters (millimeters) above MSL +int32 alt_ellipsoid # Altitude in 1E-3 meters (millimeters) above Ellipsoid uint64 timestamp_variance float32 s_variance_m_s # speed accuracy estimate m/s diff --git a/src/drivers/gps/ubx.cpp b/src/drivers/gps/ubx.cpp index 643b339be3..f6c3fd7882 100644 --- a/src/drivers/gps/ubx.cpp +++ b/src/drivers/gps/ubx.cpp @@ -874,6 +874,7 @@ UBX::payload_rx_done(void) _gps_position->alt = _buf.payload_rx_nav_posllh.hMSL; _gps_position->eph = (float)_buf.payload_rx_nav_posllh.hAcc * 1e-3f; // from mm to m _gps_position->epv = (float)_buf.payload_rx_nav_posllh.vAcc * 1e-3f; // from mm to m + _gps_position->alt_ellipsoid = _buf.payload_rx_nav_posllh.height; _gps_position->timestamp_position = hrt_absolute_time();