works with time

This commit is contained in:
Scott Bell 2024-08-15 13:21:16 -05:00
parent dcc893880b
commit 87dc272a5a
3 changed files with 23 additions and 3 deletions

View File

@ -21,12 +21,18 @@ export default class CompsManager extends EventEmitter {
addParameter(telemetryObject) {
const keyString = this.#openmct.objects.makeKeyString(telemetryObject.identifier);
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);
this.#domainObject.configuration.comps.parameters.push({
keyString,
name: `${telemetryObject.name}_${random4Digit}`,
valueToUse: metaData.valueMetadatas[0].key,
testValue: 0
testValue: 0,
timeMetaData
});
this.persist(this.#domainObject);
}
@ -184,7 +190,6 @@ export default class CompsManager extends EventEmitter {
// clear it
this.#clearBatch(keyString);
console.debug(`🎉 new data for ${keyString}!`, specificBatchedNewData);
this.emit('underlyingTelemetryUpdated', { [keyString]: specificBatchedNewData });
};

View File

@ -50,7 +50,9 @@ export default class CompsMetadataProvider {
const keyString = this.#openmct.objects.makeKeyString(domainObject.identifier);
const specificCompsManager = this.#compsManagerPool[keyString];
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([
{
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;
}
}

View File

@ -79,6 +79,12 @@ export default class CompsTelemetryProvider {
const expression = specificCompsManager.getExpression();
const telemetryForComps = specificCompsManager.getFullDataFrame(newTelemetry);
const parameters = specificCompsManager.getParameters();
console.debug(
'🧮 Comps Telemetry Provider: sending calculation request',
telemetryForComps,
expression,
parameters
);
this.#sharedWorker.port.postMessage({
type: 'calculateSubscription',
telemetryForComps,