Merge branch 'master' into live-data-2021

This commit is contained in:
rusefillc 2021-10-14 14:05:54 -04:00
commit c515bd30dd
88 changed files with 413 additions and 3772 deletions

View File

@ -1,4 +1,4 @@
// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Tue Oct 12 20:09:43 UTC 2021
// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Thu Oct 14 04:52:21 UTC 2021
// by class com.rusefi.output.CHeaderConsumer
// begin
#pragma once
@ -4370,4 +4370,4 @@ struct persistent_config_s {
};
// end
// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Tue Oct 12 20:09:43 UTC 2021
// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Thu Oct 14 04:52:21 UTC 2021

View File

@ -1074,6 +1074,7 @@
#define launchTimingRetard_offset 320
#define launchTimingRpmRange_offset 1036
#define launchTpsTreshold_offset 1056
#define LDS_AC_STATE 12
#define LDS_ALTERNATOR_PID_STATE_INDEX 9
#define LDS_CJ125_PID_STATE_INDEX 10
#define LDS_ENGINE_STATE_INDEX 3
@ -1312,8 +1313,8 @@
#define showHumanReadableWarning_offset 976
#define showSdCardWarning_offset 76
#define SIGNATURE_BOARD hellen_cypress
#define SIGNATURE_DATE 2021.10.12
#define SIGNATURE_HASH 3086630221
#define SIGNATURE_DATE 2021.10.14
#define SIGNATURE_HASH 3733484042
#define silentTriggerError_offset 1464
#define slowAdcAlpha_offset 2088
#define sparkDwellRpmBins_offset 332
@ -1675,7 +1676,7 @@
#define ts_show_spi true
#define ts_show_trigger_comparator false
#define ts_show_tunerstudio_port true
#define TS_SIGNATURE "rusEFI 2021.10.12.hellen_cypress.3086630221"
#define TS_SIGNATURE "rusEFI 2021.10.14.hellen_cypress.3733484042"
#define TS_SINGLE_WRITE_COMMAND 'W'
#define TS_SINGLE_WRITE_COMMAND_char W
#define TS_TEST_COMMAND 't'

View File

@ -1,4 +1,4 @@
// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Tue Oct 12 20:09:40 UTC 2021
// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Thu Oct 14 04:52:19 UTC 2021
// by class com.rusefi.output.CHeaderConsumer
// begin
#pragma once
@ -4364,4 +4364,4 @@ struct persistent_config_s {
};
// end
// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Tue Oct 12 20:09:40 UTC 2021
// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Thu Oct 14 04:52:19 UTC 2021

View File

@ -1055,6 +1055,7 @@
#define launchTimingRetard_offset 320
#define launchTimingRpmRange_offset 1036
#define launchTpsTreshold_offset 1056
#define LDS_AC_STATE 12
#define LDS_ALTERNATOR_PID_STATE_INDEX 9
#define LDS_CJ125_PID_STATE_INDEX 10
#define LDS_ENGINE_STATE_INDEX 3
@ -1293,8 +1294,8 @@
#define showHumanReadableWarning_offset 976
#define showSdCardWarning_offset 76
#define SIGNATURE_BOARD kin
#define SIGNATURE_DATE 2021.10.12
#define SIGNATURE_HASH 1214247345
#define SIGNATURE_DATE 2021.10.14
#define SIGNATURE_HASH 556646134
#define silentTriggerError_offset 1464
#define slowAdcAlpha_offset 2088
#define sparkDwellRpmBins_offset 332
@ -1656,7 +1657,7 @@
#define ts_show_spi true
#define ts_show_trigger_comparator true
#define ts_show_tunerstudio_port true
#define TS_SIGNATURE "rusEFI 2021.10.12.kin.1214247345"
#define TS_SIGNATURE "rusEFI 2021.10.14.kin.556646134"
#define TS_SINGLE_WRITE_COMMAND 'W'
#define TS_SINGLE_WRITE_COMMAND_char W
#define TS_TEST_COMMAND 't'

View File

@ -1,4 +1,4 @@
// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on config/boards/subaru_eg33/config/gen_config.sh integration/rusefi_config.txt Tue Oct 12 20:09:46 UTC 2021
// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on config/boards/subaru_eg33/config/gen_config.sh integration/rusefi_config.txt Thu Oct 14 04:52:24 UTC 2021
// by class com.rusefi.output.CHeaderConsumer
// begin
#pragma once
@ -4370,4 +4370,4 @@ struct persistent_config_s {
};
// end
// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on config/boards/subaru_eg33/config/gen_config.sh integration/rusefi_config.txt Tue Oct 12 20:09:46 UTC 2021
// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on config/boards/subaru_eg33/config/gen_config.sh integration/rusefi_config.txt Thu Oct 14 04:52:24 UTC 2021

View File

@ -1074,6 +1074,7 @@
#define launchTimingRetard_offset 320
#define launchTimingRpmRange_offset 1036
#define launchTpsTreshold_offset 1056
#define LDS_AC_STATE 12
#define LDS_ALTERNATOR_PID_STATE_INDEX 9
#define LDS_CJ125_PID_STATE_INDEX 10
#define LDS_ENGINE_STATE_INDEX 3
@ -1313,8 +1314,8 @@
#define showHumanReadableWarning_offset 976
#define showSdCardWarning_offset 76
#define SIGNATURE_BOARD subaru_eg33_f7
#define SIGNATURE_DATE 2021.10.12
#define SIGNATURE_HASH 1611402750
#define SIGNATURE_DATE 2021.10.14
#define SIGNATURE_HASH 159269561
#define silentTriggerError_offset 1464
#define slowAdcAlpha_offset 2088
#define sparkDwellRpmBins_offset 332
@ -1676,7 +1677,7 @@
#define ts_show_spi true
#define ts_show_trigger_comparator false
#define ts_show_tunerstudio_port false
#define TS_SIGNATURE "rusEFI 2021.10.12.subaru_eg33_f7.1611402750"
#define TS_SIGNATURE "rusEFI 2021.10.14.subaru_eg33_f7.159269561"
#define TS_SINGLE_WRITE_COMMAND 'W'
#define TS_SINGLE_WRITE_COMMAND_char W
#define TS_TEST_COMMAND 't'

View File

@ -1,4 +1,4 @@
// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Oct 13 01:17:35 UTC 2021
// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 04:52:16 UTC 2021
// by class com.rusefi.output.FileFsioSettingsConsumer
FSIO_SETTING_ACIDLEEXTRAOFFSET = 1000,

View File

@ -1,4 +1,4 @@
// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Oct 13 01:17:35 UTC 2021
// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 04:52:16 UTC 2021
// by class com.rusefi.output.FileFsioSettingsConsumer
case FSIO_SETTING_ACIDLEEXTRAOFFSET:

View File

@ -1,4 +1,4 @@
// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Oct 13 01:17:35 UTC 2021
// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 04:52:16 UTC 2021
// by class com.rusefi.output.FileFsioSettingsConsumer
static LENameOrdinalPair leacIdleExtraOffset(FSIO_SETTING_ACIDLEEXTRAOFFSET, "cfg_acIdleExtraOffset");

View File

@ -1,4 +1,4 @@
// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Oct 13 01:17:35 UTC 2021
// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 04:52:16 UTC 2021
// by class com.rusefi.output.FileFsioSettingsConsumer
case FSIO_SETTING_ACIDLEEXTRAOFFSET:

View File

