diff --git a/java_tools/configuration_definition/src/test/java/com/rusefi/test/JavaSensorsConsumerTest.java b/java_tools/configuration_definition/src/test/java/com/rusefi/test/JavaSensorsConsumerTest.java index 37b2329134..4a8e2d55b7 100644 --- a/java_tools/configuration_definition/src/test/java/com/rusefi/test/JavaSensorsConsumerTest.java +++ b/java_tools/configuration_definition/src/test/java/com/rusefi/test/JavaSensorsConsumerTest.java @@ -38,7 +38,7 @@ public class JavaSensorsConsumerTest { "internalMcuTemperature(\"mcu\", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 17, 1.0, 0.0, 0.0, \"deg C\"),\n" + "alignmentFill_at_18(\"need 4 byte alignment\", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 18, 1.0, -20.0, 100.0, \"units\"),\n", javaSensorsConsumer.getContent()); - assertEquals(20, javaSensorsConsumer.getSensorTsPosition()); + assertEquals(20, javaSensorsConsumer.getStructSize()); } @Test @@ -51,6 +51,6 @@ public class JavaSensorsConsumerTest { JavaSensorsConsumer javaSensorsConsumer = new JavaSensorsConsumer(0); state.readBufferedReader(outputChannels, javaSensorsConsumer); - assertEquals(4, javaSensorsConsumer.getSensorTsPosition()); + assertEquals(4, javaSensorsConsumer.getStructSize()); } } diff --git a/java_tools/configuration_definition_base/src/main/java/com/rusefi/ldmp/LiveDataProcessor.java b/java_tools/configuration_definition_base/src/main/java/com/rusefi/ldmp/LiveDataProcessor.java index 869e79040c..c8d859f3f3 100644 --- a/java_tools/configuration_definition_base/src/main/java/com/rusefi/ldmp/LiveDataProcessor.java +++ b/java_tools/configuration_definition_base/src/main/java/com/rusefi/ldmp/LiveDataProcessor.java @@ -188,10 +188,10 @@ public class LiveDataProcessor { fancyNewMenu.append(fragmentDialogConsumer.menuLine()); } - for (JavaSensorsConsumer javaSensorsConsumer : javaSensorsConsumers) + for (JavaSensorsConsumer javaSensorsConsumer : javaSensorsConsumers) { totalSensors.append(javaSensorsConsumer.getContent()); - - startingPosition.set(javaSensorsConsumers.get(javaSensorsConsumers.size() - 1).getSensorTsPosition()); + startingPosition.addAndGet(javaSensorsConsumer.getStructSize()); + } log.info("Done with " + name + " at " + startingPosition); } diff --git a/java_tools/configuration_definition_base/src/main/java/com/rusefi/output/JavaSensorsConsumer.java b/java_tools/configuration_definition_base/src/main/java/com/rusefi/output/JavaSensorsConsumer.java index 83b8247f0c..8a3590ae39 100644 --- a/java_tools/configuration_definition_base/src/main/java/com/rusefi/output/JavaSensorsConsumer.java +++ b/java_tools/configuration_definition_base/src/main/java/com/rusefi/output/JavaSensorsConsumer.java @@ -10,9 +10,10 @@ import java.io.IOException; * One day this generator should generate what is still manually maintained Sensor.java */ public class JavaSensorsConsumer implements ConfigurationConsumer { - private int sensorTsPosition; + private final int sensorTsPosition; private final StringBuilder sb = new StringBuilder(); + private int structSize; public JavaSensorsConsumer(int sensorTsPosition) { this.sensorTsPosition = sensorTsPosition; @@ -64,7 +65,7 @@ public class JavaSensorsConsumer implements ConfigurationConsumer { tsPosition += configField.getSize(next); // this value would be consumed by LiveDataProcessor // todo: too many variables that's fragile shall we move tsPosition to iterator state? - sensorTsPosition = tsPosition; + structSize = tsPosition - sensorTsPosition; return tsPosition; } @@ -80,7 +81,7 @@ public class JavaSensorsConsumer implements ConfigurationConsumer { return sb.toString(); } - public int getSensorTsPosition() { - return sensorTsPosition; + public int getStructSize() { + return structSize; } }