diff --git a/html/script.js b/html/script.js
index bc43f00..f783a33 100644
--- a/html/script.js
+++ b/html/script.js
@@ -103,7 +103,8 @@ function processReceiverUpdate(data, loading, uat) {
plane = Planes[hex];
} else if ( ac.messages < 4) {
continue;
- } else if ( uat && tisb in ac && ac.tisb.indexOf("lat") >= 0) {
+ } else if ( uat && !(ac.type && ac.type.substring(0,4) == "adsb")) {
+ // drop non ADS-B planes from UAT (TIS-B)
continue;
} else {
plane = new PlaneObject(hex);
@@ -485,21 +486,28 @@ function parse_history() {
now = data.now;
}
-
- if (h%100 == 99)
- console.log("Applying history " + (h + 1) + "/" + PositionHistoryBuffer.length + " from: " + (new Date(now * 1000)).toLocaleTimeString());
-
+ // process new data
processReceiverUpdate(data, true, uat);
- // update track
- //console.log("Updating tracks at: " + now);
- for (var i = 0; i < PlanesOrdered.length; ++i) {
- var plane = PlanesOrdered[i];
- plane.updateTrack(uat ? uat_now : now, uat ? uat_last : last);
+ // update aircraft tracks
+ if (!uat) {
+ for (var i = 0; i < PlanesOrdered.length; ++i) {
+ var plane = PlanesOrdered[i];
+ if (plane.uat)
+ plane.updateTrack(uat_now, uat_last);
+ else
+ plane.updateTrack(now, last);
+ }
}
- if(h != 0 && h % Math.floor(PositionHistoryBuffer.length/4) == 0) {
+ // prune aircraft list
+ var pruneInt = Math.floor(PositionHistoryBuffer.length/5);
+ if(h % pruneInt == pruneInt - 1) {
+
+ console.log("Applied history " + (h + 1) + "/"
+ + PositionHistoryBuffer.length + " from: "
+ + (new Date(now * 1000)).toLocaleTimeString());
var newPlanes = [];
for (var i = 0; i < PlanesOrdered.length; ++i) {
@@ -548,7 +556,6 @@ function parse_history() {
refreshTableInfo();
refreshSelected();
refreshHighlighted();
- reaper();
// Setup our timer to poll from the server.
window.setInterval(fetchData, RefreshInterval);