diff --git a/firmware/console/binary/generated/fragments_meta.h b/firmware/console/binary/generated/fragments_meta.h deleted file mode 100644 index d66a232865..0000000000 --- a/firmware/console/binary/generated/fragments_meta.h +++ /dev/null @@ -1,18 +0,0 @@ -// generated by gen_live_documentation.sh / UsagesReader.java -#define FRAGMENT_OUTPUT_CHANNELS_SIZE 640 -#define FRAGMENT_HIGH_PRESSURE_FUEL_PUMP_SIZE 24 -#define FRAGMENT_INJECTOR_MODEL_SIZE 12 -#define FRAGMENT_LAUNCH_CONTROL_STATE_SIZE 4 -#define FRAGMENT_BOOST_CONTROL_SIZE 12 -#define FRAGMENT_AC_CONTROL_SIZE 12 -#define FRAGMENT_FAN_CONTROL_SIZE 0 -#define FRAGMENT_FUEL_PUMP_CONTROL_SIZE 0 -#define FRAGMENT_MAIN_RELAY_SIZE 0 -#define FRAGMENT_ENGINE_STATE_SIZE 128 -#define FRAGMENT_TPS_ACCEL_STATE_SIZE 48 -#define FRAGMENT_TRIGGER_CENTRAL_SIZE 28 -#define FRAGMENT_TRIGGER_STATE_SIZE 8 -#define FRAGMENT_WALL_FUEL_STATE_SIZE 8 -#define FRAGMENT_IDLE_STATE_SIZE 32 -#define FRAGMENT_IGNITION_STATE_SIZE 16 -#define FRAGMENT_ELECTRONIC_THROTTLE_SIZE 12 diff --git a/firmware/console/binary/tunerstudio.cpp b/firmware/console/binary/tunerstudio.cpp index 631cb37dc9..60d1071d8f 100644 --- a/firmware/console/binary/tunerstudio.cpp +++ b/firmware/console/binary/tunerstudio.cpp @@ -838,7 +838,6 @@ int TunerStudio::handleCrcCommand(TsChannelBase* tsChannel, char *data, int inco void startTunerStudioConnectivity(void) { // Assert tune & output channel struct sizes static_assert(sizeof(persistent_config_s) == TOTAL_CONFIG_SIZE, "TS datapage size mismatch"); - static_assert(sizeof(TunerStudioOutputChannels) == FRAGMENT_OUTPUT_CHANNELS_SIZE, "TS output channels size mismatch"); // useful trick if you need to know how far off is the static_assert // char (*__kaboom)[sizeof(persistent_config_s)] = 1; diff --git a/firmware/gen_config_common.sh b/firmware/gen_config_common.sh index 0ba409d3bb..3a4678e75c 100755 --- a/firmware/gen_config_common.sh +++ b/firmware/gen_config_common.sh @@ -12,5 +12,4 @@ COMMON_GEN_CONFIG=" -with_c_defines false \ -initialize_to_zero false \ -prepend console/binary/generated/total_live_data_generated.h \ - -prepend console/binary/generated/fragments_meta.h \ -definition integration/rusefi_config.txt" diff --git a/java_tools/ConfigDefinition.jar b/java_tools/ConfigDefinition.jar index c6d0e89232..f99905c2f0 100644 Binary files a/java_tools/ConfigDefinition.jar and b/java_tools/ConfigDefinition.jar differ diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/ldmp/UsagesReader.java b/java_tools/configuration_definition/src/main/java/com/rusefi/ldmp/UsagesReader.java index 09883d53b1..55617b4383 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/ldmp/UsagesReader.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/ldmp/UsagesReader.java @@ -44,7 +44,6 @@ public class UsagesReader { StringBuilder totalSensors = new StringBuilder(); StringBuilder fancyNewStuff = new StringBuilder(); - StringBuilder fragmentsMeta = new StringBuilder(header); UsagesReader usagesReader = new UsagesReader(); @@ -95,7 +94,6 @@ public class UsagesReader { fancyNewStuff.append(fragmentDialogConsumer.getContent()); int size = usagesReader.sensorTsPosition - startingPosition; - fragmentsMeta.append("#define FRAGMENT_" + name.toUpperCase() + "_SIZE " + size + "\n"); log.info("Done with " + name + " at " + usagesReader.sensorTsPosition); } @@ -110,10 +108,6 @@ public class UsagesReader { fw.write("#define TS_TOTAL_OUTPUT_SIZE " + usagesReader.sensorTsPosition); } - try (FileWriter fw = new FileWriter("console/binary/generated/fragments_meta.h")) { - fw.write(fragmentsMeta.toString()); - } - try (FileWriter fw = new FileWriter("console/binary/generated/sensors.java")) { fw.write(totalSensors.toString()); } diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/BaseCHeaderConsumer.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/BaseCHeaderConsumer.java index 4c17c6608d..ae6e078d34 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/BaseCHeaderConsumer.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/BaseCHeaderConsumer.java @@ -78,8 +78,9 @@ public class BaseCHeaderConsumer implements ConfigurationConsumer { iterator.end(); } - content.append("\t/** total size " + iterator.currentOffset + "*/" + EOL); - content.append("};" + EOL + EOL); + content.append("};" + EOL); + content.append("static_assert(sizeof(" + structure.name + ") == " + iterator.currentOffset + ");\n"); + content.append(EOL); } public StringBuilder getContent() { diff --git a/java_tools/configuration_definition/src/test/java/com/rusefi/test/ConfigFieldParserTest.java b/java_tools/configuration_definition/src/test/java/com/rusefi/test/ConfigFieldParserTest.java index 8624c9eabc..1162c0ff2a 100644 --- a/java_tools/configuration_definition/src/test/java/com/rusefi/test/ConfigFieldParserTest.java +++ b/java_tools/configuration_definition/src/test/java/com/rusefi/test/ConfigFieldParserTest.java @@ -290,8 +290,8 @@ public class ConfigFieldParserTest { "\t * offset 0\n" + "\t */\n" + "\tscaled_channel field[ERROR_BUFFER_SIZE];\n" + - "\t/** total size 4*/\n" + "};\n" + + "static_assert(sizeof(pid_s) == 4);\n" + "\n", consumer.getContent().toString()); } diff --git a/java_tools/configuration_definition/src/test/java/com/rusefi/test/TSProjectConsumerTest.java b/java_tools/configuration_definition/src/test/java/com/rusefi/test/TSProjectConsumerTest.java index 308d0a421b..fd79990a36 100644 --- a/java_tools/configuration_definition/src/test/java/com/rusefi/test/TSProjectConsumerTest.java +++ b/java_tools/configuration_definition/src/test/java/com/rusefi/test/TSProjectConsumerTest.java @@ -85,8 +85,8 @@ public class TSProjectConsumerTest { "\t * offset 18\n" + "\t */\n" + "\tint16_t periodMs = (int16_t)0;\n" + - "\t/** total size 20*/\n" + "};\n" + + "static_assert(sizeof(pid_s) == 20);\n" + "\n", consumer.getContent().toString()); } }