mirror of
https://github.com/betaflight/betaflight-configurator.git
synced 2025-07-20 23:05:15 +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
|
@ -1455,7 +1455,7 @@
|
||||||
"description": "Option to use Galileo in the GPS configuration"
|
"description": "Option to use Galileo in the GPS configuration"
|
||||||
},
|
},
|
||||||
"configurationGPSGalileoHelp": {
|
"configurationGPSGalileoHelp": {
|
||||||
"message": "When enabled, this removes the QZSS system (Japanese) and replaces it for the Galileo system (European).",
|
"message": "When enabled, the GPS module will also track the Galileo satellite system, usually resulting in more locked satellites. On Betaflight 4.2.x or earlier, it also disables the QZSS augmentation system.",
|
||||||
"description": "Help text for the option to use Galileo in the GPS configuration"
|
"description": "Help text for the option to use Galileo in the GPS configuration"
|
||||||
},
|
},
|
||||||
"configurationGPSHomeOnce": {
|
"configurationGPSHomeOnce": {
|
||||||
|
@ -2432,11 +2432,47 @@
|
||||||
"gpsSignalStr": {
|
"gpsSignalStr": {
|
||||||
"message": "Signal Strength"
|
"message": "Signal Strength"
|
||||||
},
|
},
|
||||||
|
"gpsSignalGnssId": {
|
||||||
|
"message": "Gnss ID"
|
||||||
|
},
|
||||||
"gpsSignalSatId": {
|
"gpsSignalSatId": {
|
||||||
"message": "Sat ID"
|
"message": "Sat ID"
|
||||||
},
|
},
|
||||||
"gpsSignalQty": {
|
"gpsSignalStatusQly": {
|
||||||
"message": "Qty"
|
"message": "Status / Quality"
|
||||||
|
},
|
||||||
|
"gnssQualityNoSignal": {
|
||||||
|
"message": "no signal"
|
||||||
|
},
|
||||||
|
"gnssQualitySearching": {
|
||||||
|
"message": "searching"
|
||||||
|
},
|
||||||
|
"gnssQualityAcquired": {
|
||||||
|
"message": "acquired"
|
||||||
|
},
|
||||||
|
"gnssQualityUnusable": {
|
||||||
|
"message": "unusable"
|
||||||
|
},
|
||||||
|
"gnssQualityLocked": {
|
||||||
|
"message": "locked"
|
||||||
|
},
|
||||||
|
"gnssQualityFullyLocked": {
|
||||||
|
"message": "fully locked"
|
||||||
|
},
|
||||||
|
"gnssUsedUnused": {
|
||||||
|
"message": "unused"
|
||||||
|
},
|
||||||
|
"gnssUsedUsed": {
|
||||||
|
"message": "used"
|
||||||
|
},
|
||||||
|
"gnssHealthyUnknown": {
|
||||||
|
"message": "unknown"
|
||||||
|
},
|
||||||
|
"gnssHealthyHealthy": {
|
||||||
|
"message": "healthy"
|
||||||
|
},
|
||||||
|
"gnssHealthyUnhealthy": {
|
||||||
|
"message": "unhealthy"
|
||||||
},
|
},
|
||||||
|
|
||||||
"motorsVoltage": {
|
"motorsVoltage": {
|
||||||
|
|
|
@ -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 {
|
.tab-gps progress {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
|
|
|
@ -48,6 +48,11 @@ TABS.gps.initialize = function (callback) {
|
||||||
const lat = FC.GPS_DATA.lat / 10000000;
|
const lat = FC.GPS_DATA.lat / 10000000;
|
||||||
const lon = FC.GPS_DATA.lon / 10000000;
|
const lon = FC.GPS_DATA.lon / 10000000;
|
||||||
const url = `https://maps.google.com/?q=${lat},${lon}`;
|
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;
|
let alt = FC.GPS_DATA.alt;
|
||||||
if (semver.lt(FC.CONFIG.apiVersion, API_VERSION_1_39)) {
|
if (semver.lt(FC.CONFIG.apiVersion, API_VERSION_1_39)) {
|
||||||
alt = alt / 10;
|
alt = alt / 10;
|
||||||
|
@ -64,12 +69,55 @@ TABS.gps.initialize = function (callback) {
|
||||||
// Update GPS Signal Strengths
|
// Update GPS Signal Strengths
|
||||||
const eSsTable = $('div.GPS_signal_strength table tr:not(.titles)');
|
const eSsTable = $('div.GPS_signal_strength table tr:not(.titles)');
|
||||||
|
|
||||||
for (let i = 0; i < FC.GPS_DATA.chn.length; i++) {
|
if (FC.GPS_DATA.chn.length <= 16) {
|
||||||
const row = eSsTable.eq(i);
|
// 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(0).text('-');
|
||||||
$('td', row).eq(1).text(FC.GPS_DATA.quality[i]);
|
$('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(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 = {
|
const message = {
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
|
|
||||||
<div class="grid-row">
|
<div class="grid-row">
|
||||||
<div class="grid-col col3">
|
<div class="grid-col col5">
|
||||||
<div class="gui_box grey">
|
<div class="gui_box grey">
|
||||||
<div class="gui_box_titlebar">
|
<div class="gui_box_titlebar">
|
||||||
<div class="spacer_box_title" i18n="gpsHead"></div>
|
<div class="spacer_box_title" i18n="gpsHead"></div>
|
||||||
|
@ -45,8 +45,7 @@
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div class="grid-col col3">
|
|
||||||
<div class="gui_box grey">
|
<div class="gui_box grey">
|
||||||
<div class="gui_box_titlebar">
|
<div class="gui_box_titlebar">
|
||||||
<div class="spacer_box_title" i18n="gpsSignalStrHead"></div>
|
<div class="spacer_box_title" i18n="gpsSignalStrHead"></div>
|
||||||
|
@ -54,95 +53,208 @@
|
||||||
<div class="spacer_box GPS_signal_strength">
|
<div class="spacer_box GPS_signal_strength">
|
||||||
<table class="cf_table">
|
<table class="cf_table">
|
||||||
<tr class="titles">
|
<tr class="titles">
|
||||||
<td style="width: 20%;" i18n="gpsSignalSatId"></td>
|
<td style="width: 12%;" i18n="gpsSignalGnssId"></td>
|
||||||
<td style="width: 15%;" i18n="gpsSignalQty"></td>
|
<td style="width: 10%;" i18n="gpsSignalSatId"></td>
|
||||||
<td style="width: 65%;" i18n="gpsSignalStr"></td>
|
<td style="width: 25%;" i18n="gpsSignalStr"></td>
|
||||||
|
<td style="width: 53%;" i18n="gpsSignalStatusQly"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td><progress value="0" max="99"></progress></td>
|
<td><progress value="0" max="99"></progress></td>
|
||||||
|
<td>0</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td><progress value="0" max="99"></progress></td>
|
<td><progress value="0" max="99"></progress></td>
|
||||||
|
<td>0</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td><progress value="0" max="99"></progress></td>
|
<td><progress value="0" max="99"></progress></td>
|
||||||
|
<td>0</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td><progress value="0" max="99"></progress></td>
|
<td><progress value="0" max="99"></progress></td>
|
||||||
|
<td>0</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td><progress value="0" max="99"></progress></td>
|
<td><progress value="0" max="99"></progress></td>
|
||||||
|
<td>0</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td><progress value="0" max="99"></progress></td>
|
<td><progress value="0" max="99"></progress></td>
|
||||||
|
<td>0</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td><progress value="0" max="99"></progress></td>
|
<td><progress value="0" max="99"></progress></td>
|
||||||
|
<td>0</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td><progress value="0" max="99"></progress></td>
|
<td><progress value="0" max="99"></progress></td>
|
||||||
|
<td>0</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td><progress value="0" max="99"></progress></td>
|
<td><progress value="0" max="99"></progress></td>
|
||||||
|
<td>0</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td><progress value="0" max="99"></progress></td>
|
<td><progress value="0" max="99"></progress></td>
|
||||||
|
<td>0</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td><progress value="0" max="99"></progress></td>
|
<td><progress value="0" max="99"></progress></td>
|
||||||
|
<td>0</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td><progress value="0" max="99"></progress></td>
|
<td><progress value="0" max="99"></progress></td>
|
||||||
|
<td>0</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td><progress value="0" max="99"></progress></td>
|
<td><progress value="0" max="99"></progress></td>
|
||||||
|
<td>0</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td><progress value="0" max="99"></progress></td>
|
<td><progress value="0" max="99"></progress></td>
|
||||||
|
<td>0</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td><progress value="0" max="99"></progress></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>
|
||||||
<tr class="noboarder">
|
<tr class="noboarder">
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td><progress value="0" max="99"></progress></td>
|
<td><progress value="0" max="99"></progress></td>
|
||||||
|
<td>0</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid-col col6">
|
<div class="grid-col col7">
|
||||||
<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>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue