diff --git a/java_console/models/src/com/rusefi/core/ISensorCentral.java b/java_console/models/src/com/rusefi/core/ISensorCentral.java index 3ec2f89939..a1f8681187 100644 --- a/java_console/models/src/com/rusefi/core/ISensorCentral.java +++ b/java_console/models/src/com/rusefi/core/ISensorCentral.java @@ -5,6 +5,8 @@ package com.rusefi.core; * (c) Andrey Belomutskiy */ public interface ISensorCentral { + void initialize(EngineState es); + double getValue(Sensor sensor); void setValue(double value, Sensor sensor); @@ -15,5 +17,5 @@ public interface ISensorCentral { void removeListener(Sensor sensor, SensorCentral.SensorListener listener); - void initialize(EngineState es); + ValueSource getValueSource(Sensor sensor); } diff --git a/java_console/models/src/com/rusefi/core/SensorCentral.java b/java_console/models/src/com/rusefi/core/SensorCentral.java index 609af58783..69424f2414 100644 --- a/java_console/models/src/com/rusefi/core/SensorCentral.java +++ b/java_console/models/src/com/rusefi/core/SensorCentral.java @@ -87,6 +87,11 @@ public class SensorCentral implements ISensorCentral { listeners.remove(listener); } + @Override + public ValueSource getValueSource(Sensor sensor) { + return () -> SensorCentral.this.getValue(sensor); + } + @Override public void initialize(EngineState es) { addDoubleSensor(RPM_KEY, Sensor.RPM, es); diff --git a/java_console/models/src/com/rusefi/core/ValueSource.java b/java_console/models/src/com/rusefi/core/ValueSource.java new file mode 100644 index 0000000000..7303e68f32 --- /dev/null +++ b/java_console/models/src/com/rusefi/core/ValueSource.java @@ -0,0 +1,9 @@ +package com.rusefi.core; + +/** + * 11/16/2017 + * (c) Andrey Belomutskiy + */ +public interface ValueSource { + double getValue(); +}