mirror of
https://github.com/nasa/openmct.git
synced 2025-02-26 03:18:51 +00:00
works with time
This commit is contained in:
parent
dcc893880b
commit
87dc272a5a
@ -21,12 +21,18 @@ export default class CompsManager extends EventEmitter {
|
|||||||
addParameter(telemetryObject) {
|
addParameter(telemetryObject) {
|
||||||
const keyString = this.#openmct.objects.makeKeyString(telemetryObject.identifier);
|
const keyString = this.#openmct.objects.makeKeyString(telemetryObject.identifier);
|
||||||
const metaData = this.#openmct.telemetry.getMetadata(telemetryObject);
|
const metaData = this.#openmct.telemetry.getMetadata(telemetryObject);
|
||||||
|
const specificTelemetryCollection = this.#telemetryCollections[keyString];
|
||||||
|
const specificTimeKey = specificTelemetryCollection.timeKey;
|
||||||
|
const timeMetaData = metaData.valueMetadatas.find(
|
||||||
|
(metaDatum) => metaDatum.key === specificTimeKey
|
||||||
|
);
|
||||||
const random4Digit = Math.floor(1000 + Math.random() * 9000);
|
const random4Digit = Math.floor(1000 + Math.random() * 9000);
|
||||||
this.#domainObject.configuration.comps.parameters.push({
|
this.#domainObject.configuration.comps.parameters.push({
|
||||||
keyString,
|
keyString,
|
||||||
name: `${telemetryObject.name}_${random4Digit}`,
|
name: `${telemetryObject.name}_${random4Digit}`,
|
||||||
valueToUse: metaData.valueMetadatas[0].key,
|
valueToUse: metaData.valueMetadatas[0].key,
|
||||||
testValue: 0
|
testValue: 0,
|
||||||
|
timeMetaData
|
||||||
});
|
});
|
||||||
this.persist(this.#domainObject);
|
this.persist(this.#domainObject);
|
||||||
}
|
}
|
||||||
@ -184,7 +190,6 @@ export default class CompsManager extends EventEmitter {
|
|||||||
|
|
||||||
// clear it
|
// clear it
|
||||||
this.#clearBatch(keyString);
|
this.#clearBatch(keyString);
|
||||||
console.debug(`🎉 new data for ${keyString}!`, specificBatchedNewData);
|
|
||||||
this.emit('underlyingTelemetryUpdated', { [keyString]: specificBatchedNewData });
|
this.emit('underlyingTelemetryUpdated', { [keyString]: specificBatchedNewData });
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -50,7 +50,9 @@ export default class CompsMetadataProvider {
|
|||||||
const keyString = this.#openmct.objects.makeKeyString(domainObject.identifier);
|
const keyString = this.#openmct.objects.makeKeyString(domainObject.identifier);
|
||||||
const specificCompsManager = this.#compsManagerPool[keyString];
|
const specificCompsManager = this.#compsManagerPool[keyString];
|
||||||
console.debug('📦 CompsMetadataProvider: getMetadata', specificCompsManager);
|
console.debug('📦 CompsMetadataProvider: getMetadata', specificCompsManager);
|
||||||
return {
|
// if there are any parameters, grab the first one's timeMetaData
|
||||||
|
const timeMetaData = specificCompsManager?.getParameters()[0]?.timeMetaData;
|
||||||
|
const metaDataToReturn = {
|
||||||
values: this.getDomains().concat([
|
values: this.getDomains().concat([
|
||||||
{
|
{
|
||||||
key: 'output',
|
key: 'output',
|
||||||
@ -63,5 +65,12 @@ export default class CompsMetadataProvider {
|
|||||||
}
|
}
|
||||||
])
|
])
|
||||||
};
|
};
|
||||||
|
if (
|
||||||
|
timeMetaData &&
|
||||||
|
metaDataToReturn.values.some((metaDatum) => metaDatum.key === timeMetaData.key)
|
||||||
|
) {
|
||||||
|
metaDataToReturn.values.push(timeMetaData);
|
||||||
|
}
|
||||||
|
return metaDataToReturn;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -79,6 +79,12 @@ export default class CompsTelemetryProvider {
|
|||||||
const expression = specificCompsManager.getExpression();
|
const expression = specificCompsManager.getExpression();
|
||||||
const telemetryForComps = specificCompsManager.getFullDataFrame(newTelemetry);
|
const telemetryForComps = specificCompsManager.getFullDataFrame(newTelemetry);
|
||||||
const parameters = specificCompsManager.getParameters();
|
const parameters = specificCompsManager.getParameters();
|
||||||
|
console.debug(
|
||||||
|
'🧮 Comps Telemetry Provider: sending calculation request',
|
||||||
|
telemetryForComps,
|
||||||
|
expression,
|
||||||
|
parameters
|
||||||
|
);
|
||||||
this.#sharedWorker.port.postMessage({
|
this.#sharedWorker.port.postMessage({
|
||||||
type: 'calculateSubscription',
|
type: 'calculateSubscription',
|
||||||
telemetryForComps,
|
telemetryForComps,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user