From 4c129621c16cb83e31ebfcf34c40de98b5eb5366 Mon Sep 17 00:00:00 2001 From: GitHub build-firmware Action Date: Sun, 6 Sep 2020 04:28:39 +0000 Subject: [PATCH] Auto-generated configs and docs --- ...ngine_configuration_generated_structures.h | 4 +-- .../controllers/algo/rusefi_generated.h | 7 +++-- ...ngine_configuration_generated_structures.h | 4 +-- .../generated/fsio_enums_generated.def | 2 +- .../controllers/generated/fsio_getters.def | 2 +- firmware/controllers/generated/fsio_names.def | 2 +- .../controllers/generated/fsio_strings.def | 2 +- .../controllers/generated/rusefi_generated.h | 7 +++-- .../controllers/generated/signature_all.h | 4 +-- .../generated/signature_frankenso_na6.h | 4 +-- .../controllers/generated/signature_kin.h | 4 +-- .../controllers/generated/signature_mre_f4.h | 4 +-- .../controllers/generated/signature_mre_f7.h | 4 +-- .../generated/signature_prometheus_405.h | 4 +-- .../generated/signature_prometheus_469.h | 4 +-- .../generated/signature_proteus_f4.h | 4 +-- .../generated/signature_proteus_f7.h | 4 +-- firmware/tunerstudio/generated/cache.zip | Bin 865988 -> 867158 bytes firmware/tunerstudio/generated/rusefi.ini | 24 ++++++++++-------- .../generated/rusefi_frankenso_na6.ini | 24 ++++++++++-------- .../tunerstudio/generated/rusefi_kinetis.ini | 24 ++++++++++-------- .../tunerstudio/generated/rusefi_mre_f4.ini | 24 ++++++++++-------- .../tunerstudio/generated/rusefi_mre_f7.ini | 24 ++++++++++-------- .../generated/rusefi_prometheus_405.ini | 24 ++++++++++-------- .../generated/rusefi_prometheus_469.ini | 24 ++++++++++-------- .../generated/rusefi_proteus_f4.ini | 24 ++++++++++-------- .../generated/rusefi_proteus_f7.ini | 24 ++++++++++-------- .../com/rusefi/config/generated/Fields.java | 9 ++++--- java_console/rusefi.xml | 2 +- 29 files changed, 160 insertions(+), 133 deletions(-) diff --git a/firmware/config/boards/kinetis/config/controllers/algo/engine_configuration_generated_structures.h b/firmware/config/boards/kinetis/config/controllers/algo/engine_configuration_generated_structures.h index 35c9cfbd90..cadce3c686 100644 --- a/firmware/config/boards/kinetis/config/controllers/algo/engine_configuration_generated_structures.h +++ b/firmware/config/boards/kinetis/config/controllers/algo/engine_configuration_generated_structures.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Sun Sep 06 04:08:19 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Sun Sep 06 04:28:14 UTC 2020 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -3666,4 +3666,4 @@ struct persistent_config_s { typedef struct persistent_config_s persistent_config_s; // end -// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Sun Sep 06 04:08:19 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Sun Sep 06 04:28:14 UTC 2020 diff --git a/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h b/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h index 07b890d6ef..1103acebcd 100644 --- a/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h +++ b/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h @@ -265,9 +265,12 @@ #define CMD_TS_BENCH_CHECK_ENGINE_LIGHT 7 #define CMD_TS_BENCH_FAN_RELAY 4 #define CMD_TS_BENCH_FUEL_PUMP 1 +#define CMD_TS_BENCH_IDLE_VALVE 8 #define CMD_TS_BENCH_MAIN_RELAY 0 #define CMD_TS_BENCH_STARTER_DISABLE_RELAY 3 #define CMD_TS_BENCH_STARTER_ENABLE_RELAY 2 +#define CMD_TS_IGNITION_CATEGORY 18 +#define CMD_TS_INJECTOR_CATEGORY 19 #define CMD_VSS_PIN "vss_pin" #define CMD_WRITECONFIG "writeconfig" #define coastingFuelCutClt_offset 3154 @@ -1158,7 +1161,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD kin #define SIGNATURE_DATE 2020.09.06 -#define SIGNATURE_HASH 1195914285 +#define SIGNATURE_HASH 1306813178 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1468,7 +1471,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator true #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2020.09.06.kin.1195914285" +#define TS_SIGNATURE "rusEFI 2020.09.06.kin.1306813178" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' // 0x74 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures.h b/firmware/controllers/generated/engine_configuration_generated_structures.h index 71d8f49e3f..8782a5dec0 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Sep 06 04:08:01 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Sep 06 04:28:03 UTC 2020 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -3666,4 +3666,4 @@ struct persistent_config_s { typedef struct persistent_config_s persistent_config_s; // end -// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Sep 06 04:08:01 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Sep 06 04:28:03 UTC 2020 diff --git a/firmware/controllers/generated/fsio_enums_generated.def b/firmware/controllers/generated/fsio_enums_generated.def index e2ca2ac0f8..f0a99396d6 100644 --- a/firmware/controllers/generated/fsio_enums_generated.def +++ b/firmware/controllers/generated/fsio_enums_generated.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Sep 06 04:08:01 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Sep 06 04:28:03 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer FSIO_SETTING_FANONTEMPERATURE = 1000, diff --git a/firmware/controllers/generated/fsio_getters.def b/firmware/controllers/generated/fsio_getters.def index a412376e51..faee9d5b5a 100644 --- a/firmware/controllers/generated/fsio_getters.def +++ b/firmware/controllers/generated/fsio_getters.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Sep 06 04:08:01 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Sep 06 04:28:03 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer case FSIO_SETTING_FANONTEMPERATURE: diff --git a/firmware/controllers/generated/fsio_names.def b/firmware/controllers/generated/fsio_names.def index 3fd27ad966..9a329d3b7f 100644 --- a/firmware/controllers/generated/fsio_names.def +++ b/firmware/controllers/generated/fsio_names.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Sep 06 04:08:01 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Sep 06 04:28:03 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer static LENameOrdinalPair lefanOnTemperature(FSIO_SETTING_FANONTEMPERATURE, "cfg_fanOnTemperature"); diff --git a/firmware/controllers/generated/fsio_strings.def b/firmware/controllers/generated/fsio_strings.def index b662ab2ff4..23fd5a92b6 100644 --- a/firmware/controllers/generated/fsio_strings.def +++ b/firmware/controllers/generated/fsio_strings.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Sep 06 04:08:01 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Sep 06 04:28:03 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer case FSIO_SETTING_FANONTEMPERATURE: diff --git a/firmware/controllers/generated/rusefi_generated.h b/firmware/controllers/generated/rusefi_generated.h index f2864395ba..5608ed987b 100644 --- a/firmware/controllers/generated/rusefi_generated.h +++ b/firmware/controllers/generated/rusefi_generated.h @@ -265,9 +265,12 @@ #define CMD_TS_BENCH_CHECK_ENGINE_LIGHT 7 #define CMD_TS_BENCH_FAN_RELAY 4 #define CMD_TS_BENCH_FUEL_PUMP 1 +#define CMD_TS_BENCH_IDLE_VALVE 8 #define CMD_TS_BENCH_MAIN_RELAY 0 #define CMD_TS_BENCH_STARTER_DISABLE_RELAY 3 #define CMD_TS_BENCH_STARTER_ENABLE_RELAY 2 +#define CMD_TS_IGNITION_CATEGORY 18 +#define CMD_TS_INJECTOR_CATEGORY 19 #define CMD_VSS_PIN "vss_pin" #define CMD_WRITECONFIG "writeconfig" #define coastingFuelCutClt_offset 3154 @@ -1158,7 +1161,7 @@ #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD all #define SIGNATURE_DATE 2020.09.06 -#define SIGNATURE_HASH 1755083149 +#define SIGNATURE_HASH 1647322970 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1468,7 +1471,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2020.09.06.all.1755083149" +#define TS_SIGNATURE "rusEFI 2020.09.06.all.1647322970" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' // 0x74 diff --git a/firmware/controllers/generated/signature_all.h b/firmware/controllers/generated/signature_all.h index 91d57aadb9..bad9f657a9 100644 --- a/firmware/controllers/generated/signature_all.h +++ b/firmware/controllers/generated/signature_all.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD all #define SIGNATURE_DATE 2020.09.06 -#define SIGNATURE_HASH 1755083149 -#define TS_SIGNATURE "rusEFI 2020.09.06.all.1755083149" +#define SIGNATURE_HASH 1647322970 +#define TS_SIGNATURE "rusEFI 2020.09.06.all.1647322970" diff --git a/firmware/controllers/generated/signature_frankenso_na6.h b/firmware/controllers/generated/signature_frankenso_na6.h index 4fb73a2824..f262f444bb 100644 --- a/firmware/controllers/generated/signature_frankenso_na6.h +++ b/firmware/controllers/generated/signature_frankenso_na6.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD frankenso_na6 #define SIGNATURE_DATE 2020.09.06 -#define SIGNATURE_HASH 2686481540 -#define TS_SIGNATURE "rusEFI 2020.09.06.frankenso_na6.2686481540" +#define SIGNATURE_HASH 2861310547 +#define TS_SIGNATURE "rusEFI 2020.09.06.frankenso_na6.2861310547" diff --git a/firmware/controllers/generated/signature_kin.h b/firmware/controllers/generated/signature_kin.h index 39e603f4ed..6ebdfb81c8 100644 --- a/firmware/controllers/generated/signature_kin.h +++ b/firmware/controllers/generated/signature_kin.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD kin #define SIGNATURE_DATE 2020.09.06 -#define SIGNATURE_HASH 1195914285 -#define TS_SIGNATURE "rusEFI 2020.09.06.kin.1195914285" +#define SIGNATURE_HASH 1306813178 +#define TS_SIGNATURE "rusEFI 2020.09.06.kin.1306813178" diff --git a/firmware/controllers/generated/signature_mre_f4.h b/firmware/controllers/generated/signature_mre_f4.h index 22a0238c62..14abcde8c7 100644 --- a/firmware/controllers/generated/signature_mre_f4.h +++ b/firmware/controllers/generated/signature_mre_f4.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD mre_f4 #define SIGNATURE_DATE 2020.09.06 -#define SIGNATURE_HASH 2469586134 -#define TS_SIGNATURE "rusEFI 2020.09.06.mre_f4.2469586134" +#define SIGNATURE_HASH 2577314305 +#define TS_SIGNATURE "rusEFI 2020.09.06.mre_f4.2577314305" diff --git a/firmware/controllers/generated/signature_mre_f7.h b/firmware/controllers/generated/signature_mre_f7.h index 8649453aa3..54c68f5b12 100644 --- a/firmware/controllers/generated/signature_mre_f7.h +++ b/firmware/controllers/generated/signature_mre_f7.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD mre_f7 #define SIGNATURE_DATE 2020.09.06 -#define SIGNATURE_HASH 2469586134 -#define TS_SIGNATURE "rusEFI 2020.09.06.mre_f7.2469586134" +#define SIGNATURE_HASH 2577314305 +#define TS_SIGNATURE "rusEFI 2020.09.06.mre_f7.2577314305" diff --git a/firmware/controllers/generated/signature_prometheus_405.h b/firmware/controllers/generated/signature_prometheus_405.h index 729a79943a..9f37fb0ff0 100644 --- a/firmware/controllers/generated/signature_prometheus_405.h +++ b/firmware/controllers/generated/signature_prometheus_405.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD prometheus_405 #define SIGNATURE_DATE 2020.09.06 -#define SIGNATURE_HASH 2137665587 -#define TS_SIGNATURE "rusEFI 2020.09.06.prometheus_405.2137665587" +#define SIGNATURE_HASH 1975936740 +#define TS_SIGNATURE "rusEFI 2020.09.06.prometheus_405.1975936740" diff --git a/firmware/controllers/generated/signature_prometheus_469.h b/firmware/controllers/generated/signature_prometheus_469.h index c29249a584..0ec794a8fb 100644 --- a/firmware/controllers/generated/signature_prometheus_469.h +++ b/firmware/controllers/generated/signature_prometheus_469.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD prometheus_469 #define SIGNATURE_DATE 2020.09.06 -#define SIGNATURE_HASH 2137665587 -#define TS_SIGNATURE "rusEFI 2020.09.06.prometheus_469.2137665587" +#define SIGNATURE_HASH 1975936740 +#define TS_SIGNATURE "rusEFI 2020.09.06.prometheus_469.1975936740" diff --git a/firmware/controllers/generated/signature_proteus_f4.h b/firmware/controllers/generated/signature_proteus_f4.h index b3790f9d1b..b31db2830e 100644 --- a/firmware/controllers/generated/signature_proteus_f4.h +++ b/firmware/controllers/generated/signature_proteus_f4.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD proteus_f4 #define SIGNATURE_DATE 2020.09.06 -#define SIGNATURE_HASH 1573011144 -#define TS_SIGNATURE "rusEFI 2020.09.06.proteus_f4.1573011144" +#define SIGNATURE_HASH 1466853407 +#define TS_SIGNATURE "rusEFI 2020.09.06.proteus_f4.1466853407" diff --git a/firmware/controllers/generated/signature_proteus_f7.h b/firmware/controllers/generated/signature_proteus_f7.h index 026c45567f..5cda255142 100644 --- a/firmware/controllers/generated/signature_proteus_f7.h +++ b/firmware/controllers/generated/signature_proteus_f7.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD proteus_f7 #define SIGNATURE_DATE 2020.09.06 -#define SIGNATURE_HASH 1573011144 -#define TS_SIGNATURE "rusEFI 2020.09.06.proteus_f7.1573011144" +#define SIGNATURE_HASH 1466853407 +#define TS_SIGNATURE "rusEFI 2020.09.06.proteus_f7.1466853407" diff --git a/firmware/tunerstudio/generated/cache.zip b/firmware/tunerstudio/generated/cache.zip index b3fa2091ae73a9f53baec4978d12d4b0dc2827d5..a9986818f0235d8f9671215252a50be6aff0e9ef 100644 GIT binary patch delta 177367 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 delta 175927 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 diff --git a/firmware/tunerstudio/generated/rusefi.ini b/firmware/tunerstudio/generated/rusefi.ini index 225d53f659..421241a601 100644 --- a/firmware/tunerstudio/generated/rusefi.ini +++ b/firmware/tunerstudio/generated/rusefi.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.09.06.all.1755083149" + signature = "rusEFI 2020.09.06.all.1647322970" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.09.06.all.1755083149" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.09.06.all.1647322970" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -74,7 +74,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 Sun Sep 06 04:08:01 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Sep 06 04:28:03 UTC 2020 pageSize = 20000 page = 1 @@ -2790,8 +2790,8 @@ cmd_test_spk15 = "Z\x00\x12\x00\x0f" cmd_test_spk16 = "Z\x00\x12\x00\x10" -cmd_test_inj1 = "Z\x00\x13\x00\x01" -cmd_test_inj2 = "Z\x00\x13\x00\x02" +cmd_test_inj1 = "Z19\x00\x01" +cmd_test_inj2 = "Z19\x00\x02" cmd_test_inj3 = "Z\x00\x13\x00\x03" cmd_test_inj4 = "Z\x00\x13\x00\x04" cmd_test_inj5 = "Z\x00\x13\x00\x05" @@ -2804,12 +2804,14 @@ cmd_test_inj11 = "Z\x00\x13\x00\x0b" cmd_test_inj12 = "Z\x00\x13\x00\x0c" -cmd_test_fuel_pump = "Z\x00\x14\x00\x01" -cmd_test_starter_relay = "Z\x00\x14\x00\x0B" -cmd_test_ac_relay = "Z\x00\x14\x00\x09" -cmd_test_radiator_fan = "Z\x00\x15\x00\x01" -cmd_test_check_engine_light = "Z\x00\\x00\x16\x00\x01" -cmd_test_idle_valve = "Z\x00\x17\x00\x01" +cmd_test_main_relay = "Z\x00\x16\x00\x00" +cmd_test_fuel_pump = "Z\x00\x16\x00\x01" +cmd_test_starter_relay = "Z\x00\x16\x00\x02" +cmd_test_starter_disable_relay = "Z\x00\x16\x00\x03" +cmd_test_ac_relay = "Z\x00\x16\x00\x06" +cmd_test_radiator_fan = "Z\x00\x16\x00\x04" +cmd_test_check_engine_light = "Z\x00\x16\x00\x07" +cmd_test_idle_valve = "Z\x00\x16\x00\x08" cmd_calibrate_tps_1_closed = "Z\x00\x14\x00\x02" diff --git a/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini b/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini index 83afa4f6d0..d22c95c8d8 100644 --- a/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini +++ b/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.09.06.frankenso_na6.2686481540" + signature = "rusEFI 2020.09.06.frankenso_na6.2861310547" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.09.06.frankenso_na6.2686481540" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.09.06.frankenso_na6.2861310547" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -74,7 +74,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 Sun Sep 06 04:08:06 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Sep 06 04:28:08 UTC 2020 pageSize = 20000 page = 1 @@ -2790,8 +2790,8 @@ cmd_test_spk15 = "Z\x00\x12\x00\x0f" cmd_test_spk16 = "Z\x00\x12\x00\x10" -cmd_test_inj1 = "Z\x00\x13\x00\x01" -cmd_test_inj2 = "Z\x00\x13\x00\x02" +cmd_test_inj1 = "Z19\x00\x01" +cmd_test_inj2 = "Z19\x00\x02" cmd_test_inj3 = "Z\x00\x13\x00\x03" cmd_test_inj4 = "Z\x00\x13\x00\x04" cmd_test_inj5 = "Z\x00\x13\x00\x05" @@ -2804,12 +2804,14 @@ cmd_test_inj11 = "Z\x00\x13\x00\x0b" cmd_test_inj12 = "Z\x00\x13\x00\x0c" -cmd_test_fuel_pump = "Z\x00\x14\x00\x01" -cmd_test_starter_relay = "Z\x00\x14\x00\x0B" -cmd_test_ac_relay = "Z\x00\x14\x00\x09" -cmd_test_radiator_fan = "Z\x00\x15\x00\x01" -cmd_test_check_engine_light = "Z\x00\\x00\x16\x00\x01" -cmd_test_idle_valve = "Z\x00\x17\x00\x01" +cmd_test_main_relay = "Z\x00\x16\x00\x00" +cmd_test_fuel_pump = "Z\x00\x16\x00\x01" +cmd_test_starter_relay = "Z\x00\x16\x00\x02" +cmd_test_starter_disable_relay = "Z\x00\x16\x00\x03" +cmd_test_ac_relay = "Z\x00\x16\x00\x06" +cmd_test_radiator_fan = "Z\x00\x16\x00\x04" +cmd_test_check_engine_light = "Z\x00\x16\x00\x07" +cmd_test_idle_valve = "Z\x00\x16\x00\x08" cmd_calibrate_tps_1_closed = "Z\x00\x14\x00\x02" diff --git a/firmware/tunerstudio/generated/rusefi_kinetis.ini b/firmware/tunerstudio/generated/rusefi_kinetis.ini index 75fa32c1cc..d09e5b200a 100644 --- a/firmware/tunerstudio/generated/rusefi_kinetis.ini +++ b/firmware/tunerstudio/generated/rusefi_kinetis.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.09.06.kin.1195914285" + signature = "rusEFI 2020.09.06.kin.1306813178" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.09.06.kin.1195914285" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.09.06.kin.1306813178" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -74,7 +74,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 Sun Sep 06 04:08:19 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Sun Sep 06 04:28:14 UTC 2020 pageSize = 20000 page = 1 @@ -2790,8 +2790,8 @@ cmd_test_spk15 = "Z\x00\x12\x00\x0f" cmd_test_spk16 = "Z\x00\x12\x00\x10" -cmd_test_inj1 = "Z\x00\x13\x00\x01" -cmd_test_inj2 = "Z\x00\x13\x00\x02" +cmd_test_inj1 = "Z19\x00\x01" +cmd_test_inj2 = "Z19\x00\x02" cmd_test_inj3 = "Z\x00\x13\x00\x03" cmd_test_inj4 = "Z\x00\x13\x00\x04" cmd_test_inj5 = "Z\x00\x13\x00\x05" @@ -2804,12 +2804,14 @@ cmd_test_inj11 = "Z\x00\x13\x00\x0b" cmd_test_inj12 = "Z\x00\x13\x00\x0c" -cmd_test_fuel_pump = "Z\x00\x14\x00\x01" -cmd_test_starter_relay = "Z\x00\x14\x00\x0B" -cmd_test_ac_relay = "Z\x00\x14\x00\x09" -cmd_test_radiator_fan = "Z\x00\x15\x00\x01" -cmd_test_check_engine_light = "Z\x00\\x00\x16\x00\x01" -cmd_test_idle_valve = "Z\x00\x17\x00\x01" +cmd_test_main_relay = "Z\x00\x16\x00\x00" +cmd_test_fuel_pump = "Z\x00\x16\x00\x01" +cmd_test_starter_relay = "Z\x00\x16\x00\x02" +cmd_test_starter_disable_relay = "Z\x00\x16\x00\x03" +cmd_test_ac_relay = "Z\x00\x16\x00\x06" +cmd_test_radiator_fan = "Z\x00\x16\x00\x04" +cmd_test_check_engine_light = "Z\x00\x16\x00\x07" +cmd_test_idle_valve = "Z\x00\x16\x00\x08" cmd_calibrate_tps_1_closed = "Z\x00\x14\x00\x02" diff --git a/firmware/tunerstudio/generated/rusefi_mre_f4.ini b/firmware/tunerstudio/generated/rusefi_mre_f4.ini index 3347f75b2b..877832b48e 100644 --- a/firmware/tunerstudio/generated/rusefi_mre_f4.ini +++ b/firmware/tunerstudio/generated/rusefi_mre_f4.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.09.06.mre_f4.2469586134" + signature = "rusEFI 2020.09.06.mre_f4.2577314305" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.09.06.mre_f4.2469586134" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.09.06.mre_f4.2577314305" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -74,7 +74,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 Sun Sep 06 04:08:05 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Sep 06 04:28:06 UTC 2020 pageSize = 20000 page = 1 @@ -2785,8 +2785,8 @@ cmd_test_spk15 = "Z\x00\x12\x00\x0f" cmd_test_spk16 = "Z\x00\x12\x00\x10" -cmd_test_inj1 = "Z\x00\x13\x00\x01" -cmd_test_inj2 = "Z\x00\x13\x00\x02" +cmd_test_inj1 = "Z19\x00\x01" +cmd_test_inj2 = "Z19\x00\x02" cmd_test_inj3 = "Z\x00\x13\x00\x03" cmd_test_inj4 = "Z\x00\x13\x00\x04" cmd_test_inj5 = "Z\x00\x13\x00\x05" @@ -2799,12 +2799,14 @@ cmd_test_inj11 = "Z\x00\x13\x00\x0b" cmd_test_inj12 = "Z\x00\x13\x00\x0c" -cmd_test_fuel_pump = "Z\x00\x14\x00\x01" -cmd_test_starter_relay = "Z\x00\x14\x00\x0B" -cmd_test_ac_relay = "Z\x00\x14\x00\x09" -cmd_test_radiator_fan = "Z\x00\x15\x00\x01" -cmd_test_check_engine_light = "Z\x00\\x00\x16\x00\x01" -cmd_test_idle_valve = "Z\x00\x17\x00\x01" +cmd_test_main_relay = "Z\x00\x16\x00\x00" +cmd_test_fuel_pump = "Z\x00\x16\x00\x01" +cmd_test_starter_relay = "Z\x00\x16\x00\x02" +cmd_test_starter_disable_relay = "Z\x00\x16\x00\x03" +cmd_test_ac_relay = "Z\x00\x16\x00\x06" +cmd_test_radiator_fan = "Z\x00\x16\x00\x04" +cmd_test_check_engine_light = "Z\x00\x16\x00\x07" +cmd_test_idle_valve = "Z\x00\x16\x00\x08" cmd_calibrate_tps_1_closed = "Z\x00\x14\x00\x02" diff --git a/firmware/tunerstudio/generated/rusefi_mre_f7.ini b/firmware/tunerstudio/generated/rusefi_mre_f7.ini index a1e1d4dfc5..ca6280225f 100644 --- a/firmware/tunerstudio/generated/rusefi_mre_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_mre_f7.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.09.06.mre_f7.2469586134" + signature = "rusEFI 2020.09.06.mre_f7.2577314305" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.09.06.mre_f7.2469586134" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.09.06.mre_f7.2577314305" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -74,7 +74,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 Sun Sep 06 04:08:03 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Sep 06 04:28:05 UTC 2020 pageSize = 20000 page = 1 @@ -2785,8 +2785,8 @@ cmd_test_spk15 = "Z\x00\x12\x00\x0f" cmd_test_spk16 = "Z\x00\x12\x00\x10" -cmd_test_inj1 = "Z\x00\x13\x00\x01" -cmd_test_inj2 = "Z\x00\x13\x00\x02" +cmd_test_inj1 = "Z19\x00\x01" +cmd_test_inj2 = "Z19\x00\x02" cmd_test_inj3 = "Z\x00\x13\x00\x03" cmd_test_inj4 = "Z\x00\x13\x00\x04" cmd_test_inj5 = "Z\x00\x13\x00\x05" @@ -2799,12 +2799,14 @@ cmd_test_inj11 = "Z\x00\x13\x00\x0b" cmd_test_inj12 = "Z\x00\x13\x00\x0c" -cmd_test_fuel_pump = "Z\x00\x14\x00\x01" -cmd_test_starter_relay = "Z\x00\x14\x00\x0B" -cmd_test_ac_relay = "Z\x00\x14\x00\x09" -cmd_test_radiator_fan = "Z\x00\x15\x00\x01" -cmd_test_check_engine_light = "Z\x00\\x00\x16\x00\x01" -cmd_test_idle_valve = "Z\x00\x17\x00\x01" +cmd_test_main_relay = "Z\x00\x16\x00\x00" +cmd_test_fuel_pump = "Z\x00\x16\x00\x01" +cmd_test_starter_relay = "Z\x00\x16\x00\x02" +cmd_test_starter_disable_relay = "Z\x00\x16\x00\x03" +cmd_test_ac_relay = "Z\x00\x16\x00\x06" +cmd_test_radiator_fan = "Z\x00\x16\x00\x04" +cmd_test_check_engine_light = "Z\x00\x16\x00\x07" +cmd_test_idle_valve = "Z\x00\x16\x00\x08" cmd_calibrate_tps_1_closed = "Z\x00\x14\x00\x02" diff --git a/firmware/tunerstudio/generated/rusefi_prometheus_405.ini b/firmware/tunerstudio/generated/rusefi_prometheus_405.ini index a182bbba0e..3d24cd1a0b 100644 --- a/firmware/tunerstudio/generated/rusefi_prometheus_405.ini +++ b/firmware/tunerstudio/generated/rusefi_prometheus_405.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.09.06.prometheus_405.2137665587" + signature = "rusEFI 2020.09.06.prometheus_405.1975936740" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.09.06.prometheus_405.2137665587" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.09.06.prometheus_405.1975936740" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -74,7 +74,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 Sun Sep 06 04:08:09 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Sep 06 04:28:10 UTC 2020 pageSize = 20000 page = 1 @@ -2786,8 +2786,8 @@ cmd_test_spk15 = "Z\x00\x12\x00\x0f" cmd_test_spk16 = "Z\x00\x12\x00\x10" -cmd_test_inj1 = "Z\x00\x13\x00\x01" -cmd_test_inj2 = "Z\x00\x13\x00\x02" +cmd_test_inj1 = "Z19\x00\x01" +cmd_test_inj2 = "Z19\x00\x02" cmd_test_inj3 = "Z\x00\x13\x00\x03" cmd_test_inj4 = "Z\x00\x13\x00\x04" cmd_test_inj5 = "Z\x00\x13\x00\x05" @@ -2800,12 +2800,14 @@ cmd_test_inj11 = "Z\x00\x13\x00\x0b" cmd_test_inj12 = "Z\x00\x13\x00\x0c" -cmd_test_fuel_pump = "Z\x00\x14\x00\x01" -cmd_test_starter_relay = "Z\x00\x14\x00\x0B" -cmd_test_ac_relay = "Z\x00\x14\x00\x09" -cmd_test_radiator_fan = "Z\x00\x15\x00\x01" -cmd_test_check_engine_light = "Z\x00\\x00\x16\x00\x01" -cmd_test_idle_valve = "Z\x00\x17\x00\x01" +cmd_test_main_relay = "Z\x00\x16\x00\x00" +cmd_test_fuel_pump = "Z\x00\x16\x00\x01" +cmd_test_starter_relay = "Z\x00\x16\x00\x02" +cmd_test_starter_disable_relay = "Z\x00\x16\x00\x03" +cmd_test_ac_relay = "Z\x00\x16\x00\x06" +cmd_test_radiator_fan = "Z\x00\x16\x00\x04" +cmd_test_check_engine_light = "Z\x00\x16\x00\x07" +cmd_test_idle_valve = "Z\x00\x16\x00\x08" cmd_calibrate_tps_1_closed = "Z\x00\x14\x00\x02" diff --git a/firmware/tunerstudio/generated/rusefi_prometheus_469.ini b/firmware/tunerstudio/generated/rusefi_prometheus_469.ini index 38272d5f7e..9494c65e60 100644 --- a/firmware/tunerstudio/generated/rusefi_prometheus_469.ini +++ b/firmware/tunerstudio/generated/rusefi_prometheus_469.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.09.06.prometheus_469.2137665587" + signature = "rusEFI 2020.09.06.prometheus_469.1975936740" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.09.06.prometheus_469.2137665587" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.09.06.prometheus_469.1975936740" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -74,7 +74,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 Sun Sep 06 04:08:08 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Sep 06 04:28:09 UTC 2020 pageSize = 20000 page = 1 @@ -2786,8 +2786,8 @@ cmd_test_spk15 = "Z\x00\x12\x00\x0f" cmd_test_spk16 = "Z\x00\x12\x00\x10" -cmd_test_inj1 = "Z\x00\x13\x00\x01" -cmd_test_inj2 = "Z\x00\x13\x00\x02" +cmd_test_inj1 = "Z19\x00\x01" +cmd_test_inj2 = "Z19\x00\x02" cmd_test_inj3 = "Z\x00\x13\x00\x03" cmd_test_inj4 = "Z\x00\x13\x00\x04" cmd_test_inj5 = "Z\x00\x13\x00\x05" @@ -2800,12 +2800,14 @@ cmd_test_inj11 = "Z\x00\x13\x00\x0b" cmd_test_inj12 = "Z\x00\x13\x00\x0c" -cmd_test_fuel_pump = "Z\x00\x14\x00\x01" -cmd_test_starter_relay = "Z\x00\x14\x00\x0B" -cmd_test_ac_relay = "Z\x00\x14\x00\x09" -cmd_test_radiator_fan = "Z\x00\x15\x00\x01" -cmd_test_check_engine_light = "Z\x00\\x00\x16\x00\x01" -cmd_test_idle_valve = "Z\x00\x17\x00\x01" +cmd_test_main_relay = "Z\x00\x16\x00\x00" +cmd_test_fuel_pump = "Z\x00\x16\x00\x01" +cmd_test_starter_relay = "Z\x00\x16\x00\x02" +cmd_test_starter_disable_relay = "Z\x00\x16\x00\x03" +cmd_test_ac_relay = "Z\x00\x16\x00\x06" +cmd_test_radiator_fan = "Z\x00\x16\x00\x04" +cmd_test_check_engine_light = "Z\x00\x16\x00\x07" +cmd_test_idle_valve = "Z\x00\x16\x00\x08" cmd_calibrate_tps_1_closed = "Z\x00\x14\x00\x02" diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f4.ini b/firmware/tunerstudio/generated/rusefi_proteus_f4.ini index 5e29777e31..3e4fe535fd 100644 --- a/firmware/tunerstudio/generated/rusefi_proteus_f4.ini +++ b/firmware/tunerstudio/generated/rusefi_proteus_f4.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.09.06.proteus_f4.1573011144" + signature = "rusEFI 2020.09.06.proteus_f4.1466853407" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.09.06.proteus_f4.1573011144" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.09.06.proteus_f4.1466853407" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -74,7 +74,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 Sun Sep 06 04:08:16 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Sep 06 04:28:13 UTC 2020 pageSize = 20000 page = 1 @@ -2781,8 +2781,8 @@ cmd_test_spk15 = "Z\x00\x12\x00\x0f" cmd_test_spk16 = "Z\x00\x12\x00\x10" -cmd_test_inj1 = "Z\x00\x13\x00\x01" -cmd_test_inj2 = "Z\x00\x13\x00\x02" +cmd_test_inj1 = "Z19\x00\x01" +cmd_test_inj2 = "Z19\x00\x02" cmd_test_inj3 = "Z\x00\x13\x00\x03" cmd_test_inj4 = "Z\x00\x13\x00\x04" cmd_test_inj5 = "Z\x00\x13\x00\x05" @@ -2795,12 +2795,14 @@ cmd_test_inj11 = "Z\x00\x13\x00\x0b" cmd_test_inj12 = "Z\x00\x13\x00\x0c" -cmd_test_fuel_pump = "Z\x00\x14\x00\x01" -cmd_test_starter_relay = "Z\x00\x14\x00\x0B" -cmd_test_ac_relay = "Z\x00\x14\x00\x09" -cmd_test_radiator_fan = "Z\x00\x15\x00\x01" -cmd_test_check_engine_light = "Z\x00\\x00\x16\x00\x01" -cmd_test_idle_valve = "Z\x00\x17\x00\x01" +cmd_test_main_relay = "Z\x00\x16\x00\x00" +cmd_test_fuel_pump = "Z\x00\x16\x00\x01" +cmd_test_starter_relay = "Z\x00\x16\x00\x02" +cmd_test_starter_disable_relay = "Z\x00\x16\x00\x03" +cmd_test_ac_relay = "Z\x00\x16\x00\x06" +cmd_test_radiator_fan = "Z\x00\x16\x00\x04" +cmd_test_check_engine_light = "Z\x00\x16\x00\x07" +cmd_test_idle_valve = "Z\x00\x16\x00\x08" cmd_calibrate_tps_1_closed = "Z\x00\x14\x00\x02" diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f7.ini b/firmware/tunerstudio/generated/rusefi_proteus_f7.ini index 1add544149..9a8cc4c729 100644 --- a/firmware/tunerstudio/generated/rusefi_proteus_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_proteus_f7.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2020.09.06.proteus_f7.1573011144" + signature = "rusEFI 2020.09.06.proteus_f7.1466853407" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2020.09.06.proteus_f7.1573011144" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2020.09.06.proteus_f7.1466853407" ; signature is expected to be 7 or more characters. [Constants] ; new packet serial format with CRC @@ -74,7 +74,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 Sun Sep 06 04:08:11 UTC 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Sep 06 04:28:12 UTC 2020 pageSize = 20000 page = 1 @@ -2781,8 +2781,8 @@ cmd_test_spk15 = "Z\x00\x12\x00\x0f" cmd_test_spk16 = "Z\x00\x12\x00\x10" -cmd_test_inj1 = "Z\x00\x13\x00\x01" -cmd_test_inj2 = "Z\x00\x13\x00\x02" +cmd_test_inj1 = "Z19\x00\x01" +cmd_test_inj2 = "Z19\x00\x02" cmd_test_inj3 = "Z\x00\x13\x00\x03" cmd_test_inj4 = "Z\x00\x13\x00\x04" cmd_test_inj5 = "Z\x00\x13\x00\x05" @@ -2795,12 +2795,14 @@ cmd_test_inj11 = "Z\x00\x13\x00\x0b" cmd_test_inj12 = "Z\x00\x13\x00\x0c" -cmd_test_fuel_pump = "Z\x00\x14\x00\x01" -cmd_test_starter_relay = "Z\x00\x14\x00\x0B" -cmd_test_ac_relay = "Z\x00\x14\x00\x09" -cmd_test_radiator_fan = "Z\x00\x15\x00\x01" -cmd_test_check_engine_light = "Z\x00\\x00\x16\x00\x01" -cmd_test_idle_valve = "Z\x00\x17\x00\x01" +cmd_test_main_relay = "Z\x00\x16\x00\x00" +cmd_test_fuel_pump = "Z\x00\x16\x00\x01" +cmd_test_starter_relay = "Z\x00\x16\x00\x02" +cmd_test_starter_disable_relay = "Z\x00\x16\x00\x03" +cmd_test_ac_relay = "Z\x00\x16\x00\x06" +cmd_test_radiator_fan = "Z\x00\x16\x00\x04" +cmd_test_check_engine_light = "Z\x00\x16\x00\x07" +cmd_test_idle_valve = "Z\x00\x16\x00\x08" cmd_calibrate_tps_1_closed = "Z\x00\x14\x00\x02" diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/Fields.java b/java_console/models/src/main/java/com/rusefi/config/generated/Fields.java index 4a80d47e06..3b449f4648 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/Fields.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/Fields.java @@ -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 Sun Sep 06 04:08:01 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Sep 06 04:28:03 UTC 2020 // by class com.rusefi.output.FileJavaFieldsConsumer import com.rusefi.config.*; @@ -257,9 +257,12 @@ public class Fields { public static final int CMD_TS_BENCH_CHECK_ENGINE_LIGHT = 7; public static final int CMD_TS_BENCH_FAN_RELAY = 4; public static final int CMD_TS_BENCH_FUEL_PUMP = 1; + public static final int CMD_TS_BENCH_IDLE_VALVE = 8; public static final int CMD_TS_BENCH_MAIN_RELAY = 0; public static final int CMD_TS_BENCH_STARTER_DISABLE_RELAY = 3; public static final int CMD_TS_BENCH_STARTER_ENABLE_RELAY = 2; + public static final int CMD_TS_IGNITION_CATEGORY = 18; + public static final int CMD_TS_INJECTOR_CATEGORY = 19; public static final String CMD_VSS_PIN = "vss_pin"; public static final String CMD_WRITECONFIG = "writeconfig"; public static final int coastingFuelCutClt_offset = 3154; @@ -1115,7 +1118,7 @@ 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 = 1755083149; + public static final int SIGNATURE_HASH = 1647322970; public static final int silentTriggerError_offset = 1464; public static final int slowAdcAlpha_offset = 2088; public static final int sparkDwellRpmBins_offset = 332; @@ -1375,7 +1378,7 @@ public class Fields { public static final char TS_SD_R_COMMAND = 'r'; public static final char TS_SD_W_COMMAND = 'w'; public static final char TS_SET_LOGGER_SWITCH = 'l'; - public static final String TS_SIGNATURE = "rusEFI 2020.09.06.all.1755083149"; + public static final String TS_SIGNATURE = "rusEFI 2020.09.06.all.1647322970"; public static final char TS_SINGLE_WRITE_COMMAND = 'W'; public static final int tunerStudioSerialSpeed_offset = 728; public static final int twoWireBatchIgnition_offset = 1476; diff --git a/java_console/rusefi.xml b/java_console/rusefi.xml index b5762764b0..c03fac74ad 100644 --- a/java_console/rusefi.xml +++ b/java_console/rusefi.xml @@ -1,6 +1,6 @@ - +