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

This commit is contained in:
rusefillc 2022-10-12 08:04:58 -04:00
parent 4660a15bf8
commit 2733270a83
4 changed files with 55 additions and 26 deletions

View File

@ -1,6 +1,3 @@
// todo: this file is NOT yet generated!
// todo https://github.com/rusefi/rusefi/issues/3985
static constexpr LogField fields[] = {
{packedTime, GAUGE_NAME_TIME, "sec", 0},
{engine->outputChannels.RPMValue, "RPM", "RPM", 0},
@ -69,8 +66,14 @@ static constexpr LogField fields[] = {
{engine->outputChannels.orderingErrorCounter, "orderingErrorCounter", "", 0},
{engine->outputChannels.warningCounter, "warning: counter", "count", 0},
{engine->outputChannels.lastErrorCode, "warning: last", "error", 0},
{engine->outputChannels.recentErrorCode[0], "recentErrorCode 1", "error", 0},
{engine->outputChannels.recentErrorCode[1], "recentErrorCode 2", "error", 0},
{engine->outputChannels.recentErrorCode[2], "recentErrorCode 3", "error", 0},
{engine->outputChannels.recentErrorCode[3], "recentErrorCode 4", "error", 0},
{engine->outputChannels.recentErrorCode[4], "recentErrorCode 5", "error", 0},
{engine->outputChannels.recentErrorCode[5], "recentErrorCode 6", "error", 0},
{engine->outputChannels.recentErrorCode[6], "recentErrorCode 7", "error", 0},
{engine->outputChannels.recentErrorCode[7], "recentErrorCode 8", "error", 0},
{engine->outputChannels.debugFloatField1, "debugFloatField1", "val", 3},
{engine->outputChannels.debugFloatField2, "debugFloatField2", "val", 3},
{engine->outputChannels.debugFloatField3, "debugFloatField3", "val", 3},
@ -85,19 +88,59 @@ static constexpr LogField fields[] = {
{engine->outputChannels.debugIntField5, "debugIntField5", "val", 0},
{engine->outputChannels.accelerationX, "Acceleration: X", "G", 2},
{engine->outputChannels.accelerationY, "Acceleration: Y", "G", 2},
{engine->outputChannels.TPS2Value, GAUGE_NAME_TPS2, "%", 2},
{engine->outputChannels.egt[0], "egt 1", "deg C", 0},
{engine->outputChannels.egt[1], "egt 2", "deg C", 0},
{engine->outputChannels.egt[2], "egt 3", "deg C", 0},
{engine->outputChannels.egt[3], "egt 4", "deg C", 0},
{engine->outputChannels.egt[4], "egt 5", "deg C", 0},
{engine->outputChannels.egt[5], "egt 6", "deg C", 0},
{engine->outputChannels.egt[6], "egt 7", "deg C", 0},
{engine->outputChannels.egt[7], "egt 8", "deg C", 0},
{engine->outputChannels.TPS2Value, "TPS2", "%", 2},
{engine->outputChannels.rawTps1Primary, "rawTps1Primary", "V", 3},
{engine->outputChannels.rawPpsPrimary, "rawPpsPrimary", "V", 3},
{engine->outputChannels.rawClt, "rawClt", "V", 3},
{engine->outputChannels.rawIat, "rawIat", "V", 3},
{engine->outputChannels.rawOilPressure, "rawOilPressure", "V", 3},
{engine->outputChannels.tuneCrc16, GAUGE_NAME_TUNE_CRC16, "", 0},
{engine->outputChannels.tuneCrc16, "Tune CRC16", "crc16", 0},
{engine->outputChannels.fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", "", 0},
{engine->outputChannels.tcuCurrentGear, "Current Gear", "gear", 0},
{engine->outputChannels.rawPpsSecondary, "rawPpsSecondary", "V", 3},
{engine->outputChannels.knock[0], "knock 1", "dBv", 0},
{engine->outputChannels.knock[1], "knock 2", "dBv", 0},
{engine->outputChannels.knock[2], "knock 3", "dBv", 0},
{engine->outputChannels.knock[3], "knock 4", "dBv", 0},
{engine->outputChannels.knock[4], "knock 5", "dBv", 0},
{engine->outputChannels.knock[5], "knock 6", "dBv", 0},
{engine->outputChannels.knock[6], "knock 7", "dBv", 0},
{engine->outputChannels.knock[7], "knock 8", "dBv", 0},
{engine->outputChannels.knock[8], "knock 9", "dBv", 0},
{engine->outputChannels.knock[9], "knock 10", "dBv", 0},
{engine->outputChannels.knock[10], "knock 11", "dBv", 0},
{engine->outputChannels.knock[11], "knock 12", "dBv", 0},
{engine->outputChannels.tcuDesiredGear, "Desired Gear", "gear", 0},
{engine->outputChannels.flexPercent, "Flex Ethanol %", "%", 0},
{engine->outputChannels.AFRValue, GAUGE_NAME_AFR, "afr", 2},
{engine->outputChannels.flexPercent, "Flex Ethanol %", "%", 1},
{engine->outputChannels.wastegatePositionSensor, "Wastegate position sensor", "%", 2},
{engine->outputChannels.idlePositionSensor, "Idle position sensor", "%", 2},
{engine->outputChannels.rawLowFuelPressure, "rawLowFuelPressure", "V", 3},
{engine->outputChannels.rawHighFuelPressure, "rawHighFuelPressure", "V", 3},
{engine->outputChannels.lowFuelPressure, "Fuel pressure (low)", "kpa", 0},
{engine->outputChannels.highFuelPressure, "Fuel pressure (high)", "bar", 0},
{engine->outputChannels.targetLambda, "fuel: target lambda", "", 3},
{engine->outputChannels.AFRValue, "Air/Fuel Ratio", "AFR", 2},
{engine->outputChannels.VssAcceleration, "Vss Accel", "m/s2", 2},
{engine->outputChannels.lambdaValue2, "Lambda 2", "", 3},
{engine->outputChannels.AFRValue2, "Air/Fuel Ratio 2", "AFR", 2},
{engine->outputChannels.vvtPositionB1E, "VVT: bank 1 exhaust", "deg", 1},
{engine->outputChannels.vvtPositionB2I, "VVT: bank 2 intake", "deg", 1},
{engine->outputChannels.vvtPositionB2E, "VVT: bank 2 exhaust", "deg", 1},
{engine->outputChannels.fuelPidCorrection[0], "fuelPidCorrection 1", "%", 2},
{engine->outputChannels.fuelPidCorrection[1], "fuelPidCorrection 2", "%", 2},
{engine->outputChannels.rawTps1Secondary, "rawTps1Secondary", "V", 3},
{engine->outputChannels.rawTps2Primary, "rawTps2Primary", "V", 3},
{engine->outputChannels.rawTps2Secondary, "rawTps2Secondary", "V", 3},
{engine->outputChannels.knockCount, "knock: count", "", 0},
{engine->outputChannels.AFRValue2, GAUGE_NAME_AFR2, "afr", 2},
{engine->outputChannels.lambdaValue2, GAUGE_NAME_LAMBDA2, "", 3},
@ -117,27 +160,12 @@ static constexpr LogField fields[] = {
{engine->outputChannels.vvtTargets[3], GAUGE_NAME_VVT_TARGET_B2E, "deg", 0},
{engine->outputChannels.wastegatePositionSensor, GAUGE_NAME_WG_POSITION, "%", 2},
{engine->outputChannels.idlePositionSensor, GAUGE_NAME_IDLE_POSITION, "%", 2},
{engine->outputChannels.targetLambda, GAUGE_NAME_TARGET_LAMBDA, "", 3},
{engine->outputChannels.injectorLagMs, GAUGE_NAME_INJECTOR_LAG, "ms", 3},
{engine->outputChannels.fuelPidCorrection[0], GAUGE_NAME_FUEL_TRIM, "%", 2},
{engine->outputChannels.fuelPidCorrection[1], GAUGE_NAME_FUEL_TRIM_2, "%", 2},
{engine->outputChannels.ignitionAdvance, GAUGE_NAME_TIMING_ADVANCE, "deg", 1},
// {engine->outputChannels.fuelingLoad, GAUGE_NAME_FUEL_LOAD, "%", 1},
// {engine->outputChannels.ignitionLoad, GAUGE_NAME_IGNITION_LOAD, "%", 1},
{engine->outputChannels.mafEstimate, GAUGE_NAME_AIR_FLOW_ESTIMATE, "kg/h", 1},
{engine->outputChannels.knock[0], GAUGE_NAME_KNOCK_1, "dBv", 0},
{engine->outputChannels.knock[1], GAUGE_NAME_KNOCK_2, "dBv", 0},
{engine->outputChannels.knock[2], GAUGE_NAME_KNOCK_3, "dBv", 0},
{engine->outputChannels.knock[3], GAUGE_NAME_KNOCK_4, "dBv", 0},
{engine->outputChannels.knock[4], GAUGE_NAME_KNOCK_5, "dBv", 0},
{engine->outputChannels.knock[5], GAUGE_NAME_KNOCK_6, "dBv", 0},
{engine->outputChannels.knock[6], GAUGE_NAME_KNOCK_7, "dBv", 0},
{engine->outputChannels.knock[7], GAUGE_NAME_KNOCK_8, "dBv", 0},
{engine->outputChannels.knock[8], GAUGE_NAME_KNOCK_9, "dBv", 0},
{engine->outputChannels.knock[9], GAUGE_NAME_KNOCK_10, "dBv", 0},
{engine->outputChannels.knock[10], GAUGE_NAME_KNOCK_11, "dBv", 0},
{engine->outputChannels.knock[11], GAUGE_NAME_KNOCK_12, "dBv", 0},
{engine->outputChannels.knockCount, GAUGE_NAME_KNOCK_COUNTER, "", 0},
{engine->outputChannels.sparkCutReason, "Spark Cut Code", "", 0},
{engine->outputChannels.fuelCutReason, "Fuel Cut Code", "", 0},
{engine->outputChannels.auxLinear1, GAUGE_NAME_AUX_LINEAR_1, "", 2},

Binary file not shown.

View File

@ -20,6 +20,7 @@ import static com.rusefi.ConfigField.BOOLEAN_T;
*/
public class ConfigStructure {
public static final String ALIGNMENT_FILL_AT = "alignmentFill_at_";
public static final String UNUSED_ANYTHING_PREFIX = "unused";
public static final String UNUSED_BIT_PREFIX = "unusedBit_";
public final String name;

View File

@ -44,7 +44,7 @@ public class SdCardFieldsConsumer implements ConfigurationConsumer {
private String processOutput(ReaderState readerState, ConfigField configField, String prefix) {
if (configField.getName().startsWith(ConfigStructure.ALIGNMENT_FILL_AT))
return "";
if (configField.getName().startsWith(ConfigStructure.UNUSED_BIT_PREFIX))
if (configField.getName().startsWith(ConfigStructure.UNUSED_ANYTHING_PREFIX))
return "";
if (configField.isBit())
return "";