normalize configuration grammar (#2240)
* modify grammar * add missing typedefs * these typedefs are easier to handle in the parser * make the existing parser work with the changed format * grumble grumble jar * we can deal with this part later * handle later * deal with this later
This commit is contained in:
parent
e219638f60
commit
bed6819d8b
|
@ -28,7 +28,6 @@ typedef unsigned int time_t;
|
||||||
|
|
||||||
// time in seconds
|
// time in seconds
|
||||||
typedef time_t efitimesec_t;
|
typedef time_t efitimesec_t;
|
||||||
typedef uint16_t efitimesec16_t;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* integer time in milliseconds (1/1_000 of a second)
|
* integer time in milliseconds (1/1_000 of a second)
|
||||||
|
|
|
@ -342,13 +342,13 @@ struct gppwm_channel
|
||||||
gppwm_table_t table;
|
gppwm_table_t table;
|
||||||
end_struct
|
end_struct
|
||||||
|
|
||||||
custom air_pressure_sensor_type_e 4 bits, U32, @OFFSET@, [0:3] "Custom", "DENSO183", "MPX4250", "HONDA3BAR", "NEON_2003", "22012AA090", "3 Bar", "MPX4100", "Toyota 89420-02010", "MPX4250A", "Bosch 2.5", "Mazda1Bar", "type12", "type13", "INVALID", "INVALID"
|
custom air_pressure_sensor_type_e 4 bits, U32, @OFFSET@, [0:3], "Custom", "DENSO183", "MPX4250", "HONDA3BAR", "NEON_2003", "22012AA090", "3 Bar", "MPX4100", "Toyota 89420-02010", "MPX4250A", "Bosch 2.5", "Mazda1Bar", "type12", "type13", "INVALID", "INVALID"
|
||||||
|
|
||||||
!
|
!
|
||||||
! lower 16 values are used on stm32 rusEfi, values above 16 are related to Kinetis work in progress
|
! lower 16 values are used on stm32 rusEfi, values above 16 are related to Kinetis work in progress
|
||||||
!
|
!
|
||||||
#define adc_channel_e_enum "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5"
|
#define adc_channel_e_enum "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5"
|
||||||
custom adc_channel_e 1 bits, U08, @OFFSET@, [0:5] @@adc_channel_e_enum@@
|
custom adc_channel_e 1 bits, U08, @OFFSET@, [0:5], @@adc_channel_e_enum@@
|
||||||
|
|
||||||
struct air_pressure_sensor_config_s
|
struct air_pressure_sensor_config_s
|
||||||
float lowValue;kPa value at low volts;"kpa", 1, 0, -400, 800, 2
|
float lowValue;kPa value at low volts;"kpa", 1, 0, -400, 800, 2
|
||||||
|
@ -514,14 +514,14 @@ bit absoluteFuelPressure;+If your fuel regulator does not have vacuum line
|
||||||
bit launchControlEnabled;
|
bit launchControlEnabled;
|
||||||
bit rollingLaunchEnabled;
|
bit rollingLaunchEnabled;
|
||||||
bit antiLagEnabled;
|
bit antiLagEnabled;
|
||||||
bit useRunningMathForCranking,Fuel Map,Fixed;
|
bit useRunningMathForCranking,"Fuel Map","Fixed";
|
||||||
bit displayLogicLevelsInEngineSniffer;
|
bit displayLogicLevelsInEngineSniffer;
|
||||||
bit useTLE8888_stepper;
|
bit useTLE8888_stepper;
|
||||||
bit issue_294_27;
|
bit issue_294_27;
|
||||||
bit issue_294_28;
|
bit issue_294_28;
|
||||||
bit issue_294_29;
|
bit issue_294_29;
|
||||||
bit issue_294_30;
|
bit issue_294_30;
|
||||||
bit issue_294_31,si_example,nada_example;
|
bit issue_294_31,"si_example","nada_example";
|
||||||
|
|
||||||
|
|
||||||
!todo: extract these two fields into a structure
|
!todo: extract these two fields into a structure
|
||||||
|
@ -591,7 +591,7 @@ ignition_mode_e ignitionMode;+"Single Coil" is for use on distributed ignition s
|
||||||
|
|
||||||
angle_t ignitionOffset;+this value could be used to offset the whole ignition timing table by a constant;"RPM", 1, 0, 0, 3000.0, 0
|
angle_t ignitionOffset;+this value could be used to offset the whole ignition timing table by a constant;"RPM", 1, 0, 0, 3000.0, 0
|
||||||
|
|
||||||
custom timing_mode_e 4 bits, U32, @OFFSET@ [0:0], "dynamic", "fixed"
|
custom timing_mode_e 4 bits, U32, @OFFSET@, [0:0], "dynamic", "fixed"
|
||||||
timing_mode_e timingMode;+Dynamic uses the timing map to decide the ignition timing, Static timing fixes the timing to the value set below (only use for checking static timing with a timing light).
|
timing_mode_e timingMode;+Dynamic uses the timing map to decide the ignition timing, Static timing fixes the timing to the value set below (only use for checking static timing with a timing light).
|
||||||
|
|
||||||
angle_t fixedModeTiming;+This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing\nThis mode is useful when adjusting distributor location.;"RPM", 1, 0, 0, 3000.0, 0
|
angle_t fixedModeTiming;+This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing\nThis mode is useful when adjusting distributor location.;"RPM", 1, 0, 0, 3000.0, 0
|
||||||
|
@ -634,7 +634,7 @@ adc_channel_e fuelLevelSensor;+This is the processor pin that your fuel level se
|
||||||
|
|
||||||
|
|
||||||
float idle_derivativeFilterLoss;+0.1 is a good default value; "x", 1, 0.0, -1000000, 1000000, 4
|
float idle_derivativeFilterLoss;+0.1 is a good default value; "x", 1, 0.0, -1000000, 1000000, 4
|
||||||
int sensorChartFrequency;;"index", 1, 0, 0, 300, 0 ; size 4
|
int sensorChartFrequency;;"index", 1, 0, 0, 300, 0
|
||||||
|
|
||||||
struct trigger_config_s @brief Trigger wheel(s) configuration
|
struct trigger_config_s @brief Trigger wheel(s) configuration
|
||||||
|
|
||||||
|
@ -656,7 +656,7 @@ end_struct
|
||||||
|
|
||||||
trigger_config_s trigger;
|
trigger_config_s trigger;
|
||||||
|
|
||||||
custom spi_device_e 1 bits,U32, @OFFSET@, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4", "INVALID", "INVALID", "INVALID"
|
custom spi_device_e 1 bits, U08, @OFFSET@, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4", "INVALID", "INVALID", "INVALID"
|
||||||
spi_device_e hip9011SpiDevice;
|
spi_device_e hip9011SpiDevice;
|
||||||
uint8_t unused541;;"unit", 1, 0, 0, 100, 0
|
uint8_t unused541;;"unit", 1, 0, 0, 100, 0
|
||||||
uint8_t unused542;;"unit", 1, 0, 0, 100, 0
|
uint8_t unused542;;"unit", 1, 0, 0, 100, 0
|
||||||
|
@ -856,7 +856,7 @@ output_pin_e acFanPin;+Optional Radiator Fan used with A/C
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
custom uart_device_e 1 bits,U32, @OFFSET@, [0:1], "Off", "UART1", "UART2", "UART3"
|
custom uart_device_e 1 bits,U08, @OFFSET@, [0:1], "Off", "UART1", "UART2", "UART3"
|
||||||
int16_t sdCardPeriodMs;+SD card logging period, in milliseconds;"ms", 1, 0, 0, 30000, 0
|
int16_t sdCardPeriodMs;+SD card logging period, in milliseconds;"ms", 1, 0, 0, 30000, 0
|
||||||
adc_channel_e idlePositionSensor;
|
adc_channel_e idlePositionSensor;
|
||||||
brain_pin_e debugMapAveraging;
|
brain_pin_e debugMapAveraging;
|
||||||
|
@ -871,7 +871,7 @@ custom uart_device_e 1 bits,U32, @OFFSET@, [0:1], "Off", "UART1", "UART2", "UA
|
||||||
uint16_t tps1SecondaryMin;;"ADC", 1, 0, 0, 1000, 0
|
uint16_t tps1SecondaryMin;;"ADC", 1, 0, 0, 1000, 0
|
||||||
uint16_t tps1SecondaryMax;;"ADC", 1, 0, 0, 1000, 0
|
uint16_t tps1SecondaryMax;;"ADC", 1, 0, 0, 1000, 0
|
||||||
int16_t antiLagRpmTreshold;;"rpm", 1, 0, 0, 20000, 0
|
int16_t antiLagRpmTreshold;;"rpm", 1, 0, 0, 20000, 0
|
||||||
efitimesec16_t startCrankingDuration;Maximum time to crank starter;"Seconds", 1, 0, 0, 30, 0
|
uint16_t startCrankingDuration;Maximum time to crank starter;"Seconds", 1, 0, 0, 30, 0
|
||||||
|
|
||||||
brain_pin_e triggerErrorPin;+This pin is used for debugging - snap a logic analyzer on it and see if it's ever high
|
brain_pin_e triggerErrorPin;+This pin is used for debugging - snap a logic analyzer on it and see if it's ever high
|
||||||
pin_output_mode_e triggerErrorPinMode;
|
pin_output_mode_e triggerErrorPinMode;
|
||||||
|
@ -946,24 +946,24 @@ custom maf_sensor_type_e 4 bits, S32, @OFFSET@, [0:1], @@maf_sensor_type_e_enum@
|
||||||
bit enableCanVss
|
bit enableCanVss
|
||||||
bit enableInnovateLC2
|
bit enableInnovateLC2
|
||||||
bit showHumanReadableWarning
|
bit showHumanReadableWarning
|
||||||
bit stftIgnoreErrorMagnitude;+If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. Use of this mode is required if you have a narrowband O2 sensor.;
|
bit stftIgnoreErrorMagnitude;+If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. Use of this mode is required if you have a narrowband O2 sensor.
|
||||||
bit unused976b11;
|
bit unused976b11;
|
||||||
bit enableSoftwareKnock
|
bit enableSoftwareKnock
|
||||||
bit verboseVVTDecoding;enable vvt_details
|
bit verboseVVTDecoding;enable vvt_details
|
||||||
bit invertCamVVTSignal;get invertCamVVTSignal
|
bit invertCamVVTSignal;get invertCamVVTSignal
|
||||||
bit consumeObdSensors;+This property is useful if using rusEFI as TCM or BCM only\nenable consumeObdSensors
|
bit consumeObdSensors;+This property is useful if using rusEFI as TCM or BCM only\nenable consumeObdSensors
|
||||||
bit knockBankCyl1,Channel 2,Channel 1;
|
bit knockBankCyl1,"Channel 2","Channel 1";
|
||||||
bit knockBankCyl2,Channel 2,Channel 1;
|
bit knockBankCyl2,"Channel 2","Channel 1";
|
||||||
bit knockBankCyl3,Channel 2,Channel 1;
|
bit knockBankCyl3,"Channel 2","Channel 1";
|
||||||
bit knockBankCyl4,Channel 2,Channel 1;
|
bit knockBankCyl4,"Channel 2","Channel 1";
|
||||||
bit knockBankCyl5,Channel 2,Channel 1;
|
bit knockBankCyl5,"Channel 2","Channel 1";
|
||||||
bit knockBankCyl6,Channel 2,Channel 1;
|
bit knockBankCyl6,"Channel 2","Channel 1";
|
||||||
bit knockBankCyl7,Channel 2,Channel 1;
|
bit knockBankCyl7,"Channel 2","Channel 1";
|
||||||
bit knockBankCyl8,Channel 2,Channel 1;
|
bit knockBankCyl8,"Channel 2","Channel 1";
|
||||||
bit knockBankCyl9,Channel 2,Channel 1;
|
bit knockBankCyl9,"Channel 2","Channel 1";
|
||||||
bit knockBankCyl10,Channel 2,Channel 1;
|
bit knockBankCyl10,"Channel 2","Channel 1";
|
||||||
bit knockBankCyl11,Channel 2,Channel 1;
|
bit knockBankCyl11,"Channel 2","Channel 1";
|
||||||
bit knockBankCyl12,Channel 2,Channel 1;
|
bit knockBankCyl12,"Channel 2","Channel 1";
|
||||||
bit tcuEnabled
|
bit tcuEnabled
|
||||||
bit unusedBit_251_29
|
bit unusedBit_251_29
|
||||||
|
|
||||||
|
@ -1107,7 +1107,7 @@ bit unused_1484_bit_31
|
||||||
|
|
||||||
int ignMathCalculateAtIndex;+At what trigger index should some ignition-related math be executed? This is a performance trick to reduce load on synchronization trigger callback.;"index", 1, 0, 0, 7000, 0
|
int ignMathCalculateAtIndex;+At what trigger index should some ignition-related math be executed? This is a performance trick to reduce load on synchronization trigger callback.;"index", 1, 0, 0, 7000, 0
|
||||||
|
|
||||||
// todo: start using these parameters!
|
! todo: start using these parameters!
|
||||||
int16_t acCutoffLowRpm;;"RPM", 1, 0, 1, 15000, 0
|
int16_t acCutoffLowRpm;;"RPM", 1, 0, 1, 15000, 0
|
||||||
int16_t acCutoffHighRpm;;"RPM", 1, 0, 1, 15000, 0
|
int16_t acCutoffHighRpm;;"RPM", 1, 0, 1, 15000, 0
|
||||||
int16_t acIdleRpmBump;;"RPM", 1, 0, 1, 15000, 0
|
int16_t acIdleRpmBump;;"RPM", 1, 0, 1, 15000, 0
|
||||||
|
@ -1230,7 +1230,7 @@ int16_t tps2Max;Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\
|
||||||
can_baudrate_e canBaudRate; set can_baudrate
|
can_baudrate_e canBaudRate; set can_baudrate
|
||||||
|
|
||||||
#define ve_override_e_enum "None", "MAP", "TPS"
|
#define ve_override_e_enum "None", "MAP", "TPS"
|
||||||
custom ve_override_e 1 bits, U08, @OFFSET@, [0:1] @@ve_override_e_enum@@
|
custom ve_override_e 1 bits, U08, @OFFSET@, [0:1], @@ve_override_e_enum@@
|
||||||
ve_override_e veOverrideMode;+Override the Y axis (load) value used for the VE table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this.
|
ve_override_e veOverrideMode;+Override the Y axis (load) value used for the VE table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this.
|
||||||
|
|
||||||
can_baudrate_e can2BaudRate;
|
can_baudrate_e can2BaudRate;
|
||||||
|
@ -1477,7 +1477,6 @@ tChargeMode_e tChargeMode;
|
||||||
|
|
||||||
int8_t[IGN_RPM_COUNT] knockBaseNoise;;"dB", 1.0, 0, -30.0, 0, 2
|
int8_t[IGN_RPM_COUNT] knockBaseNoise;;"dB", 1.0, 0, -30.0, 0, 2
|
||||||
|
|
||||||
! just a reminder that 'int' and 'float' are 4 bytes each
|
|
||||||
int[365] mainUnusedEnd;;"units", 1, 0, -20, 100, 0
|
int[365] mainUnusedEnd;;"units", 1, 0, -20, 100, 0
|
||||||
|
|
||||||
! end of engine_configuration_s
|
! end of engine_configuration_s
|
||||||
|
@ -1556,11 +1555,7 @@ ve_table_t veTable;
|
||||||
float[FUEL_LOAD_COUNT] veLoadBins;;"kPa", 1, 0.0, 0, 400.0, 2
|
float[FUEL_LOAD_COUNT] veLoadBins;;"kPa", 1, 0.0, 0, 400.0, 2
|
||||||
float[FUEL_RPM_COUNT] veRpmBins;;"RPM", 1, 0.0, 0, 18000.0, 2
|
float[FUEL_RPM_COUNT] veRpmBins;;"RPM", 1, 0.0, 0, 18000.0, 2
|
||||||
|
|
||||||
#if LAMBDA
|
|
||||||
lambda_table_t lambdaTable;
|
lambda_table_t lambdaTable;
|
||||||
#else
|
|
||||||
afr_table_t lambdaTable;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
float[FUEL_LOAD_COUNT] lambdaLoadBins;;"", 1, 0.0, 0, 500.0, 2
|
float[FUEL_LOAD_COUNT] lambdaLoadBins;;"", 1, 0.0, 0, 500.0, 2
|
||||||
float[FUEL_RPM_COUNT] lambdaRpmBins;;"RPM", 1, 0.0, 0, 18000.0, 2
|
float[FUEL_RPM_COUNT] lambdaRpmBins;;"RPM", 1, 0.0, 0, 18000.0, 2
|
||||||
|
@ -1757,7 +1752,7 @@ end_struct
|
||||||
#define CMD_TS_IGNITION_CATEGORY 18
|
#define CMD_TS_IGNITION_CATEGORY 18
|
||||||
#define CMD_TS_INJECTOR_CATEGORY 19
|
#define CMD_TS_INJECTOR_CATEGORY 19
|
||||||
#define CMD_TS_X14 20
|
#define CMD_TS_X14 20
|
||||||
// 0x16
|
! 0x16
|
||||||
#define CMD_TS_BENCH_CATEGORY 22
|
#define CMD_TS_BENCH_CATEGORY 22
|
||||||
#define CMD_TS_X17 23
|
#define CMD_TS_X17 23
|
||||||
#define CMD_TS_X18 24
|
#define CMD_TS_X18 24
|
||||||
|
@ -1836,58 +1831,58 @@ end_struct
|
||||||
|
|
||||||
|
|
||||||
#define TS_PROTOCOL "001"
|
#define TS_PROTOCOL "001"
|
||||||
// These commands are used by TunerStudio and the rusEfi console
|
! These commands are used by TunerStudio and the rusEfi console
|
||||||
// 0x4F ochGetCommand
|
! 0x4F ochGetCommand
|
||||||
#define TS_OUTPUT_COMMAND 'O'
|
#define TS_OUTPUT_COMMAND 'O'
|
||||||
// 0x53 queryCommand
|
! 0x53 queryCommand
|
||||||
#define TS_HELLO_COMMAND 'S'
|
#define TS_HELLO_COMMAND 'S'
|
||||||
// 0x6B
|
! 0x6B
|
||||||
#define TS_CRC_CHECK_COMMAND 'k'
|
#define TS_CRC_CHECK_COMMAND 'k'
|
||||||
// 0x52
|
! 0x52
|
||||||
#define TS_READ_COMMAND 'R'
|
#define TS_READ_COMMAND 'R'
|
||||||
// 0x47
|
! 0x47
|
||||||
#define TS_GET_TEXT 'G'
|
#define TS_GET_TEXT 'G'
|
||||||
// 0x45
|
! 0x45
|
||||||
#define TS_EXECUTE 'E'
|
#define TS_EXECUTE 'E'
|
||||||
#define TS_ONLINE_PROTOCOL 'z'
|
#define TS_ONLINE_PROTOCOL 'z'
|
||||||
// 0x39
|
! 0x39
|
||||||
#define TS_GET_STRUCT '9'
|
#define TS_GET_STRUCT '9'
|
||||||
#define TS_GET_COMPOSITE_BUFFER_DONE_DIFFERENTLY '8'
|
#define TS_GET_COMPOSITE_BUFFER_DONE_DIFFERENTLY '8'
|
||||||
|
|
||||||
#define TS_COMPOSITE_ENABLE 1
|
#define TS_COMPOSITE_ENABLE 1
|
||||||
#define TS_COMPOSITE_DISABLE 2
|
#define TS_COMPOSITE_DISABLE 2
|
||||||
|
|
||||||
// Performance tracing
|
! Performance tracing
|
||||||
#define TS_PERF_TRACE_BEGIN '_'
|
#define TS_PERF_TRACE_BEGIN '_'
|
||||||
#define TS_PERF_TRACE_GET_BUFFER 'b'
|
#define TS_PERF_TRACE_GET_BUFFER 'b'
|
||||||
|
|
||||||
// 0x50
|
! 0x50
|
||||||
#define TS_PAGE_COMMAND 'P'
|
#define TS_PAGE_COMMAND 'P'
|
||||||
// 0x46
|
! 0x46
|
||||||
#define TS_COMMAND_F 'F'
|
#define TS_COMMAND_F 'F'
|
||||||
// versionInfo
|
! versionInfo
|
||||||
#define TS_GET_FIRMWARE_VERSION 'V'
|
#define TS_GET_FIRMWARE_VERSION 'V'
|
||||||
// returns getFirmwareError(), works together with ind_hasFatalError
|
! returns getFirmwareError(), works together with ind_hasFatalError
|
||||||
#define TS_GET_CONFIG_ERROR 'e'
|
#define TS_GET_CONFIG_ERROR 'e'
|
||||||
|
|
||||||
|
|
||||||
// 0x57 pageValueWrite
|
! 0x57 pageValueWrite
|
||||||
#define TS_SINGLE_WRITE_COMMAND 'W'
|
#define TS_SINGLE_WRITE_COMMAND 'W'
|
||||||
// 0x43 pageChunkWrite
|
! 0x43 pageChunkWrite
|
||||||
#define TS_CHUNK_WRITE_COMMAND 'C'
|
#define TS_CHUNK_WRITE_COMMAND 'C'
|
||||||
// 0x42 burnCommand
|
! 0x42 burnCommand
|
||||||
#define TS_BURN_COMMAND 'B'
|
#define TS_BURN_COMMAND 'B'
|
||||||
// 0x77
|
! 0x77
|
||||||
#define TS_IO_TEST_COMMAND 'Z'
|
#define TS_IO_TEST_COMMAND 'Z'
|
||||||
|
|
||||||
#define TS_RESPONSE_OK 0
|
#define TS_RESPONSE_OK 0
|
||||||
#define TS_RESPONSE_BURN_OK 4
|
#define TS_RESPONSE_BURN_OK 4
|
||||||
#define TS_RESPONSE_COMMAND_OK 7
|
#define TS_RESPONSE_COMMAND_OK 7
|
||||||
|
|
||||||
// Engine Sniffer time stamp unit, in microseconds
|
! Engine Sniffer time stamp unit, in microseconds
|
||||||
#define ENGINE_SNIFFER_UNIT_US 10
|
#define ENGINE_SNIFFER_UNIT_US 10
|
||||||
|
|
||||||
// These commands are used exclusively by the rusEfi console
|
! These commands are used exclusively by the rusEfi console
|
||||||
#define TS_TEST_COMMAND 't' // 0x74
|
#define TS_TEST_COMMAND 't' // 0x74
|
||||||
|
|
||||||
#define TS_SD_R_COMMAND 'r'
|
#define TS_SD_R_COMMAND 'r'
|
||||||
|
@ -1901,7 +1896,7 @@ end_struct
|
||||||
#define TS_SD_PROTOCOL_REMOVE_FILE 6
|
#define TS_SD_PROTOCOL_REMOVE_FILE 6
|
||||||
#define TS_SD_PROTOCOL_FETCH_COMPRESSED 8
|
#define TS_SD_PROTOCOL_FETCH_COMPRESSED 8
|
||||||
|
|
||||||
// High speed logger commands
|
! High speed logger commands
|
||||||
#define TS_SET_LOGGER_SWITCH 'l'
|
#define TS_SET_LOGGER_SWITCH 'l'
|
||||||
#define TS_GET_LOGGER_GET_BUFFER 'L'
|
#define TS_GET_LOGGER_GET_BUFFER 'L'
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -49,8 +49,8 @@ public class ReaderState {
|
||||||
}
|
}
|
||||||
String[] bitNameParts = bitName.split(",");
|
String[] bitNameParts = bitName.split(",");
|
||||||
|
|
||||||
String trueName = bitNameParts.length > 1 ? bitNameParts[1] : null;
|
String trueName = bitNameParts.length > 1 ? bitNameParts[1].replaceAll("\"", "") : null;
|
||||||
String falseName = bitNameParts.length > 2 ? bitNameParts[2] : null;
|
String falseName = bitNameParts.length > 2 ? bitNameParts[2].replaceAll("\"", "") : null;
|
||||||
|
|
||||||
ConfigField bitField = new ConfigField(state, bitNameParts[0], comment, null, BOOLEAN_T, 0, null, false, false, null, -1, trueName, falseName);
|
ConfigField bitField = new ConfigField(state, bitNameParts[0], comment, null, BOOLEAN_T, 0, null, false, false, null, -1, trueName, falseName);
|
||||||
if (state.stack.isEmpty())
|
if (state.stack.isEmpty())
|
||||||
|
|
|
@ -15,7 +15,6 @@ public class TypesHelper {
|
||||||
private static final String FLOAT_T = "float";
|
private static final String FLOAT_T = "float";
|
||||||
private static final String INT_32_T = "int";
|
private static final String INT_32_T = "int";
|
||||||
private static final String UINT_32_T = "uint32_t";
|
private static final String UINT_32_T = "uint32_t";
|
||||||
private static final String EFITIMESEC_16_T = "efitimesec16_t";
|
|
||||||
|
|
||||||
public static int getElementSize(ReaderState state, String type) {
|
public static int getElementSize(ReaderState state, String type) {
|
||||||
Objects.requireNonNull(state);
|
Objects.requireNonNull(state);
|
||||||
|
@ -53,8 +52,7 @@ public class TypesHelper {
|
||||||
|
|
||||||
private static boolean isPrimitive2byte(String type) {
|
private static boolean isPrimitive2byte(String type) {
|
||||||
return type.equals(INT_16_T)
|
return type.equals(INT_16_T)
|
||||||
|| type.equals(UINT_16_T)
|
|| type.equals(UINT_16_T);
|
||||||
|| type.equals(EFITIMESEC_16_T);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean isPrimitive4byte(String type) {
|
private static boolean isPrimitive4byte(String type) {
|
||||||
|
@ -75,8 +73,6 @@ public class TypesHelper {
|
||||||
return "S16";
|
return "S16";
|
||||||
if (UINT_16_T.equals(type))
|
if (UINT_16_T.equals(type))
|
||||||
return "U16";
|
return "U16";
|
||||||
if (EFITIMESEC_16_T.equals(type))
|
|
||||||
return "U16";
|
|
||||||
if (INT8_T.equals(type))
|
if (INT8_T.equals(type))
|
||||||
return "S08";
|
return "S08";
|
||||||
if (UINT8_T.equals(type))
|
if (UINT8_T.equals(type))
|
||||||
|
|
|
@ -18,7 +18,7 @@ public class BitParsingTest {
|
||||||
|
|
||||||
String inputString = "struct pid_s\n" +
|
String inputString = "struct pid_s\n" +
|
||||||
ReaderState.BIT + " fieldName\n" +
|
ReaderState.BIT + " fieldName\n" +
|
||||||
ReaderState.BIT + " fieldName2,si,nada;comment\n" +
|
ReaderState.BIT + " fieldName2,\"si\",\"nada\";comment\n" +
|
||||||
"end_struct\n";
|
"end_struct\n";
|
||||||
BufferedReader reader = new BufferedReader(new StringReader(inputString));
|
BufferedReader reader = new BufferedReader(new StringReader(inputString));
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue