automation around outputs section #197

datalog toolset
This commit is contained in:
rusefillc 2021-11-28 17:55:33 -05:00
parent 0c4e64fb2d
commit 4c0631b2db
3 changed files with 27 additions and 0 deletions

View File

@ -2,6 +2,8 @@ COMMON_GEN_CONFIG="-jar ../java_tools/ConfigDefinition.jar \
-enumInputFile controllers/algo/engine_types.h \
-enumInputFile controllers/algo/rusefi_enums.h \
-cache_zip_file tunerstudio/generated/cache.zip \
-readfile OUTPUTS_SECTION console/binary/generated/output_channels.ini \
-readfile DATALOG_SECTION console/binary/generated/data_logs.ini \
-ts_destination tunerstudio \
-firing_order controllers/algo/firing_order.h \
-definition integration/rusefi_config.txt"

Binary file not shown.

View File

@ -141,6 +141,11 @@ public class ConfigDefinition {
case KEY_JAVA_DESTINATION:
javaDestinationFileName = args[i + 1];
break;
case "-readfile":
String keyName = args[i + 1];
// yes, we take three parameters here thus pre-increment!
String fileName = args[++i + 1];
state.variableRegistry.register(keyName, readFile(fileName));
case KEY_FIRING:
firingEnumFileName = args[i + 1];
inputFiles.add(firingEnumFileName);
@ -307,6 +312,26 @@ public class ConfigDefinition {
CachingStrategy.saveCachedInputFiles(inputAllFiles, cachePath, cacheZipFile);
}
private static String readFile(String fileName) {
String line;
StringBuilder stringBuilder = new StringBuilder();
String ls = System.getProperty("line.separator");
try {
try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) {
while (true) {
if (!((line = reader.readLine()) != null)) break;
stringBuilder.append(line);
stringBuilder.append(ls);
}
return stringBuilder.toString();
}
} catch (IOException e) {
return "";
}
}
private static void handleFiringOrder(String firingEnumFileName, VariableRegistry variableRegistry, ParseState parseState) throws IOException {
if (firingEnumFileName != null) {
SystemOut.println("Reading firing from " + firingEnumFileName);