Skip to content

Commit d43bbba

Browse files
Mark JessopMark Jessop
authored andcommitted
Discard sats=0 and null positions, merge manufacturer into displayed type field.
1 parent 791047c commit d43bbba

File tree

1 file changed

+75
-10
lines changed

1 file changed

+75
-10
lines changed

js/format.js

Lines changed: 75 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,12 @@ function formatData(data, live) {
4949
dataTempEntry.gps_alt = data[entry].alt;
5050
dataTempEntry.gps_lat = data[entry].lat;
5151
dataTempEntry.gps_lon = data[entry].lon;
52+
53+
// Discard positions with null values.
54+
if (dataTempEntry.gps_lat == 0 && dataTempEntry.gps_lon == 0) {
55+
continue;
56+
}
57+
5258
if (data[entry].heading) {
5359
dataTempEntry.gps_heading = data[entry].heading;
5460
}
@@ -72,14 +78,16 @@ function formatData(data, live) {
7278
if (data[entry].hasOwnProperty("humidity")) {
7379
dataTempEntry.data.humidity = data[entry].humidity;
7480
}
75-
if (data[entry].manufacturer) {
76-
dataTempEntry.data.manufacturer = data[entry].manufacturer;
77-
}
7881
if (data[entry].hasOwnProperty("pressure")) {
7982
dataTempEntry.data.pressure = data[entry].pressure;
8083
}
8184
if (data[entry].sats) {
8285
dataTempEntry.data.sats = data[entry].sats;
86+
87+
// Drop frames where sats = 0! We do not want to be handling invalid positions.
88+
if (dataTempEntry.data.sats == 0){
89+
continue;
90+
}
8391
}
8492
if (data[entry].hasOwnProperty("temp")) {
8593
dataTempEntry.data.temperature_external = data[entry].temp;
@@ -88,9 +96,7 @@ function formatData(data, live) {
8896
if (data[entry].hasOwnProperty("rs41_mainboard")) {
8997
dataTempEntry.data.rs41_mainboard = data[entry].rs41_mainboard;
9098
}
91-
if (data[entry].hasOwnProperty("rs41_mainboard_fw")) {
92-
dataTempEntry.data.rs41_mainboard_fw = data[entry].rs41_mainboard_fw;
93-
}
99+
// Removed showing mainboard firmware, not really valuable
94100

95101
if (data[entry].type) {
96102
dataTempEntry.data.type = data[entry].type;
@@ -100,6 +106,14 @@ function formatData(data, live) {
100106
dataTempEntry.data.type = data[entry].subtype;
101107
dataTempEntry.type = data[entry].subtype;
102108
}
109+
110+
if (data[entry].manufacturer) {
111+
// Instead of adding a separate manufacturer field, prefix the type with it.
112+
if (dataTempEntry.data.type) {
113+
dataTempEntry.data.type = data[entry].manufacturer + " " + dataTempEntry.data.type;
114+
}
115+
}
116+
103117
if (data[entry].xdata) {
104118
dataTempEntry.data.xdata = data[entry].xdata;
105119

@@ -145,6 +159,12 @@ function formatData(data, live) {
145159
dataTempEntry.gps_alt = data[key][i].alt;
146160
dataTempEntry.gps_lat = data[key][i].lat;
147161
dataTempEntry.gps_lon = data[key][i].lon;
162+
163+
// Discard positions with null values.
164+
if (dataTempEntry.gps_lat == 0 && dataTempEntry.gps_lon == 0) {
165+
continue;
166+
}
167+
148168
if (data[key][i].heading) {
149169
dataTempEntry.gps_heading = data[key][i].heading;
150170
}
@@ -168,14 +188,17 @@ function formatData(data, live) {
168188
if (data[key][i].hasOwnProperty("humidity")) {
169189
dataTempEntry.data.humidity = data[key][i].humidity;
170190
}
171-
if (data[key][i].manufacturer) {
172-
dataTempEntry.data.manufacturer = data[key][i].manufacturer;
173-
}
191+
174192
if (data[key][i].hasOwnProperty("pressure")) {
175193
dataTempEntry.data.pressure = data[key][i].pressure;
176194
}
177195
if (data[key][i].sats) {
178196
dataTempEntry.data.sats = data[key][i].sats;
197+
198+
// Drop frames where sats = 0! We do not want to be handling invalid positions.
199+
if (dataTempEntry.data.sats == 0){
200+
continue;
201+
}
179202
}
180203
if (data[key][i].hasOwnProperty("temp")) {
181204
dataTempEntry.data.temperature_external = data[key][i].temp;
@@ -188,6 +211,21 @@ function formatData(data, live) {
188211
dataTempEntry.data.type = data[key][i].subtype;
189212
dataTempEntry.type = data[key][i].subtype;
190213
}
214+
215+
if (data[key][i].manufacturer) {
216+
// Instead of adding a separate manufacturer field, prefix the type with it.
217+
if (dataTempEntry.data.type) {
218+
dataTempEntry.data.type = data[key][i].manufacturer + " " + dataTempEntry.data.type;
219+
}
220+
}
221+
222+
// RS41 specific stuff
223+
if (data[key][i].hasOwnProperty("rs41_mainboard")) {
224+
dataTempEntry.data.rs41_mainboard = data[key][i].rs41_mainboard;
225+
}
226+
// Removed showing mainboard firmware, not really valuable
227+
228+
// XDATA Handling
191229
if (data[key][i].xdata) {
192230
dataTempEntry.data.xdata = data[key][i].xdata;
193231
if (data[key][i].hasOwnProperty("pressure")) {
@@ -252,6 +290,12 @@ function formatData(data, live) {
252290
dataTempEntry.gps_alt = data[i].alt;
253291
dataTempEntry.gps_lat = data[i].lat;
254292
dataTempEntry.gps_lon = data[i].lon;
293+
294+
// Discard positions with null values.
295+
if (dataTempEntry.gps_lat == 0 && dataTempEntry.gps_lon == 0) {
296+
continue;
297+
}
298+
255299
if (data[i].heading) {
256300
dataTempEntry.gps_heading = data[i].heading;
257301
}
@@ -283,6 +327,11 @@ function formatData(data, live) {
283327
}
284328
if (data[i].sats) {
285329
dataTempEntry.data.sats = data[i].sats;
330+
331+
// Drop frames where sats = 0! We do not want to be handling invalid positions.
332+
if (dataTempEntry.data.sats == 0){
333+
continue;
334+
}
286335
}
287336
if (data[i].hasOwnProperty("temp")) {
288337
dataTempEntry.data.temperature_external = data[i].temp;
@@ -293,7 +342,8 @@ function formatData(data, live) {
293342
dataTempEntry.data.type = v1types[comment[0]];
294343
dataTempEntry.type = v1types[comment[0]];
295344
if (v1manufacturers.hasOwnProperty(dataTempEntry.type)) {
296-
dataTempEntry.data.manufacturer = v1manufacturers[dataTempEntry.type];
345+
// dataTempEntry.data.manufacturer = v1manufacturers[dataTempEntry.type];
346+
dataTempEntry.data.type = v1manufacturers[dataTempEntry.type] + " " + dataTempEntry.data.type;
297347
}
298348
}
299349
dataTempEntry.data.frequency = comment[2];
@@ -305,6 +355,21 @@ function formatData(data, live) {
305355
dataTempEntry.data.type = data[i].subtype;
306356
dataTempEntry.type = data[i].subtype;
307357
}
358+
359+
if (data[i].manufacturer) {
360+
// Instead of adding a separate manufacturer field, prefix the type with it.
361+
if (dataTempEntry.data.type) {
362+
dataTempEntry.data.type = data[i].manufacturer + " " + dataTempEntry.data.type;
363+
}
364+
}
365+
366+
// RS41 specific stuff
367+
if (data[i].hasOwnProperty("rs41_mainboard")) {
368+
dataTempEntry.data.rs41_mainboard = data[i].rs41_mainboard;
369+
}
370+
// Removed showing mainboard firmware, not really valuable
371+
372+
// XDATA Handling
308373
if (data[i].xdata) {
309374
dataTempEntry.data.xdata = data[i].xdata;
310375
if (data[i].hasOwnProperty("pressure")) {

0 commit comments

Comments
 (0)