From 4e2b2e6f67a2f838cff0b309fbf62a761be6e683 Mon Sep 17 00:00:00 2001 From: Matthias Wirth Date: Tue, 14 Jan 2020 10:27:36 +0100 Subject: [PATCH] fix message rate calculation in globe mode --- html/planeObject.js | 26 ++++++++++++++++---------- html/script.js | 2 +- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/html/planeObject.js b/html/planeObject.js index fd7bbf7..800a1dd 100644 --- a/html/planeObject.js +++ b/html/planeObject.js @@ -85,6 +85,8 @@ function PlaneObject(icao) { this.last_message_time = 0; this.position_time = 0; + this.last = 0; // last json this plane was included in + // When was this last updated (seconds before last update) this.seen = null; this.seen_pos = null; @@ -1069,16 +1071,18 @@ PlaneObject.prototype.updateData = function(now, last, data, init) { // Update all of our data - if (this.receiver == "1090") { - const messageRate = (data.messages - this.msgs1090)/(now - last); - this.messageRate = (messageRate + this.messageRateOld)/2; - this.messageRateOld = messageRate; - this.msgs1090 = data.messages; - } else { - const messageRate = (data.messages - this.msgs978)/(now - last); - this.messageRate = (messageRate + this.messageRateOld)/2; - this.messageRateOld = messageRate; - this.msgs978 = data.messages; + if (now - this.last > 0) { + if (this.receiver == "1090") { + const messageRate = (data.messages - this.msgs1090)/(now - this.last); + this.messageRate = (messageRate + this.messageRateOld)/2; + this.messageRateOld = messageRate; + this.msgs1090 = data.messages; + } else { + const messageRate = (data.messages - this.msgs978)/(uat_now - uat_last); + this.messageRate = (messageRate + this.messageRateOld)/2; + this.messageRateOld = messageRate; + this.msgs978 = data.messages; + } } this.messages = data.messages; @@ -1194,6 +1198,8 @@ PlaneObject.prototype.updateData = function(now, last, data, init) { this.trace.slice(-30); } } + + this.last = now; }; PlaneObject.prototype.updateTick = function(redraw) { diff --git a/html/script.js b/html/script.js index 8f4313a..c3dd63c 100644 --- a/html/script.js +++ b/html/script.js @@ -171,7 +171,7 @@ function processReceiverUpdate(data, init) { uat_last = uat_now; uat_now = data.now; } else { - if (data.now > now) { + if (data.now > now || globeIndex) { last = now; now = data.now; }