@@ -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 }
0 commit comments