Skip to content

Commit d702d51

Browse files
Mark JessopMark Jessop
authored andcommitted
Use APRS dashboard for slow-updating payloads, use to=now and refresh=1m for payloads with recent data
1 parent 6b23549 commit d702d51

File tree

1 file changed

+26
-1
lines changed

1 file changed

+26
-1
lines changed

js/tracker.js

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@ var position_id = 0;
33
var newdata_url = "https://api.v2.sondehub.org/amateur/telemetry";
44
var receivers_url = "https://api.v2.sondehub.org/amateur/listeners/telemetry";
55
var predictions_url = "https://api.v2.sondehub.org/amateur/predictions?vehicles=";
6+
// Grafana dashboard for most payloads
67
var grafana_url = "https://grafana.v2.sondehub.org/d/HJgOZLq7k/basic?";
8+
// Grafana dashboard for slower update-rate payloads (APRS, WSPR)
9+
var grafana_aprs_url = "https://grafana.v2.sondehub.org/d/Lwvk1Hy4k/aprs-telemetry?";
710

811
var livedata = "wss://ws-reader.v2.sondehub.org/";
912
var clientID = "SondeHub-Tracker-" + Math.floor(Math.random() * 10000000000);
@@ -1496,7 +1499,29 @@ function updateVehicleInfo(vcallsign, newPosition) {
14961499
}
14971500

14981501
// Generate Grafana Link
1499-
var grafana_dashboard_url = grafana_url + "var-Payload=" + vcallsign + "&from=" + vehicle.positions_ts[0] + "&to=" + vehicle.positions_ts[vehicle.positions_ts.length-1] + "&orgId=1";
1502+
1503+
// Use to-time = now, and enable refresh if the data age is < 30 min old.
1504+
if ((timeNow - timeSent) < (30*60*1000)){
1505+
var grafana_to_time = "now";
1506+
var grafana_refresh = "&refresh=1m";
1507+
} else {
1508+
var grafana_to_time = vehicle.positions_ts[vehicle.positions_ts.length-1];
1509+
var grafana_refresh = "";
1510+
}
1511+
1512+
// Use the default grafana URL, unless the payload is using APRS.
1513+
var grafana_base_url = grafana_url;
1514+
1515+
if(vehicle.vehicle_type != "car"){
1516+
if(vehicle.curr_position.data.hasOwnProperty('modulation')){
1517+
if(vehicle.curr_position.data.modulation.includes('APRS') || vehicle.curr_position.data.modulation.includes('WSPR')){
1518+
grafana_base_url = grafana_aprs_url;
1519+
}
1520+
}
1521+
}
1522+
1523+
// Finally generate the URL to use for the 'Plots' button.
1524+
var grafana_dashboard_url = grafana_base_url + "var-Payload=" + vcallsign + "&from=" + vehicle.positions_ts[0] + "&to=" + grafana_to_time + "&orgId=1" + grafana_refresh;
15001525

15011526
//desktop
15021527
var a = '<div class="header">' +

0 commit comments

Comments
 (0)