Skip to content

Commit 3cba170

Browse files
author
Tony Cabello
committed
compacted a few switch cases
1 parent 9a487b8 commit 3cba170

File tree

1 file changed

+14
-67
lines changed

1 file changed

+14
-67
lines changed

src/js/tabs/gps.js

Lines changed: 14 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@ TABS.gps.initialize = function (callback) {
4848
const lat = FC.GPS_DATA.lat / 10000000;
4949
const lon = FC.GPS_DATA.lon / 10000000;
5050
const url = `https://maps.google.com/?q=${lat},${lon}`;
51+
const gnssArray = ['GPS', 'SBAS', 'Galileo', 'BeiDou', 'IMES', 'QZSS', 'Glonass'];
52+
const qualityArray = ['no signal', 'searching', 'acquired', 'unusable', 'locked', 'fully locked', 'fully locked', 'fully locked'];
53+
const usedArray = ['unused', 'used'];
54+
const healthyArray = ['unknown', 'healthy', 'unhealthy', 'unknown'];
5155
let alt = FC.GPS_DATA.alt;
5256
if (semver.lt(FC.CONFIG.apiVersion, API_VERSION_1_39)) {
5357
alt = alt / 10;
@@ -65,6 +69,7 @@ TABS.gps.initialize = function (callback) {
6569
const eSsTable = $('div.GPS_signal_strength table tr:not(.titles)');
6670

6771
if (FC.GPS_DATA.chn.length <= 16) {
72+
// Legacy code path: old BF firmware or old ublox module
6873
for (let i = 0; i < FC.GPS_DATA.chn.length; i++) {
6974
const row = eSsTable.eq(i);
7075

@@ -74,6 +79,7 @@ TABS.gps.initialize = function (callback) {
7479
//$('td', row).eq(3).text(' ');
7580
$('td', row).eq(2).find('progress').val(FC.GPS_DATA.cno[i]);
7681
}
82+
// Cleanup the rest of the table
7783
for (let i = FC.GPS_DATA.chn.length; i < 32; i++) {
7884
const row = eSsTable.eq(i);
7985

@@ -83,33 +89,14 @@ TABS.gps.initialize = function (callback) {
8389
$('td', row).eq(2).find('progress').val(0);
8490
}
8591
} else {
92+
// M8N/M9N on newer firmware
8693
for (let i = 0; i < FC.GPS_DATA.chn.length; i++) {
8794
const row = eSsTable.eq(i);
8895

89-
switch (FC.GPS_DATA.chn[i]) {
90-
case 0:
91-
$('td', row).eq(0).text('GPS');
92-
break;
93-
case 1:
94-
$('td', row).eq(0).text('SBAS');
95-
break;
96-
case 2:
97-
$('td', row).eq(0).text('Galileo');
98-
break;
99-
case 3:
100-
$('td', row).eq(0).text('BeiDou');
101-
break;
102-
case 4:
103-
$('td', row).eq(0).text('IMES');
104-
break;
105-
case 5:
106-
$('td', row).eq(0).text('QZSS');
107-
break;
108-
case 6:
109-
$('td', row).eq(0).text('GLO');
110-
break;
111-
default:
112-
$('td', row).eq(0).text('-');
96+
if (FC.GPS_DATA.chn[i] <= 6) {
97+
$('td', row).eq(0).text(gnssArray[FC.GPS_DATA.chn[i]]);
98+
} else {
99+
$('td', row).eq(0).text('-');
113100
}
114101

115102
if (FC.GPS_DATA.chn[i] >= 7) {
@@ -119,49 +106,9 @@ TABS.gps.initialize = function (callback) {
119106
} else {
120107
$('td', row).eq(1).text(FC.GPS_DATA.svid[i]);
121108

122-
let quality = '';
123-
switch (FC.GPS_DATA.quality[i] & 0x7) {
124-
case 0:
125-
quality = quality + 'no signal | ';
126-
break;
127-
case 1:
128-
quality = quality + 'searching | ';
129-
break;
130-
case 2:
131-
quality = quality + 'acquired | ';
132-
break;
133-
case 3:
134-
quality = quality + 'unusable | ';
135-
break;
136-
case 4:
137-
quality = quality + 'locked | ';
138-
break;
139-
default:
140-
quality = quality + 'fully locked | ';
141-
break;
142-
}
143-
144-
let used = '';
145-
switch ((FC.GPS_DATA.quality[i] & 0x8) >> 3) {
146-
case 0:
147-
quality = quality + 'unused | ';
148-
break;
149-
case 1:
150-
quality = quality + 'used | ';
151-
break;
152-
}
153-
154-
switch ((FC.GPS_DATA.quality[i] & 0x30) >> 4) {
155-
case 1:
156-
quality = quality + 'healthy';
157-
break;
158-
case 2:
159-
quality = quality + 'unhealthy';
160-
break;
161-
default:
162-
quality = quality + 'unknown';
163-
break;
164-
}
109+
var quality = qualityArray[FC.GPS_DATA.quality[i] & 0x7] + ' | ' +
110+
usedArray[(FC.GPS_DATA.quality[i] & 0x8) >> 3] + '|' +
111+
healthyArray[(FC.GPS_DATA.quality[i] & 0x30) >> 4];
165112

166113
$('td', row).eq(3).text(quality);
167114
$('td', row).eq(2).find('progress').val(FC.GPS_DATA.cno[i]);

0 commit comments

Comments
 (0)