Skip to content

Commit 2d39427

Browse files
Mark JessopMark Jessop
authored andcommitted
Add some additional fields for Horus Binary payloads, needs to be reworked
1 parent 01d08b5 commit 2d39427

File tree

2 files changed

+44
-5
lines changed

2 files changed

+44
-5
lines changed

js/format.js

Lines changed: 40 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ function formatData(data) {
3131
data[key][i].uploaders[0].rssi = + data[key][i].rssi.toFixed(1);
3232
}
3333
if (data[key][i].frequency) {
34-
data[key][i].uploaders[0].frequency = + data[key][i].frequency.toFixed(3);
34+
data[key][i].uploaders[0].frequency = + data[key][i].frequency.toFixed(4);
3535
}
3636
}
3737
for (let entry in data[key][i].uploaders) {
@@ -52,7 +52,7 @@ function formatData(data) {
5252
dataTempEntry.callsign[uploader_callsign].rssi = + data[key][i].uploaders[entry].rssi.toFixed(1);
5353
}
5454
if (data[key][i].uploaders[entry].frequency) {
55-
dataTempEntry.callsign[uploader_callsign].frequency = + data[key][i].uploaders[entry].frequency.toFixed(3);
55+
dataTempEntry.callsign[uploader_callsign].frequency = + data[key][i].uploaders[entry].frequency.toFixed(4);
5656
}
5757

5858
}
@@ -76,11 +76,18 @@ function formatData(data) {
7676
if (!dataTempEntry.hasOwnProperty("data")) {
7777
dataTempEntry.data = {};
7878
}
79+
80+
// Cleanup of some fields, limiting precision, formatting. etc.
81+
// Currently this section copies over specific fields. It should be changed
82+
// to initially copy over all fields that have not already been included,
83+
// Then apply formatting to some 'known' fields.
84+
85+
// Fairly common fields
7986
if (data[key][i].hasOwnProperty("batt")) {
8087
dataTempEntry.data.batt = +data[key][i].batt.toFixed(2);
8188
}
8289
if (data[key][i].hasOwnProperty("frequency")) {
83-
dataTempEntry.data.frequency = +data[key][i].frequency.toFixed(3);
90+
dataTempEntry.data.frequency = +data[key][i].frequency.toFixed(4);
8491
}
8592
if (data[key][i].hasOwnProperty("tx_frequency")) {
8693
dataTempEntry.data.frequency_tx = +data[key][i].tx_frequency.toFixed(3);
@@ -95,14 +102,43 @@ function formatData(data) {
95102
dataTempEntry.data.sats = data[key][i].sats;
96103
}
97104
if (data[key][i].hasOwnProperty("temp")) {
98-
dataTempEntry.data.temperature_external = data[key][i].temp;
105+
dataTempEntry.data.temp = data[key][i].temp;
99106
}
100107
if (data[key][i].hasOwnProperty("comment")) {
101108
dataTempEntry.data.comment = data[key][i].comment;
102109
}
110+
111+
// Horus Binary V2 Fields
112+
if (data[key][i].hasOwnProperty("ascent_rate")) {
113+
// Limit to 1 decimal place.
114+
dataTempEntry.data.ascent_rate = +data[key][i].ascent_rate.toFixed(1);
115+
}
116+
if (data[key][i].hasOwnProperty("ext_pressure")) {
117+
dataTempEntry.data.ext_pressure = data[key][i].ext_pressure;
118+
}
119+
if (data[key][i].hasOwnProperty("ext_humidity")) {
120+
dataTempEntry.data.ext_humidity = data[key][i].ext_humidity;
121+
}
122+
if (data[key][i].hasOwnProperty("ext_temperature")) {
123+
dataTempEntry.data.ext_temperature = data[key][i].ext_temperature;
124+
}
125+
126+
// Horus LoRa Fields
127+
if (data[key][i].hasOwnProperty("pyro_voltage")) {
128+
dataTempEntry.data.pyro_voltage = +data[key][i].pyro_voltage.toFixed(2);
129+
}
130+
if (data[key][i].hasOwnProperty("noise_floor_dbm")) {
131+
dataTempEntry.data.noise_floor_dbm = data[key][i].noise_floor_dbm;
132+
}
133+
if (data[key][i].hasOwnProperty("rx_pkt_count")) {
134+
dataTempEntry.data.rx_pkt_count = data[key][i].rx_pkt_count;
135+
}
136+
137+
// Metadata added on by receiver applications.
103138
if (data[key][i].hasOwnProperty("modulation")) {
104139
dataTempEntry.data.modulation = data[key][i].modulation;
105140
}
141+
106142
dataTemp.push(dataTempEntry);
107143
}
108144
}

js/tracker.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ var globalSuffixes = {
156156
"iss_elevation": "°",
157157
"light_intensity": " lx",
158158
"humidity": " %",
159+
"ext_humidity": " %",
159160
"frequency": " MHz",
160161
"frequency_tx": " MHz",
161162
"noise_floor_dbm": " dBm",
@@ -845,7 +846,9 @@ function habitat_data(jsondata, alternative) {
845846
var keys = globalKeys;
846847

847848
var tooltips = {
848-
"burst_timer": "If active, this indicates the time (HH:MM:SS) until the radiosonde will automatically power-off."
849+
"burst_timer": "If active, this indicates the time (HH:MM:SS) until the radiosonde will automatically power-off.",
850+
"frequency": "Estimated frequency of the transmitter, may be impacted by receiver frequency inaccuracies.",
851+
"ascent_rate": "Instantaneous ascent rate, provided by the payload."
849852
}
850853

851854
var hide_keys = {

0 commit comments

Comments
 (0)