@ -12,7 +12,7 @@
#define acSwitch_offset 1469
#define acSwitchMode_offset 4516
#define adc_channel_e_auto_enum "EFI_ADC_NONE", "EFI_ADC_0", "EFI_ADC_1", "EFI_ADC_2", "EFI_ADC_3", "EFI_ADC_4", "EFI_ADC_5", "EFI_ADC_6", "EFI_ADC_7", "EFI_ADC_8", "EFI_ADC_9", "EFI_ADC_10", "EFI_ADC_11", "EFI_ADC_12", "EFI_ADC_13", "EFI_ADC_14", "EFI_ADC_15", "EFI_ADC_LAST_CHANNEL", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "EFI_ADC_ERROR"
#define adc_channel_e_enum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","TPS 2","INVALID","Map Sensor K31","INVALID","CLT","IAT","PPS 2"
#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_mode_e_auto_enum "ADC_OFF", "ADC_SLOW", "ADC_FAST"
#define ADC_CHANNEL_NONE 0
#define adcVcc_offset 548
@ -153,7 +153,7 @@
#define boostTpsBins_offset 6392
#define boostType_e_auto_enum "OPEN_LOOP", "CLOSED_LOOP"
#define boostType_offset 1012
#define brain_input_pin_e_enum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Cam - K62","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Crank - K17","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Cam - K15"
#define brain_input_pin_e_enum "NONE", "INVALID", "INVALID", "PA1", "PA2", "PA3", "INVALID", "PA5", "PA6", "PA7", "PA8", "PA9", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PA15", "INVALID", "INVALID", "INVALID", "PB3", "PB4", "PB5", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PC6", "PC7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PE5", "PE6", "INVALID", "INVALID", "PE9", "INVALID", "PE11", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
#define brain_pin_e_auto_enum "GPIO_UNASSIGNED", "GPIO_INVALID", "GPIOA_0", "GPIOA_1", "GPIOA_2", "GPIOA_3", "GPIOA_4", "GPIOA_5", "GPIOA_6", "GPIOA_7", "GPIOA_8", "GPIOA_9", "GPIOA_10", "GPIOA_11", "GPIOA_12", "GPIOA_13", "GPIOA_14", "GPIOA_15", "GPIOB_0", "GPIOB_1", "GPIOB_2", "GPIOB_3", "GPIOB_4", "GPIOB_5", "GPIOB_6", "GPIOB_7", "GPIOB_8", "GPIOB_9", "GPIOB_10", "GPIOB_11", "GPIOB_12", "GPIOB_13", "GPIOB_14", "GPIOB_15", "GPIOC_0", "GPIOC_1", "GPIOC_2", "GPIOC_3", "GPIOC_4", "GPIOC_5", "GPIOC_6", "GPIOC_7", "GPIOC_8", "GPIOC_9", "GPIOC_10", "GPIOC_11", "GPIOC_12", "GPIOC_13", "GPIOC_14", "GPIOC_15", "GPIOD_0", "GPIOD_1", "GPIOD_2", "GPIOD_3", "GPIOD_4", "GPIOD_5", "GPIOD_6", "GPIOD_7", "GPIOD_8", "GPIOD_9", "GPIOD_10", "GPIOD_11", "GPIOD_12", "GPIOD_13", "GPIOD_14", "GPIOD_15", "GPIOE_0", "GPIOE_1", "GPIOE_2", "GPIOE_3", "GPIOE_4", "GPIOE_5", "GPIOE_6", "GPIOE_7", "GPIOE_8", "GPIOE_9", "GPIOE_10", "GPIOE_11", "GPIOE_12", "GPIOE_13", "GPIOE_14", "GPIOE_15", "GPIOF_0", "GPIOF_1", "GPIOF_2", "GPIOF_3", "GPIOF_4", "GPIOF_5", "GPIOF_6", "GPIOF_7", "GPIOF_8", "GPIOF_9", "GPIOF_10", "GPIOF_11", "GPIOF_12", "GPIOF_13", "GPIOF_14", "GPIOF_15", "GPIOG_0", "GPIOG_1", "GPIOG_2", "GPIOG_3", "GPIOG_4", "GPIOG_5", "GPIOG_6", "GPIOG_7", "GPIOG_8", "GPIOG_9", "GPIOG_10", "GPIOG_11", "GPIOG_12", "GPIOG_13", "GPIOG_14", "GPIOG_15", "GPIOH_0", "GPIOH_1", "GPIOH_2", "GPIOH_3", "GPIOH_4", "GPIOH_5", "GPIOH_6", "GPIOH_7", "GPIOH_8", "GPIOH_9", "GPIOH_10", "GPIOH_11", "GPIOH_12", "GPIOH_13", "GPIOH_14", "GPIOH_15", "GPIOI_0", "GPIOI_1", "GPIOI_2", "GPIOI_3", "GPIOI_4", "GPIOI_5", "GPIOI_6", "GPIOI_7", "GPIOI_8", "GPIOI_9", "GPIOI_10", "GPIOI_11", "GPIOI_12", "GPIOI_13", "GPIOI_14", "GPIOI_15", "MC33972_PIN_1", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "MC33972_PIN_21", "MC33972_PIN_22", "TLE8888_PIN_1", "TLE8888_PIN_2", "TLE8888_PIN_3", "TLE8888_PIN_4", "TLE8888_PIN_5", "TLE8888_PIN_6", "TLE8888_PIN_7", "TLE8888_PIN_8", "TLE8888_PIN_9", "TLE8888_PIN_10", "TLE8888_PIN_11", "TLE8888_PIN_12", "TLE8888_PIN_13", "TLE8888_PIN_14", "TLE8888_PIN_15", "TLE8888_PIN_16", "TLE8888_PIN_17", "TLE8888_PIN_18", "TLE8888_PIN_19", "TLE8888_PIN_20", "TLE8888_PIN_21", "TLE8888_PIN_22", "TLE8888_PIN_23", "TLE8888_PIN_24", "TLE8888_PIN_25", "TLE8888_PIN_26", "TLE8888_PIN_27", "TLE8888_PIN_28", "TLE8888_PIN_MR", "TLE8888_PIN_KEY", "TLE8888_PIN_WAKE", "TLE6240_PIN_1", "TLE6240_PIN_2", "TLE6240_PIN_3", "TLE6240_PIN_4", "TLE6240_PIN_5", "TLE6240_PIN_6", "TLE6240_PIN_7", "TLE6240_PIN_8", "TLE6240_PIN_9", "TLE6240_PIN_10", "TLE6240_PIN_11", "TLE6240_PIN_12", "TLE6240_PIN_13", "TLE6240_PIN_14", "TLE6240_PIN_15", "TLE6240_PIN_16"
#define brain_pin_e_enum "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
#define brakePedalPin_offset 2608
@ -1074,6 +1074,7 @@
#define launchTimingRetard_offset 320
#define launchTimingRpmRange_offset 1036
#define launchTpsTreshold_offset 1056
#define LDS_AC_STATE 12
#define LDS_ALTERNATOR_PID_STATE_INDEX 9
#define LDS_CJ125_PID_STATE_INDEX 10
#define LDS_ENGINE_STATE_INDEX 3
@ -1124,7 +1125,7 @@
#define mafDecoding_offset 10784
#define mafDecodingBins_offset 11808
#define mafSensorType_offset 948
#define MAIN_HELP_URL "https://rusefi.com/s/hellen121nissan"
#define MAIN_HELP_URL "http://www.rusefi.com/"
#define mainRelayPin_offset 706
#define mainRelayPinMode_offset 752
#define mainUnusedEnd_offset 4624
@ -1220,7 +1221,7 @@
#define oilPressure_value2_offset 2708
#define onOffAlternatorLogic_offset 744
#define operation_mode_e_auto_enum "OM_NONE", "FOUR_STROKE_CRANK_SENSOR", "FOUR_STROKE_CAM_SENSOR", "TWO_STROKE", "FOUR_STROKE_SYMMETRICAL_CRANK_SENSOR", "FOUR_STROKE_THREE_TIMES_CRANK_SENSOR"
#define output_pin_e_enum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INJ_4 k28","INJ_3 k27","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INJ_1 k25","INJ_2 k26","INVALID","INVALID","INVALID","INVALID","Fuel Pump K70","Main Relay K64"
#define output_pin_e_enum "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15", "MC33972_1", "MC33972_2", "MC33972_3", "MC33972_4", "MC33972_5", "MC33972_6", "MC33972_7", "MC33972_8", "MC33972_9", "MC33972_10", "MC33972_11", "MC33972_12", "MC33972_13", "MC33972_14", "MC33972_15", "MC33972_16", "MC33972_17", "MC33972_18", "MC33972_19", "MC33972_20", "MC33972_21", "MC33972_22", "TLE8888_1", "TLE8888_2", "TLE8888_3", "TLE8888_4", "TLE8888_5", "TLE8888_6", "TLE8888_7", "TLE8888_8", "TLE8888_9", "TLE8888_10", "TLE8888_11", "TLE8888_12", "TLE8888_13", "TLE8888_14", "TLE8888_15", "TLE8888_16", "TLE8888_17", "TLE8888_18", "TLE8888_19", "TLE8888_20", "TLE8888_21", "TLE8888_22", "TLE8888_23", "TLE8888_24", "TLE8888_25", "TLE8888_26", "TLE8888_27", "TLE8888_28", "INVALID", "INVALID", "INVALID", "TLE6240_1", "TLE6240_2", "TLE6240_3", "TLE6240_4", "TLE6240_5", "TLE6240_6", "TLE6240_7", "TLE6240_8", "TLE6240_9", "TLE6240_10", "TLE6240_11", "TLE6240_12", "TLE6240_13", "TLE6240_14", "TLE6240_15", "TLE6240_16", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
#define overrideCrankingIacSetting_offset 1476
#define overrideTriggerGaps_offset 76
#define PACK_ADD_TEMPERATURE 40
@ -1307,16 +1308,13 @@
#define servoOutputPins6_offset 3145
#define servoOutputPins7_offset 3146
#define servoOutputPins8_offset 3147
#define show_Frankenso_presets false
#define show_Hellen_hyundai_154 true
#define show_microRusEFI_presets false
#define show_Proteus_presets false
#define show_test_presets false
#define show_Frankenso_presets true
#define show_test_presets true
#define showHumanReadableWarning_offset 976
#define showSdCardWarning_offset 76
#define SIGNATURE_BOARD hellen154hyundai
#define SIGNATURE_DATE 2021.10.13
#define SIGNATURE_HASH 547833572
#define SIGNATURE_BOARD all
#define SIGNATURE_DATE 2021.10.14
#define SIGNATURE_HASH 2633279962
#define silentTriggerError_offset 1464
#define slowAdcAlpha_offset 2088
#define sparkDwellRpmBins_offset 332
@ -1657,28 +1655,28 @@
#define TS_RESPONSE_UNRECOGNIZED_COMMAND 0x83
#define TS_SET_LOGGER_SWITCH 'l'
#define TS_SET_LOGGER_SWITCH_char l
#define ts_show_analog_divider false
#define ts_show_analog_divider true
#define ts_show_auxserial_pins true
#define ts_show_can2 false
#define ts_show_can_pins false
#define ts_show_cj125 false
#define ts_show_egt false
#define ts_show_can2 true
#define ts_show_can_pins true
#define ts_show_cj125 true
#define ts_show_egt true
#define ts_show_etb true
#define ts_show_etb_pins false
#define ts_show_etb_pins true
#define ts_show_full_pinout true
#define ts_show_gps false
#define ts_show_hardware_simulator false
#define ts_show_hip9011 false
#define ts_show_joystick false
#define ts_show_lcd false
#define ts_show_gps true
#define ts_show_hardware_simulator true
#define ts_show_hip9011 true
#define ts_show_joystick true
#define ts_show_lcd true
#define ts_show_main_relay true
#define ts_show_main_relay_microRusEFI_message false
#define ts_show_sd_card true
#define ts_show_software_knock true
#define ts_show_software_knock false
#define ts_show_spi true
#define ts_show_trigger_comparator false
#define ts_show_tunerstudio_port false
#define TS_SIGNATURE "rusEFI 2021.10.13.hellen154hyundai.547833572"
#define ts_show_tunerstudio_port true
#define TS_SIGNATURE "rusEFI 2021.10.14.all.2633279962"
#define TS_SINGLE_WRITE_COMMAND 'W'
#define TS_SINGLE_WRITE_COMMAND_char W
#define TS_TEST_COMMAND 't'

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD all
#define SIGNATURE_DATE 2021.10.14
#define SIGNATURE_HASH 3707093821
#define TS_SIGNATURE "rusEFI 2021.10.14.all.3707093821"
#define SIGNATURE_HASH 2633279962
#define TS_SIGNATURE "rusEFI 2021.10.14.all.2633279962"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD atlas
#define SIGNATURE_DATE 2021.10.14
#define SIGNATURE_HASH 3707093821
#define TS_SIGNATURE "rusEFI 2021.10.14.atlas.3707093821"
#define SIGNATURE_HASH 2633279962
#define TS_SIGNATURE "rusEFI 2021.10.14.atlas.2633279962"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD f429-discovery
#define SIGNATURE_DATE 2021.10.14
#define SIGNATURE_HASH 3707093821
#define TS_SIGNATURE "rusEFI 2021.10.14.f429-discovery.3707093821"
#define SIGNATURE_HASH 2633279962
#define TS_SIGNATURE "rusEFI 2021.10.14.f429-discovery.2633279962"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD frankenso_na6
#define SIGNATURE_DATE 2021.10.14
#define SIGNATURE_HASH 2798098132
#define TS_SIGNATURE "rusEFI 2021.10.14.frankenso_na6.2798098132"
#define SIGNATURE_HASH 3871800371
#define TS_SIGNATURE "rusEFI 2021.10.14.frankenso_na6.3871800371"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD hellen-nb1
#define SIGNATURE_DATE 2021.10.14
#define SIGNATURE_HASH 1327966044
#define TS_SIGNATURE "rusEFI 2021.10.14.hellen-nb1.1327966044"
#define SIGNATURE_HASH 254168507
#define TS_SIGNATURE "rusEFI 2021.10.14.hellen-nb1.254168507"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD hellen121nissan
#define SIGNATURE_DATE 2021.10.14
#define SIGNATURE_HASH 1459919743
#define TS_SIGNATURE "rusEFI 2021.10.14.hellen121nissan.1459919743"
#define SIGNATURE_HASH 386265496
#define TS_SIGNATURE "rusEFI 2021.10.14.hellen121nissan.386265496"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD hellen121vag
#define SIGNATURE_DATE 2021.10.14
#define SIGNATURE_HASH 2400789371
#define TS_SIGNATURE "rusEFI 2021.10.14.hellen121vag.2400789371"
#define SIGNATURE_HASH 3474475420
#define TS_SIGNATURE "rusEFI 2021.10.14.hellen121vag.3474475420"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD hellen128
#define SIGNATURE_DATE 2021.10.14
#define SIGNATURE_HASH 183884781
#define TS_SIGNATURE "rusEFI 2021.10.14.hellen128.183884781"
#define SIGNATURE_HASH 1257550090
#define TS_SIGNATURE "rusEFI 2021.10.14.hellen128.1257550090"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD hellen154hyundai
#define SIGNATURE_DATE 2021.10.14
#define SIGNATURE_HASH 3703220828
#define TS_SIGNATURE "rusEFI 2021.10.14.hellen154hyundai.3703220828"
#define SIGNATURE_HASH 2629550267
#define TS_SIGNATURE "rusEFI 2021.10.14.hellen154hyundai.2629550267"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD hellen72
#define SIGNATURE_DATE 2021.10.14
#define SIGNATURE_HASH 3126895386
#define TS_SIGNATURE "rusEFI 2021.10.14.hellen72.3126895386"
#define SIGNATURE_HASH 4200712701
#define TS_SIGNATURE "rusEFI 2021.10.14.hellen72.4200712701"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD hellen88bmw
#define SIGNATURE_DATE 2021.10.14
#define SIGNATURE_HASH 712327120
#define TS_SIGNATURE "rusEFI 2021.10.14.hellen88bmw.712327120"
#define SIGNATURE_HASH 1786008887
#define TS_SIGNATURE "rusEFI 2021.10.14.hellen88bmw.1786008887"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD hellenNA6
#define SIGNATURE_DATE 2021.10.14
#define SIGNATURE_HASH 708815569
#define TS_SIGNATURE "rusEFI 2021.10.14.hellenNA6.708815569"
#define SIGNATURE_HASH 1782497334
#define TS_SIGNATURE "rusEFI 2021.10.14.hellenNA6.1782497334"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD hellen_cypress
#define SIGNATURE_DATE 2021.10.14
#define SIGNATURE_HASH 2659784941
#define TS_SIGNATURE "rusEFI 2021.10.14.hellen_cypress.2659784941"
#define SIGNATURE_HASH 3733484042
#define TS_SIGNATURE "rusEFI 2021.10.14.hellen_cypress.3733484042"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD kin
#define SIGNATURE_DATE 2021.10.14
#define SIGNATURE_HASH 1630327825
#define TS_SIGNATURE "rusEFI 2021.10.14.kin.1630327825"
#define SIGNATURE_HASH 556646134
#define TS_SIGNATURE "rusEFI 2021.10.14.kin.556646134"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD mre_f4
#define SIGNATURE_DATE 2021.10.14
#define SIGNATURE_HASH 1415959721
#define TS_SIGNATURE "rusEFI 2021.10.14.mre_f4.1415959721"
#define SIGNATURE_HASH 342146638
#define TS_SIGNATURE "rusEFI 2021.10.14.mre_f4.342146638"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD mre_f7
#define SIGNATURE_DATE 2021.10.14
#define SIGNATURE_HASH 1415959721
#define TS_SIGNATURE "rusEFI 2021.10.14.mre_f7.1415959721"
#define SIGNATURE_HASH 342146638
#define TS_SIGNATURE "rusEFI 2021.10.14.mre_f7.342146638"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD prometheus_405
#define SIGNATURE_DATE 2021.10.14
#define SIGNATURE_HASH 2350848731
#define TS_SIGNATURE "rusEFI 2021.10.14.prometheus_405.2350848731"
#define SIGNATURE_HASH 3424546876
#define TS_SIGNATURE "rusEFI 2021.10.14.prometheus_405.3424546876"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD prometheus_469
#define SIGNATURE_DATE 2021.10.14
#define SIGNATURE_HASH 2350848731
#define TS_SIGNATURE "rusEFI 2021.10.14.prometheus_469.2350848731"
#define SIGNATURE_HASH 3424546876
#define TS_SIGNATURE "rusEFI 2021.10.14.prometheus_469.3424546876"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD proteus_f4
#define SIGNATURE_DATE 2021.10.14
#define SIGNATURE_HASH 4105321722
#define TS_SIGNATURE "rusEFI 2021.10.14.proteus_f4.4105321722"
#define SIGNATURE_HASH 3031651869
#define TS_SIGNATURE "rusEFI 2021.10.14.proteus_f4.3031651869"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD proteus_f7
#define SIGNATURE_DATE 2021.10.14
#define SIGNATURE_HASH 4105321722
#define TS_SIGNATURE "rusEFI 2021.10.14.proteus_f7.4105321722"
#define SIGNATURE_HASH 3031651869
#define TS_SIGNATURE "rusEFI 2021.10.14.proteus_f7.3031651869"

