kopia lustrzana https://github.com/dl9rdz/rdz_ttgo_sonde
Merge branch 'cixio-devel2' into devel
commit
2ef70eaab3
|
@ -1,6 +1,6 @@
|
|||
$(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; });
|
||||
|
||||
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_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="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);
|
||||
|
||||
|
||||
$('#map .leaflet-control-container').append(L.DomUtil.create('div', 'leaflet-bottom leaflet-center leaflet-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>';
|
||||
|
@ -67,12 +76,13 @@ headtxt = function(data,stat) {
|
|||
$('#sonde_statbar').html(statbar);
|
||||
};
|
||||
|
||||
map.addControl(new L.Control.Button([{ position: 'topleft', text: '🗺️', href: 'javascript:basemap_change();' }]));
|
||||
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: 'topright', id: "status", text: '🔴', href: 'javascript:get_data();' },
|
||||
{ text: '⚙️', href: 'index.html' }
|
||||
]));
|
||||
map.addControl(new L.Control.Button([ { position: 'topleft', text: '🗺️', href: 'javascript:basemap_change();' } ]));
|
||||
|
||||
map.addControl(new L.Control.Button([ { position: 'topright', id: "status", text: '🔴', href: 'javascript:get_data();' } ]));
|
||||
|
||||
map.addControl(new L.Control.Button([
|
||||
{ position:'topright', text: '🎈', href: 'javascript:show(marker,\'marker\');' },
|
||||
|
@ -80,8 +90,10 @@ headtxt = function(data,stat) {
|
|||
{ text: '💥', href: 'javascript:show(marker_burst,\'burst\');' },
|
||||
{ text: '🎯', href: 'javascript:show(marker_landing,\'landing\');' }
|
||||
]));
|
||||
|
||||
|
||||
|
||||
map.addControl(new L.Control.Button([ { position:'topright', text: '⚙️', href: 'javascript:show_settings();' } ]));
|
||||
|
||||
|
||||
show = function(e,p) {
|
||||
if (p == 'landing') { get_predict(last_data); }
|
||||
if (e) {
|
||||
|
@ -218,19 +230,77 @@ 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;
|
||||
get_predict = function(data) {
|
||||
if (!data) { return; }
|
||||
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;
|
||||
if (data.climb > 0) {
|
||||
burst = (data.alt > 32500)?data.alt + 500 : 32500;
|
||||
burst = (data.alt > settings.burst )?data.alt + 100 : settings.burst;
|
||||
} else {
|
||||
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();
|
||||
|
|
|
@ -186,6 +186,24 @@ p{
|
|||
box-shadow: 0 1px 5px rgba(0,0,0,0.65);
|
||||
border-bottom-left-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 {
|
||||
|
|
Ładowanie…
Reference in New Issue