added lagged value functionality for retrieving values further down in memory; Converted position always to lower case strings to avoid problems with caps sensitivity names; added examples for use in examples.js

This commit is contained in:
znetsixe
2025-10-16 14:37:42 +02:00
parent f9d1348fd0
commit c99d24e4c6
3 changed files with 69 additions and 4 deletions

View File

@@ -94,7 +94,8 @@ class MeasurementContainer {
throw new Error('Variant must be specified before position');
}
this._currentPosition = positionValue;
this._currentPosition = positionValue.toString().toLowerCase();;
return this;
}
@@ -247,9 +248,31 @@ class MeasurementContainer {
return measurement ? measurement.getAllValues() : null;
}
getLaggedValue(lag = 1,requestedUnit = null ){
const measurement = this.get();
if (!measurement) return null;
const value = measurement.getLaggedSample(lag);
if (value === null) return null;
differenceUpDown(){
// Return as-is if no unit conversion requested
if (!requestedUnit) {
return value;
}
// Convert if needed
if (measurement.unit && requestedUnit !== measurement.unit) {
try {
return convertModule(value).from(measurement.unit).to(requestedUnit);
} catch (error) {
if (this.logger) {
this.logger.error(`Unit conversion failed: ${error.message}`);
}
return value; // Return original value if conversion fails
}
}
return value;
}