View File

@ -4,5 +4,5 @@
#define SIGNATURE_BOARD subaru_eg33_f7
#define SIGNATURE_DATE 2021.10.14
#define SIGNATURE_HASH 1233070174
#define TS_SIGNATURE "rusEFI 2021.10.14.subaru_eg33_f7.1233070174"
#define SIGNATURE_HASH 159269561
#define TS_SIGNATURE "rusEFI 2021.10.14.subaru_eg33_f7.159269561"

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.14.all.3707093821"
signature = "rusEFI 2021.10.14.all.2633279962"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.14.all.3707093821" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.14.all.2633279962" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -77,7 +77,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 03:58:04 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 04:52:16 UTC 2021
pageSize = 20000
page = 1

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.14.atlas.3707093821"
signature = "rusEFI 2021.10.14.atlas.2633279962"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.14.atlas.3707093821" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.14.atlas.2633279962" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -77,7 +77,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 03:58:01 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 04:52:14 UTC 2021
pageSize = 20000
page = 1

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.14.f429-discovery.3707093821"
signature = "rusEFI 2021.10.14.f429-discovery.2633279962"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.14.f429-discovery.3707093821" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.14.f429-discovery.2633279962" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -77,7 +77,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 03:57:19 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 04:51:32 UTC 2021
pageSize = 20000
page = 1

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.14.frankenso_na6.2798098132"
signature = "rusEFI 2021.10.14.frankenso_na6.3871800371"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.14.frankenso_na6.2798098132" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.14.frankenso_na6.3871800371" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -77,7 +77,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 03:57:48 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 04:52:00 UTC 2021
pageSize = 20000
page = 1

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.14.hellen-nb1.1327966044"
signature = "rusEFI 2021.10.14.hellen-nb1.254168507"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.14.hellen-nb1.1327966044" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.14.hellen-nb1.254168507" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -77,7 +77,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 03:57:38 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 04:51:50 UTC 2021
pageSize = 20000
page = 1

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.14.hellen121nissan.1459919743"
signature = "rusEFI 2021.10.14.hellen121nissan.386265496"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.14.hellen121nissan.1459919743" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.14.hellen121nissan.386265496" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -77,7 +77,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 03:57:27 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 04:51:39 UTC 2021
pageSize = 20000
page = 1

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.14.hellen121vag.2400789371"
signature = "rusEFI 2021.10.14.hellen121vag.3474475420"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.14.hellen121vag.2400789371" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.14.hellen121vag.3474475420" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -77,7 +77,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 03:57:25 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 04:51:37 UTC 2021
pageSize = 20000
page = 1

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.14.hellen128.183884781"
signature = "rusEFI 2021.10.14.hellen128.1257550090"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.14.hellen128.183884781" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.14.hellen128.1257550090" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -77,7 +77,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 03:57:22 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 04:51:34 UTC 2021
pageSize = 20000
page = 1

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.14.hellen154hyundai.3703220828"
signature = "rusEFI 2021.10.14.hellen154hyundai.2629550267"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.14.hellen154hyundai.3703220828" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.14.hellen154hyundai.2629550267" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -77,7 +77,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 03:57:30 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 04:51:42 UTC 2021
pageSize = 20000
page = 1

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.14.hellen72.3126895386"
signature = "rusEFI 2021.10.14.hellen72.4200712701"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.14.hellen72.3126895386" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.14.hellen72.4200712701" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -77,7 +77,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 03:57:35 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 04:51:47 UTC 2021
pageSize = 20000
page = 1

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.14.hellen88bmw.712327120"
signature = "rusEFI 2021.10.14.hellen88bmw.1786008887"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.14.hellen88bmw.712327120" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.14.hellen88bmw.1786008887" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -77,7 +77,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 03:57:33 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 04:51:44 UTC 2021
pageSize = 20000
page = 1

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.14.hellenNA6.708815569"
signature = "rusEFI 2021.10.14.hellenNA6.1782497334"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.14.hellenNA6.708815569" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.14.hellenNA6.1782497334" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -77,7 +77,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 03:57:40 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 04:51:52 UTC 2021
pageSize = 20000
page = 1

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.14.hellen_cypress.2659784941"
signature = "rusEFI 2021.10.14.hellen_cypress.3733484042"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.14.hellen_cypress.2659784941" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.14.hellen_cypress.3733484042" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -77,7 +77,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Thu Oct 14 03:58:09 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Thu Oct 14 04:52:21 UTC 2021
pageSize = 20000
page = 1

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.14.kin.1630327825"
signature = "rusEFI 2021.10.14.kin.556646134"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.14.kin.1630327825" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.14.kin.556646134" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -77,7 +77,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Thu Oct 14 03:58:06 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Thu Oct 14 04:52:19 UTC 2021
pageSize = 19972
page = 1

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.14.mre_f4.1415959721"
signature = "rusEFI 2021.10.14.mre_f4.342146638"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.14.mre_f4.1415959721" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.14.mre_f4.342146638" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -77,7 +77,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 03:57:46 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 04:51:57 UTC 2021
pageSize = 20000
page = 1

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.14.mre_f7.1415959721"
signature = "rusEFI 2021.10.14.mre_f7.342146638"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.14.mre_f7.1415959721" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.14.mre_f7.342146638" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -77,7 +77,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 03:57:43 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 04:51:55 UTC 2021
pageSize = 20000
page = 1

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.14.prometheus_405.2350848731"
signature = "rusEFI 2021.10.14.prometheus_405.3424546876"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.14.prometheus_405.2350848731" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.14.prometheus_405.3424546876" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -77,7 +77,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 03:57:53 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 04:52:05 UTC 2021
pageSize = 20000
page = 1

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.14.prometheus_469.2350848731"
signature = "rusEFI 2021.10.14.prometheus_469.3424546876"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.14.prometheus_469.2350848731" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.14.prometheus_469.3424546876" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -77,7 +77,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 03:57:51 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 04:52:03 UTC 2021
pageSize = 20000
page = 1

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.14.proteus_f4.4105321722"
signature = "rusEFI 2021.10.14.proteus_f4.3031651869"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.14.proteus_f4.4105321722" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.14.proteus_f4.3031651869" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -77,7 +77,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 03:57:58 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 04:52:11 UTC 2021
pageSize = 20000
page = 1

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.14.proteus_f7.4105321722"
signature = "rusEFI 2021.10.14.proteus_f7.3031651869"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.14.proteus_f7.4105321722" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.14.proteus_f7.3031651869" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -77,7 +77,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 03:57:56 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 04:52:08 UTC 2021
pageSize = 20000
page = 1

View File

@ -33,12 +33,12 @@ enable2ndByteCanID = false
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = "rusEFI 2021.10.14.subaru_eg33_f7.1233070174"
signature = "rusEFI 2021.10.14.subaru_eg33_f7.159269561"
[TunerStudio]
queryCommand = "S"
versionInfo = "V" ; firmwave version for title bar.
signature = "rusEFI 2021.10.14.subaru_eg33_f7.1233070174" ; signature is expected to be 7 or more characters.
signature = "rusEFI 2021.10.14.subaru_eg33_f7.159269561" ; signature is expected to be 7 or more characters.
[Constants]
; new packet serial format with CRC
@ -77,7 +77,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on config/boards/subaru_eg33/config/gen_config.sh integration/rusefi_config.txt Thu Oct 14 03:58:11 UTC 2021
; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on config/boards/subaru_eg33/config/gen_config.sh integration/rusefi_config.txt Thu Oct 14 04:52:24 UTC 2021
pageSize = 20000
page = 1

