@@ -52,7 +52,11 @@ gps.initialize = async function (callback) {
5252 }
5353
5454 function get_gpsvinfo_data ( ) {
55- MSP . send_message ( MSPCodes . MSP_GPS_SV_INFO , false , false , hasMag ? get_imu_data : update_ui ) ;
55+ MSP . send_message ( MSPCodes . MSP_GPS_SV_INFO , false , false , get_attitude_data ) ;
56+ }
57+
58+ function get_attitude_data ( ) {
59+ MSP . send_message ( MSPCodes . MSP_ATTITUDE , false , false , hasMag ? get_imu_data : update_ui ) ;
5660 }
5761
5862 function get_imu_data ( ) {
@@ -185,6 +189,7 @@ gps.initialize = async function (callback) {
185189 const lat = FC . GPS_DATA . lat / 10000000 ;
186190 const lon = FC . GPS_DATA . lon / 10000000 ;
187191 const url = `https://maps.google.com/?q=${ lat } ,${ lon } ` ;
192+ const imuHeading = FC . SENSOR_DATA . kinematics [ 2 ] ;
188193 const magHeading = hasMag ? Math . atan2 ( FC . SENSOR_DATA . magnetometer [ 1 ] , FC . SENSOR_DATA . magnetometer [ 0 ] ) : undefined ;
189194 const magHeadingDeg = magHeading === undefined ? 0 : magHeading * 180 / Math . PI ;
190195 const gpsHeading = FC . GPS_DATA . ground_course / 100 ;
@@ -200,7 +205,7 @@ gps.initialize = async function (callback) {
200205 const gspUnitText = i18n . getMessage ( 'gpsPositionUnit' ) ;
201206 $ ( '.GPS_info td.alt' ) . text ( `${ alt } m` ) ;
202207 $ ( '.GPS_info td.latLon a' ) . prop ( 'href' , url ) . text ( `${ lat . toFixed ( 6 ) } / ${ lon . toFixed ( 6 ) } ${ gspUnitText } ` ) ;
203- $ ( '.GPS_info td.heading' ) . text ( `${ magHeadingDeg . toFixed ( 4 ) } / ${ gpsHeading . toFixed ( 4 ) } ${ gspUnitText } ` ) ;
208+ $ ( '.GPS_info td.heading' ) . text ( `${ imuHeading . toFixed ( 0 ) } / ${ gpsHeading . toFixed ( 0 ) } ${ gspUnitText } ` ) ;
204209 $ ( '.GPS_info td.speed' ) . text ( `${ FC . GPS_DATA . speed } cm/s` ) ;
205210 $ ( '.GPS_info td.sats' ) . text ( FC . GPS_DATA . numSat ) ;
206211 $ ( '.GPS_info td.distToHome' ) . text ( `${ FC . GPS_DATA . distanceToHome } m` ) ;
@@ -298,7 +303,7 @@ gps.initialize = async function (callback) {
298303 action : 'center' ,
299304 lat : lat ,
300305 lon : lon ,
301- heading : magHeading ,
306+ heading : gpsHeading ,
302307 } ;
303308
304309 frame = document . getElementById ( 'map' ) ;
0 commit comments