mirror of
https://github.com/betaflight/betaflight-configurator.git
synced 2025-07-19 14:25:14 +03:00
enhanced sat list for M8N/M9N
This commit is contained in:
parent
9ece824971
commit
cbfeb25d9b
4 changed files with 224 additions and 15 deletions
|
@ -1,3 +1,16 @@
|
|||
.tab-gps .GPS_signal_strength table td:nth-child(2) {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.tab-gps .GPS_signal_strength table td:nth-child(3) {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.tab-gps .GPS_signal_strength table td:nth-child(4) {
|
||||
text-align: left;
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.tab-gps progress {
|
||||
width: 100%;
|
||||
border-radius: 3px;
|
||||
|
|
|
@ -48,6 +48,11 @@ TABS.gps.initialize = function (callback) {
|
|||
const lat = FC.GPS_DATA.lat / 10000000;
|
||||
const lon = FC.GPS_DATA.lon / 10000000;
|
||||
const url = `https://maps.google.com/?q=${lat},${lon}`;
|
||||
const gnssArray = ['GPS', 'SBAS', 'Galileo', 'BeiDou', 'IMES', 'QZSS', 'Glonass'];
|
||||
const qualityArray = ['gnssQualityNoSignal', 'gnssQualitySearching', 'gnssQualityAcquired', 'gnssQualityUnusable', 'gnssQualityLocked',
|
||||
'gnssQualityFullyLocked', 'gnssQualityFullyLocked', 'gnssQualityFullyLocked'];
|
||||
const usedArray = ['gnssUsedUnused', 'gnssUsedUsed'];
|
||||
const healthyArray = ['gnssHealthyUnknown', 'gnssHealthyHealthy', 'gnssHealthyUnhealthy', 'gnssHealthyUnknown'];
|
||||
let alt = FC.GPS_DATA.alt;
|
||||
if (semver.lt(FC.CONFIG.apiVersion, API_VERSION_1_39)) {
|
||||
alt = alt / 10;
|
||||
|
@ -64,12 +69,55 @@ TABS.gps.initialize = function (callback) {
|
|||
// Update GPS Signal Strengths
|
||||
const eSsTable = $('div.GPS_signal_strength table tr:not(.titles)');
|
||||
|
||||
for (let i = 0; i < FC.GPS_DATA.chn.length; i++) {
|
||||
const row = eSsTable.eq(i);
|
||||
if (FC.GPS_DATA.chn.length <= 16) {
|
||||
// Legacy code path: old BF firmware or old ublox module
|
||||
for (let i = 0; i < FC.GPS_DATA.chn.length; i++) {
|
||||
const row = eSsTable.eq(i);
|
||||
|
||||
$('td', row).eq(0).text(FC.GPS_DATA.svid[i]);
|
||||
$('td', row).eq(1).text(FC.GPS_DATA.quality[i]);
|
||||
$('td', row).eq(2).find('progress').val(FC.GPS_DATA.cno[i]);
|
||||
$('td', row).eq(0).text('-');
|
||||
$('td', row).eq(1).text(FC.GPS_DATA.svid[i]);
|
||||
$('td', row).eq(2).find('progress').val(FC.GPS_DATA.cno[i]);
|
||||
$('td', row).eq(3).text(FC.GPS_DATA.quality[i]);
|
||||
}
|
||||
// Cleanup the rest of the table
|
||||
for (let i = FC.GPS_DATA.chn.length; i < 32; i++) {
|
||||
const row = eSsTable.eq(i);
|
||||
|
||||
$('td', row).eq(0).text('-');
|
||||
$('td', row).eq(1).text('-');
|
||||
$('td', row).eq(2).find('progress').val(0);
|
||||
$('td', row).eq(3).text(' ');
|
||||
}
|
||||
} else {
|
||||
// M8N/M9N on newer firmware
|
||||
|
||||
const maxUIChannels = 32; //the list in html can only show 32 channels but future firmware could send more
|
||||
let channels = Math.min(maxUIChannels, FC.GPS_DATA.chn.length);
|
||||
|
||||
for (let i = 0; i < channels; i++) {
|
||||
const row = eSsTable.eq(i);
|
||||
|
||||
if (FC.GPS_DATA.chn[i] <= 6) {
|
||||
$('td', row).eq(0).text(gnssArray[FC.GPS_DATA.chn[i]]);
|
||||
} else {
|
||||
$('td', row).eq(0).text('-');
|
||||
}
|
||||
|
||||
if (FC.GPS_DATA.chn[i] >= 7) {
|
||||
$('td', row).eq(1).text('-');
|
||||
$('td', row).eq(2).find('progress').val(0);
|
||||
$('td', row).eq(3).text(' ');
|
||||
} else {
|
||||
$('td', row).eq(1).text(FC.GPS_DATA.svid[i]);
|
||||
$('td', row).eq(2).find('progress').val(FC.GPS_DATA.cno[i]);
|
||||
|
||||
const quality = i18n.getMessage(qualityArray[FC.GPS_DATA.quality[i] & 0x7]);
|
||||
const used = i18n.getMessage(usedArray[(FC.GPS_DATA.quality[i] & 0x8) >> 3]);
|
||||
const healthy = i18n.getMessage(healthyArray[(FC.GPS_DATA.quality[i] & 0x30) >> 4]);
|
||||
|
||||
$('td', row).eq(3).text(`${quality} | ${used} | ${healthy}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const message = {
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
|
||||
<div class="grid-row">
|
||||
<div class="grid-col col3">
|
||||
<div class="grid-col col5">
|
||||
<div class="gui_box grey">
|
||||
<div class="gui_box_titlebar">
|
||||
<div class="spacer_box_title" i18n="gpsHead"></div>
|
||||
|
@ -45,8 +45,7 @@
|
|||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="grid-col col3">
|
||||
|
||||
<div class="gui_box grey">
|
||||
<div class="gui_box_titlebar">
|
||||
<div class="spacer_box_title" i18n="gpsSignalStrHead"></div>
|
||||
|
@ -54,95 +53,208 @@
|
|||
<div class="spacer_box GPS_signal_strength">
|
||||
<table class="cf_table">
|
||||
<tr class="titles">
|
||||
<td style="width: 20%;" i18n="gpsSignalSatId"></td>
|
||||
<td style="width: 15%;" i18n="gpsSignalQty"></td>
|
||||
<td style="width: 65%;" i18n="gpsSignalStr"></td>
|
||||
<td style="width: 12%;" i18n="gpsSignalGnssId"></td>
|
||||
<td style="width: 10%;" i18n="gpsSignalSatId"></td>
|
||||
<td style="width: 25%;" i18n="gpsSignalStr"></td>
|
||||
<td style="width: 53%;" i18n="gpsSignalStatusQly"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr class="noboarder">
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td><progress value="0" max="99"></progress></td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="grid-col col6">
|
||||
<div class="grid-col col7">
|
||||
<div class="gui_box grey gps_map">
|
||||
<div class="gui_box_titlebar" style="margin-bottom: 0px;">
|
||||
<div class="spacer_box_title" i18n="gpsMapHead"></div>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue