mirror of
https://github.com/iNavFlight/inav-configurator.git
synced 2025-07-21 15:25: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": {
|
||||
"message": "GPS"
|
||||
},
|
||||
"gpsStatHead": {
|
||||
"message": "GPS Statistics"
|
||||
},
|
||||
"gpsMapHead": {
|
||||
"message": "Current GPS location"
|
||||
},
|
||||
|
@ -1150,8 +1153,26 @@
|
|||
"gpsDistToHome": {
|
||||
"message": "Dist to Home:"
|
||||
},
|
||||
"gpsSignalStrHead": {
|
||||
"message": "GPS Signal Strength"
|
||||
"gpsHDOP": {
|
||||
"message": "HDOP:"
|
||||
},
|
||||
"gpsTotalMessages": {
|
||||
"message": "Total messages:"
|
||||
},
|
||||
"gpsMessageRate": {
|
||||
"message": "Update time:"
|
||||
},
|
||||
"gpsErrors": {
|
||||
"message": "Errors:"
|
||||
},
|
||||
"gpsTimeouts": {
|
||||
"message": "Timeouts:"
|
||||
},
|
||||
"gpsEPH": {
|
||||
"message": "EPH:"
|
||||
},
|
||||
"gpsEPV": {
|
||||
"message": "EPV:"
|
||||
},
|
||||
"gpsSignalStr": {
|
||||
"message": "Signal Strength"
|
||||
|
|
13
js/fc.js
13
js/fc.js
|
@ -145,12 +145,13 @@ var FC = {
|
|||
distanceToHome: 0,
|
||||
ditectionToHome: 0,
|
||||
update: 0,
|
||||
|
||||
// baseflight specific gps stuff
|
||||
chn: [],
|
||||
svid: [],
|
||||
quality: [],
|
||||
cno: []
|
||||
hdop: 0,
|
||||
eph: 0,
|
||||
epv: 0,
|
||||
messageDt: 0,
|
||||
errors: 0,
|
||||
timeouts: 0,
|
||||
packetCount: 0
|
||||
};
|
||||
|
||||
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_SET_ACC_TRIM: 239, // set acc angle trim values
|
||||
MSP_GPS_SV_INFO: 164, // get Signal Strength
|
||||
MSP_GPSSTATISTICS: 166, // GPS statistics
|
||||
|
||||
// Additional private MSP for baseflight configurator (yes thats us \o/)
|
||||
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.speed = data.getUint16(12, 1);
|
||||
GPS_DATA.ground_course = data.getUint16(14, 1);
|
||||
GPS_DATA.hdop = data.getUint16(16, 1);
|
||||
break;
|
||||
case MSP_codes.MSP_COMP_GPS:
|
||||
GPS_DATA.distanceToHome = data.getUint16(0, 1);
|
||||
GPS_DATA.directionToHome = data.getUint16(2, 1);
|
||||
GPS_DATA.update = data.getUint8(4);
|
||||
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:
|
||||
SENSOR_DATA.kinematics[0] = data.getInt16(0, 1) / 10.0; // x
|
||||
SENSOR_DATA.kinematics[1] = data.getInt16(2, 1) / 10.0; // y
|
||||
|
@ -612,21 +623,6 @@ var MSP = {
|
|||
case MSP_codes.MSP_SET_ACC_TRIM:
|
||||
console.log('Accelerometer trimms saved.');
|
||||
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
|
||||
case MSP_codes.MSP_RX_MAP:
|
||||
RC_MAP = []; // empty the array as new data is coming in
|
||||
|
|
|
@ -31,14 +31,14 @@
|
|||
background-image: url(../images/loading-bars.svg);
|
||||
background-position: center 40%;
|
||||
background-size: 15%;
|
||||
height: 100%;
|
||||
height: 70%;
|
||||
background-repeat: no-repeat;
|
||||
float: left;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.tab-gps #waiting .info {
|
||||
margin-top: 50%;
|
||||
margin-top: 30%;
|
||||
}
|
||||
|
||||
.tab-gps #loadmap {
|
||||
|
|
100
tabs/gps.html
100
tabs/gps.html
|
@ -45,107 +45,47 @@
|
|||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cf_column fourth">
|
||||
<div class="spacer_right">
|
||||
<div class="gui_box grey" style="margin-bottom: -5px;">
|
||||
<div class="gui_box grey">
|
||||
<div class="gui_box_titlebar">
|
||||
<div class="spacer_box_title" i18n="gpsSignalStrHead"></div>
|
||||
<div class="spacer_box_title" i18n="gpsStatHead"></div>
|
||||
</div>
|
||||
<div class="spacer_box GPS_signal_strength">
|
||||
<div class="spacer_box GPS_stat">
|
||||
<table class="cf_table">
|
||||
<tr class="titles">
|
||||
<td style="width: 20%;">Sat ID</td>
|
||||
<td style="width: 15%;">Qty</td>
|
||||
<td style="width: 65%;" i18n="gpsSignalStr">Signal Strength</td>
|
||||
<tr>
|
||||
<td i18n="gpsHDOP"></td>
|
||||
<td class="hdop"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td i18n="gpsEPH"></td>
|
||||
<td class="eph">0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td i18n="gpsEPV"></td>
|
||||
<td class="epv">0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td i18n="gpsMessageRate"></td>
|
||||
<td class="rate">0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td style="width: 85px" i18n="gpsTotalMessages"></td>
|
||||
<td class="messages">0</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>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td i18n="gpsErrors"></td>
|
||||
<td class="errors">0</td>
|
||||
</tr>
|
||||
<tr class="noboarder">
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td i18n="gpsTimeouts"></td>
|
||||
<td class="timeouts">0</td>
|
||||
</tr>
|
||||
</table>
|
||||
</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_titlebar" style="margin-bottom: 0px;">
|
||||
<div class="spacer_box_title" i18n="gpsMapHead"></div>
|
||||
|
|
27
tabs/gps.js
27
tabs/gps.js
|
@ -36,11 +36,11 @@ TABS.gps.initialize = function (callback) {
|
|||
}
|
||||
|
||||
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() {
|
||||
MSP.send_message(MSP_codes.MSP_GPS_SV_INFO, false, false, update_ui);
|
||||
function get_gpsstatistics_data() {
|
||||
MSP.send_message(MSP_codes.MSP_GPSSTATISTICS, false, false, 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.distToHome').text(GPS_DATA.distanceToHome + ' m');
|
||||
|
||||
// Update GPS Signal Strengths
|
||||
var e_ss_table = $('div.GPS_signal_strength table tr:not(.titles)');
|
||||
|
||||
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]);
|
||||
var gpsRate = 0;
|
||||
if (GPS_DATA.messageDt > 0) {
|
||||
gpsRate = 1000 / GPS_DATA.messageDt;
|
||||
}
|
||||
|
||||
|
||||
$('.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 = {
|
||||
action: 'center',
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue