From c76edfec7ef340b5bdd0b9cf82dda244f2c8fd93 Mon Sep 17 00:00:00 2001 From: Matthias Wirth Date: Mon, 5 Aug 2019 08:37:26 +0200 Subject: [PATCH] dataSource rubbish --- html/planeObject.js | 30 ++++++++++++++++-------------- html/script.js | 32 ++++++-------------------------- 2 files changed, 22 insertions(+), 40 deletions(-) diff --git a/html/planeObject.js b/html/planeObject.js index 9bfb0b4..67d0a85 100644 --- a/html/planeObject.js +++ b/html/planeObject.js @@ -68,8 +68,8 @@ function PlaneObject(icao) { this.tail_update = null; // When was this last updated (receiver timestamp) - this.last_message_time = null; - this.last_position_time = null; + this.last_message_time = 0; + this.last_position_time = 0; // When was this last updated (seconds before last update) this.seen = null; @@ -539,18 +539,23 @@ PlaneObject.prototype.updateIcon = function() { PlaneObject.prototype.updateData = function(receiver_timestamp, data, init) { // get location data first, return early if only those are needed. + if ("lat" in data && data.seen_pos < (receiver_timestamp - this.last_position_time + 2)) { + this.position = [data.lon, data.lat]; + this.last_position_time = receiver_timestamp - data.seen_pos; + } + if (this.dataSource != "uat") { if (data.seen_pos < 50 && "mlat" in data && data.mlat.indexOf("lat") >= 0) this.dataSource = "mlat"; - else if (data.addrtype && data.addrtype.substring(0,4) == "tisb") + else if (data.type && data.type.substring(0,4) == "tisb") this.dataSource = "tisb"; - else if (data.addrtype == "adsb_icao" || data.addrtype == "adsb_other") + else if (data.type == "adsb_icao" || data.type == "adsb_other") this.dataSource = "adsb"; - else if (data.addrtype && data.addrtype.substring(0,4) == "adsr") + else if (data.type && data.type.substring(0,4) == "adsr") this.dataSource = "other"; - else if (data.addrtype == "adsb_icao_nt") + else if (data.type == "adsb_icao_nt") this.dataSource = "other"; - else if (data.seen_pos < 50) + else if (this.position) this.dataSource = "adsb"; else this.dataSource = "other"; @@ -564,11 +569,6 @@ PlaneObject.prototype.updateData = function(receiver_timestamp, data, init) { this.alt_baro = data.altitude; } - if ("lat" in data && data.seen_pos < (receiver_timestamp - this.last_position_time + 2)) { - this.position = [data.lon, data.lat]; - this.last_position_time = receiver_timestamp - data.seen_pos; - } - if ("track" in data) this.track = data.track; @@ -670,11 +670,13 @@ PlaneObject.prototype.updateData = function(receiver_timestamp, data, init) { PlaneObject.prototype.updateTick = function(receiver_timestamp, last_timestamp, init) { // recompute seen and seen_pos this.seen = receiver_timestamp - this.last_message_time; - this.seen_pos = (this.last_position_time != null ? receiver_timestamp - this.last_position_time : null); + this.seen_pos = receiver_timestamp - this.last_position_time; // If no packet in over 58 seconds, clear the plane. // Only clear the plane if it's not selected individually - if ((this.seen > 58 || this.position == null || this.seen_pos > 100) + if (this.seen_pos > 100 && (!this.selected || SelectedAllPlanes) ) + this.position = null; + if ((this.seen > 58 || this.position == null) && (!this.selected || SelectedAllPlanes)) { if (this.visible) { //console.log("hiding " + this.icao); diff --git a/html/script.js b/html/script.js index 43cb1da..3d8918d 100644 --- a/html/script.js +++ b/html/script.js @@ -1114,17 +1114,7 @@ function refreshSelected() { $('#selected_follow').css('font-weight', 'normal'); } } - if (selected.dataSource == "uat") { - $('#selected_source').text("UAT"); - } else if (selected.getDataSource() === "adsb_icao") { - $('#selected_source').text("ADS-B"); - } else if (selected.getDataSource() === "tisb_trackfile" || selected.getDataSource() === "tisb_icao" || selected.getDataSource() === "tisb_other") { - $('#selected_source').text("TIS-B"); - } else if (selected.getDataSource() === "mlat") { - $('#selected_source').text("MLAT"); - } else { - $('#selected_source').text("Other"); - } + $('#selected_source').text(format_data_source(selected.getDataSource())); $('#selected_category').text(selected.category ? selected.category : "n/a"); $('#selected_sitedist').text(format_distance_long(selected.sitedist, DisplayUnits)); $('#selected_rssi').text(selected.rssi.toFixed(1) + ' dBFS'); @@ -1300,17 +1290,7 @@ function refreshHighlighted() { $('#higlighted_icaotype').text("n/a"); } - if (highlighted.dataSource == "uat") { - $('#highlighted_source').text("UAT"); - } else if (highlighted.getDataSource() === "adsb_icao") { - $('#highlighted_source').text("ADS-B"); - } else if (highlighted.getDataSource() === "tisb_trackfile" || highlighted.getDataSource() === "tisb_icao" || highlighted.getDataSource() === "tisb_other") { - $('#highlighted_source').text("TIS-B"); - } else if (highlighted.getDataSource() === "mlat") { - $('#highlighted_source').text("MLAT"); - } else { - $('#highlighted_source').text("Other"); - } + $('#highlighted_source').text(format_data_source(highlighted.getDataSource())); if (highlighted.registration !== null) { $('#highlighted_registration').text(highlighted.registration); @@ -1361,17 +1341,17 @@ function refreshTableInfo() { TrackedAircraft++; var classes = "plane_table_row"; - if (tableplane.position !== null && tableplane.seen_pos < 60) { + if (tableplane.position != null && tableplane.seen_pos < 60) { ++TrackedAircraftPositions; } if (tableplane.dataSource == "uat") { classes += " uat"; - } else if (tableplane.getDataSource() === "adsb_icao") { + } else if (tableplane.dataSource == "adsb") { classes += " vPosition"; - } else if (tableplane.getDataSource() === "tisb_trackfile" || tableplane.getDataSource() === "tisb_icao" || tableplane.getDataSource() === "tisb_other") { + } else if (tableplane.dataSource == "tisb") { classes += " tisb"; - } else if (tableplane.getDataSource() === "mlat") { + } else if (tableplane.dataSource == "mlat") { classes += " mlat"; } else { classes += " other";