Skip to content

Commit 0dedb5b

Browse files
authored
Merge pull request projecthorus#40 from LukePrior/testing
Show subtype if available for historical sonde
2 parents 71b60c8 + fa1ff4f commit 0dedb5b

File tree

1 file changed

+95
-80
lines changed

1 file changed

+95
-80
lines changed

js/tracker.js

Lines changed: 95 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -2619,6 +2619,98 @@ function graphAddPosition(vcallsign, new_data) {
26192619
}
26202620
}
26212621

2622+
function formatData(data) {
2623+
var response = {};
2624+
response.positions = {};
2625+
var dataTemp = [];
2626+
for (var i = data.length - 1; i >= 0; i--) {
2627+
if (data[i].hasOwnProperty('subtype')) {
2628+
if (data[i].subtype != "SondehubV1") {
2629+
var dataTempEntry = {};
2630+
var station = data[i].uploader_callsign;
2631+
dataTempEntry.callsign = {};
2632+
dataTempEntry.callsign[station] = {};
2633+
if (data[i].snr) {
2634+
dataTempEntry.callsign[station].snr = data[i].snr;
2635+
}
2636+
if (data[i].rssi) {
2637+
dataTempEntry.callsign[station].rssi = data[i].rssi;
2638+
}
2639+
dataTempEntry.gps_alt = data[i].alt;
2640+
dataTempEntry.gps_lat = data[i].lat;
2641+
dataTempEntry.gps_lon = data[i].lon;
2642+
if (data[i].heading) {
2643+
dataTempEntry.gps_heading = data[i].heading;
2644+
}
2645+
dataTempEntry.gps_time = data[i].datetime;
2646+
dataTempEntry.server_time = data[i].datetime;
2647+
dataTempEntry.vehicle = data[i].serial;
2648+
dataTempEntry.position_id = data[i].serial + "-" + data[i].datetime;
2649+
dataTempEntry.data = {};
2650+
if (data[i].batt) {
2651+
dataTempEntry.data.batt = data[i].batt;
2652+
}
2653+
if (data[i].burst_timer) {
2654+
dataTempEntry.data.burst_timer = data[i].burst_timer;
2655+
}
2656+
if (data[i].frequency) {
2657+
dataTempEntry.data.burst_timer = data[i].frequency;
2658+
}
2659+
if (data[i].humidity) {
2660+
dataTempEntry.data.humidity = data[i].humidity;
2661+
}
2662+
if (data[i].manufacturer) {
2663+
dataTempEntry.data.manufacturer = data[i].manufacturer;
2664+
}
2665+
if (data[i].sats) {
2666+
dataTempEntry.data.sats = data[i].sats;
2667+
}
2668+
if (data[i].temp) {
2669+
dataTempEntry.data.temperature_external = data[i].temp;
2670+
}
2671+
if (data[i].type) {
2672+
dataTempEntry.data.type = data[i].type;
2673+
dataTempEntry.type = data[i].type;
2674+
}
2675+
if (data[i].subtype) {
2676+
dataTempEntry.data.type = data[i].subtype;
2677+
dataTempEntry.type = data[i].subtype;
2678+
}
2679+
if (data[i].pressure) {
2680+
dataTempEntry.data.pressure = data[i].pressure;
2681+
}
2682+
if (data[i].xdata) {
2683+
dataTempEntry.data.xdata = data[i].xdata;
2684+
}
2685+
dataTemp.push(dataTempEntry);
2686+
} else {
2687+
var dataTempEntry = {};
2688+
var station = data[i].uploader_callsign;
2689+
dataTempEntry.callsign = {};
2690+
dataTempEntry.callsign[station] = {};
2691+
dataTempEntry.gps_alt = parseFloat(data[i].alt);
2692+
dataTempEntry.gps_lat = parseFloat(data[i].lat);
2693+
dataTempEntry.gps_lon = parseFloat(data[i].lon);
2694+
dataTempEntry.gps_time = data[i].time_received;
2695+
dataTempEntry.server_time = data[i].time_received;
2696+
dataTempEntry.vehicle = data[i].serial;
2697+
dataTempEntry.position_id = data[i].serial + "-" + data[i].time_received;
2698+
dataTempEntry.data = {};
2699+
if (data[i].humidity) {
2700+
dataTempEntry.data.humidity = parseFloat(data[i].humidity);
2701+
}
2702+
if (data[i].temp) {
2703+
dataTempEntry.data.temperature_external = parseFloat(data[i].temp);
2704+
}
2705+
dataTemp.push(dataTempEntry);
2706+
}
2707+
}
2708+
}
2709+
response.positions.position = dataTemp;
2710+
response.fetch_timestamp = Date.now();
2711+
return response;
2712+
}
2713+
26222714
var ajax_positions = null;
26232715
var ajax_positions_single = null;
26242716
var ajax_positions_old = null;
@@ -2677,6 +2769,7 @@ function refresh() {
26772769
refreshSingleOld(wvar.query);
26782770
} else {
26792771
ajax_inprogress_old = wvar.query;
2772+
console.log(response);
26802773
update(response);
26812774
}
26822775
} else {
@@ -2753,7 +2846,7 @@ function refreshSingle(serial, first) {
27532846
},
27542847
complete: function(request, textStatus) {
27552848
clearTimeout(periodical_focus);
2756-
periodical_focus = setTimeout(refreshSingle, timer_seconds_focus * 1000, serial);
2849+
periodical_focus = setTimeout(refreshSingle, timer_seconds * 1000, serial);
27572850
}
27582851
});
27592852
}
@@ -2775,84 +2868,7 @@ function refreshSingleOld(serial) {
27752868
url: data_url,
27762869
dataType: "json",
27772870
success: function(data, textStatus) {
2778-
var response = {};
2779-
response.positions = {};
2780-
var dataTemp = [];
2781-
for (var i = data.length - 1; i >= 0; i--) {
2782-
if (data[i].hasOwnProperty('subtype')) {
2783-
if (data[i].subtype != "SondehubV1") {
2784-
var dataTempEntry = {};
2785-
var station = data[i].uploader_callsign;
2786-
dataTempEntry.callsign = {};
2787-
dataTempEntry.callsign[station] = {};
2788-
dataTempEntry.callsign[station].snr = data[i].snr;
2789-
dataTempEntry.callsign[station].rssi = data[i].rssi;
2790-
dataTempEntry.gps_alt = data[i].alt;
2791-
dataTempEntry.gps_heading = data[i].heading;
2792-
dataTempEntry.gps_lat = data[i].lat;
2793-
dataTempEntry.gps_lon = data[i].lon;
2794-
dataTempEntry.gps_time = data[i].datetime;
2795-
dataTempEntry.server_time = data[i].datetime;
2796-
dataTempEntry.vehicle = data[i].serial;
2797-
dataTempEntry.position_id = data[i].serial + "-" + data[i].datetime;
2798-
dataTempEntry.data = {};
2799-
if (data[i].batt) {
2800-
dataTempEntry.data.batt = data[i].batt;
2801-
}
2802-
if (data[i].burst_timer) {
2803-
dataTempEntry.data.burst_timer = data[i].burst_timer;
2804-
}
2805-
if (data[i].frequency) {
2806-
dataTempEntry.data.burst_timer = data[i].frequency;
2807-
}
2808-
if (data[i].humidity) {
2809-
dataTempEntry.data.humidity = data[i].humidity;
2810-
}
2811-
if (data[i].manufacturer) {
2812-
dataTempEntry.data.manufacturer = data[i].manufacturer;
2813-
}
2814-
if (data[i].sats) {
2815-
dataTempEntry.data.sats = data[i].sats;
2816-
}
2817-
if (data[i].temp) {
2818-
dataTempEntry.data.temperature_external = data[i].temp;
2819-
}
2820-
if (data[i].type) {
2821-
dataTempEntry.data.type = data[i].type;
2822-
dataTempEntry.type = data[i].type;
2823-
}
2824-
if (data[i].pressure) {
2825-
dataTempEntry.data.pressure = data[i].pressure;
2826-
}
2827-
if (data[i].xdata) {
2828-
dataTempEntry.data.xdata = data[i].xdata;
2829-
}
2830-
dataTemp.push(dataTempEntry);
2831-
} else {
2832-
var dataTempEntry = {};
2833-
var station = data[i].uploader_callsign;
2834-
dataTempEntry.callsign = {};
2835-
dataTempEntry.callsign[station] = {};
2836-
dataTempEntry.gps_alt = parseFloat(data[i].alt);
2837-
dataTempEntry.gps_lat = parseFloat(data[i].lat);
2838-
dataTempEntry.gps_lon = parseFloat(data[i].lon);
2839-
dataTempEntry.gps_time = data[i].time_received;
2840-
dataTempEntry.server_time = data[i].time_received;
2841-
dataTempEntry.vehicle = data[i].serial;
2842-
dataTempEntry.position_id = data[i].serial + "-" + data[i].time_received;
2843-
dataTempEntry.data = {};
2844-
if (data[i].humidity) {
2845-
dataTempEntry.data.humidity = parseFloat(data[i].humidity);
2846-
}
2847-
if (data[i].temp) {
2848-
dataTempEntry.data.temperature_external = parseFloat(data[i].temp);
2849-
}
2850-
dataTemp.push(dataTempEntry);
2851-
}
2852-
}
2853-
}
2854-
response.positions.position = dataTemp;
2855-
response.fetch_timestamp = Date.now();
2871+
response = formatData(data);
28562872
if (response.positions.position.length == 0) {
28572873
update(response);
28582874
} else {
@@ -3125,7 +3141,6 @@ function habitat_doc_step(hab_docs) {
31253141
var periodical, periodical_focus, periodical_receivers, periodical_recoveries;
31263142
var periodical_predictions = null;
31273143
var timer_seconds = 5;
3128-
var timer_seconds_focus = 1;
31293144

31303145
function startAjax() {
31313146
// prevent insane clicks to start numerous requests

0 commit comments

Comments
 (0)