Skip to content

Commit c1450b8

Browse files
authored
Merge pull request projecthorus#3 from LukePrior/main
fixes
2 parents ac2d619 + 1ed56b3 commit c1450b8

File tree

2 files changed

+73
-214
lines changed

2 files changed

+73
-214
lines changed

js/format.js

Lines changed: 32 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,24 +12,26 @@ function formatData(data) {
1212
if (typeof data[key] === 'object') {
1313
for (let i in data[key]) {
1414
var dataTempEntry = {};
15-
var stations;
15+
dataTempEntry.callsign = {};
1616
if (data[key][i].software_name == "aprs") {
17-
stations = data[key][i].uploader_callsign.split(",");
17+
var stations = data[key][i].uploader_callsign.split(",");
18+
for (let uploader in stations) {
19+
dataTempEntry.callsign[stations[uploader]] = {};
20+
}
1821
} else {
19-
stations = [data[key][i].uploader_callsign];
20-
}
21-
dataTempEntry.callsign = {};
22-
for (let x in stations) {
23-
dataTempEntry.callsign[stations[x]] = {};
24-
}
25-
if (data[key][i].snr) {
26-
dataTempEntry.callsign[stations[0]].snr = data[key][i].snr;
27-
}
28-
if (data[key][i].rssi) {
29-
dataTempEntry.callsign[stations[0]].rssi = data[key][i].rssi;
30-
}
31-
if (data[key][i].frequency) {
32-
dataTempEntry.callsign[stations[0]].frequency = data[key][i].frequency;
22+
for (let uploader in data[key][i].uploaders) {
23+
uploader_callsign = data[key][i].uploaders[uploader].uploader_callsign;
24+
dataTempEntry.callsign[uploader_callsign] = {};
25+
if (data[key][i].uploaders[uploader].snr) {
26+
dataTempEntry.callsign[uploader_callsign].snr = +data[key][i].uploaders[uploader].snr.toFixed(1);
27+
}
28+
if (data[key][i].uploaders[uploader].rssi) {
29+
dataTempEntry.callsign[uploader_callsign].rssi = +data[key][i].uploaders[uploader].rssi.toFixed(1);
30+
}
31+
if (data[key][i].uploaders[uploader].frequency) {
32+
dataTempEntry.callsign[uploader_callsign].frequency = +data[key][i].uploaders[uploader].frequency.toFixed(3);
33+
}
34+
}
3335
}
3436
dataTempEntry.gps_alt = parseFloat((data[key][i].alt).toPrecision(8));
3537
dataTempEntry.gps_lat = parseFloat((data[key][i].lat).toPrecision(8));
@@ -45,24 +47,33 @@ function formatData(data) {
4547
dataTempEntry.vehicle = data[key][i].payload_callsign;
4648
dataTempEntry.position_id = data[key][i].payload_callsign + "-" + data[key][i].datetime;
4749
dataTempEntry.data = {};
48-
if (data[key][i].batt) {
49-
dataTempEntry.data.batt = Math.round(data[key][i].batt, 2);
50+
if (data[key][i].hasOwnProperty("batt")) {
51+
dataTempEntry.data.batt = +data[key][i].batt.toFixed(2);
52+
}
53+
if (data[key][i].hasOwnProperty("frequency")) {
54+
dataTempEntry.data.frequency = +data[key][i].frequency.toFixed(3);
5055
}
51-
if (data[key][i].frequency) {
52-
dataTempEntry.data.frequency = Math.round(data[key][i].frequency, 3);
56+
if (data[key][i].hasOwnProperty("tx_frequency")) {
57+
dataTempEntry.data.frequency_tx = +data[key][i].tx_frequency.toFixed(3);
5358
}
5459
if (data[key][i].hasOwnProperty("humidity")) {
5560
dataTempEntry.data.humidity = data[key][i].humidity;
5661
}
5762
if (data[key][i].hasOwnProperty("pressure")) {
5863
dataTempEntry.data.pressure = data[key][i].pressure;
5964
}
60-
if (data[key][i].sats) {
65+
if (data[key][i].hasOwnProperty("sats")) {
6166
dataTempEntry.data.sats = data[key][i].sats;
6267
}
6368
if (data[key][i].hasOwnProperty("temp")) {
6469
dataTempEntry.data.temperature_external = data[key][i].temp;
6570
}
71+
if (data[key][i].hasOwnProperty("comment")) {
72+
dataTempEntry.data.comment = data[key][i].comment;
73+
}
74+
if (data[key][i].hasOwnProperty("modulation")) {
75+
dataTempEntry.data.modulation = data[key][i].modulation;
76+
}
6677
dataTemp.push(dataTempEntry);
6778
}
6879
}

0 commit comments

Comments
 (0)