@@ -52,7 +52,11 @@ gps.initialize = async function (callback) {
52
52
}
53
53
54
54
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 ) ;
56
60
}
57
61
58
62
function get_imu_data ( ) {
@@ -185,6 +189,7 @@ gps.initialize = async function (callback) {
185
189
const lat = FC . GPS_DATA . lat / 10000000 ;
186
190
const lon = FC . GPS_DATA . lon / 10000000 ;
187
191
const url = `https://maps.google.com/?q=${ lat } ,${ lon } ` ;
192
+ const imuHeading = FC . SENSOR_DATA . kinematics [ 2 ] ;
188
193
const magHeading = hasMag ? Math . atan2 ( FC . SENSOR_DATA . magnetometer [ 1 ] , FC . SENSOR_DATA . magnetometer [ 0 ] ) : undefined ;
189
194
const magHeadingDeg = magHeading === undefined ? 0 : magHeading * 180 / Math . PI ;
190
195
const gpsHeading = FC . GPS_DATA . ground_course / 100 ;
@@ -200,7 +205,7 @@ gps.initialize = async function (callback) {
200
205
const gspUnitText = i18n . getMessage ( 'gpsPositionUnit' ) ;
201
206
$ ( '.GPS_info td.alt' ) . text ( `${ alt } m` ) ;
202
207
$ ( '.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 } ` ) ;
204
209
$ ( '.GPS_info td.speed' ) . text ( `${ FC . GPS_DATA . speed } cm/s` ) ;
205
210
$ ( '.GPS_info td.sats' ) . text ( FC . GPS_DATA . numSat ) ;
206
211
$ ( '.GPS_info td.distToHome' ) . text ( `${ FC . GPS_DATA . distanceToHome } m` ) ;
@@ -298,7 +303,7 @@ gps.initialize = async function (callback) {
298
303
action : 'center' ,
299
304
lat : lat ,
300
305
lon : lon ,
301
- heading : magHeading ,
306
+ heading : gpsHeading ,
302
307
} ;
303
308
304
309
frame = document . getElementById ( 'map' ) ;
0 commit comments