Skip to content

Commit aaa6039

Browse files
authored
Merge pull request projecthorus#29 from LukePrior/testing
Mobile fixes, SondeHub V1 Support, Filter by type
2 parents b6966ed + c593c2e commit aaa6039

File tree

3 files changed

+85
-42
lines changed

3 files changed

+85
-42
lines changed

css/main.css

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -323,9 +323,6 @@ header .search form input[type='submit'] {
323323
border-left: 5px solid #ccc;
324324
}
325325

326-
#main .vehicle0 .header {
327-
border-top: 1px solid #33b5e5;
328-
}
329326
#main .header.empty {
330327
text-align: center;
331328
width: 100%;
@@ -454,14 +451,6 @@ header .search form input[type='submit'] {
454451
border: 1px solid #5E5E5E;
455452
}
456453

457-
#main .portrait .row .data .vbutton {
458-
top: 50px !important;
459-
}
460-
461-
#main .portrait .row .data .sbutton {
462-
top: 80px !important;
463-
}
464-
465454
#main .row .data img {
466455
position: absolute;
467456
z-index: 2;
@@ -842,7 +831,7 @@ header .search form input[type='submit'] {
842831
}
843832
#main .data .left {
844833
float: left;
845-
width: 160px;
834+
width: 80%;
846835
padding-left: 5px;
847836
}
848837
#main .data dl > dt {
@@ -878,7 +867,7 @@ header .search form input[type='submit'] {
878867
}
879868
#main .data .left {
880869
float: left;
881-
width: 60%;
870+
width: 55%;
882871
padding-left: 5px;
883872
}
884873
#main .data .right {

index.html

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -94,17 +94,15 @@ <h4>SondeHub Status Pages</h4>
9494
You can find the status of the SondeHub Database on the <a href="https://sondehub.org/go/status" target="_blank" rel="noopener">SondeHub Dashboard</a>.<br/>
9595
You can view outages of the SondeHub Database at <a href="https://sondehub.statuspage.io/" target="_blank" rel="noopener">SondeHub Status</a>.
9696

97+
<h4>Info</h4>
98+
This site uses data from the <a href="https://github.com/projecthorus/sondehub-infra/wiki" target="_blank" rel="noopener">SondeHub v2</a> database, which will remove the radiosonde
99+
load from the Habitat tracking database.
100+
101+
<h4>Chase Cars</h4>
102+
Chase Cars can show up on the map using this tracker's chase-car features (look for the car icon at top-right)
103+
or upload their position from <a href="https://github.com/projecthorus/chasemapper" target="_blank" rel="noopener">Chasemapper</a> or <a href="https://github.com/dl9rdz/rdz_ttgo_sonde" target="_blank" rel="noopener">rdzTTGOsonde</a>.
104+
97105
</div>
98-
<br/>
99-
<h2>Under Beta!</h2>
100-
<hr/>
101-
This site uses data from the <a href="https://github.com/projecthorus/sondehub-infra/wiki" target="_blank" rel="noopener">SondeHub v2</a> database, which will remove the radiosonde
102-
load from the Habitat tracking database. We are still working to being this tracker up to feature-parity with the previous
103-
tracker, so some features like filtering by type are still in-progress.
104-
<br/><br/>
105-
Chase Cars can show up on the map using this tracker's chase-car features (look for the car icon at top-right)
106-
or upload their position from <a href="https://github.com/projecthorus/chasemapper" target="_blank" rel="noopener">Chasemapper</a> or <a href="https://github.com/dl9rdz/rdz_ttgo_sonde" target="_blank" rel="noopener">rdzTTGOsonde</a>.
107-
<br/><br/>
108106
<h2>Contribute</h2>
109107
<hr/>
110108
<p>
@@ -366,18 +364,19 @@ <h3>Report Recovery</h3>
366364
<script type="text/javascript" language="javascript" src="js/Leaflet.fullscreen.min.js"></script>
367365
<script type="text/javascript" language="javascript" src="js/L.Terminator.js"></script>
368366
<script src="https://xc5dqkj2cgb1.statuspage.io/embed/script.js" async defer></script>
369-
<script type="text/javascript" language="javascript" src="js/mobile.js"></script>
370-
<script type="text/javascript" language="javascript" src="js/rbush.js"></script>
371-
<script>var module = {};</script>
372-
<script src="js/leaflet.canvas-markers.js"></script>
373-
<script>module.exports(L);</script>
374-
<script type="text/javascript" language="javascript" src="js/pwa.js"></script>
375367
<!--
376368
<script type="text/javascript" language="javascript" src="js/iscroll.js"></script>
377369
<script type="text/javascript" language="javascript" src="js/jquery-1.12.4-min.js"></script>
378370
<script type="text/javascript" language="javascript" src="js/chasecar.lib.js"></script>
379371
<script type="text/javascript" language="javascript" src="js/tracker.js"></script>
380372
<script type="text/javascript" language="javascript" src="js/app.js"></script>
381373
-->
374+
<script type="text/javascript" language="javascript" src="js/mobile.js"></script>
375+
<script type="text/javascript" language="javascript" src="js/rbush.js"></script>
376+
<script>var module = {};</script>
377+
<script src="js/leaflet.canvas-markers.js"></script>
378+
<script>module.exports(L);</script>
379+
<script type="text/javascript" language="javascript" src="js/pwa.js"></script>
380+
382381
</body>
383382
</html>

