@@ -5,8 +5,10 @@ var receivers_url = "https://api.v2.sondehub.org/amateur/listeners/telemetry";
55var predictions_url = "https://api.v2.sondehub.org/amateur/predictions?vehicles=" ;
66// Grafana dashboard for most payloads
77var grafana_url = "https://grafana.v2.sondehub.org/d/HJgOZLq7k/basic?" ;
8- // Grafana dashboard for slower update-rate payloads (APRS, WSPR )
8+ // Grafana dashboard for slower update-rate payloads (APRS)
99var grafana_aprs_url = "https://grafana.v2.sondehub.org/d/Lwvk1Hy4k/aprs-telemetry?" ;
10+ // Grafana dashboard for WSPR flight
11+ var grafana_wspr_url = "https://grafana.v2.sondehub.org/d/e4571f1f-b51e-4e02-b97a-dcd198b49560/wspr-balloon-telemetry?" ;
1012
1113var livedata = "wss://ws-reader.v2.sondehub.org/" ;
1214var clientID = "SondeHub-Tracker-" + Math . floor ( Math . random ( ) * 10000000000 ) ;
@@ -1516,9 +1518,18 @@ function updateVehicleInfo(vcallsign, newPosition) {
15161518
15171519 if ( vehicle . vehicle_type != "car" ) {
15181520 if ( vehicle . curr_position . data . hasOwnProperty ( 'modulation' ) ) {
1519- if ( vehicle . curr_position . data . modulation . includes ( 'APRS' ) || vehicle . curr_position . data . modulation . includes ( 'WSPR' ) ) {
1521+ if ( vehicle . curr_position . data . modulation . includes ( 'APRS' ) ) {
15201522 grafana_base_url = grafana_aprs_url ;
15211523 }
1524+
1525+ if ( vehicle . curr_position . data . modulation . includes ( 'WSPR' ) ) {
1526+ grafana_base_url = grafana_wspr_url ;
1527+ }
1528+ }
1529+ if ( vehicle . curr_position . data . hasOwnProperty ( 'comment' ) ) {
1530+ if ( vehicle . curr_position . data . comment . includes ( 'WSPR' ) ) {
1531+ grafana_base_url = grafana_wspr_url ;
1532+ }
15221533 }
15231534 }
15241535
@@ -1535,6 +1546,11 @@ function updateVehicleInfo(vcallsign, newPosition) {
15351546 float_button_enabled = true ;
15361547 }
15371548 }
1549+ if ( vehicle . curr_position . data . hasOwnProperty ( 'comment' ) ) {
1550+ if ( vehicle . curr_position . data . comment . includes ( 'WSPR' ) ) {
1551+ float_button_enabled = true ;
1552+ }
1553+ }
15381554 }
15391555
15401556
@@ -1658,8 +1674,14 @@ function generateHysplit(callsign) {
16581674 hideHysplit ( callsign )
16591675 var vehicle = vehicles [ callsign ] ;
16601676 vehicle . prediction_hysplit_visible = true ;
1661- alt_max = 1000 ;
1662- alt_step = 100 ;
1677+ // If requested, constrain the float prediction altitudes to a narrower range.
1678+ if ( offline . get ( "opt_float_constrained" ) ) {
1679+ alt_max = 100 ;
1680+ alt_step = 20 ;
1681+ } else {
1682+ alt_max = 1000 ;
1683+ alt_step = 100 ;
1684+ }
16631685 alt_min = alt_max * - 1 ;
16641686 for ( var alt = alt_min ; alt <= alt_max ; alt += alt_step ) {
16651687 alt_norm = ( alt + alt_max ) / ( alt_max * 2.0 ) ;
0 commit comments