Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nasa/openmct.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenry <akhenry@gmail.com>2017-11-02 02:38:00 +0300
committerHenry <akhenry@gmail.com>2017-11-02 05:13:20 +0300
commite73dcd8271d970f0c29da3c5692c531fe13d635a (patch)
treebbc2d4a7a6854b20fe8713ff3298ee8fb6b5ecee
parentea3289b65997dd06d46810c652335aeaf40fd69f (diff)
Only produce telemetry if window is fulldemo-2017.1-filter-fix
-rw-r--r--src/plugins/telemetryMean/src/PerObjectTelemetryProvider.js31
1 files changed, 26 insertions, 5 deletions
diff --git a/src/plugins/telemetryMean/src/PerObjectTelemetryProvider.js b/src/plugins/telemetryMean/src/PerObjectTelemetryProvider.js
index 6810a029c..2d914b8fe 100644
--- a/src/plugins/telemetryMean/src/PerObjectTelemetryProvider.js
+++ b/src/plugins/telemetryMean/src/PerObjectTelemetryProvider.js
@@ -67,16 +67,22 @@ define([
PerObjectTelemetryProvider.prototype.request = function (request) {
this.requestOutstanding = true;
+ this.mostRecentData = [];
return this.getLinkedObject(this.domainObject).then(function (linkedObject) {
return this.requestTelemetryForLinkedObject(linkedObject, request);
}.bind(this));
}
+ /**
+ * @private
+ */
PerObjectTelemetryProvider.prototype.requestTelemetryForLinkedObject = function (linkedObject, request) {
return this.telemetryApi.request(linkedObject, request).then(function (data) {
this.requestOutstanding = false;
- return this.calculateAveragesForData(data);
+ var averageData = this.calculateAveragesForData(data);
+ this.mostRecentData = [];
+ return averageData;
}.bind(this));
};
@@ -132,7 +138,14 @@ define([
* @private
*/
PerObjectTelemetryProvider.prototype.calculateAveragesForData = function (data) {
- return data.map(this.processTelemetryDatum);
+ var averageData = [];
+ data.forEach(function (datum) {
+ var averageDatum = this.processTelemetryDatum(datum);
+ if (this.mostRecentData.length === this.sampleSize) {
+ averageData.push(averageDatum);
+ }
+ }.bind(this));
+ return averageData;
}
/**
@@ -144,11 +157,19 @@ define([
} else {
if (telemetryBuffer.length > 0) {
telemetryBuffer.forEach(function (bufferedDatum){
- callback(this.processTelemetryDatum(telemetryDatum));
+ var avgBufferedDatum = this.processTelemetryDatum(bufferedDatum)
+ if (this.mostRecentData.length === this.sampleSize) {
+ callback(avgBufferedDatum);
+ }
}.bind(this));
+ telemetryBuffer.splice(0, telemetryBuffer.length);
}
var avgData = this.processTelemetryDatum(telemetryDatum);
- callback(avgData);
+ if (this.mostRecentData.length === this.sampleSize) {
+ callback(avgData);
+ } else {
+ console.log(this.mostRecentData.length);
+ }
}
};
@@ -168,7 +189,7 @@ define([
*/
PerObjectTelemetryProvider.prototype.isMostRecentData = function (datum) {
var datumTimestamp = this.domainFormatter.parse(datum);
- var latestTimestamp = this.domainFormatter.parse(this.mostRecentData[this.mostRecentData.length]);
+ var latestTimestamp = this.domainFormatter.parse(this.mostRecentData[this.mostRecentData.length - 1]);
return isNaN(latestTimestamp) || datumTimestamp > latestTimestamp;
}