logging of live data structs was: data points #3614

looks like progress
This commit is contained in:
rusefillc 2022-04-17 16:51:17 -04:00
parent a2cff4ee12
commit 2666cb7c5a
1 changed files with 35 additions and 38 deletions

View File

@ -25,13 +25,15 @@ public class UsagesReader {
"\n" +
"typedef enum {\n");
private StringBuilder totalSensors = new StringBuilder();
private StringBuilder fancyNewStuff = new StringBuilder();
private final StringBuilder fragmentsContent = new StringBuilder(
header +
"#include \"pch.h\"\n" +
"#include \"tunerstudio.h\"\n");
int sensorTsPosition = 0;
public static void main(String[] args) throws IOException {
if (args.length != 1) {
System.err.println("One parameter expected: name of live data yaml input file");
@ -41,12 +43,33 @@ public class UsagesReader {
Yaml yaml = new Yaml();
Map<String, Object> data = yaml.load(new FileReader(yamlFileName));
StringBuilder totalSensors = new StringBuilder();
StringBuilder fancyNewStuff = new StringBuilder();
UsagesReader usagesReader = new UsagesReader();
int sensorTsPosition = usagesReader.handleYaml(data, null);
usagesReader.writeFiles();
log.info("TS_TOTAL_OUTPUT_SIZE=" + sensorTsPosition);
try (FileWriter fw = new FileWriter("console/binary/generated/total_live_data_generated.h")) {
fw.write(header);
fw.write("#define TS_TOTAL_OUTPUT_SIZE " + sensorTsPosition);
}
try (FileWriter fw = new FileWriter("console/binary/generated/sensors.java")) {
fw.write(usagesReader.totalSensors.toString());
}
try (FileWriter fw = new FileWriter("console/binary/generated/wip.ini")) {
fw.write(usagesReader.fancyNewStuff.toString());
}
}
interface EntryHandler {
void onEntry(String name, List elements) throws IOException;
}
private int handleYaml(Map<String, Object> data, EntryHandler _handler) throws IOException {
JavaSensorsConsumer javaSensorsConsumer = new JavaSensorsConsumer(0);
EntryHandler handler = new EntryHandler() {
@Override
@ -54,7 +77,7 @@ public class UsagesReader {
String javaName = (String) elements.get(0);
String folder = (String) elements.get(1);
int startingPosition = usagesReader.sensorTsPosition;
int startingPosition = javaSensorsConsumer.sensorTsPosition;
log.info("Starting " + name + " at " + startingPosition);
boolean withCDefines = false;
@ -78,7 +101,6 @@ public class UsagesReader {
state.setDefinitionInputFile(folder + File.separator + name + ".txt");
state.withC_Defines = withCDefines;
JavaSensorsConsumer javaSensorsConsumer = new JavaSensorsConsumer(usagesReader.sensorTsPosition);
state.addDestination(javaSensorsConsumer);
FragmentDialogConsumer fragmentDialogConsumer = new FragmentDialogConsumer(name);
state.addDestination(fragmentDialogConsumer);
@ -88,41 +110,12 @@ public class UsagesReader {
state.addJavaDestination("../java_console/models/src/main/java/com/rusefi/config/generated/" + javaName);
state.doJob();
usagesReader.sensorTsPosition = javaSensorsConsumer.sensorTsPosition;
totalSensors.append(javaSensorsConsumer.getContent());
fancyNewStuff.append(fragmentDialogConsumer.getContent());
int size = usagesReader.sensorTsPosition - startingPosition;
log.info("Done with " + name + " at " + usagesReader.sensorTsPosition);
log.info("Done with " + name + " at " + javaSensorsConsumer.sensorTsPosition);
}
};
usagesReader.handleYaml(data, handler);
usagesReader.writeFiles();
log.info("TS_TOTAL_OUTPUT_SIZE=" + usagesReader.sensorTsPosition);
try (FileWriter fw = new FileWriter("console/binary/generated/total_live_data_generated.h")) {
fw.write(header);
fw.write("#define TS_TOTAL_OUTPUT_SIZE " + usagesReader.sensorTsPosition);
}
try (FileWriter fw = new FileWriter("console/binary/generated/sensors.java")) {
fw.write(totalSensors.toString());
}
try (FileWriter fw = new FileWriter("console/binary/generated/wip.ini")) {
fw.write(fancyNewStuff.toString());
}
}
interface EntryHandler {
void onEntry(String name, List elements) throws IOException;
}
private void handleYaml(Map<String, Object> data, EntryHandler handler) throws IOException {
LinkedHashMap<?, ?> liveDocs = (LinkedHashMap) data.get("Usages");
fragmentsContent.append("static const FragmentEntry fragments[] = {\n");
@ -148,10 +141,14 @@ public class UsagesReader {
}
enumContent.append("} live_data_e;\n");
totalSensors.append(javaSensorsConsumer.getContent());
fragmentsContent
.append("};\n\n")
.append("FragmentList getFragments() {\n\treturn { fragments, efi::size(fragments) };\n}\n");
return javaSensorsConsumer.sensorTsPosition;
}
private void writeFiles() throws IOException {