SD card log fields list should be auto-generated #3985

This commit is contained in:
rusefillc 2022-10-09 21:44:25 -04:00
parent f668508958
commit 57f4a1eb2c
4 changed files with 13 additions and 3 deletions

Binary file not shown.

View File

@ -21,6 +21,7 @@ public class ConfigDefinition {
private static final String KEY_DEFINITION = "-definition";
private static final String KEY_TS_DESTINATION = "-ts_destination";
private static final String KEY_C_DESTINATION = "-c_destination";
private static final String KEY_SD_DESTINATION = "-sd_destination";
private static final String KEY_C_DEFINES = "-c_defines";
public static final String KEY_WITH_C_DEFINES = "-with_c_defines";
private static final String KEY_JAVA_DESTINATION = "-java_destination";
@ -95,6 +96,9 @@ public class ConfigDefinition {
case KEY_C_DESTINATION:
state.addCHeaderDestination(args[i + 1]);
break;
case KEY_SD_DESTINATION:
state.addSdDestination(args[i + 1]);
break;
case KEY_ZERO_INIT:
needZeroInit = Boolean.parseBoolean(args[i + 1]);
break;

View File

@ -342,6 +342,10 @@ public class ReaderState {
destinations.add(new CHeaderConsumer(this, cHeader, withC_Defines));
}
public void addSdDestination(String outputFileName) {
destinations.add(new SdCardFieldsConsumer(outputFileName));
}
public void addJavaDestination(String fileName) {
destinations.add(new FileJavaFieldsConsumer(this, fileName));
}

View File

@ -4,15 +4,16 @@ import static com.rusefi.output.JavaSensorsConsumer.quote;
import com.rusefi.ConfigField;
import com.rusefi.ReaderState;
import com.rusefi.util.LazyFile;
import java.io.IOException;
public class SdCardFieldsConsumer implements ConfigurationConsumer {
private final StringBuilder body = new StringBuilder();
private final String outputFileName;
private final LazyFile output;
public SdCardFieldsConsumer(String outputFileName) {
this.outputFileName = outputFileName;
output = new LazyFile(outputFileName);
}
@Override
@ -22,7 +23,8 @@ public class SdCardFieldsConsumer implements ConfigurationConsumer {
@Override
public void endFile() throws IOException {
ConfigurationConsumer.super.endFile();
output.write(getBody());
output.close();
}
@Override