mirror of
https://github.com/iNavFlight/inav-configurator.git
synced 2025-07-23 08:15:19 +03:00
Update GPS page
This commit is contained in:
parent
227abc752d
commit
15dfc2ad41
6 changed files with 77 additions and 118 deletions
|
@ -1114,6 +1114,9 @@
|
||||||
"gpsHead": {
|
"gpsHead": {
|
||||||
"message": "GPS"
|
"message": "GPS"
|
||||||
},
|
},
|
||||||
|
"gpsStatHead": {
|
||||||
|
"message": "GPS Statistics"
|
||||||
|
},
|
||||||
"gpsMapHead": {
|
"gpsMapHead": {
|
||||||
"message": "Current GPS location"
|
"message": "Current GPS location"
|
||||||
},
|
},
|
||||||
|
@ -1150,8 +1153,26 @@
|
||||||
"gpsDistToHome": {
|
"gpsDistToHome": {
|
||||||
"message": "Dist to Home:"
|
"message": "Dist to Home:"
|
||||||
},
|
},
|
||||||
"gpsSignalStrHead": {
|
"gpsHDOP": {
|
||||||
"message": "GPS Signal Strength"
|
"message": "HDOP:"
|
||||||
|
},
|
||||||
|
"gpsTotalMessages": {
|
||||||
|
"message": "Total messages:"
|
||||||
|
},
|
||||||
|
"gpsMessageRate": {
|
||||||
|
"message": "Update time:"
|
||||||
|
},
|
||||||
|
"gpsErrors": {
|
||||||
|
"message": "Errors:"
|
||||||
|
},
|
||||||
|
"gpsTimeouts": {
|
||||||
|
"message": "Timeouts:"
|
||||||
|
},
|
||||||
|
"gpsEPH": {
|
||||||
|
"message": "EPH:"
|
||||||
|
},
|
||||||
|
"gpsEPV": {
|
||||||
|
"message": "EPV:"
|
||||||
},
|
},
|
||||||
"gpsSignalStr": {
|
"gpsSignalStr": {
|
||||||
"message": "Signal Strength"
|
"message": "Signal Strength"
|
||||||
|
|
13
js/fc.js
13
js/fc.js
|
@ -145,12 +145,13 @@ var FC = {
|
||||||
distanceToHome: 0,
|
distanceToHome: 0,
|
||||||
ditectionToHome: 0,
|
ditectionToHome: 0,
|
||||||
update: 0,
|
update: 0,
|
||||||
|
hdop: 0,
|
||||||
// baseflight specific gps stuff
|
eph: 0,
|
||||||
chn: [],
|
epv: 0,
|
||||||
svid: [],
|
messageDt: 0,
|
||||||
quality: [],
|
errors: 0,
|
||||||
cno: []
|
timeouts: 0,
|
||||||
|
packetCount: 0
|
||||||
};
|
};
|
||||||
|
|
||||||
ANALOG = {
|
ANALOG = {
|
||||||
|
|
26
js/msp.js
26
js/msp.js
|
@ -101,6 +101,7 @@ var MSP_codes = {
|
||||||
MSP_ACC_TRIM: 240, // get acc angle trim values
|
MSP_ACC_TRIM: 240, // get acc angle trim values
|
||||||
MSP_SET_ACC_TRIM: 239, // set acc angle trim values
|
MSP_SET_ACC_TRIM: 239, // set acc angle trim values
|
||||||
MSP_GPS_SV_INFO: 164, // get Signal Strength
|
MSP_GPS_SV_INFO: 164, // get Signal Strength
|
||||||
|
MSP_GPSSTATISTICS: 166, // GPS statistics
|
||||||
|
|
||||||
// Additional private MSP for baseflight configurator (yes thats us \o/)
|
// Additional private MSP for baseflight configurator (yes thats us \o/)
|
||||||
MSP_RX_MAP: 64, // get channel map (also returns number of channels total)
|
MSP_RX_MAP: 64, // get channel map (also returns number of channels total)
|
||||||
|
@ -308,12 +309,22 @@ var MSP = {
|
||||||
GPS_DATA.alt = data.getUint16(10, 1);
|
GPS_DATA.alt = data.getUint16(10, 1);
|
||||||
GPS_DATA.speed = data.getUint16(12, 1);
|
GPS_DATA.speed = data.getUint16(12, 1);
|
||||||
GPS_DATA.ground_course = data.getUint16(14, 1);
|
GPS_DATA.ground_course = data.getUint16(14, 1);
|
||||||
|
GPS_DATA.hdop = data.getUint16(16, 1);
|
||||||
break;
|
break;
|
||||||
case MSP_codes.MSP_COMP_GPS:
|
case MSP_codes.MSP_COMP_GPS:
|
||||||
GPS_DATA.distanceToHome = data.getUint16(0, 1);
|
GPS_DATA.distanceToHome = data.getUint16(0, 1);
|
||||||
GPS_DATA.directionToHome = data.getUint16(2, 1);
|
GPS_DATA.directionToHome = data.getUint16(2, 1);
|
||||||
GPS_DATA.update = data.getUint8(4);
|
GPS_DATA.update = data.getUint8(4);
|
||||||
break;
|
break;
|
||||||
|
case MSP_codes.MSP_GPSSTATISTICS:
|
||||||
|
GPS_DATA.messageDt = data.getUint16(0, 1);
|
||||||
|
GPS_DATA.errors = data.getUint32(2, 1);
|
||||||
|
GPS_DATA.timeouts = data.getUint32(6, 1);
|
||||||
|
GPS_DATA.packetCount = data.getUint32(10, 1);
|
||||||
|
GPS_DATA.hdop = data.getUint16(14, 1);
|
||||||
|
GPS_DATA.eph = data.getUint16(16, 1);
|
||||||
|
GPS_DATA.epv = data.getUint16(18, 1);
|
||||||
|
break;
|
||||||
case MSP_codes.MSP_ATTITUDE:
|
case MSP_codes.MSP_ATTITUDE:
|
||||||
SENSOR_DATA.kinematics[0] = data.getInt16(0, 1) / 10.0; // x
|
SENSOR_DATA.kinematics[0] = data.getInt16(0, 1) / 10.0; // x
|
||||||
SENSOR_DATA.kinematics[1] = data.getInt16(2, 1) / 10.0; // y
|
SENSOR_DATA.kinematics[1] = data.getInt16(2, 1) / 10.0; // y
|
||||||
|
@ -612,21 +623,6 @@ var MSP = {
|
||||||
case MSP_codes.MSP_SET_ACC_TRIM:
|
case MSP_codes.MSP_SET_ACC_TRIM:
|
||||||
console.log('Accelerometer trimms saved.');
|
console.log('Accelerometer trimms saved.');
|
||||||
break;
|
break;
|
||||||
case MSP_codes.MSP_GPS_SV_INFO:
|
|
||||||
if (data.byteLength > 0) {
|
|
||||||
var numCh = data.getUint8(0);
|
|
||||||
|
|
||||||
var needle = 1;
|
|
||||||
for (var i = 0; i < numCh; i++) {
|
|
||||||
GPS_DATA.chn[i] = data.getUint8(needle);
|
|
||||||
GPS_DATA.svid[i] = data.getUint8(needle + 1);
|
|
||||||
GPS_DATA.quality[i] = data.getUint8(needle + 2);
|
|
||||||
GPS_DATA.cno[i] = data.getUint8(needle + 3);
|
|
||||||
|
|
||||||
needle += 4;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
// Additional private MSP for baseflight configurator
|
// Additional private MSP for baseflight configurator
|
||||||
case MSP_codes.MSP_RX_MAP:
|
case MSP_codes.MSP_RX_MAP:
|
||||||
RC_MAP = []; // empty the array as new data is coming in
|
RC_MAP = []; // empty the array as new data is coming in
|
||||||
|
|
|
@ -31,14 +31,14 @@
|
||||||
background-image: url(../images/loading-bars.svg);
|
background-image: url(../images/loading-bars.svg);
|
||||||
background-position: center 40%;
|
background-position: center 40%;
|
||||||
background-size: 15%;
|
background-size: 15%;
|
||||||
height: 100%;
|
height: 70%;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
float: left;
|
float: left;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-gps #waiting .info {
|
.tab-gps #waiting .info {
|
||||||
margin-top: 50%;
|
margin-top: 30%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-gps #loadmap {
|
.tab-gps #loadmap {
|
||||||
|
|
100
tabs/gps.html
100
tabs/gps.html
|
@ -45,107 +45,47 @@
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="gui_box grey">
|
||||||
</div>
|
|
||||||
<div class="cf_column fourth">
|
|
||||||
<div class="spacer_right">
|
|
||||||
<div class="gui_box grey" style="margin-bottom: -5px;">
|
|
||||||
<div class="gui_box_titlebar">
|
<div class="gui_box_titlebar">
|
||||||
<div class="spacer_box_title" i18n="gpsSignalStrHead"></div>
|
<div class="spacer_box_title" i18n="gpsStatHead"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="spacer_box GPS_signal_strength">
|
<div class="spacer_box GPS_stat">
|
||||||
<table class="cf_table">
|
<table class="cf_table">
|
||||||
<tr class="titles">
|
<tr>
|
||||||
<td style="width: 20%;">Sat ID</td>
|
<td i18n="gpsHDOP"></td>
|
||||||
<td style="width: 15%;">Qty</td>
|
<td class="hdop"></td>
|
||||||
<td style="width: 65%;" i18n="gpsSignalStr">Signal Strength</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>0</td>
|
<td i18n="gpsEPH"></td>
|
||||||
<td>0</td>
|
<td class="eph">0</td>
|
||||||
<td><progress value="0" max="99"></progress></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>0</td>
|
<td i18n="gpsEPV"></td>
|
||||||
<td>0</td>
|
<td class="epv">0</td>
|
||||||
<td><progress value="0" max="99"></progress></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>0</td>
|
<td i18n="gpsMessageRate"></td>
|
||||||
<td>0</td>
|
<td class="rate">0</td>
|
||||||
<td><progress value="0" max="99"></progress></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>0</td>
|
<td style="width: 85px" i18n="gpsTotalMessages"></td>
|
||||||
<td>0</td>
|
<td class="messages">0</td>
|
||||||
<td><progress value="0" max="99"></progress></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>0</td>
|
<td i18n="gpsErrors"></td>
|
||||||
<td>0</td>
|
<td class="errors">0</td>
|
||||||
<td><progress value="0" max="99"></progress></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>0</td>
|
|
||||||
<td>0</td>
|
|
||||||
<td><progress value="0" max="99"></progress></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>0</td>
|
|
||||||
<td>0</td>
|
|
||||||
<td><progress value="0" max="99"></progress></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>0</td>
|
|
||||||
<td>0</td>
|
|
||||||
<td><progress value="0" max="99"></progress></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>0</td>
|
|
||||||
<td>0</td>
|
|
||||||
<td><progress value="0" max="99"></progress></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>0</td>
|
|
||||||
<td>0</td>
|
|
||||||
<td><progress value="0" max="99"></progress></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>0</td>
|
|
||||||
<td>0</td>
|
|
||||||
<td><progress value="0" max="99"></progress></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>0</td>
|
|
||||||
<td>0</td>
|
|
||||||
<td><progress value="0" max="99"></progress></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>0</td>
|
|
||||||
<td>0</td>
|
|
||||||
<td><progress value="0" max="99"></progress></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>0</td>
|
|
||||||
<td>0</td>
|
|
||||||
<td><progress value="0" max="99"></progress></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>0</td>
|
|
||||||
<td>0</td>
|
|
||||||
<td><progress value="0" max="99"></progress></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="noboarder">
|
<tr class="noboarder">
|
||||||
<td>0</td>
|
<td i18n="gpsTimeouts"></td>
|
||||||
<td>0</td>
|
<td class="timeouts">0</td>
|
||||||
<td><progress value="0" max="99"></progress></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cf_column half">
|
|
||||||
|
<div class="cf_column threefourth_left">
|
||||||
<div class="gui_box grey gps_map">
|
<div class="gui_box grey gps_map">
|
||||||
<div class="gui_box_titlebar" style="margin-bottom: 0px;">
|
<div class="gui_box_titlebar" style="margin-bottom: 0px;">
|
||||||
<div class="spacer_box_title" i18n="gpsMapHead"></div>
|
<div class="spacer_box_title" i18n="gpsMapHead"></div>
|
||||||
|
|
25
tabs/gps.js
25
tabs/gps.js
|
@ -36,11 +36,11 @@ TABS.gps.initialize = function (callback) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_comp_gps_data() {
|
function get_comp_gps_data() {
|
||||||
MSP.send_message(MSP_codes.MSP_COMP_GPS, false, false, get_gpsvinfo_data);
|
MSP.send_message(MSP_codes.MSP_COMP_GPS, false, false, get_gpsstatistics_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_gpsvinfo_data() {
|
function get_gpsstatistics_data() {
|
||||||
MSP.send_message(MSP_codes.MSP_GPS_SV_INFO, false, false, update_ui);
|
MSP.send_message(MSP_codes.MSP_GPSSTATISTICS, false, false, update_ui);
|
||||||
}
|
}
|
||||||
|
|
||||||
function update_ui() {
|
function update_ui() {
|
||||||
|
@ -56,17 +56,18 @@ TABS.gps.initialize = function (callback) {
|
||||||
$('.GPS_info td.sats').text(GPS_DATA.numSat);
|
$('.GPS_info td.sats').text(GPS_DATA.numSat);
|
||||||
$('.GPS_info td.distToHome').text(GPS_DATA.distanceToHome + ' m');
|
$('.GPS_info td.distToHome').text(GPS_DATA.distanceToHome + ' m');
|
||||||
|
|
||||||
// Update GPS Signal Strengths
|
var gpsRate = 0;
|
||||||
var e_ss_table = $('div.GPS_signal_strength table tr:not(.titles)');
|
if (GPS_DATA.messageDt > 0) {
|
||||||
|
gpsRate = 1000 / GPS_DATA.messageDt;
|
||||||
for (var i = 0; i < GPS_DATA.chn.length; i++) {
|
|
||||||
var row = e_ss_table.eq(i);
|
|
||||||
|
|
||||||
$('td', row).eq(0).text(GPS_DATA.svid[i]);
|
|
||||||
$('td', row).eq(1).text(GPS_DATA.quality[i]);
|
|
||||||
$('td', row).eq(2).find('progress').val(GPS_DATA.cno[i]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$('.GPS_stat td.messages').text(GPS_DATA.packetCount);
|
||||||
|
$('.GPS_stat td.rate').text(gpsRate.toFixed(1) + ' Hz');
|
||||||
|
$('.GPS_stat td.errors').text(GPS_DATA.errors);
|
||||||
|
$('.GPS_stat td.timeouts').text(GPS_DATA.timeouts);
|
||||||
|
$('.GPS_stat td.eph').text((GPS_DATA.eph / 100).toFixed(2) + ' m');
|
||||||
|
$('.GPS_stat td.epv').text((GPS_DATA.epv / 100).toFixed(2) + ' m');
|
||||||
|
$('.GPS_stat td.hdop').text((GPS_DATA.hdop / 100).toFixed(2));
|
||||||
|
|
||||||
var message = {
|
var message = {
|
||||||
action: 'center',
|
action: 'center',
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue