kopia lustrzana https://github.com/dl9rdz/rdz_ttgo_sonde
Merge branch 'devel' of https://github.com/cixio/rdz_ttgo_sonde into cixio-devel2
commit
af9da6b2f0
|
@ -1,6 +1,6 @@
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
|
|
||||||
var map = L.map('map', { attributionControl: false });
|
var map = L.map('map', { attributionControl: false, zoomControl: false });
|
||||||
map.on('mousedown touchstart',function () { follow=false; });
|
map.on('mousedown touchstart',function () { follow=false; });
|
||||||
|
|
||||||
L.control.scale().addTo(map);
|
L.control.scale().addTo(map);
|
||||||
|
@ -39,8 +39,17 @@ var header = '';
|
||||||
header += '<div id="sonde_main"><b>rdzTTGOSonde LiveMap</b><br />🎈 <b><span id="sonde_id"></span> - <span id="sonde_freq"></span> MHz - <span id="sonde_type"></span></b></div>';
|
header += '<div id="sonde_main"><b>rdzTTGOSonde LiveMap</b><br />🎈 <b><span id="sonde_id"></span> - <span id="sonde_freq"></span> MHz - <span id="sonde_type"></span></b></div>';
|
||||||
header += '<div id="sonde_detail"><span id="sonde_alt"></span>m | <span id="sonde_climb"></span>m/s | <span id="sonde_speed"></span>km/h</div>';
|
header += '<div id="sonde_detail"><span id="sonde_alt"></span>m | <span id="sonde_climb"></span>m/s | <span id="sonde_speed"></span>km/h</div>';
|
||||||
header += '<div id="sonde_status"><small><span id="sonde_statbar"></span></small></div>';
|
header += '<div id="sonde_status"><small><span id="sonde_statbar"></span></small></div>';
|
||||||
|
header += '<div id="settings"><br /><b>Prediction-Settings</b><br />';
|
||||||
|
|
||||||
|
header += '<label for="burst">Burst at:</label><input type="text" id="burst" maxlength="5" value="..." /> m<br />';
|
||||||
|
header += '<label for="overwrite_descend">Descending:</label><input type="text" id="overwrite_descend" maxlength="2" value="..." /> m/s<br />';
|
||||||
|
header += '<label for="overwrite_descend_till">Use this descending until:</label><input type="text" id="overwrite_descend_till" maxlength="5" value="..." /> m<br />';
|
||||||
|
header += '<small>after the transmitted descend will be used</small>';
|
||||||
|
header += '<div id="submit"><input type="button" value="save" onclick="settings_save();"/> <input type="button" id="submit" value="reset" onclick="settings_reset();"/></div>';
|
||||||
|
header += '</div>';
|
||||||
$('.leaflet-header').append(header);
|
$('.leaflet-header').append(header);
|
||||||
|
|
||||||
|
|
||||||
$('#map .leaflet-control-container').append(L.DomUtil.create('div', 'leaflet-bottom leaflet-center leaflet-footer'));
|
$('#map .leaflet-control-container').append(L.DomUtil.create('div', 'leaflet-bottom leaflet-center leaflet-footer'));
|
||||||
var footer = '';
|
var footer = '';
|
||||||
footer += '<div id="gps_main"><b>Direction: </b><span class="gps_dir">...</span>°<br /><b>Distance: </b><span class="gps_dist">...</span>m</div>';
|
footer += '<div id="gps_main"><b>Direction: </b><span class="gps_dir">...</span>°<br /><b>Distance: </b><span class="gps_dist">...</span>m</div>';
|
||||||
|
@ -67,12 +76,13 @@ headtxt = function(data,stat) {
|
||||||
$('#sonde_statbar').html(statbar);
|
$('#sonde_statbar').html(statbar);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
map.addControl(new L.Control.Button([ { position: 'topleft', text: '🔙', href: 'index.html' } ]));
|
||||||
|
|
||||||
|
L.control.zoom({ position:'topleft' }).addTo(map);
|
||||||
|
|
||||||
map.addControl(new L.Control.Button([ { position: 'topleft', text: '🗺️', href: 'javascript:basemap_change();' } ]));
|
map.addControl(new L.Control.Button([ { position: 'topleft', text: '🗺️', href: 'javascript:basemap_change();' } ]));
|
||||||
|
|
||||||
map.addControl(new L.Control.Button([
|
map.addControl(new L.Control.Button([ { position: 'topright', id: "status", text: '🔴', href: 'javascript:get_data();' } ]));
|
||||||
{ position: 'topright', id: "status", text: '🔴', href: 'javascript:get_data();' },
|
|
||||||
{ text: '⚙️', href: 'index.html' }
|
|
||||||
]));
|
|
||||||
|
|
||||||
map.addControl(new L.Control.Button([
|
map.addControl(new L.Control.Button([
|
||||||
{ position:'topright', text: '🎈', href: 'javascript:show(marker,\'marker\');' },
|
{ position:'topright', text: '🎈', href: 'javascript:show(marker,\'marker\');' },
|
||||||
|
@ -81,6 +91,8 @@ headtxt = function(data,stat) {
|
||||||
{ text: '🎯', href: 'javascript:show(marker_landing,\'landing\');' }
|
{ text: '🎯', href: 'javascript:show(marker_landing,\'landing\');' }
|
||||||
]));
|
]));
|
||||||
|
|
||||||
|
map.addControl(new L.Control.Button([ { position:'topright', text: '⚙️', href: 'javascript:show_settings();' } ]));
|
||||||
|
|
||||||
|
|
||||||
show = function(e,p) {
|
show = function(e,p) {
|
||||||
if (p == 'landing') { get_predict(last_data); }
|
if (p == 'landing') { get_predict(last_data); }
|
||||||
|
@ -219,18 +231,76 @@ headtxt = function(data,stat) {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
storage = (typeof(Storage) !== "undefined")?true:false;
|
||||||
|
|
||||||
|
settings_std = {
|
||||||
|
burst: 32500,
|
||||||
|
overwrite_descend: 6,
|
||||||
|
overwrite_descend_till: 12000
|
||||||
|
};
|
||||||
|
|
||||||
|
settings_read = function() {
|
||||||
|
if (storage) {
|
||||||
|
if (sessionStorage.settings) {
|
||||||
|
return JSON.parse(sessionStorage.settings);
|
||||||
|
} else {
|
||||||
|
settings_write(settings_std);
|
||||||
|
return settings_std;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return settings_std;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
|
||||||
|
settings_write = function (data) {
|
||||||
|
if (storage) {
|
||||||
|
sessionStorage.settings = JSON.stringify(data);
|
||||||
|
settings = data;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
settings = settings_read();
|
||||||
|
|
||||||
|
settings_save = function() {
|
||||||
|
settings.burst = parseInt($('#settings #burst').val());
|
||||||
|
settings.overwrite_descend = parseInt($('#settings #overwrite_descend').val());
|
||||||
|
settings.overwrite_descend_till = parseInt($('#settings #overwrite_descend_till').val());
|
||||||
|
if (Number.isInteger(settings.burst) && Number.isInteger(settings.overwrite_descend) && Number.isInteger(settings.overwrite_descend_till)) {
|
||||||
|
settings_write(settings);
|
||||||
|
$("#settings").slideUp();
|
||||||
|
get_predict(last_data);
|
||||||
|
} else {
|
||||||
|
alert('Error: only numeric values allowed!');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
settings_reset = function() {
|
||||||
|
if (confirm('Reset to default?')) {
|
||||||
|
settings_write(settings_std);
|
||||||
|
show_settings();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
show_settings = function() {
|
||||||
|
$('#settings #burst').val(settings.burst);
|
||||||
|
$('#settings #overwrite_descend').val(settings.overwrite_descend);
|
||||||
|
$('#settings #overwrite_descend_till').val(settings.overwrite_descend_till);
|
||||||
|
$("#settings").slideToggle();
|
||||||
|
};
|
||||||
|
|
||||||
predictor = false;
|
predictor = false;
|
||||||
get_predict = function(data) {
|
get_predict = function(data) {
|
||||||
if (!data) { return; }
|
if (!data) { return; }
|
||||||
var ascent = (data.climb > 0)? data.climb : 15;
|
var ascent = (data.climb > 0)? data.climb : 15;
|
||||||
var descent = (data.climb > 0)? 5 : data.climb * -1;
|
var descent = (data.climb > 0)? settings.overwrite_descend : data.climb * -1;
|
||||||
|
|
||||||
var burst;
|
var burst;
|
||||||
if (data.climb > 0) {
|
if (data.climb > 0) {
|
||||||
burst = (data.alt > 32500)?data.alt + 500 : 32500;
|
burst = (data.alt > settings.burst )?data.alt + 100 : settings.burst;
|
||||||
} else {
|
} else {
|
||||||
burst = parseInt(data.alt) + 7;
|
burst = parseInt(data.alt) + 7;
|
||||||
if (data.alt > 12000) { descent = 6; }
|
if (data.alt > settings.overwrite_descend_till ) { descent = settings.overwrite_descend; }
|
||||||
}
|
}
|
||||||
|
|
||||||
var m = new Date();
|
var m = new Date();
|
||||||
|
|
|
@ -186,6 +186,24 @@ p{
|
||||||
box-shadow: 0 1px 5px rgba(0,0,0,0.65);
|
box-shadow: 0 1px 5px rgba(0,0,0,0.65);
|
||||||
border-bottom-left-radius: 4px;
|
border-bottom-left-radius: 4px;
|
||||||
border-bottom-right-radius: 4px;
|
border-bottom-right-radius: 4px;
|
||||||
|
pointer-events: auto !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.leaflet-header #settings {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.leaflet-header label {
|
||||||
|
display: block;
|
||||||
|
margin-top: 5px;
|
||||||
|
}
|
||||||
|
.leaflet-header input {
|
||||||
|
width: 80px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.leaflet-header #submit {
|
||||||
|
margin: 3px auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.leaflet-footer {
|
.leaflet-footer {
|
||||||
|
|
Ładowanie…
Reference in New Issue