View File

@ -1,6 +1,6 @@
package com.rusefi.config.generated;
// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Oct 13 01:17:35 UTC 2021
// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 14 04:52:16 UTC 2021
// by class com.rusefi.output.FileJavaFieldsConsumer
import com.rusefi.config.*;
@ -1042,6 +1042,7 @@ public class Fields {
public static final int launchTimingRetard_offset = 320;
public static final int launchTimingRpmRange_offset = 1036;
public static final int launchTpsTreshold_offset = 1056;
public static final int LDS_AC_STATE = 12;
public static final int LDS_ALTERNATOR_PID_STATE_INDEX = 9;
public static final int LDS_CJ125_PID_STATE_INDEX = 10;
public static final int LDS_ENGINE_STATE_INDEX = 3;
@ -1089,7 +1090,7 @@ public class Fields {
public static final int mafDecoding_offset = 10784;
public static final int mafDecodingBins_offset = 11808;
public static final int mafSensorType_offset = 948;
public static final String MAIN_HELP_URL = "https://rusefi.com/s/hellen121nissan";
public static final String MAIN_HELP_URL = "http://www.rusefi.com/";
public static final int mainRelayPin_offset = 706;
public static final int mainRelayPinMode_offset = 752;
public static final int mainUnusedEnd_offset = 4624;
@ -1262,7 +1263,6 @@ public class Fields {
public static final int servoOutputPins8_offset = 3147;
public static final int showHumanReadableWarning_offset = 976;
public static final int showSdCardWarning_offset = 76;
public static final int SIGNATURE_HASH = 547833572;
public static final int silentTriggerError_offset = 1464;
public static final int slowAdcAlpha_offset = 2088;
public static final int sparkDwellRpmBins_offset = 332;
@ -1573,7 +1573,7 @@ public class Fields {
public static final int TS_RESPONSE_UNDERRUN = 0x80;
public static final int TS_RESPONSE_UNRECOGNIZED_COMMAND = 0x83;
public static final char TS_SET_LOGGER_SWITCH = 'l';
public static final String TS_SIGNATURE = "rusEFI 2021.10.13.hellen154hyundai.547833572";
public static final String TS_SIGNATURE = "rusEFI 2021.10.14.all.2633279962";
public static final char TS_SINGLE_WRITE_COMMAND = 'W';
public static final char TS_TEST_COMMAND = 't';
public static final int TT_TT_1_16 = 50;
@ -1858,7 +1858,7 @@ public class Fields {
public static final Field MAP_SENSOR_LOWVALUE = Field.create("MAP_SENSOR_LOWVALUE", 236, FieldType.FLOAT);
public static final Field MAP_SENSOR_HIGHVALUE = Field.create("MAP_SENSOR_HIGHVALUE", 240, FieldType.FLOAT);
public static final Field MAP_SENSOR_TYPE = Field.create("MAP_SENSOR_TYPE", 244, FieldType.INT);
public static final String[] adc_channel_e = {"NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","TPS 2","INVALID","Map Sensor K31","INVALID","CLT","IAT","PPS 2"};
public static final String[] adc_channel_e = {"Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5"};
public static final Field MAP_SENSOR_HWCHANNEL = Field.create("MAP_SENSOR_HWCHANNEL", 248, FieldType.INT8, adc_channel_e);
public static final Field CLT_TEMPC_1 = Field.create("CLT_TEMPC_1", 252, FieldType.FLOAT);
public static final Field CLT_TEMPC_2 = Field.create("CLT_TEMPC_2", 256, FieldType.FLOAT);
@ -1961,7 +1961,7 @@ public class Fields {
public static final Field GLOBALFUELCORRECTION = Field.create("GLOBALFUELCORRECTION", 544, FieldType.FLOAT);
public static final Field ADCVCC = Field.create("ADCVCC", 548, FieldType.FLOAT);
public static final Field UNUSED552 = Field.create("UNUSED552", 552, FieldType.FLOAT);
public static final String[] brain_input_pin_e = {"NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Cam - K62","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Crank - K17","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Cam - K15"};
public static final String[] brain_input_pin_e = {"NONE", "INVALID", "INVALID", "PA1", "PA2", "PA3", "INVALID", "PA5", "PA6", "PA7", "PA8", "PA9", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PA15", "INVALID", "INVALID", "INVALID", "PB3", "PB4", "PB5", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PC6", "PC7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PE5", "PE6", "INVALID", "INVALID", "PE9", "INVALID", "PE11", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"};
public static final Field CAMINPUTS1 = Field.create("CAMINPUTS1", 556, FieldType.INT8, brain_input_pin_e);
public static final Field CAMINPUTS2 = Field.create("CAMINPUTS2", 557, FieldType.INT8, brain_input_pin_e);
public static final Field CAMINPUTS3 = Field.create("CAMINPUTS3", 558, FieldType.INT8, brain_input_pin_e);
@ -1983,7 +1983,7 @@ public class Fields {
public static final Field BAROSENSOR_TYPE = Field.create("BAROSENSOR_TYPE", 592, FieldType.INT);
public static final Field BAROSENSOR_HWCHANNEL = Field.create("BAROSENSOR_HWCHANNEL", 596, FieldType.INT8, adc_channel_e);
public static final Field IDLE_SOLENOIDFREQUENCY = Field.create("IDLE_SOLENOIDFREQUENCY", 600, FieldType.INT);
public static final String[] output_pin_e = {"NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INJ_4 k28","INJ_3 k27","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INJ_1 k25","INJ_2 k26","INVALID","INVALID","INVALID","INVALID","Fuel Pump K70","Main Relay K64"};
public static final String[] output_pin_e = {"NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15", "MC33972_1", "MC33972_2", "MC33972_3", "MC33972_4", "MC33972_5", "MC33972_6", "MC33972_7", "MC33972_8", "MC33972_9", "MC33972_10", "MC33972_11", "MC33972_12", "MC33972_13", "MC33972_14", "MC33972_15", "MC33972_16", "MC33972_17", "MC33972_18", "MC33972_19", "MC33972_20", "MC33972_21", "MC33972_22", "TLE8888_1", "TLE8888_2", "TLE8888_3", "TLE8888_4", "TLE8888_5", "TLE8888_6", "TLE8888_7", "TLE8888_8", "TLE8888_9", "TLE8888_10", "TLE8888_11", "TLE8888_12", "TLE8888_13", "TLE8888_14", "TLE8888_15", "TLE8888_16", "TLE8888_17", "TLE8888_18", "TLE8888_19", "TLE8888_20", "TLE8888_21", "TLE8888_22", "TLE8888_23", "TLE8888_24", "TLE8888_25", "TLE8888_26", "TLE8888_27", "TLE8888_28", "INVALID", "INVALID", "INVALID", "TLE6240_1", "TLE6240_2", "TLE6240_3", "TLE6240_4", "TLE6240_5", "TLE6240_6", "TLE6240_7", "TLE6240_8", "TLE6240_9", "TLE6240_10", "TLE6240_11", "TLE6240_12", "TLE6240_13", "TLE6240_14", "TLE6240_15", "TLE6240_16", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"};
public static final Field IDLE_SOLENOIDPIN = Field.create("IDLE_SOLENOIDPIN", 604, FieldType.INT8, output_pin_e);
public static final Field IDLE_STEPPERDIRECTIONPIN = Field.create("IDLE_STEPPERDIRECTIONPIN", 605, FieldType.INT8, output_pin_e);
public static final Field IDLE_STEPPERSTEPPIN = Field.create("IDLE_STEPPERSTEPPIN", 606, FieldType.INT8, output_pin_e);

View File

@ -1,6 +1,6 @@
<roms>
<!-- was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh Wed Oct 13 01:17:37 UTC 2021 -->
<!-- was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh Thu Oct 14 04:52:18 UTC 2021 -->
<rom>
<romid>

View File

@ -1,15 +0,0 @@
package com.rusefi.ldmp.generated;
import com.rusefi.ldmp.*;
public class AccelEnrichmentMeta {
public static final Request[] CONTENT = new Request[]{
new ConfigRequest("wwaeTau"),
new ConfigRequest("wwaeBeta"),
new TextRequest("Current_Wall_Fuel_Film"),
new FieldRequest("wall_fuel", "wallFuel"),
new TextRequest("Fuel"),
new FieldRequest("wall_fuel", "wallFuelCorrection"),
new TextRequest("ms"),
};
}

View File

@ -1,44 +0,0 @@
package com.rusefi.ldmp.generated;
import com.rusefi.ldmp.*;
public class ElectronicThrottleMeta {
public static final Request[] CONTENT = new Request[]{
new IfRequest("Engine", "1",
new Request[]{
new TextRequest("Electronic_Throttle"),
new SensorRequest("TPS"),
new TextRequest("eol"),
new TextRequest("Pedal"),
new SensorRequest("PPS"),
new ConfigRequest("throttlePedalPositionAdcChannel"),
new TextRequest("eol"),
new TextRequest("Feed_forward"),
new FieldRequest("Engine", "etbFeedForward"),
new TextRequest("eol"),
new TextRequest("input"),
new FieldRequest("ETB_pid", "input"),
new TextRequest("Output"),
new FieldRequest("ETB_pid", "output"),
new TextRequest("iTerm"),
new FieldRequest("ETB_pid", "iTerm"),
new TextRequest("eol"),
new FieldRequest("ETB_pid", "errorAmplificationCoef"),
new FieldRequest("ETB_pid", "previousError"),
new TextRequest("eol"),
new TextRequest("Settings"),
new ConfigRequest("ETB_PFACTOR"),
new ConfigRequest("ETB_IFACTOR"),
new ConfigRequest("ETB_DFACTOR"),
new TextRequest("eol"),
new ConfigRequest("ETB_OFFSET"),
new ConfigRequest("ETB_PERIODMS"),
new TextRequest("eol"),
new ConfigRequest("ETB_MINVALUE"),
new ConfigRequest("ETB_MAXVALUE"),
},
new Request[]{
new TextRequest("No_Pedal_Sensor"),
}),
};
}

View File

@ -1,52 +0,0 @@
package com.rusefi.ldmp.generated;
import com.rusefi.ldmp.*;
public class FuelMathMeta {
public static final Request[] CONTENT = new Request[]{
new FieldRequest("Engine", "sparkDwell"),
new FieldRequest("Engine", "dwellAngle"),
new FieldRequest("Engine", "cltTimingCorrection"),
new TextRequest("eol"),
new IfRequest("Engine", "isCrankingState",
new Request[]{
new TextRequest("Duration_coef"),
new FieldRequest("Engine", "cranking_durationCoefficient"),
new TextRequest("eol"),
new TextRequest("Coolant_coef"),
new FieldRequest("Engine", "cranking_coolantTemperatureCoefficient"),
new SensorRequest("CLT"),
new TextRequest("eol"),
new TextRequest("TPS_coef"),
new FieldRequest("Engine", "cranking_tpsCoefficient"),
new FieldRequest("Engine", "cranking_tpsCoefficient"),
new SensorRequest("TPS"),
new TextRequest("eol"),
new TextRequest("Cranking_fuel"),
new FieldRequest("Engine", "cranking_fuel"),
},
new Request[]{
new TextRequest("Base_fuel"),
new FieldRequest("Engine", "running_baseFuel"),
new TextRequest("eol"),
new TextRequest("Intake_coef"),
new FieldRequest("Engine", "running_intakeTemperatureCoefficient"),
new SensorRequest("IAT"),
new TextRequest("eol"),
new TextRequest("Coolant_coef"),
new FieldRequest("Engine", "running_coolantTemperatureCoefficient"),
new SensorRequest("CLT"),
new TextRequest("eol"),
new TextRequest("Post_cranking_coef"),
new FieldRequest("Engine", "running_postCrankingFuelCorrection"),
new TextRequest("eol"),
new TextRequest("eol"),
new TextRequest("Running_fuel"),
new FieldRequest("Engine", "running_fuel"),
new TextRequest("eol"),
new TextRequest("Injector_lag"),
new FieldRequest("Engine", "running_injectorLag"),
new SensorRequest("VBATT"),
}),
};
}

View File

@ -1,42 +0,0 @@
package com.rusefi.ldmp.generated;
import com.rusefi.ldmp.*;
public class IdleThreadMeta {
public static final Request[] CONTENT = new Request[]{
new TextRequest("Idle_State"),
new FieldRequest("Engine", "idleState"),
new TextRequest("EOL"),
new TextRequest("Base_Position"),
new FieldRequest("Engine", "baseIdlePosition"),
new TextRequest("Position_with_Adjustments"),
new FieldRequest("Engine", "currentIdlePosition"),
new TextRequest("EOL"),
new TextRequest("EOL"),
new SensorRequest("TPS"),
new TextRequest("EOL"),
new TextRequest("Throttle_Up_State"),
new FieldRequest("Engine", "throttlePedalUpState"),
new ConfigRequest("throttlePedalUpPin"),
new TextRequest("eol"),
new IfRequest("Engine", "isAutomaticIdle",
new Request[]{
new TextRequest("Output"),
new FieldRequest("idle_pid", "output"),
new TextRequest("iTerm"),
new FieldRequest("idle_pid", "iTerm"),
new TextRequest("eol"),
new TextRequest("Settings"),
new ConfigRequest("IDLERPMPID_PFACTOR"),
new ConfigRequest("IDLERPMPID_IFACTOR"),
new ConfigRequest("IDLERPMPID_DFACTOR"),
new ConfigRequest("IDLERPMPID_OFFSET"),
new TextRequest("eol"),
new TextRequest("ETB_Idle"),
new FieldRequest("Engine", "etbIdleAddition"),
},
new Request[]{
new TextRequest("Manual_idle_control"),
}),
};
}

View File

@ -1,30 +0,0 @@
package com.rusefi.ldmp.generated;
import com.rusefi.ldmp.*;
public class SpeedDensityMeta {
public static final Request[] CONTENT = new Request[]{
new IfRequest("Engine", "isTChargeAirModel",
new Request[]{
new TextRequest("interpolate_Air_Flow"),
new FieldRequest("Engine", "airFlow"),
new TextRequest("Between"),
new ConfigRequest("tChargeAirCoefMin"),
new ConfigRequest("tChargeAirFlowMax"),
new ConfigRequest("tChargeAirCoefMax"),
},
new Request[]{
new TextRequest("interpolate_3D"),
new SensorRequest("RPM"),
new TextRequest("and"),
new SensorRequest("TPS"),
new TextRequest("EOL"),
new TextRequest("Between"),
new ConfigRequest("tChargeMinRpmMinTps"),
new ConfigRequest("tChargeMinRpmMaxTps"),
new TextRequest("EOL"),
new ConfigRequest("tChargeMaxRpmMinTps"),
new ConfigRequest("tChargeMaxRpmMaxTps"),
}),
};
}

View File

@ -1,6 +0,0 @@
package com.rusefi.ldmp.generated;
import com.rusefi.ldmp.*;
public class ThermistorsMeta {
}

View File

@ -1,6 +0,0 @@
package com.rusefi.ldmp.generated;
import com.rusefi.ldmp.*;
public class TpsMeta {
}

View File

@ -1,28 +0,0 @@
package com.rusefi.ldmp.generated;
import com.rusefi.ldmp.*;
public class TriggerDecoderMeta {
public static final Request[] CONTENT = new Request[]{
new TextRequest("Current_Gap"),
new FieldRequest("Trigger_State", "currentGap"),
new TextRequest("EOL"),
new ConfigRequest("TRIGGERINPUTPINS1"),
new TextRequest("Trigger 1: Fall"),
new FieldRequest("Trigger_Central", "HWEVENTCOUNTERS1"),
new TextRequest(", Rise"),
new FieldRequest("Trigger_Central", "HWEVENTCOUNTERS2"),
new TextRequest("EOL"),
new ConfigRequest("TRIGGERINPUTPINS2"),
new TextRequest("Trigger 2: Fall"),
new FieldRequest("Trigger_Central", "HWEVENTCOUNTERS3"),
new TextRequest(", Rise"),
new FieldRequest("Trigger_Central", "HWEVENTCOUNTERS4"),
new TextRequest("EOL"),
new TextRequest("VVT_1"),
new ConfigRequest("CAMINPUTS1"),
new FieldRequest("Trigger_Central", "vvtEventRiseCounter"),
new FieldRequest("Trigger_Central", "vvtEventFallCounter"),
new FieldRequest("Trigger_Central", "vvtCamCounter"),
};
}

View File

@ -8,7 +8,6 @@ import com.rusefi.config.generated.Fields;
import com.rusefi.core.Sensor;
import com.rusefi.core.SensorCentral;
import com.rusefi.ui.config.ConfigField;
import com.rusefi.ui.livedocs.LiveDocPanel;
import com.rusefi.ui.util.UiUtils;
import com.rusefi.ui.widgets.IntGaugeLabel;
import org.jetbrains.annotations.NotNull;
@ -40,14 +39,10 @@ public class FormulasPane {
private final UIContext uiContext;
private boolean isPaused;
private JPanel liveDocs;
public FormulasPane(UIContext uiContext) {
this.uiContext = uiContext;
JPanel vertical = new JPanel(new VerticalFlowLayout());
liveDocs = LiveDocPanel.createLiveDocumentationPanel(uiContext);
vertical.add(liveDocs);
vertical.add(formulaProxy);
JScrollPane scroll = new JScrollPane(vertical, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);

View File

@ -1,6 +1,5 @@
package com.rusefi.ui;
import com.rusefi.ui.livedocs.LiveDocPanel;
import org.putgemin.VerticalFlowLayout;
import javax.swing.*;
@ -10,7 +9,6 @@ import java.awt.*;
* Andrey Belomutskiy, (c) 2013-2020
*/
public class SensorsLiveDataPane {
private JPanel liveDocs;
/**
* this is the panel we expose to the outside world
*/
@ -19,8 +17,6 @@ public class SensorsLiveDataPane {
public SensorsLiveDataPane(UIContext uiContext) {
JPanel vertical = new JPanel(new VerticalFlowLayout());
liveDocs = LiveDocPanel.createSensorsLiveDataPanel(uiContext);
vertical.add(liveDocs);
JScrollPane scroll = new JScrollPane(vertical, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
content.add(scroll, BorderLayout.CENTER);

View File

@ -1,58 +0,0 @@
package com.rusefi.ui.livedocs;
import net.miginfocom.swing.MigLayout;
import javax.swing.*;
import java.awt.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* Multi-line horizontal flow panel.
* <p>
* <p>
* Andrey Belomutskiy, (c) 2013-2020
*/
public class ActionPanel {
private final RefreshActionsMap refreshActions = new RefreshActionsMap();
private final JPanel panel = new JPanel(new MigLayout());
private JPanel currentLinePanel;
public ActionPanel(String title) {
panel.setBorder(BorderFactory.createTitledBorder(title));
}
public JPanel getPanel() {
return panel;
}
public void newLine() {
initIfNeeded();
currentLinePanel = null;
}
public void addControl(JComponent component) {
initIfNeeded();
currentLinePanel.add(component);
}
private void initIfNeeded() {
if (currentLinePanel == null) {
currentLinePanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 5, 0));
panel.add(currentLinePanel, "wrap");
}
}
public RefreshActionsMap getRefreshActions() {
return refreshActions;
}
public void actionsListAdd(LiveDataContext context, RefreshActions refreshAction) {
refreshActions.put(context, refreshAction);
}
public void actionsListAddAll(RefreshActionsMap actions) {
refreshActions.addAll(actions);
}
}

View File

@ -1,29 +0,0 @@
package com.rusefi.ui.livedocs;
import net.miginfocom.swing.MigLayout;
import javax.swing.*;
import java.util.ArrayList;
import java.util.List;
/**
* Andrey Belomutskiy, (c) 2013-2020
*/
public class IfConditionPanel {
private final RefreshActionsMap actionsList;
private final JPanel panel = new JPanel(new MigLayout());
public IfConditionPanel(JPanel result, RefreshActionsMap actionsList) {
// todo: do we really need this proxy panel or can we just use parameter value?
panel.add(result);
this.actionsList = actionsList;
}
public RefreshActionsMap getActionsList() {
return actionsList;
}
public JPanel getPanel() {
return panel;
}
}

View File

@ -1,23 +0,0 @@
package com.rusefi.ui.livedocs;
import javax.swing.*;
import java.awt.*;
/**
* Andrey Belomutskiy, (c) 2013-2020
*/
public class LessJumpyJLabel extends JLabel {
private int maxPreferredWidth = 0;
public LessJumpyJLabel(String text) {
super(text);
}
@Override
public Dimension getPreferredSize() {
Dimension preferredSize = super.getPreferredSize();
// let's occupy maximum width we ever wanted to reduce layout jumpiness
maxPreferredWidth = Math.max(maxPreferredWidth, preferredSize.width);
return new Dimension(maxPreferredWidth, preferredSize.height);
}
}

View File

@ -1,242 +0,0 @@
package com.rusefi.ui.livedocs;
import com.opensr5.ConfigurationImage;
import com.rusefi.autoupdate.AutoupdateUtil;
import com.rusefi.binaryprotocol.BinaryProtocol;
import com.rusefi.config.Field;
import com.rusefi.config.generated.Fields;
import com.rusefi.core.Sensor;
import com.rusefi.core.SensorCentral;
import com.rusefi.ldmp.*;
import com.rusefi.ldmp.generated.*;
import com.opensr5.ini.DialogModel;
import com.opensr5.ini.IniFileModel;
import com.rusefi.ui.UIContext;
import com.rusefi.ui.livedocs.controls.Toolbox;
import com.rusefi.ui.widgets.DetachedSensor;
import net.miginfocom.swing.MigLayout;
import org.jetbrains.annotations.NotNull;
import org.putgemin.VerticalFlowLayout;
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import static com.rusefi.config.Field.niceToString;
public class LiveDocPanel {
private static final String CONSTRAINTS = "wrap, grow";
private static final String LAYOUT = "gap 0, insets 0";
// todo: replace magic hard-coded value with some relative number, maybe 1/3 of frame height or something?
private static final int MAGIC_DETACHED_GAUGE_SIZE = 200;
private static final int LIVE_DATA_PRECISION = 2;
@NotNull
public static JPanel createPanel(UIContext uiContext, String title, Request[] content) {
return createPanel(uiContext, title, content, "", StateDictionary.NONE);
}
@NotNull
static JPanel createPanel(UIContext uiContext, String title, Request[] content, String settingsInstancePrefix, final int defaultContextId) {
LiveDataContext defaultContext = new LiveDataContext(defaultContextId);
ActionPanel ap = createComponents(uiContext, title, content, settingsInstancePrefix, defaultContext);
JPanel panel = ap.getPanel();
LiveDocHolder holder = new LiveDocHolder(defaultContext, ap.getRefreshActions()) {
@Override
public boolean isVisible() {
boolean isVisible = !panel.getVisibleRect().isEmpty();
return isVisible && isRecursivelyVisible(panel);
}
};
LiveDocsRegistry.INSTANCE.register(holder);
return panel;
}
static boolean isRecursivelyVisible(Container c) {
Container parent = c.getParent();
return c.isVisible() && (parent == null || isRecursivelyVisible(parent));
}
private static ActionPanel createComponents(UIContext uiContext, String title, Request[] content, String settingsInstancePrefix, LiveDataContext defaultContext) {
ActionPanel result = new ActionPanel(title);
for (Request r : content) {
if (r instanceof TextRequest) {
TextRequest request = (TextRequest) r;
if (request.isEol()) {
result.newLine();
} else {
result.addControl(new JLabel(request.getValue().replaceAll("_", " ")));
}
} else if (r instanceof FieldRequest) {
FieldRequest request = (FieldRequest) r;
LiveDataContext context = getFieldContext(defaultContext, request.getStateContext());
Field field = getField(defaultContext, request);
JLabel label = new LessJumpyJLabel("*");
label.setIcon(AutoupdateUtil.loadIcon("livedocs/variable.png"));
label.setToolTipText("Variable " + field.getName());
result.addControl(label);
result.actionsListAdd(context, new RefreshActions() {
@Override
public void refresh(BinaryProtocol bp, byte[] response) {
Number fieldValue = field.getValue(new ConfigurationImage(response));
String value = Field.niceToString(fieldValue, LIVE_DATA_PRECISION);
label.setText(value);
}
});
} else if (r instanceof ConfigRequest) {
ConfigRequest request = (ConfigRequest) r;
Field field = Field.findField(Fields.VALUES, settingsInstancePrefix, request.getField());
JLabel label = new LessJumpyJLabel("*");
label.setIcon(AutoupdateUtil.loadIcon("livedocs/setting.png"));
label.setToolTipText(getTooltipText(field.getName()));
result.addControl(label);
// todo: use different notification flow altogether since configuration has nothing to do with live data structures
result.actionsListAdd(new LiveDataContext(Fields.LDS_ENGINE_STATE_INDEX), new RefreshActions() {
@Override
public void refresh(BinaryProtocol bp, byte[] response) {
double multiplier = 1; // todo: PROPER MULTIPLIER!!!
String value = field.getAnyValue(bp.getControllerConfiguration(), multiplier).toString();
label.setText(value);
}
});
} else if (r instanceof SensorRequest) {
SensorRequest request = (SensorRequest) r;
Sensor sensor = Sensor.find(request.getValue());
JLabel label = new LessJumpyJLabel("*");
label.setIcon(AutoupdateUtil.loadIcon("livedocs/gauge.png"));
label.setToolTipText("Sensor " + request.getValue());
label.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2 && !SwingUtilities.isRightMouseButton(e)) {
final DetachedSensor ds = new DetachedSensor(uiContext, sensor, MAGIC_DETACHED_GAUGE_SIZE);
ds.show(e);
}
}
});
result.addControl(label);
SensorCentral.getInstance().addListener(sensor, value -> label.setText(niceToString(value, LIVE_DATA_PRECISION)));
} else if (r instanceof IfRequest) {
IfRequest request = (IfRequest) r;
IfConditionPanel panel = createIfRequestPanel(uiContext, request, defaultContext);
result.actionsListAddAll(panel.getActionsList());
result.addControl(panel.getPanel());
} else {
throw new UnsupportedOperationException(r.toString());
}
}
return result;
}
private static LiveDataContext getFieldContext(LiveDataContext defaultContext, String stateContext) {
if (stateContext.isEmpty()) {
return defaultContext;
} else {
String indexFieldName = StateDictionary.getContextIndexFieldName(stateContext);
return StateDictionary.getStateContext(indexFieldName);
}
}
private static Field getField(LiveDataContext defaultContext, FieldReference request) {
Field[] context;
if (request.getStateContext().isEmpty()) {
context = StateDictionary.INSTANCE.getFields("create", defaultContext);
} else {
context = StateDictionary.INSTANCE.getValue(request.getStateContext());
}
return Field.findField(context, "", request.getField());
}
private static String getTooltipText(String configurationFieldName) {
DialogModel.Field dialogField = IniFileModel.getInstance().getField(configurationFieldName);
if (dialogField == null) {
return "Configuration " + configurationFieldName;
}
return "Configuration " + dialogField.getUiName() + " (" + configurationFieldName + ")";
}
private static IfConditionPanel createIfRequestPanel(UIContext uiContext, IfRequest request, LiveDataContext defaultContext) {
Field conditionField = getField(defaultContext, request);
JPanel result = new JPanel(new VerticalFlowLayout());
JLabel conditionLabel = new LessJumpyJLabel(request.getField());
result.add(conditionLabel);
ActionPanel trueAP = createComponents(uiContext, "", request.trueBlock.toArray(new Request[0]), "", defaultContext);
ActionPanel falseAP = createComponents(uiContext, "", request.falseBlock.toArray(new Request[0]), "", defaultContext);
result.add(trueAP.getPanel());
result.add(falseAP.getPanel());
RefreshActionsMap combined = trueAP.getRefreshActions();
combined.addAll(falseAP.getRefreshActions());
LiveDataContext context = getFieldContext(defaultContext, request.getStateContext());
combined.put(context, new RefreshActions() {
@Override
public void refresh(BinaryProtocol bp, byte[] response) {
int value = (int) conditionField.getValue(new ConfigurationImage(response)).intValue();
conditionLabel.setText(request.getField() + " is " + (value == 1 ? "TRUE" : "FALSE"));
JPanel active;
JPanel passive;
if (value == 1) {
active = trueAP.getPanel();
passive = falseAP.getPanel();
} else {
active = falseAP.getPanel();
passive = trueAP.getPanel();
}
active.setBorder(BorderFactory.createLineBorder(Color.green));
passive.setBorder(BorderFactory.createLineBorder(Color.red));
Toolbox.setEnabledRecursive(active, true);
Toolbox.setEnabledRecursive(passive, false);
}
});
return new IfConditionPanel(result, combined);
}
@NotNull
public static JPanel createLiveDocumentationPanel(UIContext uiContext) {
JPanel liveDocs = new JPanel(new MigLayout(LAYOUT));
liveDocs.add(createPanel(uiContext,"Fuel", FuelMathMeta.CONTENT), CONSTRAINTS);
liveDocs.add(createPanel(uiContext, "tCharge", SpeedDensityMeta.CONTENT), CONSTRAINTS);
liveDocs.add(createPanel(uiContext, "Idle", IdleThreadMeta.CONTENT), CONSTRAINTS);
// todo: restore this functionality
// liveDocs.add(createPanel("ETB", ElectronicThrottleMeta.CONTENT), CONSTRAINTS);
return liveDocs;
}
public static JPanel createSensorsLiveDataPanel(UIContext uiContext) {
JPanel liveDocs = new JPanel(new MigLayout(LAYOUT));
/*
One day we shall have this back
liveDocs.add(createPanel("Throttle Position Sensor", TpsMeta.TPS_SECTION), CONSTRAINTS);
*/
liveDocs.add(createPanel(uiContext, "Trigger", TriggerDecoderMeta.CONTENT), CONSTRAINTS);
return liveDocs;
}
}

View File

@ -1,73 +0,0 @@
package com.rusefi.ui.livedocs;
import com.rusefi.ldmp.generated.ThermistorsMeta;
import com.rusefi.ui.livedocs.controls.Toolbox;
import com.rusefi.ui.util.FrameHelper;
import net.miginfocom.swing.MigLayout;
import org.jetbrains.annotations.NotNull;
import javax.swing.*;
import java.awt.*;
import static com.rusefi.ui.livedocs.controls.Toolbox.setTransparentLineBorder;
public class LiveDocsSandbox {
public static JLabel comment = new JLabel("Prototype Comments appear here");
public static void main(String[] args) {
comment.setForeground(Color.blue);
JPanel panels = new JPanel(new MigLayout("fillx, gap 0, insets 0"));
// panels.add(LiveDocPanel.createPanel("Coolant Sensor", ThermistorsMeta.CONTENT, "CLT", LDS_CLT_STATE_INDEX), "wrap");
// panels.add(LiveDocPanel.createPanel("Intake Air Sensor", ThermistorsMeta.CONTENT, "IAT", LDS_IAT_STATE_INDEX), "wrap");
panels.add(getTChargePanel(), "wrap, grow");
panels.add(comment);
new FrameHelper().showFrame(panels);
}
private static Component getTChargePanel() {
JPanel panel = new JPanel(new MigLayout("gap 0, insets 0"));
panel.setBorder(BorderFactory.createTitledBorder("Air Charge Temperature"));
panel.setBorder(BorderFactory.createLineBorder(Color.CYAN));
JPanel topPanel = new JPanel(new MigLayout());
setTransparentLineBorder(topPanel);
topPanel.add(new JLabel("top"));
JPanel bottomPanel = new JPanel(new MigLayout());
setTransparentLineBorder(bottomPanel);
bottomPanel.add(new JLabel("bottom"));
addBranch(panel, true, topPanel, bottomPanel);
return panel;
}
private static void addBranch(JPanel panel, boolean b, JPanel topPanel, JPanel bottomPanel) {
//IfBranch branch;
JPanel topWrapped = wrapWithOffset(topPanel);
JPanel bottomWrapped = wrapWithOffset(bottomPanel);
topPanel.setBorder(BorderFactory.createLineBorder(Color.green));
bottomPanel.setBorder(BorderFactory.createLineBorder(Color.red));
Toolbox.setEnabledRecursive(bottomPanel, false);
panel.add(new JLabel("If xa"), "wrap");
panel.add(topWrapped, "wrap");
panel.add(new JLabel("else"), "wrap");
panel.add(bottomWrapped, "wrap");
}
@NotNull
public static JPanel wrapWithOffset(JPanel panel) {
JPanel topWrapped = new JPanel(new FlowLayout());
topWrapped.add(new JLabel(" "));
topWrapped.add(panel);
return topWrapped;
}
}

View File

@ -1,9 +0,0 @@
package com.rusefi.ui.livedocs.controls;
public class ConfigReference {
final int value;
public ConfigReference(int value) {
this.value = value;
}
}

View File

@ -1,35 +0,0 @@
package com.rusefi.ui.livedocs.controls;
import com.rusefi.ui.livedocs.LiveDocsSandbox;
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class ConfigView {
private final JLabel content;
public ConfigView(ConfigReference e) {
content = new JLabel(Integer.toString(e.value));
markLiveElement(content);
content.setToolTipText("Configuration XXX");
content.addMouseListener(new MouseAdapter() {
@Override
public void mouseEntered(MouseEvent e) {
LiveDocsSandbox.comment.setText("Mouse action shows tooltip");
}
});
}
public static void markLiveElement(JComponent content) {
content.setBackground(Color.lightGray);
content.setOpaque(true);
}
public JLabel getContent() {
return content;
}
}

View File

@ -1,35 +0,0 @@
package com.rusefi.ui.livedocs.controls;
import com.rusefi.ui.livedocs.LiveDocsSandbox;
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import static com.rusefi.ui.livedocs.controls.ConfigView.markLiveElement;
public class LogicReference {
private final JLabel content = new JLabel();
public LogicReference(double value, JComponent reference) {
content.setText(Double.toString(value));
markLiveElement(content);
content.addMouseListener(new MouseAdapter() {
@Override
public void mouseEntered(MouseEvent e) {
reference.setBorder(BorderFactory.createLineBorder(Color.red));
LiveDocsSandbox.comment.setText("Mouse action highlights referenced element");
}
@Override
public void mouseExited(MouseEvent e) {
Toolbox.setTransparentLineBorder(reference);
}
});
}
public JLabel getContent() {
return content;
}
}

View File

@ -1,26 +0,0 @@
package com.rusefi.ui.livedocs.controls;
import javax.swing.*;
import java.awt.*;
/**
* Swing UI utilities
*/
public class Toolbox {
public static void setTransparentLineBorder(JComponent reference) {
reference.setBorder(BorderFactory.createEmptyBorder(1, 1, 1, 1));
}
public static void setEnabledRecursive(Container panel, boolean value) {
panel.setEnabled(value);
Component[] com = panel.getComponents();
for (int a = 0; a < com.length; a++) {
Component element = com[a];
if (element instanceof Container) {
setEnabledRecursive((Container) element, value);
} else {
element.setEnabled(value);
}
}
}
}

View File

@ -1,24 +0,0 @@
package com.rusefi.ui.livedocs.test;
import com.rusefi.ui.livedocs.LiveDocPanel;
import org.junit.Test;
import static org.junit.Assert.assertNotNull;
public class LiveDocPanelTest {
@Test
public void testFindField() throws NoSuchFieldException {
// Field reflectField = Fields.class.getField("LDS_CLT_STATE_INDEX");
// assertNotNull(reflectField);
}
@Test
public void testValidDocumentationMetaInfo() {
assertNotNull(LiveDocPanel.createLiveDocumentationPanel(null));
}
@Test
public void testValidSensorsMetaInfo() {
assertNotNull(LiveDocPanel.createSensorsLiveDataPanel(null));
}
}

View File

@ -1,47 +0,0 @@
package com.rusefi.ldmp;
import java.util.Objects;
/**
* Reference to a parameter from configuration
*
*/
public class ConfigRequest extends Request {
//@NotNull
private final String field;
public ConfigRequest(String field) {
Objects.requireNonNull(field);
this.field = field;
}
public String getField() {
return field;
}
@Override
public String toString() {
return "ConfigRequest{" +
"field='" + field + '\'' +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
ConfigRequest that = (ConfigRequest) o;
return field.equals(that.field);
}
@Override
public int hashCode() {
return Objects.hash(field);
}
@Override
public String getGeneratedJavaCode() {
return withSimpleParameter(quoteString(field));
}
}

View File

@ -1,7 +0,0 @@
package com.rusefi.ldmp;
public interface FieldReference {
String getStateContext();
String getField();
}

View File

@ -1,60 +0,0 @@
package com.rusefi.ldmp;
import java.util.Objects;
import static com.rusefi.ConfigDefinition.EOL;
/**
* Andrey Belomutskiy, (c) 2013-2020
*/
public class FieldRequest extends Request implements FieldReference {
private final String stateContext;
private final String field;
public FieldRequest(String stateContext, String field) {
this.stateContext = stateContext;
this.field = field;
}
@Override
public String getStateContext() {
return stateContext;
}
@Override
public String getField() {
return field;
}
@Override
public String toString() {
return "FieldRequest{" +
"stateContext='" + stateContext + '\'' +
", field='" + field + '\'' +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
FieldRequest request = (FieldRequest) o;
return stateContext.equals(request.stateContext) &&
field.equals(request.field);
}
@Override
public int hashCode() {
return Objects.hash(stateContext, field);
}
@Override
public String getGeneratedJavaCode() {
return GLOBAL_PREFIX + "new " + getClass().getSimpleName() + "("
+ quoteString(stateContext)
+ ", "
+ quoteString(field)
+ ")," + EOL;
}
}

View File

@ -1,67 +0,0 @@
package com.rusefi.ldmp;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import static com.rusefi.ConfigDefinition.EOL;
public class IfRequest extends Request implements FieldReference {
private final String stateContext;
private final String variable;
public List<Request> trueBlock = new ArrayList<>();
public List<Request> falseBlock = new ArrayList<>();
public IfRequest(String stateContext, String variable) {
this.stateContext = stateContext;
this.variable = variable;
}
public IfRequest(String stateContext, String variable, Request[] trueBlock, Request[] falseBlock) {
this(stateContext, variable);
this.trueBlock.addAll(Arrays.asList(trueBlock));
this.falseBlock.addAll(Arrays.asList(falseBlock));
}
@Override
public String getStateContext() {
return stateContext;
}
@Override
public String toString() {
return "IfRequest{" +
"variable='" + variable + '\'' +
", trueBlock=" + trueBlock +
", falseBlock=" + falseBlock +
'}';
}
@Override
public String getField() {
return variable;
}
@Override
public String getGeneratedJavaCode() {
String result = Request.GLOBAL_PREFIX;
Request.GLOBAL_PREFIX = Request.GLOBAL_PREFIX + "\t";
result += "new IfRequest("
+ quoteString(stateContext)
+ ", "
+ quoteString(variable)
+ "," + EOL +
Request.GLOBAL_PREFIX + "new Request[]{" + EOL +
Request.getGeneratedJavaCode(trueBlock) +
"}," + EOL +
Request.GLOBAL_PREFIX + "new Request[]{" + EOL +
Request.getGeneratedJavaCode(falseBlock) +
"})," + EOL;
Request.GLOBAL_PREFIX = Request.GLOBAL_PREFIX.substring(1);
return result;
}
}

View File

@ -1,207 +0,0 @@
package com.rusefi.ldmp;
import com.rusefi.util.SystemOut;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.*;
import java.util.stream.Stream;
import static com.rusefi.ConfigDefinition.EOL;
public class LiveDocsMetaParser {
private static final String DISPLAY_TAG = "DISPLAY_TAG";
private static final String DISPLAY_CONFIG = "DISPLAY_CONFIG";
private static final String DISPLAY_PREFIX = "DISPLAY_PREFIX";
private static final String DISPLAY_FIELD = "DISPLAY_FIELD";
private static final String DISPLAY_STATE = "DISPLAY_STATE";
private static final String DISPLAY_TEXT = "DISPLAY_TEXT";
private static final String DISPLAY_SENSOR = "DISPLAY_SENSOR";
private static final String DISPLAY_IF = "DISPLAY_IF";
private static final String DISPLAY_ELSE = "DISPLAY_ELSE";
private static final String DISPLAY_ENDIF = "DISPLAY_ENDIF";
private static final char QUOTE_SYMBOL = '"';
public static final String TODO_MAKE_THIS_DESTINATION_PARAMETER = "/ui/src/main/java/com/rusefi/ldmp/generated/";
private static StringBuilder prefix = new StringBuilder();
private static String readLineByLine(String filePath) throws IOException {
StringBuilder contentBuilder = new StringBuilder();
Stream<String> stream = Files.lines(Paths.get(filePath), StandardCharsets.UTF_8);
stream.forEach(s -> contentBuilder.append(s).append("\n"));
return contentBuilder.toString();
}
public static void main(String[] args) throws IOException {
if (args.length != 2)
throw new IllegalArgumentException("Two arguments expected but " + Arrays.toString(args));
String destinationPath = args[0];
String fileName = args[1];
handleMetaData(destinationPath, fileName);
}
public static void handleMetaData(String destinationPath, String inputFileName) throws IOException {
MetaInfo metaInfo = getMetaFromFile(inputFileName);
SystemOut.println(metaInfo);
String className = getClassName(inputFileName);
String javaCode = generateJavaCode(metaInfo, className);
String fullDestination = destinationPath + TODO_MAKE_THIS_DESTINATION_PARAMETER;
new File(fullDestination).mkdirs();
FileWriter fw = new FileWriter(fullDestination + className + ".java");
fw.write(javaCode);
fw.close();
SystemOut.close();
}
private static MetaInfo getMetaFromFile(String fileName) throws IOException {
SystemOut.println(fileName);
if (!new File(fileName).exists())
throw new IllegalStateException("Not found " + fileName);
String content = readLineByLine(fileName);
return parse(content, fileName);
}
public static MetaInfo parse(String string, String context) {
Stack<List<Request>> stack = new Stack<>();
MetaInfo meta = new MetaInfo();
List<Request> result = meta.start("CONTENT");
string = string.replaceAll("[()>.]", " ");
SystemOut.println(string);
Scanner s = new Scanner(string);
while (s.hasNext()) {
String token = s.next();
//SystemOut.println(token);
if (DISPLAY_CONFIG.equalsIgnoreCase(token)) {
if (s.hasNext()) {
String config = s.next();
SystemOut.println("REQ CONF " + config);
result.add(new ConfigRequest(config));
}
} else if (DISPLAY_STATE.equalsIgnoreCase(token)) {
if (s.hasNext()) {
String state = s.next();
meta.stateStack.push(state); }
} else if (DISPLAY_TEXT.equalsIgnoreCase(token)) {
if (s.hasNext()) {
String config = s.next();
if (config.startsWith(String.valueOf(QUOTE_SYMBOL))) {
config = config.substring(1);
while (!config.endsWith(String.valueOf(QUOTE_SYMBOL))) {
String next = s.next();
config += ' ' + next;
}
config = config.substring(0, config.length() - 1);
}
SystemOut.println("Display test " + config);
result.add(new TextRequest(config));
}
} else if (DISPLAY_TAG.equalsIgnoreCase(token)) {
if (s.hasNext()) {
String tag = s.next();
SystemOut.println("REQ TAG " + tag);
result = meta.start(tag);
}
} else if (DISPLAY_PREFIX.equalsIgnoreCase(token)) {
if (s.hasNext()) {
String current = s.next();
prefix.append(current + "_");
}
} else if (DISPLAY_FIELD.equalsIgnoreCase(token)) {
if (s.hasNext()) {
String fieldName = prefix + s.next();
SystemOut.println("REQ FIELD " + fieldName);
result.add(new FieldRequest(meta.getStateContext(), fieldName));
prefix.setLength(0);
}
} else if (DISPLAY_IF.equalsIgnoreCase(token)) {
if (s.hasNext()) {
stack.push(result);
String conditionVariable = s.next();
SystemOut.println("if Condition " + conditionVariable);
IfRequest ifRequest = new IfRequest(meta.getStateContext(), conditionVariable);
result.add(ifRequest);
result = ifRequest.trueBlock;
}
} else if (DISPLAY_ELSE.equalsIgnoreCase(token)) {
if (stack.isEmpty())
throw new IllegalStateException("No IF statement on stack while we have DISPLAY_ELSE while " + context);
List<Request> onStack = stack.peek();
if (onStack.isEmpty())
throw new IllegalStateException("Empty on stack");
Request request = onStack.get(onStack.size() - 1);
if (!(request instanceof IfRequest))
throw new IllegalStateException("Something not right " + request);
IfRequest ifRequest = (IfRequest) request;
result = ifRequest.falseBlock;
} else if (DISPLAY_ENDIF.equalsIgnoreCase(token)) {
if (stack.isEmpty())
throw new IllegalStateException("No IF statement on stack");
result = stack.pop();
} else if (DISPLAY_SENSOR.equalsIgnoreCase(token)) {
if (s.hasNext()) {
String config = s.next();
SystemOut.println("REQ SENSOR " + config);
result.add(new SensorRequest(config));
}
}
}
if (!stack.isEmpty())
throw new IllegalStateException("Unfinished");
return meta;
}
public static String generateJavaCode(MetaInfo r, String className) {
StringBuilder java = new StringBuilder("package com.rusefi.ldmp.generated;" + EOL + EOL +
"import com.rusefi.ldmp.*;" + EOL + EOL +
"public class " + className + " {" + EOL
);
for (Map.Entry<String, List<Request>> e : r.map.entrySet()) {
List<Request> list = e.getValue();
if (list.isEmpty())
continue;
java.append("\tpublic static final Request[] " +
e.getKey() +
" = new Request[]{" + EOL);
java.append(Request.getGeneratedJavaCode(list));
java.append("\t};" + EOL);
}
java.append("}");
return java.toString();
}
private static String toProperCase(String s) {
return s.substring(0, 1).toUpperCase() + s.substring(1).toLowerCase();
}
public static String getClassName(String cppSourceName) {
int lastDotIndex = cppSourceName.lastIndexOf('.');
if (lastDotIndex != -1)
cppSourceName = cppSourceName.substring(0, lastDotIndex);
int lastSlashIndex = cppSourceName.lastIndexOf('/');
if (lastDotIndex != -1)
cppSourceName = cppSourceName.substring(lastSlashIndex + 1);
String[] parts = cppSourceName.split("_");
String camelCaseString = "";
for (String part : parts) {
camelCaseString = camelCaseString + toProperCase(part);
}
return camelCaseString + "Meta";
}
}

View File

@ -1,26 +0,0 @@
package com.rusefi.ldmp;
import java.util.*;
public class MetaInfo {
public Map<String, List<Request>> map = new TreeMap<>();
public Stack<String> stateStack = new Stack<>();
public List<Request> start(String content) {
map.putIfAbsent(content, new ArrayList<>());
return map.get(content);
}
public List<Request> first() {
return map.values().iterator().next();
}
public String getStateContext() {
if (stateStack.isEmpty()) {
// state context not defined, java code would have to explicitly provide that information
// this is used if code does not know context, for instance thermistor code does not know if CLT or IAT usage
return "";
}
return stateStack.peek();
}
}

View File

@ -1,29 +0,0 @@
package com.rusefi.ldmp;
import java.util.List;
import static com.rusefi.ConfigDefinition.EOL;
/**
* Andrey Belomutskiy, (c) 2013-2020
*/
public abstract class Request {
static String GLOBAL_PREFIX = "\t\t\t";
static String getGeneratedJavaCode(List<Request> r) {
StringBuilder java = new StringBuilder();
for (Request request : r)
java.append(request.getGeneratedJavaCode());
return java.toString();
}
public abstract String getGeneratedJavaCode();
protected String withSimpleParameter(String parameter) {
return GLOBAL_PREFIX + "new " + getClass().getSimpleName() + "(" + parameter + ")," + EOL;
}
protected String quoteString(String variable) {
return "\"" + variable + "\"";
}
}

View File

@ -1,40 +0,0 @@
package com.rusefi.ldmp;
import java.util.Objects;
public class SensorRequest extends Request {
private final String value;
public SensorRequest(String value) {
this.value = value;
}
public String getValue() {
return value;
}
@Override
public String toString() {
return "SensorRequest{" +
"value='" + value + '\'' +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
SensorRequest that = (SensorRequest) o;
return value.equals(that.value);
}
@Override
public int hashCode() {
return Objects.hash(value);
}
@Override
public String getGeneratedJavaCode() {
return withSimpleParameter(quoteString(value));
}
}

View File

@ -1,47 +0,0 @@
package com.rusefi.ldmp;
import java.util.Objects;
/**
* Static text label
*/
public class TextRequest extends Request {
private final String value;
public TextRequest(String value) {
this.value = value;
}
public String getValue() {
return value;
}
public boolean isEol() {
return "EOL".equalsIgnoreCase(value);
}
@Override
public String toString() {
return "TextRequest{" +
"value='" + value + '\'' +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
TextRequest that = (TextRequest) o;
return value.equals(that.value);
}
@Override
public int hashCode() {
return Objects.hash(value);
}
@Override
public String getGeneratedJavaCode() {
return withSimpleParameter(quoteString(value));
}
}

View File

@ -24,7 +24,6 @@ public class UsagesReader {
List<String> usages = (List) data.get("Usages");
SystemOut.println("Usages: " + usages);
for (String fileName : usages) {
LiveDocsMetaParser.handleMetaData(destination, fileName);
}
}
}

View File

@ -1,122 +0,0 @@
package com.rusefi.ldmp.test;
import com.rusefi.ldmp.*;
import org.junit.Test;
import java.util.List;
import static org.junit.Assert.assertEquals;
public class LiveDocsMetaParserTest {
public static MetaInfo parse(String s) {
return LiveDocsMetaParser.parse(s, "unit_test");
}
@Test
public void getClassName() {
assertEquals("TpsMeta", LiveDocsMetaParser.getClassName("controllers/sensors/tps.cpp"));
assertEquals("SpeedDensityMeta", LiveDocsMetaParser.getClassName("speed_density.cpp"));
}
@Test
public void parseConfigElements() {
MetaInfo r = parse("\t\t// TCHARGE_MODE_RPM_TPS\n" +
"\t\tfloat minRpmKcurrentTPS = interpolateMsg(\"minRpm\", tpMin, DISPLAY_CONFIG(tChargeMinRpmMinTps), tpMax,\n" +
"\t\t\t\t/***display*/CONFIG(tChargeMinRpmMaxTps), tps);\n" +
"\t\tfloat maxRpmKcurrentTPS = interpolateMsg(\"maxRpm\", tpMin, DISPLAY_CONFIG(tChargeMaxRpmMinTps), tpMax,\n" +
"\t\t\t\tDISPLAY_CONFIG(tChargeMaxRpmMaxTps), tps);\n" +
"\n" +
"\t\tengine->engineState.Tcharge_coff = interpolateMsg(\"Kcurr\", rpmMin, minRpmKcurrentTPS, rpmMax, maxRpmKcurrentTPS, rpm);\n");
assertEquals(3, r.first().size());
assertEquals(new ConfigRequest("tChargeMinRpmMinTps"), r.first().get(0));
}
@Test
public void parseField() {
MetaInfo r = parse(
"DISPLAY_STATE(tps)\n" +
"\tDISPLAY_TEXT(Analog_MCU_reads);\n" +
"\tengine->engineState.DISPLAY_FIELD(currentTpsAdc) = adc;\n" +
"\tDISPLAY_TEXT(ADC_which_equals);\n");
assertEquals(3, r.first().size());
}
@Test
public void parseTextWithSpecialCharacters() {
MetaInfo r = parse(
"DISPLAY_TEXT(\"Analog: !MCU_reads\");"
);
assertEquals(1, r.first().size());
TextRequest request = (TextRequest) r.first().get(0);
assertEquals("Analog: !MCU_reads", request.getValue());
}
@Test
public void parseTextWithSpecialCharactersAndSpaces() {
MetaInfo r = parse(
"DISPLAY_TEXT(\"Analog: !MCU_reads\");"
);
assertEquals(1, r.first().size());
TextRequest request = (TextRequest) r.first().get(0);
assertEquals("Analog: !MCU_reads", request.getValue());
}
@Test
public void parseDisplayConfig() {
MetaInfo r = parse("\t\t// DISPLAY_TEXT(interpolate(\")\n" +
"+\t\tDISPLAY_SENSOR(RPM) DISPLAY_TEXT(TCHARGE_MODE_RPM_TPS)\n" +
"\t\tfloat minRpmKcurrentTPS = interpolateMsg(\"minRpm\", tpMin, DISPLAY_CONFIG(tChargeMinRpmMinTps), tpMax,\n");
assertEquals(4, r.first().size());
// implementation has eaten the bracket :(
assertEquals(new TextRequest("interpolate"), r.first().get(0));
assertEquals(new SensorRequest("RPM"), r.first().get(1));
String javaCode = LiveDocsMetaParser.generateJavaCode(r, "xx");
assertEquals("package com.rusefi.ldmp.generated;\n" +
"\n" +
"import com.rusefi.ldmp.*;\n" +
"\n" +
"public class xx {\n" +
"\tpublic static final Request[] CONTENT = new Request[]{\n" +
"\t\t\tnew TextRequest(\"interpolate\"),\n" +
"\t\t\tnew SensorRequest(\"RPM\"),\n" +
"\t\t\tnew TextRequest(\"TCHARGE_MODE_RPM_TPS\"),\n" +
"\t\t\tnew ConfigRequest(\"tChargeMinRpmMinTps\"),\n" +
"\t};\n" +
"}", javaCode);
}
@Test
public void testField() {
MetaInfo r = parse(
"DISPLAY_STATE(tps)\n" +
"tm->DISPLAY_FIELD(voltageMCU) = getVoltage(\"term\", config->adcChannel);\n" +
"DISPLAY_tag(tag) DISPLAY_FIELD(voltageMCU2)");
assertEquals(1, r.first().size());
assertEquals(new FieldRequest("tps", "voltageMCU"), r.first().get(0));
assertEquals(2, r.map.size());
}
@Test
public void parseIf() {
MetaInfo r = parse("\tDisPLAY_IF(cond)\t// DISPLAY_TEXT(\"interpolate(\")\n" +
"+\t\tDISPLAY_SENSOR(RPM)" +
"/* DISPLAY_ElsE */ DISPLAY_TEXT(\"TCHARGE_MODE_RPM_TPS\")\n" +
"\t\tfloat minRpmKcurrentTPS = interpolateMsg(\"minRpm\", tpMin, DISPLAY_CONFIG(tChargeMinRpmMinTps), tpMax,\n" +
"/* DISPLAY_ENDIF */");
assertEquals(1, r.first().size());
IfRequest ifRequest = (IfRequest) r.first().get(0);
List<Request> trueBlock = ifRequest.trueBlock;
assertEquals(2, trueBlock.size());
assertEquals(new SensorRequest("RPM"), trueBlock.get(1));
List<Request> falseBlock = ifRequest.falseBlock;
assertEquals(2, falseBlock.size());
assertEquals(new ConfigRequest("tChargeMinRpmMinTps"), falseBlock.get(1));
}
}