js/tracker.js

Lines changed: 68 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ var recoveries = [];
2323
var launches = null;
2424
var receiverCanvas = null;
2525

26+
var sondePrefix = ["RS92", "RS92-SGP", "RS92-NGP", "RS41", "RS41-SG", "RS41-SGP", "RS41-SGM", "DFM", "DFM06", "DFM09", "DFM17", "M10", "M20", "iMet-4", "iMet-54", "LMS6", "LMS6-400", "LMS6-1680", "iMS-100", "MRZ"];
27+
2628
var got_positions = false;
2729
var zoomed_in = false;
2830
var max_positions = 0; // maximum number of positions that ajax request should return (0 means no maximum)
@@ -1219,23 +1221,30 @@ function updateVehicleInfo(vcallsign, newPosition) {
12191221
callsign_list = callsign_list.join(", ");
12201222
}
12211223

1224+
//desktop
12221225
var a = '<div class="header">' +
12231226
'<span>' + sonde_type + vcallsign + ' <i class="icon-target"></i></span>' +
1224-
//'<span>' + vcallsign + ' <i class="icon-target"></i></span>' +
12251227
'<canvas class="graph"></canvas>' +
12261228
'<i class="arrow"></i></div>' +
1227-
'<div class="data" style="min-height:' + (vehicle.image_src_size[1]+95) + 'px">' +
1229+
'<div class="data">' +
12281230
'<img class="'+((vehicle.vehicle_type=="car")?'car':'')+'" src="'+image+'" />' +
12291231
'<span class="vbutton path '+((vehicle.polyline_visible) ? 'active' : '')+'" data-vcallsign="'+vcallsign+'"' + ' style="top:'+(vehicle.image_src_size[1]+55)+'px">Path</span>' +
12301232
((vehicle.vehicle_type!="car") ? '<span class="sbutton" onclick="shareVehicle(\'' + vcallsign + '\')" style="top:'+(vehicle.image_src_size[1]+85)+'px">Share</span>' : '') +
12311233
((vehicle.vehicle_type!="car") ? '<span class="sbutton" onclick="window.open(\'https://sondehub.org/card/' + vcallsign + '\')" style="top:'+(vehicle.image_src_size[1]+115)+'px">Card</span>' : '') +
1232-
((vcallsign in hysplit) ? '<span class="vbutton hysplit '+((hysplit[vcallsign].getMap()) ? 'active' : '')+'"' +
1233-
' data-vcallsign="'+vcallsign+'" style="top:'+(vehicle.image_src_size[1]+55+21+10)+'px">HYSPLIT</span>' : '') +
1234-
((vcallsign.substr(0, 6) in ssdv) ? '<a class="vbutton active" href="//ssdv.habhub.org/' + vcallsign.substr(0, 6) + '"' +
1235-
' target="_blank" style="top:'+(vehicle.image_src_size[1]+55+((vcallsign in hysplit) ? 42 : 21)+10)+'px">SSDV</a>' : '') +
12361234
'<div class="left">' +
12371235
'<dl>';
1238-
// end
1236+
//mobile
1237+
var aa = '<div class="header">' +
1238+
'<span>' + sonde_type + vcallsign + ' <i class="icon-target"></i></span>' +
1239+
'<canvas class="graph"></canvas>' +
1240+
'<i class="arrow"></i></div>' +
1241+
'<div class="data">' +
1242+
'<img class="'+((vehicle.vehicle_type=="car")?'car':'')+'" src="'+image+'" />' +
1243+
'<span class="vbutton path '+((vehicle.polyline_visible) ? 'active' : '')+'" data-vcallsign="'+vcallsign+'"' + ' style="top:55px">Path</span>' +
1244+
((vehicle.vehicle_type!="car") ? '<span class="sbutton" onclick="shareVehicle(\'' + vcallsign + '\')" style="top:85px">Share</span>' : '') +
1245+
((vehicle.vehicle_type!="car") ? '<span class="sbutton" onclick="window.open(\'https://sondehub.org/card/' + vcallsign + '\')" style="top:115px">Card</span>' : '') +
1246+
'<div class="left">' +
1247+
'<dl>';
12391248
var b = '</dl>' +
12401249
'</div>' + // right
12411250
'</div>' + // data
@@ -1268,7 +1277,7 @@ function updateVehicleInfo(vcallsign, newPosition) {
12681277
'';
12691278

12701279
// update html
1271-
$('.portrait .vehicle'+vehicle.uuid).html(a + p + b);
1280+
$('.portrait .vehicle'+vehicle.uuid).html(aa + p + b);
12721281
$('.landscape .vehicle'+vehicle.uuid).html(a + l + b);
12731282

12741283
// redraw canvas
@@ -2628,7 +2637,11 @@ function refresh() {
26282637
mode = (mode == "position") ? "latest" : mode.replace(/ /g,"");
26292638

26302639
if (wvar.query) {
2631-
var data_str = "mode=3days&type=positions&format=json&max_positions=" + max_positions + "&position_id=0&vehicles=" + encodeURIComponent(wvar.query);
2640+
if (sondePrefix.indexOf(wvar.query) > -1) {
2641+
var data_str = "mode="+mode+"&type=positions&format=json&max_positions=" + max_positions + "&position_id=" + position_id + "&vehicles=";
2642+
} else {
2643+
var data_str = "mode=3days&type=positions&format=json&max_positions=" + max_positions + "&position_id=0&vehicles=" + encodeURIComponent(wvar.query);
2644+
}
26322645
} else {
26332646
var data_str = "mode="+mode+"&type=positions&format=json&max_positions=" + max_positions + "&position_id=" + position_id + "&vehicles=" + encodeURIComponent(wvar.query);
26342647
}
@@ -2641,15 +2654,19 @@ function refresh() {
26412654
success: function(response, textStatus) {
26422655
$("#stText").text("loading |");
26432656
response.fetch_timestamp = Date.now();
2644-
if (wvar.query != null) {
2657+
if (sondePrefix.indexOf(wvar.query) > -1) {
2658+
update(response);
2659+
} else if (wvar.query != null) {
26452660
if (JSON.stringify(response).indexOf(wvar.query) == -1) {
26462661
//check using new API
26472662
ajax_inprogress = false;
26482663
refreshSingleOld(wvar.query);
26492664
} else {
2665+
ajax_inprogress_old = wvar.query;
26502666
update(response);
26512667
}
26522668
} else {
2669+
ajax_inprogress_old = wvar.query;
26532670
update(response);
26542671
}
26552672
$("#stText").text("");
@@ -2753,7 +2770,7 @@ function refreshSingleOld(serial) {
27532770
if (data[i].hasOwnProperty('subtype')) {
27542771
if (data[i].subtype != "SondehubV1") {
27552772
var dataTempEntry = {};
2756-
var station = data[i].uploader_callsign
2773+
var station = data[i].uploader_callsign;
27572774
dataTempEntry.callsign = {};
27582775
dataTempEntry.callsign[station] = {};
27592776
dataTempEntry.callsign[station].snr = data[i].snr;
@@ -2795,13 +2812,41 @@ function refreshSingleOld(serial) {
27952812
if (data[i].pressure) {
27962813
dataTempEntry.data.pressure = data[i].pressure;
27972814
}
2798-
dataTemp.push(dataTempEntry)
2815+
if (data[i].xdata) {
2816+
dataTempEntry.data.xdata = data[i].xdata;
2817+
}
2818+
dataTemp.push(dataTempEntry);
2819+
} else {
2820+
var dataTempEntry = {};
2821+
var station = data[i].uploader_callsign;
2822+
dataTempEntry.callsign = {};
2823+
dataTempEntry.callsign[station] = {};
2824+
dataTempEntry.gps_alt = parseFloat(data[i].alt);
2825+
dataTempEntry.gps_lat = parseFloat(data[i].lat);
2826+
dataTempEntry.gps_lon = parseFloat(data[i].lon);
2827+
dataTempEntry.gps_time = data[i].time_received;
2828+
dataTempEntry.server_time = data[i].time_received;
2829+
dataTempEntry.vehicle = data[i].serial;
2830+
dataTempEntry.position_id = data[i].serial + "-" + data[i].time_received;
2831+
dataTempEntry.data = {};
2832+
if (data[i].humidity) {
2833+
dataTempEntry.data.humidity = parseFloat(data[i].humidity);
2834+
}
2835+
if (data[i].temp) {
2836+
dataTempEntry.data.temperature_external = parseFloat(data[i].temp);
2837+
}
2838+
dataTemp.push(dataTempEntry);
27992839
}
28002840
}
28012841
}
28022842
response.positions.position = dataTemp;
28032843
response.fetch_timestamp = Date.now();
2804-
update(response, "old");
2844+
if (response.positions.position.length == 0) {
2845+
update(response);
2846+
} else {
2847+
update(response, "old");
2848+
}
2849+
28052850
}
28062851
});
28072852
}
@@ -3471,6 +3516,16 @@ function update(response, flag) {
34713516
}
34723517
}
34733518

3519+
if (sondePrefix.indexOf(wvar.query) > -1) {
3520+
for (var i = response.positions.position.length - 1; i >= 0; i--) {
3521+
try {
3522+
if (!response.positions.position[i].type.includes(wvar.query)) {
3523+
response.positions.position.splice(i, 1)
3524+
}
3525+
} catch (e) {}
3526+
}
3527+
}
3528+
34743529
ssdv = (!response.ssdv) ? {} : response.ssdv;
34753530

34763531
// create a dummy response object for postions

0 commit comments

Comments
 (0)