From 3b989ddbf276e731dec457b72ccc908fca0e88b6 Mon Sep 17 00:00:00 2001 From: GitHub build-firmware Action Date: Thu, 28 Oct 2021 18:24:50 +0000 Subject: [PATCH] Auto-generated configs and docs --- ...ngine_configuration_generated_structures.h | 8 +- .../controllers/algo/rusefi_generated.h | 40 +- ...ngine_configuration_generated_structures.h | 8 +- .../controllers/algo/rusefi_generated.h | 40 +- ...ngine_configuration_generated_structures.h | 8 +- .../controllers/algo/rusefi_generated.h | 40 +- ...ngine_configuration_generated_structures.h | 3012 ++--------------- .../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 | 76 +- .../controllers/generated/signature_all.h | 4 +- .../controllers/generated/signature_atlas.h | 4 +- .../generated/signature_f429-discovery.h | 4 +- .../generated/signature_frankenso_na6.h | 4 +- .../generated/signature_hellen-nb1.h | 4 +- .../generated/signature_hellen121nissan.h | 4 +- .../generated/signature_hellen121vag.h | 4 +- .../generated/signature_hellen128.h | 4 +- .../generated/signature_hellen154hyundai.h | 4 +- .../generated/signature_hellen72.h | 4 +- .../generated/signature_hellen88bmw.h | 4 +- .../generated/signature_hellenNA6.h | 4 +- .../generated/signature_hellen_cypress.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 +- .../generated/signature_subaru_eg33_f7.h | 4 +- firmware/tunerstudio/generated/cache.zip | Bin 2082928 -> 2083033 bytes firmware/tunerstudio/generated/rusefi.ini | 42 +- .../tunerstudio/generated/rusefi_atlas.ini | 42 +- .../generated/rusefi_f429-discovery.ini | 42 +- .../generated/rusefi_frankenso_na6.ini | 42 +- .../generated/rusefi_hellen-nb1.ini | 42 +- .../generated/rusefi_hellen121nissan.ini | 42 +- .../generated/rusefi_hellen121vag.ini | 42 +- .../generated/rusefi_hellen128mercedes.ini | 42 +- .../generated/rusefi_hellen154hyundai.ini | 42 +- .../tunerstudio/generated/rusefi_hellen72.ini | 42 +- .../generated/rusefi_hellen88bmw.ini | 42 +- .../generated/rusefi_hellenNA6.ini | 42 +- .../generated/rusefi_hellen_cypress.ini | 42 +- .../tunerstudio/generated/rusefi_kinetis.ini | 38 +- .../tunerstudio/generated/rusefi_mre_f4.ini | 42 +- .../tunerstudio/generated/rusefi_mre_f7.ini | 42 +- .../generated/rusefi_prometheus_405.ini | 42 +- .../generated/rusefi_prometheus_469.ini | 42 +- .../generated/rusefi_proteus_f4.ini | 42 +- .../generated/rusefi_proteus_f7.ini | 42 +- .../generated/rusefi_subaru_eg33_f7.ini | 42 +- .../com/rusefi/config/generated/Fields.java | 37 +- java_console/rusefi.xml | 2 +- 57 files changed, 927 insertions(+), 3314 deletions(-) diff --git a/firmware/config/boards/hellen/cypress/config/controllers/algo/engine_configuration_generated_structures.h b/firmware/config/boards/hellen/cypress/config/controllers/algo/engine_configuration_generated_structures.h index ca9ea48eac..bce1a2a5ef 100644 --- a/firmware/config/boards/hellen/cypress/config/controllers/algo/engine_configuration_generated_structures.h +++ b/firmware/config/boards/hellen/cypress/config/controllers/algo/engine_configuration_generated_structures.h @@ -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 26 21:07:06 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 28 18:23:31 UTC 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -106,12 +106,12 @@ struct pid_s { */ int16_t periodMs; /** - * Output min value + * Output Min Duty Cycle * offset 16 */ int16_t minValue; /** - * Output max value + * Output Max Duty Cycle * offset 18 */ int16_t maxValue; @@ -4395,4 +4395,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 26 21:07:06 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 28 18:23:31 UTC 2021 diff --git a/firmware/config/boards/hellen/cypress/config/controllers/algo/rusefi_generated.h b/firmware/config/boards/hellen/cypress/config/controllers/algo/rusefi_generated.h index e43f1e7300..4cab954245 100644 --- a/firmware/config/boards/hellen/cypress/config/controllers/algo/rusefi_generated.h +++ b/firmware/config/boards/hellen/cypress/config/controllers/algo/rusefi_generated.h @@ -774,7 +774,7 @@ #define ENGINE_MAKE_VAG "VAG" #define ENGINE_NOISE_CURVE_SIZE 8 #define ENGINE_SNIFFER_UNIT_US 10 -#define engine_type_e_auto_enum "DEFAULT_FRANKENSO", "MIATA_PROTEUS_TCU", "DODGE_NEON_1995", "FORD_ASPIRE_1996", "UNUSED5", "NISSAN_PRIMERA", "ET_UNUSED_6", "FORD_INLINE_6_1995", "GY6_139QMB", "MAZDA_MIATA_NB1", "UNUSED10", "MRE_MIATA_NB2_MAP", "MRE_MIATA_NA6_VAF", "MRE_MIATA_NB2_ETB", "FORD_ESCORT_GT", "MRE_MIATA_NB2_MAF", "MITSU_4G93", "HONDA_ACCORD_CD_TWO_WIRES", "HONDA_ACCORD_CD_DIP", "MIATA_1990", "MRE_MIATA_94_MAP", "MIATA_1996", "SUBARU_2003_WRX", "MRE_BODY_CONTROL", "BMW_M73_M", "UNUSED25", "TEST_ENGINE", "TEST_ISSUE_898", "MAZDA_626", "SACHS", "MRE_BOARD_OLD_TEST", "MRE_BOARD_NEW_TEST", "VW_ABA", "HELLEN72_ETB", "HELLEN_NA6", "CAMARO_4", "HELLEN_128_MERCEDES_4_CYL", "MRE_SUBARU_EJ18", "TOYOTA_JZS147", "LADA_KALINA", "FRANKENSO_BMW_M73_F", "FRANKENSO_MIATA_NA6_MAP", "PROTEUS_QC_TEST_BOARD", "HONDA_600", "TOYOTA_2JZ_GTE_VVTi", "TEST_ENGINE_VVT", "DODGE_NEON_2003_CRANK", "FRANKENSO_MAZDA_MIATA_2003", "UNUSED_48", "FRANKENSO_QA_ENGINE", "UNUSED_50", "UNUSED_51", "TEST_ISSUE_366_BOTH", "TEST_ISSUE_366_RISE", "MAZDA_MIATA_2003_NA_RAIL", "MAZDA_MIATA_2003_BOARD_TEST", "FRANKENSO_MAZDA_MIATA_NA8", "FRANKENSO_MIATA_NA6_VAF", "ETB_BENCH_ENGINE", "TLE8888_BENCH_ENGINE", "MICRO_RUS_EFI", "PROTEUS_DEFAULTS", "VW_B6", "PROTEUS_BMW_M73", "DODGE_RAM", "CITROEN_TU3JP", "MRE_MIATA_NA6_MAP", "PROTEUS_MIATA_NB2", "MRE_M111", "HELLEN_NB2", "SUBARUEG33_DEFAULTS", "HELLEN_121_VAG_4_CYL", "HELLEN_121_NISSAN_6_CYL", "HELLEN_55_BMW", "HELLEN_88_BMW", "HELLEN_134_BMW", "HELLEN_154_VAG", "HELLEN_121_VAG_5_CYL", "HELLEN_121_VAG_V6_CYL", "HELLEN_121_VAG_VR6_CYL", "HELLEN_NA94", "HELLEN_121_VAG_8_CYL", "HELLEN_154_HYUNDAI_COUPE_BK1", "HELLEN_NB1", "HELLEN_121_NISSAN_4_CYL", "HELLEN_121_NISSAN_8_CYL", "HELLEN_NB2_36", "HELLEN_121_NISSAN_ALMERA_N16", "HELLEN_128_MERCEDES_6_CYL", "HELLEN_128_MERCEDES_8_CYL", "PROTEUS_HONDA_ELEMENT_2003", "PROTEUS_HONDA_OBD2A", "PROTEUS_VAG_80_18T", "PROTEUS_N73", "HELLEN_NB1_36", "HELLEN_154_HYUNDAI_COUPE_BK2", "ET_UNUSED96", "ET_UNUSED97", "ET_UNUSED98", "MINIMAL_PINS", "PROMETHEUS_DEFAULTS", "SUBARUEJ20G_DEFAULTS", "VAG_18_TURBO", "TEST_33816", "BMW_M73_MRE", "BMW_M73_MRE_SLAVE", "PROTEUS_ANALOG_PWM_TEST", "TEST_ROTARY", "TEST_108", "TEST_109", "TEST_110" +#define engine_type_e_auto_enum "DEFAULT_FRANKENSO", "MIATA_PROTEUS_TCU", "DODGE_NEON_1995", "FORD_ASPIRE_1996", "MRE_SECONDARY_CAN", "NISSAN_PRIMERA", "ET_UNUSED_6", "FORD_INLINE_6_1995", "GY6_139QMB", "MAZDA_MIATA_NB1", "UNUSED10", "MRE_MIATA_NB2_MAP", "MRE_MIATA_NA6_VAF", "MRE_MIATA_NB2_ETB", "FORD_ESCORT_GT", "MRE_MIATA_NB2_MAF", "MITSU_4G93", "HONDA_ACCORD_CD_TWO_WIRES", "HONDA_ACCORD_CD_DIP", "MIATA_1990", "MRE_MIATA_94_MAP", "MIATA_1996", "SUBARU_2003_WRX", "MRE_BODY_CONTROL", "BMW_M73_M", "UNUSED25", "TEST_ENGINE", "TEST_ISSUE_898", "MAZDA_626", "SACHS", "UNUSED30", "MRE_BOARD_NEW_TEST", "VW_ABA", "HELLEN72_ETB", "HELLEN_NA6", "CAMARO_4", "HELLEN_128_MERCEDES_4_CYL", "MRE_SUBARU_EJ18", "TOYOTA_JZS147", "UNUSED39", "FRANKENSO_BMW_M73_F", "FRANKENSO_MIATA_NA6_MAP", "PROTEUS_QC_TEST_BOARD", "HONDA_600", "TOYOTA_2JZ_GTE_VVTi", "TEST_ENGINE_VVT", "DODGE_NEON_2003_CRANK", "FRANKENSO_MAZDA_MIATA_2003", "UNUSED_48", "FRANKENSO_QA_ENGINE", "UNUSED_50", "UNUSED_51", "TEST_ISSUE_366_BOTH", "TEST_ISSUE_366_RISE", "MAZDA_MIATA_2003_NA_RAIL", "MAZDA_MIATA_2003_BOARD_TEST", "FRANKENSO_MAZDA_MIATA_NA8", "FRANKENSO_MIATA_NA6_VAF", "ETB_BENCH_ENGINE", "TLE8888_BENCH_ENGINE", "MICRO_RUS_EFI", "PROTEUS_DEFAULTS", "VW_B6", "PROTEUS_BMW_M73", "DODGE_RAM", "CITROEN_TU3JP", "MRE_MIATA_NA6_MAP", "PROTEUS_MIATA_NB2", "MRE_M111", "HELLEN_NB2", "SUBARUEG33_DEFAULTS", "HELLEN_121_VAG_4_CYL", "HELLEN_121_NISSAN_6_CYL", "HELLEN_55_BMW", "HELLEN_88_BMW", "HELLEN_134_BMW", "HELLEN_154_VAG", "HELLEN_121_VAG_5_CYL", "HELLEN_121_VAG_V6_CYL", "HELLEN_121_VAG_VR6_CYL", "HELLEN_NA94", "HELLEN_121_VAG_8_CYL", "HELLEN_154_HYUNDAI_COUPE_BK1", "HELLEN_NB1", "HELLEN_121_NISSAN_4_CYL", "HELLEN_121_NISSAN_8_CYL", "HELLEN_NB2_36", "HELLEN_121_NISSAN_ALMERA_N16", "HELLEN_128_MERCEDES_6_CYL", "HELLEN_128_MERCEDES_8_CYL", "PROTEUS_HONDA_ELEMENT_2003", "PROTEUS_HONDA_OBD2A", "PROTEUS_VAG_80_18T", "PROTEUS_N73", "HELLEN_NB1_36", "HELLEN_154_HYUNDAI_COUPE_BK2", "ET_UNUSED96", "ET_UNUSED97", "ET_UNUSED98", "MINIMAL_PINS", "PROMETHEUS_DEFAULTS", "UNUSED101", "VAG_18_TURBO", "TEST_33816", "BMW_M73_MRE", "BMW_M73_MRE_SLAVE", "PROTEUS_ANALOG_PWM_TEST", "TEST_ROTARY", "TEST_108", "TEST_109", "TEST_110" #define engine_type_e_BMW_M73_M 24 #define engine_type_e_BMW_M73_MRE 104 #define engine_type_e_BMW_M73_MRE_SLAVE 105 @@ -828,7 +828,6 @@ #define engine_type_e_HONDA_600 43 #define engine_type_e_HONDA_ACCORD_CD_DIP 18 #define engine_type_e_HONDA_ACCORD_CD_TWO_WIRES 17 -#define engine_type_e_LADA_KALINA 39 #define engine_type_e_MAZDA_626 28 #define engine_type_e_MAZDA_MIATA_2003_BOARD_TEST 55 #define engine_type_e_MAZDA_MIATA_2003_NA_RAIL 54 @@ -840,7 +839,6 @@ #define engine_type_e_MINIMAL_PINS 99 #define engine_type_e_MITSU_4G93 16 #define engine_type_e_MRE_BOARD_NEW_TEST 31 -#define engine_type_e_MRE_BOARD_OLD_TEST 30 #define engine_type_e_MRE_BODY_CONTROL 23 #define engine_type_e_MRE_M111 68 #define engine_type_e_MRE_MIATA_94_MAP 20 @@ -849,6 +847,7 @@ #define engine_type_e_MRE_MIATA_NB2_ETB 13 #define engine_type_e_MRE_MIATA_NB2_MAF 15 #define engine_type_e_MRE_MIATA_NB2_MAP 11 +#define engine_type_e_MRE_SECONDARY_CAN 4 #define engine_type_e_MRE_SUBARU_EJ18 37 #define engine_type_e_NISSAN_PRIMERA 5 #define engine_type_e_PROMETHEUS_DEFAULTS 100 @@ -864,7 +863,6 @@ #define engine_type_e_SACHS 29 #define engine_type_e_SUBARU_2003_WRX 22 #define engine_type_e_SUBARUEG33_DEFAULTS 70 -#define engine_type_e_SUBARUEJ20G_DEFAULTS 101 #define engine_type_e_TEST_108 108 #define engine_type_e_TEST_109 109 #define engine_type_e_TEST_110 110 @@ -879,8 +877,10 @@ #define engine_type_e_TOYOTA_2JZ_GTE_VVTi 44 #define engine_type_e_TOYOTA_JZS147 38 #define engine_type_e_UNUSED10 10 +#define engine_type_e_UNUSED101 101 #define engine_type_e_UNUSED25 25 -#define engine_type_e_UNUSED5 4 +#define engine_type_e_UNUSED30 30 +#define engine_type_e_UNUSED39 39 #define engine_type_e_UNUSED_48 48 #define engine_type_e_UNUSED_50 50 #define engine_type_e_UNUSED_51 51 @@ -1805,8 +1805,8 @@ #define showHumanReadableWarning_offset 976 #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD hellen_cypress -#define SIGNATURE_DATE 2021.10.26 -#define SIGNATURE_HASH 950431174 +#define SIGNATURE_DATE 2021.10.28 +#define SIGNATURE_HASH 3606247178 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -2203,6 +2203,27 @@ #define TS_BURN_COMMAND_char B #define TS_CHUNK_WRITE_COMMAND 'C' #define TS_CHUNK_WRITE_COMMAND_char C +#define ts_command_e_TS_CLEAR_WARNINGS 17 +#define ts_command_e_TS_COMMAND_1 1 +#define ts_command_e_TS_COMMAND_11 11 +#define ts_command_e_TS_COMMAND_12 12 +#define ts_command_e_TS_COMMAND_13 13 +#define ts_command_e_TS_COMMAND_14 14 +#define ts_command_e_TS_COMMAND_15 15 +#define ts_command_e_TS_COMMAND_16 16 +#define ts_command_e_TS_COMMAND_4 4 +#define ts_command_e_TS_COMMAND_5 5 +#define ts_command_e_TS_COMMAND_9 9 +#define ts_command_e_TS_DEBUG_MODE 0 +#define ts_command_e_TS_GRAB_PEDAL_UP 6 +#define ts_command_e_TS_GRAB_PEDAL_WOT 7 +#define ts_command_e_TS_GRAB_TPS_CLOSED 2 +#define ts_command_e_TS_GRAB_TPS_WOT 3 +#define ts_command_e_TS_IGNITION_CATEGORY 18 +#define ts_command_e_TS_INJECTOR_CATEGORY 19 +#define ts_command_e_TS_RESET_TLE8888 8 +#define ts_command_e_TS_WRITE_FLASH 10 +#define ts_command_e_TS_X14 20 #define TS_COMMAND_F 'F' #define TS_COMMAND_F_char F #define TS_COMPOSITE_DISABLE 2 @@ -2275,7 +2296,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2021.10.26.hellen_cypress.950431174" +#define TS_SIGNATURE "rusEFI 2021.10.28.hellen_cypress.3606247178" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' @@ -2454,7 +2475,7 @@ #define vrThreshold2_rpmBins_offset 1264 #define vrThreshold2_values_offset 1270 #define vssFilterReciprocal_offset 15196 -#define vvt_mode_e_auto_enum "VVT_INACTIVE", "VVT_SECOND_HALF", "VVT_2JZ", "VVT_MIATA_NB2", "VVT_FIRST_HALF", "VVT_BOSCH_QUICK_START", "VVT_4_1", "VVT_FORD_ST170", "VVT_BARRA_3_PLUS_1", "VVT_NISSAN_VQ" +#define vvt_mode_e_auto_enum "VVT_INACTIVE", "VVT_SECOND_HALF", "VVT_2JZ", "VVT_MIATA_NB2", "VVT_FIRST_HALF", "VVT_BOSCH_QUICK_START", "VVT_4_1", "VVT_FORD_ST170", "VVT_BARRA_3_PLUS_1", "VVT_NISSAN_VQ", "VVT_HONDA_K" #define vvt_mode_e_enum "Inactive", "Single Tooth Second Half", "2GZ", "Miata NB2", "Single Tooth First Half", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K 4+1", "vvt11", "vvt12", "vvt13" #define vvt_mode_e_VVT_2JZ 2 #define vvt_mode_e_VVT_4_1 6 @@ -2462,6 +2483,7 @@ #define vvt_mode_e_VVT_BOSCH_QUICK_START 5 #define vvt_mode_e_VVT_FIRST_HALF 4 #define vvt_mode_e_VVT_FORD_ST170 7 +#define vvt_mode_e_VVT_HONDA_K 10 #define vvt_mode_e_VVT_INACTIVE 0 #define vvt_mode_e_VVT_MIATA_NB2 3 #define vvt_mode_e_VVT_NISSAN_VQ 9 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 081090b4d9..5f129eed38 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 Tue Oct 26 21:07:03 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Thu Oct 28 18:23:29 UTC 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -106,12 +106,12 @@ struct pid_s { */ int16_t periodMs; /** - * Output min value + * Output Min Duty Cycle * offset 16 */ int16_t minValue; /** - * Output max value + * Output Max Duty Cycle * offset 18 */ int16_t maxValue; @@ -4389,4 +4389,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 26 21:07:03 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Thu Oct 28 18:23:29 UTC 2021 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 91a9568650..51e3525c06 100644 --- a/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h +++ b/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h @@ -755,7 +755,7 @@ #define ENGINE_MAKE_VAG "VAG" #define ENGINE_NOISE_CURVE_SIZE 8 #define ENGINE_SNIFFER_UNIT_US 10 -#define engine_type_e_auto_enum "DEFAULT_FRANKENSO", "MIATA_PROTEUS_TCU", "DODGE_NEON_1995", "FORD_ASPIRE_1996", "UNUSED5", "NISSAN_PRIMERA", "ET_UNUSED_6", "FORD_INLINE_6_1995", "GY6_139QMB", "MAZDA_MIATA_NB1", "UNUSED10", "MRE_MIATA_NB2_MAP", "MRE_MIATA_NA6_VAF", "MRE_MIATA_NB2_ETB", "FORD_ESCORT_GT", "MRE_MIATA_NB2_MAF", "MITSU_4G93", "HONDA_ACCORD_CD_TWO_WIRES", "HONDA_ACCORD_CD_DIP", "MIATA_1990", "MRE_MIATA_94_MAP", "MIATA_1996", "SUBARU_2003_WRX", "MRE_BODY_CONTROL", "BMW_M73_M", "UNUSED25", "TEST_ENGINE", "TEST_ISSUE_898", "MAZDA_626", "SACHS", "MRE_BOARD_OLD_TEST", "MRE_BOARD_NEW_TEST", "VW_ABA", "HELLEN72_ETB", "HELLEN_NA6", "CAMARO_4", "HELLEN_128_MERCEDES_4_CYL", "MRE_SUBARU_EJ18", "TOYOTA_JZS147", "LADA_KALINA", "FRANKENSO_BMW_M73_F", "FRANKENSO_MIATA_NA6_MAP", "PROTEUS_QC_TEST_BOARD", "HONDA_600", "TOYOTA_2JZ_GTE_VVTi", "TEST_ENGINE_VVT", "DODGE_NEON_2003_CRANK", "FRANKENSO_MAZDA_MIATA_2003", "UNUSED_48", "FRANKENSO_QA_ENGINE", "UNUSED_50", "UNUSED_51", "TEST_ISSUE_366_BOTH", "TEST_ISSUE_366_RISE", "MAZDA_MIATA_2003_NA_RAIL", "MAZDA_MIATA_2003_BOARD_TEST", "FRANKENSO_MAZDA_MIATA_NA8", "FRANKENSO_MIATA_NA6_VAF", "ETB_BENCH_ENGINE", "TLE8888_BENCH_ENGINE", "MICRO_RUS_EFI", "PROTEUS_DEFAULTS", "VW_B6", "PROTEUS_BMW_M73", "DODGE_RAM", "CITROEN_TU3JP", "MRE_MIATA_NA6_MAP", "PROTEUS_MIATA_NB2", "MRE_M111", "HELLEN_NB2", "SUBARUEG33_DEFAULTS", "HELLEN_121_VAG_4_CYL", "HELLEN_121_NISSAN_6_CYL", "HELLEN_55_BMW", "HELLEN_88_BMW", "HELLEN_134_BMW", "HELLEN_154_VAG", "HELLEN_121_VAG_5_CYL", "HELLEN_121_VAG_V6_CYL", "HELLEN_121_VAG_VR6_CYL", "HELLEN_NA94", "HELLEN_121_VAG_8_CYL", "HELLEN_154_HYUNDAI_COUPE_BK1", "HELLEN_NB1", "HELLEN_121_NISSAN_4_CYL", "HELLEN_121_NISSAN_8_CYL", "HELLEN_NB2_36", "HELLEN_121_NISSAN_ALMERA_N16", "HELLEN_128_MERCEDES_6_CYL", "HELLEN_128_MERCEDES_8_CYL", "PROTEUS_HONDA_ELEMENT_2003", "PROTEUS_HONDA_OBD2A", "PROTEUS_VAG_80_18T", "PROTEUS_N73", "HELLEN_NB1_36", "HELLEN_154_HYUNDAI_COUPE_BK2", "ET_UNUSED96", "ET_UNUSED97", "ET_UNUSED98", "MINIMAL_PINS", "PROMETHEUS_DEFAULTS", "SUBARUEJ20G_DEFAULTS", "VAG_18_TURBO", "TEST_33816", "BMW_M73_MRE", "BMW_M73_MRE_SLAVE", "PROTEUS_ANALOG_PWM_TEST", "TEST_ROTARY", "TEST_108", "TEST_109", "TEST_110" +#define engine_type_e_auto_enum "DEFAULT_FRANKENSO", "MIATA_PROTEUS_TCU", "DODGE_NEON_1995", "FORD_ASPIRE_1996", "MRE_SECONDARY_CAN", "NISSAN_PRIMERA", "ET_UNUSED_6", "FORD_INLINE_6_1995", "GY6_139QMB", "MAZDA_MIATA_NB1", "UNUSED10", "MRE_MIATA_NB2_MAP", "MRE_MIATA_NA6_VAF", "MRE_MIATA_NB2_ETB", "FORD_ESCORT_GT", "MRE_MIATA_NB2_MAF", "MITSU_4G93", "HONDA_ACCORD_CD_TWO_WIRES", "HONDA_ACCORD_CD_DIP", "MIATA_1990", "MRE_MIATA_94_MAP", "MIATA_1996", "SUBARU_2003_WRX", "MRE_BODY_CONTROL", "BMW_M73_M", "UNUSED25", "TEST_ENGINE", "TEST_ISSUE_898", "MAZDA_626", "SACHS", "UNUSED30", "MRE_BOARD_NEW_TEST", "VW_ABA", "HELLEN72_ETB", "HELLEN_NA6", "CAMARO_4", "HELLEN_128_MERCEDES_4_CYL", "MRE_SUBARU_EJ18", "TOYOTA_JZS147", "UNUSED39", "FRANKENSO_BMW_M73_F", "FRANKENSO_MIATA_NA6_MAP", "PROTEUS_QC_TEST_BOARD", "HONDA_600", "TOYOTA_2JZ_GTE_VVTi", "TEST_ENGINE_VVT", "DODGE_NEON_2003_CRANK", "FRANKENSO_MAZDA_MIATA_2003", "UNUSED_48", "FRANKENSO_QA_ENGINE", "UNUSED_50", "UNUSED_51", "TEST_ISSUE_366_BOTH", "TEST_ISSUE_366_RISE", "MAZDA_MIATA_2003_NA_RAIL", "MAZDA_MIATA_2003_BOARD_TEST", "FRANKENSO_MAZDA_MIATA_NA8", "FRANKENSO_MIATA_NA6_VAF", "ETB_BENCH_ENGINE", "TLE8888_BENCH_ENGINE", "MICRO_RUS_EFI", "PROTEUS_DEFAULTS", "VW_B6", "PROTEUS_BMW_M73", "DODGE_RAM", "CITROEN_TU3JP", "MRE_MIATA_NA6_MAP", "PROTEUS_MIATA_NB2", "MRE_M111", "HELLEN_NB2", "SUBARUEG33_DEFAULTS", "HELLEN_121_VAG_4_CYL", "HELLEN_121_NISSAN_6_CYL", "HELLEN_55_BMW", "HELLEN_88_BMW", "HELLEN_134_BMW", "HELLEN_154_VAG", "HELLEN_121_VAG_5_CYL", "HELLEN_121_VAG_V6_CYL", "HELLEN_121_VAG_VR6_CYL", "HELLEN_NA94", "HELLEN_121_VAG_8_CYL", "HELLEN_154_HYUNDAI_COUPE_BK1", "HELLEN_NB1", "HELLEN_121_NISSAN_4_CYL", "HELLEN_121_NISSAN_8_CYL", "HELLEN_NB2_36", "HELLEN_121_NISSAN_ALMERA_N16", "HELLEN_128_MERCEDES_6_CYL", "HELLEN_128_MERCEDES_8_CYL", "PROTEUS_HONDA_ELEMENT_2003", "PROTEUS_HONDA_OBD2A", "PROTEUS_VAG_80_18T", "PROTEUS_N73", "HELLEN_NB1_36", "HELLEN_154_HYUNDAI_COUPE_BK2", "ET_UNUSED96", "ET_UNUSED97", "ET_UNUSED98", "MINIMAL_PINS", "PROMETHEUS_DEFAULTS", "UNUSED101", "VAG_18_TURBO", "TEST_33816", "BMW_M73_MRE", "BMW_M73_MRE_SLAVE", "PROTEUS_ANALOG_PWM_TEST", "TEST_ROTARY", "TEST_108", "TEST_109", "TEST_110" #define engine_type_e_BMW_M73_M 24 #define engine_type_e_BMW_M73_MRE 104 #define engine_type_e_BMW_M73_MRE_SLAVE 105 @@ -809,7 +809,6 @@ #define engine_type_e_HONDA_600 43 #define engine_type_e_HONDA_ACCORD_CD_DIP 18 #define engine_type_e_HONDA_ACCORD_CD_TWO_WIRES 17 -#define engine_type_e_LADA_KALINA 39 #define engine_type_e_MAZDA_626 28 #define engine_type_e_MAZDA_MIATA_2003_BOARD_TEST 55 #define engine_type_e_MAZDA_MIATA_2003_NA_RAIL 54 @@ -821,7 +820,6 @@ #define engine_type_e_MINIMAL_PINS 99 #define engine_type_e_MITSU_4G93 16 #define engine_type_e_MRE_BOARD_NEW_TEST 31 -#define engine_type_e_MRE_BOARD_OLD_TEST 30 #define engine_type_e_MRE_BODY_CONTROL 23 #define engine_type_e_MRE_M111 68 #define engine_type_e_MRE_MIATA_94_MAP 20 @@ -830,6 +828,7 @@ #define engine_type_e_MRE_MIATA_NB2_ETB 13 #define engine_type_e_MRE_MIATA_NB2_MAF 15 #define engine_type_e_MRE_MIATA_NB2_MAP 11 +#define engine_type_e_MRE_SECONDARY_CAN 4 #define engine_type_e_MRE_SUBARU_EJ18 37 #define engine_type_e_NISSAN_PRIMERA 5 #define engine_type_e_PROMETHEUS_DEFAULTS 100 @@ -845,7 +844,6 @@ #define engine_type_e_SACHS 29 #define engine_type_e_SUBARU_2003_WRX 22 #define engine_type_e_SUBARUEG33_DEFAULTS 70 -#define engine_type_e_SUBARUEJ20G_DEFAULTS 101 #define engine_type_e_TEST_108 108 #define engine_type_e_TEST_109 109 #define engine_type_e_TEST_110 110 @@ -860,8 +858,10 @@ #define engine_type_e_TOYOTA_2JZ_GTE_VVTi 44 #define engine_type_e_TOYOTA_JZS147 38 #define engine_type_e_UNUSED10 10 +#define engine_type_e_UNUSED101 101 #define engine_type_e_UNUSED25 25 -#define engine_type_e_UNUSED5 4 +#define engine_type_e_UNUSED30 30 +#define engine_type_e_UNUSED39 39 #define engine_type_e_UNUSED_48 48 #define engine_type_e_UNUSED_50 50 #define engine_type_e_UNUSED_51 51 @@ -1786,8 +1786,8 @@ #define showHumanReadableWarning_offset 976 #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD kin -#define SIGNATURE_DATE 2021.10.26 -#define SIGNATURE_HASH 3338903866 +#define SIGNATURE_DATE 2021.10.28 +#define SIGNATURE_HASH 693582838 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -2184,6 +2184,27 @@ #define TS_BURN_COMMAND_char B #define TS_CHUNK_WRITE_COMMAND 'C' #define TS_CHUNK_WRITE_COMMAND_char C +#define ts_command_e_TS_CLEAR_WARNINGS 17 +#define ts_command_e_TS_COMMAND_1 1 +#define ts_command_e_TS_COMMAND_11 11 +#define ts_command_e_TS_COMMAND_12 12 +#define ts_command_e_TS_COMMAND_13 13 +#define ts_command_e_TS_COMMAND_14 14 +#define ts_command_e_TS_COMMAND_15 15 +#define ts_command_e_TS_COMMAND_16 16 +#define ts_command_e_TS_COMMAND_4 4 +#define ts_command_e_TS_COMMAND_5 5 +#define ts_command_e_TS_COMMAND_9 9 +#define ts_command_e_TS_DEBUG_MODE 0 +#define ts_command_e_TS_GRAB_PEDAL_UP 6 +#define ts_command_e_TS_GRAB_PEDAL_WOT 7 +#define ts_command_e_TS_GRAB_TPS_CLOSED 2 +#define ts_command_e_TS_GRAB_TPS_WOT 3 +#define ts_command_e_TS_IGNITION_CATEGORY 18 +#define ts_command_e_TS_INJECTOR_CATEGORY 19 +#define ts_command_e_TS_RESET_TLE8888 8 +#define ts_command_e_TS_WRITE_FLASH 10 +#define ts_command_e_TS_X14 20 #define TS_COMMAND_F 'F' #define TS_COMMAND_F_char F #define TS_COMPOSITE_DISABLE 2 @@ -2256,7 +2277,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator true #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2021.10.26.kin.3338903866" +#define TS_SIGNATURE "rusEFI 2021.10.28.kin.693582838" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' @@ -2435,7 +2456,7 @@ #define vrThreshold2_rpmBins_offset 1264 #define vrThreshold2_values_offset 1270 #define vssFilterReciprocal_offset 15168 -#define vvt_mode_e_auto_enum "VVT_INACTIVE", "VVT_SECOND_HALF", "VVT_2JZ", "VVT_MIATA_NB2", "VVT_FIRST_HALF", "VVT_BOSCH_QUICK_START", "VVT_4_1", "VVT_FORD_ST170", "VVT_BARRA_3_PLUS_1", "VVT_NISSAN_VQ" +#define vvt_mode_e_auto_enum "VVT_INACTIVE", "VVT_SECOND_HALF", "VVT_2JZ", "VVT_MIATA_NB2", "VVT_FIRST_HALF", "VVT_BOSCH_QUICK_START", "VVT_4_1", "VVT_FORD_ST170", "VVT_BARRA_3_PLUS_1", "VVT_NISSAN_VQ", "VVT_HONDA_K" #define vvt_mode_e_enum "Inactive", "Single Tooth Second Half", "2GZ", "Miata NB2", "Single Tooth First Half", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K 4+1", "vvt11", "vvt12", "vvt13" #define vvt_mode_e_VVT_2JZ 2 #define vvt_mode_e_VVT_4_1 6 @@ -2443,6 +2464,7 @@ #define vvt_mode_e_VVT_BOSCH_QUICK_START 5 #define vvt_mode_e_VVT_FIRST_HALF 4 #define vvt_mode_e_VVT_FORD_ST170 7 +#define vvt_mode_e_VVT_HONDA_K 10 #define vvt_mode_e_VVT_INACTIVE 0 #define vvt_mode_e_VVT_MIATA_NB2 3 #define vvt_mode_e_VVT_NISSAN_VQ 9 diff --git a/firmware/config/boards/subaru_eg33/config/controllers/algo/engine_configuration_generated_structures.h b/firmware/config/boards/subaru_eg33/config/controllers/algo/engine_configuration_generated_structures.h index 44babedb46..80b02773ca 100644 --- a/firmware/config/boards/subaru_eg33/config/controllers/algo/engine_configuration_generated_structures.h +++ b/firmware/config/boards/subaru_eg33/config/controllers/algo/engine_configuration_generated_structures.h @@ -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 26 21:07:08 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 28 18:23:34 UTC 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -106,12 +106,12 @@ struct pid_s { */ int16_t periodMs; /** - * Output min value + * Output Min Duty Cycle * offset 16 */ int16_t minValue; /** - * Output max value + * Output Max Duty Cycle * offset 18 */ int16_t maxValue; @@ -4395,4 +4395,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 26 21:07:08 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 28 18:23:34 UTC 2021 diff --git a/firmware/config/boards/subaru_eg33/config/controllers/algo/rusefi_generated.h b/firmware/config/boards/subaru_eg33/config/controllers/algo/rusefi_generated.h index 518b45c61e..b5e2840fb0 100644 --- a/firmware/config/boards/subaru_eg33/config/controllers/algo/rusefi_generated.h +++ b/firmware/config/boards/subaru_eg33/config/controllers/algo/rusefi_generated.h @@ -786,7 +786,7 @@ #define ENGINE_MAKE_VAG "VAG" #define ENGINE_NOISE_CURVE_SIZE 8 #define ENGINE_SNIFFER_UNIT_US 10 -#define engine_type_e_auto_enum "DEFAULT_FRANKENSO", "MIATA_PROTEUS_TCU", "DODGE_NEON_1995", "FORD_ASPIRE_1996", "UNUSED5", "NISSAN_PRIMERA", "ET_UNUSED_6", "FORD_INLINE_6_1995", "GY6_139QMB", "MAZDA_MIATA_NB1", "UNUSED10", "MRE_MIATA_NB2_MAP", "MRE_MIATA_NA6_VAF", "MRE_MIATA_NB2_ETB", "FORD_ESCORT_GT", "MRE_MIATA_NB2_MAF", "MITSU_4G93", "HONDA_ACCORD_CD_TWO_WIRES", "HONDA_ACCORD_CD_DIP", "MIATA_1990", "MRE_MIATA_94_MAP", "MIATA_1996", "SUBARU_2003_WRX", "MRE_BODY_CONTROL", "BMW_M73_M", "UNUSED25", "TEST_ENGINE", "TEST_ISSUE_898", "MAZDA_626", "SACHS", "MRE_BOARD_OLD_TEST", "MRE_BOARD_NEW_TEST", "VW_ABA", "HELLEN72_ETB", "HELLEN_NA6", "CAMARO_4", "HELLEN_128_MERCEDES_4_CYL", "MRE_SUBARU_EJ18", "TOYOTA_JZS147", "LADA_KALINA", "FRANKENSO_BMW_M73_F", "FRANKENSO_MIATA_NA6_MAP", "PROTEUS_QC_TEST_BOARD", "HONDA_600", "TOYOTA_2JZ_GTE_VVTi", "TEST_ENGINE_VVT", "DODGE_NEON_2003_CRANK", "FRANKENSO_MAZDA_MIATA_2003", "UNUSED_48", "FRANKENSO_QA_ENGINE", "UNUSED_50", "UNUSED_51", "TEST_ISSUE_366_BOTH", "TEST_ISSUE_366_RISE", "MAZDA_MIATA_2003_NA_RAIL", "MAZDA_MIATA_2003_BOARD_TEST", "FRANKENSO_MAZDA_MIATA_NA8", "FRANKENSO_MIATA_NA6_VAF", "ETB_BENCH_ENGINE", "TLE8888_BENCH_ENGINE", "MICRO_RUS_EFI", "PROTEUS_DEFAULTS", "VW_B6", "PROTEUS_BMW_M73", "DODGE_RAM", "CITROEN_TU3JP", "MRE_MIATA_NA6_MAP", "PROTEUS_MIATA_NB2", "MRE_M111", "HELLEN_NB2", "SUBARUEG33_DEFAULTS", "HELLEN_121_VAG_4_CYL", "HELLEN_121_NISSAN_6_CYL", "HELLEN_55_BMW", "HELLEN_88_BMW", "HELLEN_134_BMW", "HELLEN_154_VAG", "HELLEN_121_VAG_5_CYL", "HELLEN_121_VAG_V6_CYL", "HELLEN_121_VAG_VR6_CYL", "HELLEN_NA94", "HELLEN_121_VAG_8_CYL", "HELLEN_154_HYUNDAI_COUPE_BK1", "HELLEN_NB1", "HELLEN_121_NISSAN_4_CYL", "HELLEN_121_NISSAN_8_CYL", "HELLEN_NB2_36", "HELLEN_121_NISSAN_ALMERA_N16", "HELLEN_128_MERCEDES_6_CYL", "HELLEN_128_MERCEDES_8_CYL", "PROTEUS_HONDA_ELEMENT_2003", "PROTEUS_HONDA_OBD2A", "PROTEUS_VAG_80_18T", "PROTEUS_N73", "HELLEN_NB1_36", "HELLEN_154_HYUNDAI_COUPE_BK2", "ET_UNUSED96", "ET_UNUSED97", "ET_UNUSED98", "MINIMAL_PINS", "PROMETHEUS_DEFAULTS", "SUBARUEJ20G_DEFAULTS", "VAG_18_TURBO", "TEST_33816", "BMW_M73_MRE", "BMW_M73_MRE_SLAVE", "PROTEUS_ANALOG_PWM_TEST", "TEST_ROTARY", "TEST_108", "TEST_109", "TEST_110" +#define engine_type_e_auto_enum "DEFAULT_FRANKENSO", "MIATA_PROTEUS_TCU", "DODGE_NEON_1995", "FORD_ASPIRE_1996", "MRE_SECONDARY_CAN", "NISSAN_PRIMERA", "ET_UNUSED_6", "FORD_INLINE_6_1995", "GY6_139QMB", "MAZDA_MIATA_NB1", "UNUSED10", "MRE_MIATA_NB2_MAP", "MRE_MIATA_NA6_VAF", "MRE_MIATA_NB2_ETB", "FORD_ESCORT_GT", "MRE_MIATA_NB2_MAF", "MITSU_4G93", "HONDA_ACCORD_CD_TWO_WIRES", "HONDA_ACCORD_CD_DIP", "MIATA_1990", "MRE_MIATA_94_MAP", "MIATA_1996", "SUBARU_2003_WRX", "MRE_BODY_CONTROL", "BMW_M73_M", "UNUSED25", "TEST_ENGINE", "TEST_ISSUE_898", "MAZDA_626", "SACHS", "UNUSED30", "MRE_BOARD_NEW_TEST", "VW_ABA", "HELLEN72_ETB", "HELLEN_NA6", "CAMARO_4", "HELLEN_128_MERCEDES_4_CYL", "MRE_SUBARU_EJ18", "TOYOTA_JZS147", "UNUSED39", "FRANKENSO_BMW_M73_F", "FRANKENSO_MIATA_NA6_MAP", "PROTEUS_QC_TEST_BOARD", "HONDA_600", "TOYOTA_2JZ_GTE_VVTi", "TEST_ENGINE_VVT", "DODGE_NEON_2003_CRANK", "FRANKENSO_MAZDA_MIATA_2003", "UNUSED_48", "FRANKENSO_QA_ENGINE", "UNUSED_50", "UNUSED_51", "TEST_ISSUE_366_BOTH", "TEST_ISSUE_366_RISE", "MAZDA_MIATA_2003_NA_RAIL", "MAZDA_MIATA_2003_BOARD_TEST", "FRANKENSO_MAZDA_MIATA_NA8", "FRANKENSO_MIATA_NA6_VAF", "ETB_BENCH_ENGINE", "TLE8888_BENCH_ENGINE", "MICRO_RUS_EFI", "PROTEUS_DEFAULTS", "VW_B6", "PROTEUS_BMW_M73", "DODGE_RAM", "CITROEN_TU3JP", "MRE_MIATA_NA6_MAP", "PROTEUS_MIATA_NB2", "MRE_M111", "HELLEN_NB2", "SUBARUEG33_DEFAULTS", "HELLEN_121_VAG_4_CYL", "HELLEN_121_NISSAN_6_CYL", "HELLEN_55_BMW", "HELLEN_88_BMW", "HELLEN_134_BMW", "HELLEN_154_VAG", "HELLEN_121_VAG_5_CYL", "HELLEN_121_VAG_V6_CYL", "HELLEN_121_VAG_VR6_CYL", "HELLEN_NA94", "HELLEN_121_VAG_8_CYL", "HELLEN_154_HYUNDAI_COUPE_BK1", "HELLEN_NB1", "HELLEN_121_NISSAN_4_CYL", "HELLEN_121_NISSAN_8_CYL", "HELLEN_NB2_36", "HELLEN_121_NISSAN_ALMERA_N16", "HELLEN_128_MERCEDES_6_CYL", "HELLEN_128_MERCEDES_8_CYL", "PROTEUS_HONDA_ELEMENT_2003", "PROTEUS_HONDA_OBD2A", "PROTEUS_VAG_80_18T", "PROTEUS_N73", "HELLEN_NB1_36", "HELLEN_154_HYUNDAI_COUPE_BK2", "ET_UNUSED96", "ET_UNUSED97", "ET_UNUSED98", "MINIMAL_PINS", "PROMETHEUS_DEFAULTS", "UNUSED101", "VAG_18_TURBO", "TEST_33816", "BMW_M73_MRE", "BMW_M73_MRE_SLAVE", "PROTEUS_ANALOG_PWM_TEST", "TEST_ROTARY", "TEST_108", "TEST_109", "TEST_110" #define engine_type_e_BMW_M73_M 24 #define engine_type_e_BMW_M73_MRE 104 #define engine_type_e_BMW_M73_MRE_SLAVE 105 @@ -840,7 +840,6 @@ #define engine_type_e_HONDA_600 43 #define engine_type_e_HONDA_ACCORD_CD_DIP 18 #define engine_type_e_HONDA_ACCORD_CD_TWO_WIRES 17 -#define engine_type_e_LADA_KALINA 39 #define engine_type_e_MAZDA_626 28 #define engine_type_e_MAZDA_MIATA_2003_BOARD_TEST 55 #define engine_type_e_MAZDA_MIATA_2003_NA_RAIL 54 @@ -852,7 +851,6 @@ #define engine_type_e_MINIMAL_PINS 99 #define engine_type_e_MITSU_4G93 16 #define engine_type_e_MRE_BOARD_NEW_TEST 31 -#define engine_type_e_MRE_BOARD_OLD_TEST 30 #define engine_type_e_MRE_BODY_CONTROL 23 #define engine_type_e_MRE_M111 68 #define engine_type_e_MRE_MIATA_94_MAP 20 @@ -861,6 +859,7 @@ #define engine_type_e_MRE_MIATA_NB2_ETB 13 #define engine_type_e_MRE_MIATA_NB2_MAF 15 #define engine_type_e_MRE_MIATA_NB2_MAP 11 +#define engine_type_e_MRE_SECONDARY_CAN 4 #define engine_type_e_MRE_SUBARU_EJ18 37 #define engine_type_e_NISSAN_PRIMERA 5 #define engine_type_e_PROMETHEUS_DEFAULTS 100 @@ -876,7 +875,6 @@ #define engine_type_e_SACHS 29 #define engine_type_e_SUBARU_2003_WRX 22 #define engine_type_e_SUBARUEG33_DEFAULTS 70 -#define engine_type_e_SUBARUEJ20G_DEFAULTS 101 #define engine_type_e_TEST_108 108 #define engine_type_e_TEST_109 109 #define engine_type_e_TEST_110 110 @@ -891,8 +889,10 @@ #define engine_type_e_TOYOTA_2JZ_GTE_VVTi 44 #define engine_type_e_TOYOTA_JZS147 38 #define engine_type_e_UNUSED10 10 +#define engine_type_e_UNUSED101 101 #define engine_type_e_UNUSED25 25 -#define engine_type_e_UNUSED5 4 +#define engine_type_e_UNUSED30 30 +#define engine_type_e_UNUSED39 39 #define engine_type_e_UNUSED_48 48 #define engine_type_e_UNUSED_50 50 #define engine_type_e_UNUSED_51 51 @@ -1818,8 +1818,8 @@ #define showHumanReadableWarning_offset 976 #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD subaru_eg33_f7 -#define SIGNATURE_DATE 2021.10.26 -#define SIGNATURE_HASH 4015021429 +#define SIGNATURE_DATE 2021.10.28 +#define SIGNATURE_HASH 17090489 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -2216,6 +2216,27 @@ #define TS_BURN_COMMAND_char B #define TS_CHUNK_WRITE_COMMAND 'C' #define TS_CHUNK_WRITE_COMMAND_char C +#define ts_command_e_TS_CLEAR_WARNINGS 17 +#define ts_command_e_TS_COMMAND_1 1 +#define ts_command_e_TS_COMMAND_11 11 +#define ts_command_e_TS_COMMAND_12 12 +#define ts_command_e_TS_COMMAND_13 13 +#define ts_command_e_TS_COMMAND_14 14 +#define ts_command_e_TS_COMMAND_15 15 +#define ts_command_e_TS_COMMAND_16 16 +#define ts_command_e_TS_COMMAND_4 4 +#define ts_command_e_TS_COMMAND_5 5 +#define ts_command_e_TS_COMMAND_9 9 +#define ts_command_e_TS_DEBUG_MODE 0 +#define ts_command_e_TS_GRAB_PEDAL_UP 6 +#define ts_command_e_TS_GRAB_PEDAL_WOT 7 +#define ts_command_e_TS_GRAB_TPS_CLOSED 2 +#define ts_command_e_TS_GRAB_TPS_WOT 3 +#define ts_command_e_TS_IGNITION_CATEGORY 18 +#define ts_command_e_TS_INJECTOR_CATEGORY 19 +#define ts_command_e_TS_RESET_TLE8888 8 +#define ts_command_e_TS_WRITE_FLASH 10 +#define ts_command_e_TS_X14 20 #define TS_COMMAND_F 'F' #define TS_COMMAND_F_char F #define TS_COMPOSITE_DISABLE 2 @@ -2288,7 +2309,7 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port false -#define TS_SIGNATURE "rusEFI 2021.10.26.subaru_eg33_f7.4015021429" +#define TS_SIGNATURE "rusEFI 2021.10.28.subaru_eg33_f7.17090489" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' @@ -2467,7 +2488,7 @@ #define vrThreshold2_rpmBins_offset 1264 #define vrThreshold2_values_offset 1270 #define vssFilterReciprocal_offset 15196 -#define vvt_mode_e_auto_enum "VVT_INACTIVE", "VVT_SECOND_HALF", "VVT_2JZ", "VVT_MIATA_NB2", "VVT_FIRST_HALF", "VVT_BOSCH_QUICK_START", "VVT_4_1", "VVT_FORD_ST170", "VVT_BARRA_3_PLUS_1", "VVT_NISSAN_VQ" +#define vvt_mode_e_auto_enum "VVT_INACTIVE", "VVT_SECOND_HALF", "VVT_2JZ", "VVT_MIATA_NB2", "VVT_FIRST_HALF", "VVT_BOSCH_QUICK_START", "VVT_4_1", "VVT_FORD_ST170", "VVT_BARRA_3_PLUS_1", "VVT_NISSAN_VQ", "VVT_HONDA_K" #define vvt_mode_e_enum "Inactive", "Single Tooth Second Half", "2GZ", "Miata NB2", "Single Tooth First Half", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K 4+1", "vvt11", "vvt12", "vvt13" #define vvt_mode_e_VVT_2JZ 2 #define vvt_mode_e_VVT_4_1 6 @@ -2475,6 +2496,7 @@ #define vvt_mode_e_VVT_BOSCH_QUICK_START 5 #define vvt_mode_e_VVT_FIRST_HALF 4 #define vvt_mode_e_VVT_FORD_ST170 7 +#define vvt_mode_e_VVT_HONDA_K 10 #define vvt_mode_e_VVT_INACTIVE 0 #define vvt_mode_e_VVT_MIATA_NB2 3 #define vvt_mode_e_VVT_NISSAN_VQ 9 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures.h b/firmware/controllers/generated/engine_configuration_generated_structures.h index 7ff9a0cec9..585af2d7e8 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures.h @@ -1,2517 +1,25 @@ -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Oct 27 02:13:05 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 18:23:26 UTC 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once #include "rusefi_types.h" -#define accelerometerSpiDevice_offset 2712 -#define acFanPin_offset 762 -#define acFanPinMode_offset 763 -#define acIdleExtraOffset_offset 711 -#define acIdleRpmBump_offset 1496 -#define acRelayPin_offset 830 -#define acRelayPinMode_offset 831 -#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_EFI_ADC_0 1 -#define adc_channel_e_EFI_ADC_1 2 -#define adc_channel_e_EFI_ADC_10 11 -#define adc_channel_e_EFI_ADC_11 12 -#define adc_channel_e_EFI_ADC_12 13 -#define adc_channel_e_EFI_ADC_13 14 -#define adc_channel_e_EFI_ADC_14 15 -#define adc_channel_e_EFI_ADC_15 16 -#define adc_channel_e_EFI_ADC_2 3 -#define adc_channel_e_EFI_ADC_3 4 -#define adc_channel_e_EFI_ADC_4 5 -#define adc_channel_e_EFI_ADC_5 6 -#define adc_channel_e_EFI_ADC_6 7 -#define adc_channel_e_EFI_ADC_7 8 -#define adc_channel_e_EFI_ADC_8 9 -#define adc_channel_e_EFI_ADC_9 10 -#define adc_channel_e_EFI_ADC_ERROR 50 -#define adc_channel_e_EFI_ADC_LAST_CHANNEL 17 -#define adc_channel_e_EFI_ADC_NONE 0 -#define adc_channel_e_enum "NONE","2C - O2S","TPS1","intMAP","PPS1","3E - TPS","1B - Battery Sense","2H - CAM","3S - EGR BOOST IN","2A - Pressure Input","2J - CRANK","2L - MAF","3D - MAP","2E - Coolant","2B - IAT","4C - IN TEMP/PPS2","1P - AC Switch" -#define adc_channel_mode_e_ADC_FAST 2 -#define adc_channel_mode_e_ADC_OFF 0 -#define adc_channel_mode_e_ADC_SLOW 1 -#define adc_channel_mode_e_auto_enum "ADC_OFF", "ADC_SLOW", "ADC_FAST" -#define adc_channel_mode_e_Force_4_bytes_size_adc_channel_mode ENUM_32_BITS -#define ADC_CHANNEL_NONE 0 -#define adcVcc_offset 548 -#define afr_alignmentFill_afr_offset 561 -#define afr_hwChannel_offset 560 -#define afr_offset 560 -#define afr_override_e_AFR_AccPedal 3 -#define afr_override_e_AFR_CylFilling 4 -#define afr_override_e_AFR_MAP 1 -#define afr_override_e_AFR_None 0 -#define afr_override_e_AFR_Tps 2 -#define afr_override_e_auto_enum "AFR_None", "AFR_MAP", "AFR_Tps", "AFR_AccPedal", "AFR_CylFilling" -#define afr_override_e_enum "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" -#define afr_sensor_s_size 20 -#define afr_type_offset 692 -#define afr_v1_offset 564 -#define afr_v2_offset 572 -#define afr_value1_offset 568 -#define afr_value2_offset 576 -#define afrOverrideMode_offset 2111 -#define afterCrankingIACtaperDuration_offset 2036 -#define AFTERSTART_DECAY_CURVE_SIZE 8 -#define AFTERSTART_ENRICH_CURVE_SIZE 8 -#define AFTERSTART_HOLD_CURVE_SIZE 8 -#define afterstartCoolantBins_offset 6120 -#define afterstartDecayTime_offset 6216 -#define afterstartEnrich_offset 6184 -#define afterstartHoldTime_offset 6152 -#define air_pressure_sensor_config_s_size 16 -#define air_pressure_sensor_type_e_auto_enum "MT_CUSTOM", "MT_DENSO183", "MT_MPX4250", "MT_HONDA3BAR", "MT_DODGE_NEON_2003", "MT_SUBY_DENSO", "MT_GM_3_BAR", "MT_MPX4100", "MT_TOYOTA_89420_02010", "MT_MPX4250A", "MT_BOSCH_2_5", "MT_MAZDA_1_BAR", "MT_GM_2_BAR", "MT_GM_1_BAR", "MT_MPXH6400" -#define air_pressure_sensor_type_e_Force_4_bytes_size_cranking_map_type ENUM_32_BITS -#define air_pressure_sensor_type_e_MT_BOSCH_2_5 10 -#define air_pressure_sensor_type_e_MT_CUSTOM 0 -#define air_pressure_sensor_type_e_MT_DENSO183 1 -#define air_pressure_sensor_type_e_MT_DODGE_NEON_2003 4 -#define air_pressure_sensor_type_e_MT_GM_1_BAR 13 -#define air_pressure_sensor_type_e_MT_GM_2_BAR 12 -#define air_pressure_sensor_type_e_MT_GM_3_BAR 6 -#define air_pressure_sensor_type_e_MT_HONDA3BAR 3 -#define air_pressure_sensor_type_e_MT_MAZDA_1_BAR 11 -#define air_pressure_sensor_type_e_MT_MPX4100 7 -#define air_pressure_sensor_type_e_MT_MPX4250 2 -#define air_pressure_sensor_type_e_MT_MPX4250A 9 -#define air_pressure_sensor_type_e_MT_MPXH6400 14 -#define air_pressure_sensor_type_e_MT_SUBY_DENSO 5 -#define air_pressure_sensor_type_e_MT_TOYOTA_89420_02010 8 -#define alignEngineSnifferAtTDC_offset 744 -#define alignmentFill_at_2227_offset 2227 -#define alignmentFill_at_2253_offset 2253 -#define alignmentFill_at_4539_offset 4539 -#define alternator_antiwindupFreq_offset 1764 -#define alternator_derivativeFilterLoss_offset 1760 -#define alternatorControl_dFactor_offset 1724 -#define alternatorControl_iFactor_offset 1720 -#define alternatorControl_maxValue_offset 1734 -#define alternatorControl_minValue_offset 1732 -#define alternatorControl_offset 1716 -#define alternatorControl_offset_offset 1728 -#define alternatorControl_periodMs_offset 1730 -#define alternatorControl_pFactor_offset 1716 -#define alternatorControlPin_offset 665 -#define alternatorControlPinMode_offset 666 -#define alternatorOffAboveTps_offset 2028 -#define alternatorPwmFrequency_offset 2256 -#define ambiguousOperationMode_offset 488 -#define analogInputDividerCoefficient_offset 460 -#define antiLagActivatePin_offset 990 -#define antiLagActivationMode_e_ALWAYS_ON_ANTILAG 1 -#define antiLagActivationMode_e_auto_enum "SWITCH_INPUT_ANTILAG", "ALWAYS_ON_ANTILAG" -#define antiLagActivationMode_e_enum "Always Active", "Switch Input" -#define antiLagActivationMode_e_Force_4bytes_size_antiLagActivationMode_e ENUM_32_BITS -#define antiLagActivationMode_e_SWITCH_INPUT_ANTILAG 0 -#define antiLagActivationMode_offset 1024 -#define antiLagEnabled_offset 76 -#define antiLagRpmTreshold_offset 824 -#define applyNonlinearBelowPulse_offset 2508 -#define artificialTestMisfire_offset 76 -#define AUX_ANALOG_INPUT_COUNT 8 -#define AUX_DIGITAL_VALVE_COUNT 2 -#define auxAnalogInputs1_offset 2332 -#define auxAnalogInputs2_offset 2333 -#define auxAnalogInputs3_offset 2334 -#define auxAnalogInputs4_offset 2335 -#define auxAnalogInputs5_offset 2336 -#define auxAnalogInputs6_offset 2337 -#define auxAnalogInputs7_offset 2338 -#define auxAnalogInputs8_offset 2339 -#define auxFastSensor1_adcChannel_offset 680 -#define auxPid1_dFactor_offset 2620 -#define auxPid1_iFactor_offset 2616 -#define auxPid1_maxValue_offset 2630 -#define auxPid1_minValue_offset 2628 -#define auxPid1_offset 2612 -#define auxPid1_offset_offset 2624 -#define auxPid1_periodMs_offset 2626 -#define auxPid1_pFactor_offset 2612 -#define auxPid2_dFactor_offset 2640 -#define auxPid2_iFactor_offset 2636 -#define auxPid2_maxValue_offset 2650 -#define auxPid2_minValue_offset 2648 -#define auxPid2_offset 2632 -#define auxPid2_offset_offset 2644 -#define auxPid2_periodMs_offset 2646 -#define auxPid2_pFactor_offset 2632 -#define auxPidFrequency1_offset 2248 -#define auxPidFrequency2_offset 2250 -#define auxPidPins1_offset 2220 -#define auxPidPins2_offset 2221 -#define auxPidPins3_offset 2222 -#define auxPidPins4_offset 2223 -#define auxSerialRxPin_offset 2042 -#define auxSerialSpeed_offset 2096 -#define auxSerialTxPin_offset 2040 -#define auxTempSensor1_adcChannel_offset 2472 -#define auxTempSensor1_alignmentFill_at_29_offset 2473 -#define auxTempSensor1_bias_resistor_offset 2468 -#define auxTempSensor1_config_offset 2444 -#define auxTempSensor1_offset 2444 -#define auxTempSensor1_resistance_1_offset 2456 -#define auxTempSensor1_resistance_2_offset 2460 -#define auxTempSensor1_resistance_3_offset 2464 -#define auxTempSensor1_tempC_1_offset 2444 -#define auxTempSensor1_tempC_2_offset 2448 -#define auxTempSensor1_tempC_3_offset 2452 -#define auxTempSensor2_adcChannel_offset 2504 -#define auxTempSensor2_alignmentFill_at_29_offset 2505 -#define auxTempSensor2_bias_resistor_offset 2500 -#define auxTempSensor2_config_offset 2476 -#define auxTempSensor2_offset 2476 -#define auxTempSensor2_resistance_1_offset 2488 -#define auxTempSensor2_resistance_2_offset 2492 -#define auxTempSensor2_resistance_3_offset 2496 -#define auxTempSensor2_tempC_1_offset 2476 -#define auxTempSensor2_tempC_2_offset 2480 -#define auxTempSensor2_tempC_3_offset 2484 -#define auxValves1_offset 1816 -#define auxValves2_offset 1817 -#define BANKS_COUNT 2 -#define BARO_CORR_SIZE 4 -#define baroCorrPressureBins_offset 1544 -#define baroCorrRpmBins_offset 1560 -#define baroCorrTable_offset 1576 -#define baroSensor_alignmentFill_offset 597 -#define baroSensor_highValue_offset 588 -#define baroSensor_hwChannel_offset 596 -#define baroSensor_lowValue_offset 584 -#define baroSensor_offset 584 -#define baroSensor_type_offset 592 -#define binarySerialRxPin_offset 1815 -#define binarySerialTxPin_offset 1814 -#define BLOCKING_FACTOR 256 -#define BOOST_LOAD_COUNT 8 -#define BOOST_RPM_COUNT 8 -#define boostControlPin_offset 988 -#define boostControlPinMode_offset 989 -#define boostControlSafeDutyCycle_offset 542 -#define boostCutPressure_offset 2132 -#define boostPid_dFactor_offset 1000 -#define boostPid_iFactor_offset 996 -#define boostPid_maxValue_offset 1010 -#define boostPid_minValue_offset 1008 -#define boostPid_offset 992 -#define boostPid_offset_offset 1004 -#define boostPid_periodMs_offset 1006 -#define boostPid_pFactor_offset 992 -#define boostPwmFrequency_offset 1016 -#define boostRpmBins_offset 6320 -#define boostTableClosedLoop_offset 6328 -#define boostTableOpenLoop_offset 6248 -#define boostTpsBins_offset 6392 -#define boostType_e_auto_enum "OPEN_LOOP", "CLOSED_LOOP" -#define boostType_e_CLOSED_LOOP 1 -#define boostType_e_Force_4bytes_size_boostType_e ENUM_32_BITS -#define boostType_e_OPEN_LOOP 0 -#define boostType_offset 1012 -#define brain_input_pin_e_enum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","2H - CAM","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","2J - CRANK","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","4B - KNOCK","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","2D - VSS" -#define brain_pin_diag_e_PIN_DRIVER_OVERTEMP 0x10 -#define brain_pin_diag_e_PIN_INVALID 0x80 -#define brain_pin_diag_e_PIN_OK 0 -#define brain_pin_diag_e_PIN_OPEN 0x01 -#define brain_pin_diag_e_PIN_OVERLOAD 0x08 -#define brain_pin_diag_e_PIN_SHORT_TO_BAT 0x04 -#define brain_pin_diag_e_PIN_SHORT_TO_GND 0x02 -#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 brain_pin_e_GPIO_INVALID 1 -#define brain_pin_e_GPIO_UNASSIGNED 0 -#define brain_pin_e_GPIOA_0 2 -#define brain_pin_e_GPIOA_1 3 -#define brain_pin_e_GPIOA_10 12 -#define brain_pin_e_GPIOA_11 13 -#define brain_pin_e_GPIOA_12 14 -#define brain_pin_e_GPIOA_13 15 -#define brain_pin_e_GPIOA_14 16 -#define brain_pin_e_GPIOA_15 17 -#define brain_pin_e_GPIOA_2 4 -#define brain_pin_e_GPIOA_3 5 -#define brain_pin_e_GPIOA_4 6 -#define brain_pin_e_GPIOA_5 7 -#define brain_pin_e_GPIOA_6 8 -#define brain_pin_e_GPIOA_7 9 -#define brain_pin_e_GPIOA_8 10 -#define brain_pin_e_GPIOA_9 11 -#define brain_pin_e_GPIOB_0 18 -#define brain_pin_e_GPIOB_1 19 -#define brain_pin_e_GPIOB_10 28 -#define brain_pin_e_GPIOB_11 29 -#define brain_pin_e_GPIOB_12 30 -#define brain_pin_e_GPIOB_13 31 -#define brain_pin_e_GPIOB_14 32 -#define brain_pin_e_GPIOB_15 33 -#define brain_pin_e_GPIOB_2 20 -#define brain_pin_e_GPIOB_3 21 -#define brain_pin_e_GPIOB_4 22 -#define brain_pin_e_GPIOB_5 23 -#define brain_pin_e_GPIOB_6 24 -#define brain_pin_e_GPIOB_7 25 -#define brain_pin_e_GPIOB_8 26 -#define brain_pin_e_GPIOB_9 27 -#define brain_pin_e_GPIOC_0 34 -#define brain_pin_e_GPIOC_1 35 -#define brain_pin_e_GPIOC_10 44 -#define brain_pin_e_GPIOC_11 45 -#define brain_pin_e_GPIOC_12 46 -#define brain_pin_e_GPIOC_13 47 -#define brain_pin_e_GPIOC_14 48 -#define brain_pin_e_GPIOC_15 49 -#define brain_pin_e_GPIOC_2 36 -#define brain_pin_e_GPIOC_3 37 -#define brain_pin_e_GPIOC_4 38 -#define brain_pin_e_GPIOC_5 39 -#define brain_pin_e_GPIOC_6 40 -#define brain_pin_e_GPIOC_7 41 -#define brain_pin_e_GPIOC_8 42 -#define brain_pin_e_GPIOC_9 43 -#define brain_pin_e_GPIOD_0 50 -#define brain_pin_e_GPIOD_1 51 -#define brain_pin_e_GPIOD_10 60 -#define brain_pin_e_GPIOD_11 61 -#define brain_pin_e_GPIOD_12 62 -#define brain_pin_e_GPIOD_13 63 -#define brain_pin_e_GPIOD_14 64 -#define brain_pin_e_GPIOD_15 65 -#define brain_pin_e_GPIOD_2 52 -#define brain_pin_e_GPIOD_3 53 -#define brain_pin_e_GPIOD_4 54 -#define brain_pin_e_GPIOD_5 55 -#define brain_pin_e_GPIOD_6 56 -#define brain_pin_e_GPIOD_7 57 -#define brain_pin_e_GPIOD_8 58 -#define brain_pin_e_GPIOD_9 59 -#define brain_pin_e_GPIOE_0 66 -#define brain_pin_e_GPIOE_1 67 -#define brain_pin_e_GPIOE_10 76 -#define brain_pin_e_GPIOE_11 77 -#define brain_pin_e_GPIOE_12 78 -#define brain_pin_e_GPIOE_13 79 -#define brain_pin_e_GPIOE_14 80 -#define brain_pin_e_GPIOE_15 81 -#define brain_pin_e_GPIOE_2 68 -#define brain_pin_e_GPIOE_3 69 -#define brain_pin_e_GPIOE_4 70 -#define brain_pin_e_GPIOE_5 71 -#define brain_pin_e_GPIOE_6 72 -#define brain_pin_e_GPIOE_7 73 -#define brain_pin_e_GPIOE_8 74 -#define brain_pin_e_GPIOE_9 75 -#define brain_pin_e_GPIOF_0 82 -#define brain_pin_e_GPIOF_1 83 -#define brain_pin_e_GPIOF_10 92 -#define brain_pin_e_GPIOF_11 93 -#define brain_pin_e_GPIOF_12 94 -#define brain_pin_e_GPIOF_13 95 -#define brain_pin_e_GPIOF_14 96 -#define brain_pin_e_GPIOF_15 97 -#define brain_pin_e_GPIOF_2 84 -#define brain_pin_e_GPIOF_3 85 -#define brain_pin_e_GPIOF_4 86 -#define brain_pin_e_GPIOF_5 87 -#define brain_pin_e_GPIOF_6 88 -#define brain_pin_e_GPIOF_7 89 -#define brain_pin_e_GPIOF_8 90 -#define brain_pin_e_GPIOF_9 91 -#define brain_pin_e_GPIOG_0 98 -#define brain_pin_e_GPIOG_1 99 -#define brain_pin_e_GPIOG_10 108 -#define brain_pin_e_GPIOG_11 109 -#define brain_pin_e_GPIOG_12 110 -#define brain_pin_e_GPIOG_13 111 -#define brain_pin_e_GPIOG_14 112 -#define brain_pin_e_GPIOG_15 113 -#define brain_pin_e_GPIOG_2 100 -#define brain_pin_e_GPIOG_3 101 -#define brain_pin_e_GPIOG_4 102 -#define brain_pin_e_GPIOG_5 103 -#define brain_pin_e_GPIOG_6 104 -#define brain_pin_e_GPIOG_7 105 -#define brain_pin_e_GPIOG_8 106 -#define brain_pin_e_GPIOG_9 107 -#define brain_pin_e_GPIOH_0 114 -#define brain_pin_e_GPIOH_1 115 -#define brain_pin_e_GPIOH_10 124 -#define brain_pin_e_GPIOH_11 125 -#define brain_pin_e_GPIOH_12 126 -#define brain_pin_e_GPIOH_13 127 -#define brain_pin_e_GPIOH_14 128 -#define brain_pin_e_GPIOH_15 129 -#define brain_pin_e_GPIOH_2 116 -#define brain_pin_e_GPIOH_3 117 -#define brain_pin_e_GPIOH_4 118 -#define brain_pin_e_GPIOH_5 119 -#define brain_pin_e_GPIOH_6 120 -#define brain_pin_e_GPIOH_7 121 -#define brain_pin_e_GPIOH_8 122 -#define brain_pin_e_GPIOH_9 123 -#define brain_pin_e_GPIOI_0 130 -#define brain_pin_e_GPIOI_1 131 -#define brain_pin_e_GPIOI_10 140 -#define brain_pin_e_GPIOI_11 141 -#define brain_pin_e_GPIOI_12 142 -#define brain_pin_e_GPIOI_13 143 -#define brain_pin_e_GPIOI_14 144 -#define brain_pin_e_GPIOI_15 145 -#define brain_pin_e_GPIOI_2 132 -#define brain_pin_e_GPIOI_3 133 -#define brain_pin_e_GPIOI_4 134 -#define brain_pin_e_GPIOI_5 135 -#define brain_pin_e_GPIOI_6 136 -#define brain_pin_e_GPIOI_7 137 -#define brain_pin_e_GPIOI_8 138 -#define brain_pin_e_GPIOI_9 139 -#define brain_pin_e_MC33972_PIN_1 146 -#define brain_pin_e_MC33972_PIN_21 166 -#define brain_pin_e_MC33972_PIN_22 167 -#define brain_pin_e_TLE6240_PIN_1 199 -#define brain_pin_e_TLE6240_PIN_10 208 -#define brain_pin_e_TLE6240_PIN_11 209 -#define brain_pin_e_TLE6240_PIN_12 210 -#define brain_pin_e_TLE6240_PIN_13 211 -#define brain_pin_e_TLE6240_PIN_14 212 -#define brain_pin_e_TLE6240_PIN_15 213 -#define brain_pin_e_TLE6240_PIN_16 214 -#define brain_pin_e_TLE6240_PIN_2 200 -#define brain_pin_e_TLE6240_PIN_3 201 -#define brain_pin_e_TLE6240_PIN_4 202 -#define brain_pin_e_TLE6240_PIN_5 203 -#define brain_pin_e_TLE6240_PIN_6 204 -#define brain_pin_e_TLE6240_PIN_7 205 -#define brain_pin_e_TLE6240_PIN_8 206 -#define brain_pin_e_TLE6240_PIN_9 207 -#define brain_pin_e_TLE8888_PIN_1 168 -#define brain_pin_e_TLE8888_PIN_10 177 -#define brain_pin_e_TLE8888_PIN_11 178 -#define brain_pin_e_TLE8888_PIN_12 179 -#define brain_pin_e_TLE8888_PIN_13 180 -#define brain_pin_e_TLE8888_PIN_14 181 -#define brain_pin_e_TLE8888_PIN_15 182 -#define brain_pin_e_TLE8888_PIN_16 183 -#define brain_pin_e_TLE8888_PIN_17 184 -#define brain_pin_e_TLE8888_PIN_18 185 -#define brain_pin_e_TLE8888_PIN_19 186 -#define brain_pin_e_TLE8888_PIN_2 169 -#define brain_pin_e_TLE8888_PIN_20 187 -#define brain_pin_e_TLE8888_PIN_21 188 -#define brain_pin_e_TLE8888_PIN_22 189 -#define brain_pin_e_TLE8888_PIN_23 190 -#define brain_pin_e_TLE8888_PIN_24 191 -#define brain_pin_e_TLE8888_PIN_25 192 -#define brain_pin_e_TLE8888_PIN_26 193 -#define brain_pin_e_TLE8888_PIN_27 194 -#define brain_pin_e_TLE8888_PIN_28 195 -#define brain_pin_e_TLE8888_PIN_3 170 -#define brain_pin_e_TLE8888_PIN_4 171 -#define brain_pin_e_TLE8888_PIN_5 172 -#define brain_pin_e_TLE8888_PIN_6 173 -#define brain_pin_e_TLE8888_PIN_7 174 -#define brain_pin_e_TLE8888_PIN_8 175 -#define brain_pin_e_TLE8888_PIN_9 176 -#define brain_pin_e_TLE8888_PIN_KEY 197 -#define brain_pin_e_TLE8888_PIN_MR 196 -#define brain_pin_e_TLE8888_PIN_WAKE 198 -#define brakePedalPin_offset 2608 -#define brakePedalPinMode_offset 2611 -#define byFirmwareVersion_offset 500 -#define CAM_INPUTS_COUNT 4 -#define CAM_INPUTS_COUNT_padding 0 -#define camInputs1_offset 556 -#define camInputs2_offset 557 -#define camInputs3_offset 558 -#define camInputs4_offset 559 -#define camInputsDebug1_offset 1492 -#define camInputsDebug2_offset 1493 -#define camInputsDebug3_offset 1494 -#define camInputsDebug4_offset 1495 -#define camInputsDebugPadding_offset 1496 -#define camInputsPadding_offset 560 -#define CAMS_PER_BANK 2 -#define CAMS_PER_BANK_padding 0 -#define can2BaudRate_offset 2110 -#define can2NbcType_offset 2120 -#define can2ReadEnabled_offset 2116 -#define can2RxPin_offset 2125 -#define can2SleepPeriodMs_offset 712 -#define can2TxPin_offset 2124 -#define can2WriteEnabled_offset 2116 -#define can_baudrate_e_auto_enum "B100KBPS", "B250KBPS", "B500KBPS", "B1MBPS" -#define can_baudrate_e_B100KBPS 0 -#define can_baudrate_e_B1MBPS 3 -#define can_baudrate_e_B250KBPS 1 -#define can_baudrate_e_B500KBPS 2 -#define can_baudrate_e_enum "100kbps", "250kbps", "500kbps", "1Mbps" -#define CAN_DEFAULT_BASE 0x200 -#define can_nbc_e_auto_enum "CAN_BUS_NBC_NONE", "CAN_BUS_NBC_FIAT", "CAN_BUS_NBC_VAG", "CAN_BUS_MAZDA_RX8", "CAN_BUS_NBC_BMW", "CAN_BUS_W202_C180", "CAN_BUS_BMW_E90", "CAN_BUS_Haltech", "CAN_BUS_MQB", "CAN_BUS_NISSAN_VQ", "CAN_BUS_GENESIS_COUPE", "CAN_BUS_HONDA_K" -#define can_nbc_e_CAN_BUS_BMW_E90 6 -#define can_nbc_e_CAN_BUS_GENESIS_COUPE 10 -#define can_nbc_e_CAN_BUS_Haltech 7 -#define can_nbc_e_CAN_BUS_HONDA_K 11 -#define can_nbc_e_CAN_BUS_MAZDA_RX8 3 -#define can_nbc_e_CAN_BUS_MQB 8 -#define can_nbc_e_CAN_BUS_NBC_BMW 4 -#define can_nbc_e_CAN_BUS_NBC_FIAT 1 -#define can_nbc_e_CAN_BUS_NBC_NONE 0 -#define can_nbc_e_CAN_BUS_NBC_VAG 2 -#define can_nbc_e_CAN_BUS_NISSAN_VQ 9 -#define can_nbc_e_CAN_BUS_W202_C180 5 -#define can_nbc_e_Internal_ForceMyEnumIntSize_can_nbc ENUM_32_BITS -#define CAN_RX_PREFIX "CAN_rx" -#define can_vss_nbc_e_auto_enum "BMW_e46", "W202" -#define can_vss_nbc_e_BMW_e46 0 -#define can_vss_nbc_e_Force_4_bytes_size_can_vss_nbc_e ENUM_32_BITS -#define can_vss_nbc_e_W202 1 -#define canBaudRate_offset 2108 -#define canNbcType_offset 480 -#define canReadEnabled_offset 1464 -#define canRxPin_offset 709 -#define canSleepPeriodMs_offset 484 -#define canTxPin_offset 708 -#define canVssNbcType_offset 4140 -#define canWriteEnabled_offset 1464 -#define cdmInputPin_offset 937 -#define chamber_style_e_CS_CLOSED 1 -#define chamber_style_e_CS_OPEN 0 -#define chamber_style_e_CS_SWIRL_TUMBLE 2 -#define chamber_style_e_Internal_ForceMyEnumIntSize_chamber_stype ENUM_32_BITS -#define cj125CsPin_offset 674 -#define cj125CsPinMode_offset 2225 -#define cj125isLsu49_offset 76 -#define cj125isUaDivided_offset 76 -#define cj125isUrDivided_offset 76 -#define cj125SpiDevice_offset 2224 -#define cj125ua_offset 2609 -#define cj125ur_offset 2610 -#define clt_adcChannel_offset 280 -#define clt_alignmentFill_at_29_offset 281 -#define clt_bias_resistor_offset 276 -#define clt_config_offset 252 -#define CLT_CRANKING_CURVE_SIZE 8 -#define CLT_CURVE_SIZE 16 -#define CLT_LIMITER_CURVE_SIZE 4 -#define clt_offset 252 -#define clt_resistance_1_offset 264 -#define clt_resistance_2_offset 268 -#define clt_resistance_3_offset 272 -#define clt_tempC_1_offset 252 -#define clt_tempC_2_offset 256 -#define clt_tempC_3_offset 260 -#define CLT_TIMING_CURVE_SIZE 8 -#define cltCrankingCorr_offset 6512 -#define cltCrankingCorrBins_offset 6480 -#define cltFuelCorr_offset 10336 -#define cltFuelCorrBins_offset 10272 -#define cltIdleCorr_offset 10720 -#define cltIdleCorrBins_offset 10656 -#define cltIdleRpm_offset 1960 -#define cltIdleRpmBins_offset 1896 -#define cltRevLimitRpm_offset 3332 -#define cltRevLimitRpmBins_offset 3328 -#define cltTimingBins_offset 2352 -#define cltTimingExtra_offset 2384 -#define clutchDownPin_offset 664 -#define clutchDownPinInverted_offset 976 -#define clutchDownPinMode_offset 667 -#define clutchUpPin_offset 969 -#define clutchUpPinInverted_offset 976 -#define clutchUpPinMode_offset 971 -#define CMD_AC_RELAY_BENCH "acrelaybench" -#define CMD_ALTERNATOR_PIN "set_alternator_pin" -#define CMD_BOOST_PIN "set_boost_pin" -#define CMD_BURNCONFIG "burnconfig" -#define CMD_CALIBRATE_PEDAL_DOWN "calibrate_pedal_down" -#define CMD_CALIBRATE_PEDAL_UP "calibrate_pedal_up" -#define CMD_DATE "date" -#define CMD_DISABLE "disable" -#define CMD_ENABLE "enable" -#define CMD_ENGINE_TYPE "engine_type" -#define CMD_ENGINESNIFFERRPMTHRESHOLD "engineSnifferRpmThreshold" -#define CMD_ETB_DUTY "set_etb_duty" -#define CMD_EXTERNAL_STIMULATION "ext_stimulation" -#define CMD_FAN2_BENCH "fan2bench" -#define CMD_FAN_BENCH "fanbench" -#define CMD_FUEL_BENCH "fuelbench" -#define CMD_FUNCTIONAL_TEST_MODE "test_mode" -#define CMD_GET "get" -#define CMD_HPFP_BENCH "hpfpbench" -#define CMD_IDLE_PIN "set_idle_pin" -#define CMD_IGNITION "ignition" -#define CMD_IGNITION_PIN "set_ignition_pin" -#define CMD_INJECTION "injection" -#define CMD_INJECTION_PIN "set_injection_pin" -#define CMD_LOGIC_PIN "set_logic_input_pin" -#define CMD_MIL_BENCH "milbench" -#define CMD_PINS "pins" -#define CMD_PWM "pwm" -#define CMD_REBOOT "reboot" -#define CMD_REBOOT_DFU "reboot_dfu" -#define CMD_RESET_ENGINE_SNIFFER "reset_engine_chart" -#define CMD_RPM "rpm" -#define CMD_SELF_STIMULATION "self_stimulation" -#define CMD_SET "set" -#define CMD_SPARK_BENCH "sparkbench" -#define CMD_STARTER_BENCH "starterbench" -#define CMD_TRIGGER_HW_INPUT "trigger_hw_input" -#define CMD_TRIGGER_PIN "set_trigger_input_pin" -#define CMD_TRIGGER_SIMULATOR_PIN "set_trigger_simulator_pin" -#define CMD_TRIGGERINFO "triggerinfo" -#define CMD_TS_BENCH_AC_COMPRESSOR_RELAY 6 -#define CMD_TS_BENCH_CATEGORY 22 -#define CMD_TS_BENCH_CHECK_ENGINE_LIGHT 7 -#define CMD_TS_BENCH_FAN_RELAY 4 -#define CMD_TS_BENCH_FAN_RELAY_2 5 -#define CMD_TS_BENCH_FUEL_PUMP 1 -#define CMD_TS_BENCH_GPPWM1_VALVE 10 -#define CMD_TS_BENCH_GPPWM2_VALVE 11 -#define CMD_TS_BENCH_GPPWM3_VALVE 12 -#define CMD_TS_BENCH_GPPWM4_VALVE 13 -#define CMD_TS_BENCH_HPFP_VALVE 9 -#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_FSIO_CATEGORY 33 -#define CMD_TS_IGNITION_CATEGORY 18 -#define CMD_TS_INJECTOR_CATEGORY 19 -#define CMD_TS_SOLENOID_CATEGORY 41 -#define CMD_TS_X14 20 -#define CMD_TS_X17 23 -#define CMD_TS_X18 24 -#define CMD_TS_X31 49 -#define CMD_VSS_PIN "vss_pin" -#define CMD_WRITECONFIG "writeconfig" -#define coastingFuelCutClt_offset 3154 -#define coastingFuelCutEnabled_offset 744 -#define coastingFuelCutMap_offset 3158 -#define coastingFuelCutRpmHigh_offset 3148 -#define coastingFuelCutRpmLow_offset 3150 -#define coastingFuelCutTps_offset 3152 -#define communicationLedPin_offset 1812 -#define COMPOSITE_DATA_LENGTH 2500 -#define COMPOSITE_DATA_LENGTH_HALF 1250 -#define COMPOSITE_PACKET_COUNT 500 -#define COMPOSITE_PACKET_SIZE 5 -#define compressionRatio_offset 732 -#define CONSOLE_DATA_PROTOCOL_TAG " @" -#define consoleUartDevice_offset 943 -#define consumeObdSensors_offset 976 -#define CRANKING_ADVANCE_CURVE_SIZE 4 -#define cranking_alignmentFill_at_6_offset 94 -#define cranking_baseFuel_offset 88 -#define CRANKING_CLT_IDLE_CURVE_SIZE 8 -#define CRANKING_CURVE_SIZE 8 -#define cranking_ignition_mode_e_CIM_DEFAULT 0 -#define cranking_ignition_mode_e_CIM_FIXED_ANGLE 1 -#define cranking_ignition_mode_e_Force_4_bytes_size_cranking_ignition_mode ENUM_32_BITS -#define cranking_offset 88 -#define cranking_parameters_s_size 8 -#define cranking_rpm_offset 92 -#define crankingAdvance_offset 3124 -#define crankingAdvanceBins_offset 3108 -#define crankingCycleBins_offset 10624 -#define crankingCycleCoef_offset 10592 -#define crankingFuelBins_offset 10560 -#define crankingFuelCoef_offset 10528 -#define crankingIACposition_offset 2228 -#define crankingInjectionMode_offset 424 -#define crankingTimingAngle_offset 436 -#define crankingTpsBins_offset 1672 -#define crankingTpsCoef_offset 1640 -#define CRITICAL_PREFIX "CRITICAL" -#define cutFuelOnHardLimit_offset 1464 -#define cutSparkOnHardLimit_offset 1464 -#define cylinderBankSelect10_offset 4025 -#define cylinderBankSelect11_offset 4026 -#define cylinderBankSelect12_offset 4027 -#define cylinderBankSelect1_offset 4016 -#define cylinderBankSelect2_offset 4017 -#define cylinderBankSelect3_offset 4018 -#define cylinderBankSelect4_offset 4019 -#define cylinderBankSelect5_offset 4020 -#define cylinderBankSelect6_offset 4021 -#define cylinderBankSelect7_offset 4022 -#define cylinderBankSelect8_offset 4023 -#define cylinderBankSelect9_offset 4024 -#define cylinderBore_offset 408 -#define cylindersCount_offset 400 -#define dc_io_size 4 -#define DC_PER_STEPPER 2 -#define debug_mode_e_auto_enum "DBG_ALTERNATOR_PID", "DBG_TPS_ACCEL", "DBG_GPPWM", "DBG_IDLE_CONTROL", "DBG_EL_ACCEL", "DBG_TRIGGER_COUNTERS", "DBG_UNUSED_6", "DBG_VVT_1_PID", "DBG_VVT", "DBG_CRANKING_DETAILS", "DBG_IGNITION_TIMING", "DBG_FUEL_PID_CORRECTION", "DBG_UNUSED12", "DBG_SD_CARD", "DBG_SR5_PROTOCOL", "DBG_KNOCK", "DBG_WALL_WETTING", "DBG_ELECTRONIC_THROTTLE_PID", "DBG_EXECUTOR", "DBG_BENCH_TEST", "DBG_AUX_VALVES", "DBG_ANALOG_INPUTS", "DBG_INSTANT_RPM", "UNUSED23", "DBG_STATUS", "DBG_CJ125", "DBG_CAN", "DBG_MAP", "DBG_METRICS", "DBG_ELECTRONIC_THROTTLE_EXTRA", "DBG_ION", "DBG_TLE8888", "DBG_ANALOG_INPUTS2", "DBG_DWELL_METRIC", "DBG_34", "DBG_ETB_LOGIC", "DBG_BOOST", "DBG_START_STOP", "DBG_LAUNCH", "DBG_ETB_AUTOTUNE", "DBG_COMPOSITE_LOG", "DBG_UNUSED41", "DBG_UNUSED_42", "DBG_INJECTOR_COMPENSATION", "DBG_DYNO_VIEW", "DBG_LOGIC_ANALYZER", "DBG_RUSEFI_WIDEBAND", "DBG_TCU", "DBG_LUA", "DBG_VVT_2_PID", "DBG_VVT_3_PID", "DBG_VVT_4_PID", "MODE_52", "MODE_53" -#define debug_mode_e_DBG_34 34 -#define debug_mode_e_DBG_ALTERNATOR_PID 0 -#define debug_mode_e_DBG_ANALOG_INPUTS 21 -#define debug_mode_e_DBG_ANALOG_INPUTS2 32 -#define debug_mode_e_DBG_AUX_VALVES 20 -#define debug_mode_e_DBG_BENCH_TEST 19 -#define debug_mode_e_DBG_BOOST 36 -#define debug_mode_e_DBG_CAN 26 -#define debug_mode_e_DBG_CJ125 25 -#define debug_mode_e_DBG_COMPOSITE_LOG 40 -#define debug_mode_e_DBG_CRANKING_DETAILS 9 -#define debug_mode_e_DBG_DWELL_METRIC 33 -#define debug_mode_e_DBG_DYNO_VIEW 44 -#define debug_mode_e_DBG_EL_ACCEL 4 -#define debug_mode_e_DBG_ELECTRONIC_THROTTLE_EXTRA 29 -#define debug_mode_e_DBG_ELECTRONIC_THROTTLE_PID 17 -#define debug_mode_e_DBG_ETB_AUTOTUNE 39 -#define debug_mode_e_DBG_ETB_LOGIC 35 -#define debug_mode_e_DBG_EXECUTOR 18 -#define debug_mode_e_DBG_FUEL_PID_CORRECTION 11 -#define debug_mode_e_DBG_GPPWM 2 -#define debug_mode_e_DBG_IDLE_CONTROL 3 -#define debug_mode_e_DBG_IGNITION_TIMING 10 -#define debug_mode_e_DBG_INJECTOR_COMPENSATION 43 -#define debug_mode_e_DBG_INSTANT_RPM 22 -#define debug_mode_e_DBG_ION 30 -#define debug_mode_e_DBG_KNOCK 15 -#define debug_mode_e_DBG_LAUNCH 38 -#define debug_mode_e_DBG_LOGIC_ANALYZER 45 -#define debug_mode_e_DBG_LUA 48 -#define debug_mode_e_DBG_MAP 27 -#define debug_mode_e_DBG_METRICS 28 -#define debug_mode_e_DBG_RUSEFI_WIDEBAND 46 -#define debug_mode_e_DBG_SD_CARD 13 -#define debug_mode_e_DBG_SR5_PROTOCOL 14 -#define debug_mode_e_DBG_START_STOP 37 -#define debug_mode_e_DBG_STATUS 24 -#define debug_mode_e_DBG_TCU 47 -#define debug_mode_e_DBG_TLE8888 31 -#define debug_mode_e_DBG_TPS_ACCEL 1 -#define debug_mode_e_DBG_TRIGGER_COUNTERS 5 -#define debug_mode_e_DBG_UNUSED12 12 -#define debug_mode_e_DBG_UNUSED41 41 -#define debug_mode_e_DBG_UNUSED_42 42 -#define debug_mode_e_DBG_UNUSED_6 6 -#define debug_mode_e_DBG_VVT 8 -#define debug_mode_e_DBG_VVT_1_PID 7 -#define debug_mode_e_DBG_VVT_2_PID 49 -#define debug_mode_e_DBG_VVT_3_PID 50 -#define debug_mode_e_DBG_VVT_4_PID 51 -#define debug_mode_e_DBG_WALL_WETTING 16 -#define debug_mode_e_enum "Alternator PID", "TPS acceleration enrichment", "GPPWM", "Idle Control", "Engine Load accl enrich", "Trigger Counters", "INVALID", "VVT1 PID", "VVT input", "Cranking", "Timing", "Closed-loop fuel corr PID", "INVALID", "SD card", "sr5", "Knock", "Wall Wetting", "Electronic Throttle", "Executor", "Bench Test / TS commands", "Aux Valves", "Analog inputs #1", "INSTANT_RPM", "INVALID", "Status", "CJ125", "CAN", "MAP", "Metrics", "ETB#2", "Ion Sense", "TLE8888", "Analog inputs #2", "Dwell Metric", "INVALID", "ETB Logic", "Boost Control", "Start/Stop", "Launch", "ETB Autotune", "FSIO_COMPOSITE_LOG", "INVALID", "INVALID", "Injector Compensation", "Dyno_View", "Logic_Analyzer", "rusEFI Wideband", "TCU", "Lua", "VVT2 PID", "VVT3 PID", "VVT4 PID", "mode 52", "mode 53" -#define debug_mode_e_Force_4_bytes_size_debug_mode_e ENUM_32_BITS -#define debug_mode_e_MODE_52 52 -#define debug_mode_e_MODE_53 53 -#define debug_mode_e_UNUSED23 23 -#define debugMapAveraging_offset 807 -#define debugMode_offset 2092 -#define debugTriggerSync_offset 676 -#define DIGIPOT_COUNT 4 -#define digitalPotentiometerChipSelect1_offset 668 -#define digitalPotentiometerChipSelect2_offset 669 -#define digitalPotentiometerChipSelect3_offset 670 -#define digitalPotentiometerChipSelect4_offset 671 -#define digitalPotentiometerSpiDevice_offset 677 -#define disableEtbWhenEngineStopped_offset 744 -#define disableFan1WhenStopped_offset 76 -#define disableFan2WhenStopped_offset 76 -#define displacement_offset 396 -#define display_mode_e_auto_enum "DM_NONE", "DM_HD44780", "DM_HD44780_OVER_PCF8574" -#define display_mode_e_DM_HD44780 1 -#define display_mode_e_DM_HD44780_OVER_PCF8574 2 -#define display_mode_e_DM_NONE 0 -#define display_mode_e_Force_4_bytes_size_display_mode ENUM_32_BITS -#define displayLogicLevelsInEngineSniffer_offset 76 -#define displayMode_offset 492 -#define drv8860_cs_offset 1201 -#define drv8860_csPinMode_offset 1202 -#define drv8860_miso_offset 1203 -#define drv8860spiDevice_offset 1200 -#define DWELL_CURVE_SIZE 8 -#define dwellVoltageCorrValues_offset 786 -#define dwellVoltageCorrVoltBins_offset 770 -#define ego_sensor_e_auto_enum "ES_BPSX_D1", "ES_Innovate_MTX_L", "ES_14Point7_Free", "ES_NarrowBand", "ES_PLX", "ES_Custom", "ES_AEM" -#define ego_sensor_e_enum "BPSX", "Innovate", "14Point7", "Narrow", "PLX", "Custom", "INVALID", "INVALID" -#define ego_sensor_e_ES_14Point7_Free 2 -#define ego_sensor_e_ES_AEM 6 -#define ego_sensor_e_ES_BPSX_D1 0 -#define ego_sensor_e_ES_Custom 5 -#define ego_sensor_e_ES_Innovate_MTX_L 1 -#define ego_sensor_e_ES_NarrowBand 3 -#define ego_sensor_e_ES_PLX 4 -#define ego_sensor_e_Force_4_bytes_size_ego_sensor ENUM_32_BITS -#define egoValueShift_offset 2216 -#define EGT_CHANNEL_COUNT 8 -#define electronicThrottlePin1Mode_offset 672 -#define enableAemXSeries_offset 744 -#define enableCanVss_offset 976 -#define enabledStep1Limiter_offset 744 -#define enableFan1WithAc_offset 76 -#define enableFan2WithAc_offset 76 -#define enableInnovateLC2_offset 976 -#define enableLaunchBoost_offset 976 -#define enableLaunchRetard_offset 976 -#define enableMapEstimationTableFallback_offset 76 -#define enableSoftwareKnock_offset 976 -#define enableTrailingSparks_offset 76 -#define enableVerboseCan2Tx_offset 2116 -#define enableVerboseCanTx_offset 744 -#define engine_configuration_s_size 6000 -#define engine_load_mode_e_auto_enum "INVALID", "INVALID", "INVALID", "LM_SPEED_DENSITY", "LM_REAL_MAF", "LM_ALPHA_N", "LM_LUA", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "LM_MOCK" -#define engine_load_mode_e_enum "INVALID", "INVALID", "INVALID", "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" -#define engine_load_mode_e_Force_4_bytes_size_engine_load_mode ENUM_32_BITS -#define engine_load_mode_e_LM_ALPHA_N 5 -#define engine_load_mode_e_LM_LUA 6 -#define engine_load_mode_e_LM_MOCK 100 -#define engine_load_mode_e_LM_REAL_MAF 4 -#define engine_load_mode_e_LM_SPEED_DENSITY 3 -#define ENGINE_MAKE_BMW "BMW" -#define ENGINE_MAKE_GM "GM" -#define ENGINE_MAKE_HONDA "Honda" -#define ENGINE_MAKE_Hyundai "Hyundai" -#define ENGINE_MAKE_LADA "Lada" -#define ENGINE_MAKE_MAZDA "Mazda" -#define ENGINE_MAKE_MERCEDES "Mercedes" -#define ENGINE_MAKE_NISSAN "Nissan" -#define ENGINE_MAKE_SUBARU "Subaru" -#define ENGINE_MAKE_TOYOTA "Toyota" -#define ENGINE_MAKE_VAG "VAG" -#define ENGINE_NOISE_CURVE_SIZE 8 -#define ENGINE_SNIFFER_UNIT_US 10 -#define engine_type_e_auto_enum "DEFAULT_FRANKENSO", "MIATA_PROTEUS_TCU", "DODGE_NEON_1995", "FORD_ASPIRE_1996", "MRE_SECONDARY_CAN", "NISSAN_PRIMERA", "ET_UNUSED_6", "FORD_INLINE_6_1995", "GY6_139QMB", "MAZDA_MIATA_NB1", "UNUSED10", "MRE_MIATA_NB2_MAP", "MRE_MIATA_NA6_VAF", "MRE_MIATA_NB2_ETB", "FORD_ESCORT_GT", "MRE_MIATA_NB2_MAF", "MITSU_4G93", "HONDA_ACCORD_CD_TWO_WIRES", "HONDA_ACCORD_CD_DIP", "MIATA_1990", "MRE_MIATA_94_MAP", "MIATA_1996", "SUBARU_2003_WRX", "MRE_BODY_CONTROL", "BMW_M73_M", "UNUSED25", "TEST_ENGINE", "TEST_ISSUE_898", "MAZDA_626", "SACHS", "UNUSED30", "MRE_BOARD_NEW_TEST", "VW_ABA", "HELLEN72_ETB", "HELLEN_NA6", "CAMARO_4", "HELLEN_128_MERCEDES_4_CYL", "MRE_SUBARU_EJ18", "TOYOTA_JZS147", "UNUSED39", "FRANKENSO_BMW_M73_F", "FRANKENSO_MIATA_NA6_MAP", "PROTEUS_QC_TEST_BOARD", "HONDA_600", "TOYOTA_2JZ_GTE_VVTi", "TEST_ENGINE_VVT", "DODGE_NEON_2003_CRANK", "FRANKENSO_MAZDA_MIATA_2003", "UNUSED_48", "FRANKENSO_QA_ENGINE", "UNUSED_50", "UNUSED_51", "TEST_ISSUE_366_BOTH", "TEST_ISSUE_366_RISE", "MAZDA_MIATA_2003_NA_RAIL", "MAZDA_MIATA_2003_BOARD_TEST", "FRANKENSO_MAZDA_MIATA_NA8", "FRANKENSO_MIATA_NA6_VAF", "ETB_BENCH_ENGINE", "TLE8888_BENCH_ENGINE", "MICRO_RUS_EFI", "PROTEUS_DEFAULTS", "VW_B6", "PROTEUS_BMW_M73", "DODGE_RAM", "CITROEN_TU3JP", "MRE_MIATA_NA6_MAP", "PROTEUS_MIATA_NB2", "MRE_M111", "HELLEN_NB2", "SUBARUEG33_DEFAULTS", "HELLEN_121_VAG_4_CYL", "HELLEN_121_NISSAN_6_CYL", "HELLEN_55_BMW", "HELLEN_88_BMW", "HELLEN_134_BMW", "HELLEN_154_VAG", "HELLEN_121_VAG_5_CYL", "HELLEN_121_VAG_V6_CYL", "HELLEN_121_VAG_VR6_CYL", "HELLEN_NA94", "HELLEN_121_VAG_8_CYL", "HELLEN_154_HYUNDAI_COUPE_BK1", "HELLEN_NB1", "HELLEN_121_NISSAN_4_CYL", "HELLEN_121_NISSAN_8_CYL", "HELLEN_NB2_36", "HELLEN_121_NISSAN_ALMERA_N16", "HELLEN_128_MERCEDES_6_CYL", "HELLEN_128_MERCEDES_8_CYL", "PROTEUS_HONDA_ELEMENT_2003", "PROTEUS_HONDA_OBD2A", "PROTEUS_VAG_80_18T", "PROTEUS_N73", "HELLEN_NB1_36", "HELLEN_154_HYUNDAI_COUPE_BK2", "ET_UNUSED96", "ET_UNUSED97", "ET_UNUSED98", "MINIMAL_PINS", "PROMETHEUS_DEFAULTS", "UNUSED101", "VAG_18_TURBO", "TEST_33816", "BMW_M73_MRE", "BMW_M73_MRE_SLAVE", "PROTEUS_ANALOG_PWM_TEST", "TEST_ROTARY", "TEST_108", "TEST_109", "TEST_110" -#define engine_type_e_BMW_M73_M 24 -#define engine_type_e_BMW_M73_MRE 104 -#define engine_type_e_BMW_M73_MRE_SLAVE 105 -#define engine_type_e_CAMARO_4 35 -#define engine_type_e_CITROEN_TU3JP 65 -#define engine_type_e_DEFAULT_FRANKENSO 0 -#define engine_type_e_DODGE_NEON_1995 2 -#define engine_type_e_DODGE_NEON_2003_CRANK 46 -#define engine_type_e_DODGE_RAM 64 -#define engine_type_e_ET_UNUSED96 96 -#define engine_type_e_ET_UNUSED97 97 -#define engine_type_e_ET_UNUSED98 98 -#define engine_type_e_ET_UNUSED_6 6 -#define engine_type_e_ETB_BENCH_ENGINE 58 -#define engine_type_e_Force_4_bytes_size_engine_type ENUM_32_BITS -#define engine_type_e_FORD_ASPIRE_1996 3 -#define engine_type_e_FORD_ESCORT_GT 14 -#define engine_type_e_FORD_INLINE_6_1995 7 -#define engine_type_e_FRANKENSO_BMW_M73_F 40 -#define engine_type_e_FRANKENSO_MAZDA_MIATA_2003 47 -#define engine_type_e_FRANKENSO_MAZDA_MIATA_NA8 56 -#define engine_type_e_FRANKENSO_MIATA_NA6_MAP 41 -#define engine_type_e_FRANKENSO_MIATA_NA6_VAF 57 -#define engine_type_e_FRANKENSO_QA_ENGINE 49 -#define engine_type_e_GY6_139QMB 8 -#define engine_type_e_HELLEN72_ETB 33 -#define engine_type_e_HELLEN_121_NISSAN_4_CYL 84 -#define engine_type_e_HELLEN_121_NISSAN_6_CYL 72 -#define engine_type_e_HELLEN_121_NISSAN_8_CYL 85 -#define engine_type_e_HELLEN_121_NISSAN_ALMERA_N16 87 -#define engine_type_e_HELLEN_121_VAG_4_CYL 71 -#define engine_type_e_HELLEN_121_VAG_5_CYL 77 -#define engine_type_e_HELLEN_121_VAG_8_CYL 81 -#define engine_type_e_HELLEN_121_VAG_V6_CYL 78 -#define engine_type_e_HELLEN_121_VAG_VR6_CYL 79 -#define engine_type_e_HELLEN_128_MERCEDES_4_CYL 36 -#define engine_type_e_HELLEN_128_MERCEDES_6_CYL 88 -#define engine_type_e_HELLEN_128_MERCEDES_8_CYL 89 -#define engine_type_e_HELLEN_134_BMW 75 -#define engine_type_e_HELLEN_154_HYUNDAI_COUPE_BK1 82 -#define engine_type_e_HELLEN_154_HYUNDAI_COUPE_BK2 95 -#define engine_type_e_HELLEN_154_VAG 76 -#define engine_type_e_HELLEN_55_BMW 73 -#define engine_type_e_HELLEN_88_BMW 74 -#define engine_type_e_HELLEN_NA6 34 -#define engine_type_e_HELLEN_NA94 80 -#define engine_type_e_HELLEN_NB1 83 -#define engine_type_e_HELLEN_NB1_36 94 -#define engine_type_e_HELLEN_NB2 69 -#define engine_type_e_HELLEN_NB2_36 86 -#define engine_type_e_HONDA_600 43 -#define engine_type_e_HONDA_ACCORD_CD_DIP 18 -#define engine_type_e_HONDA_ACCORD_CD_TWO_WIRES 17 -#define engine_type_e_MAZDA_626 28 -#define engine_type_e_MAZDA_MIATA_2003_BOARD_TEST 55 -#define engine_type_e_MAZDA_MIATA_2003_NA_RAIL 54 -#define engine_type_e_MAZDA_MIATA_NB1 9 -#define engine_type_e_MIATA_1990 19 -#define engine_type_e_MIATA_1996 21 -#define engine_type_e_MIATA_PROTEUS_TCU 1 -#define engine_type_e_MICRO_RUS_EFI 60 -#define engine_type_e_MINIMAL_PINS 99 -#define engine_type_e_MITSU_4G93 16 -#define engine_type_e_MRE_BOARD_NEW_TEST 31 -#define engine_type_e_MRE_BODY_CONTROL 23 -#define engine_type_e_MRE_M111 68 -#define engine_type_e_MRE_MIATA_94_MAP 20 -#define engine_type_e_MRE_MIATA_NA6_MAP 66 -#define engine_type_e_MRE_MIATA_NA6_VAF 12 -#define engine_type_e_MRE_MIATA_NB2_ETB 13 -#define engine_type_e_MRE_MIATA_NB2_MAF 15 -#define engine_type_e_MRE_MIATA_NB2_MAP 11 -#define engine_type_e_MRE_SECONDARY_CAN 4 -#define engine_type_e_MRE_SUBARU_EJ18 37 -#define engine_type_e_NISSAN_PRIMERA 5 -#define engine_type_e_PROMETHEUS_DEFAULTS 100 -#define engine_type_e_PROTEUS_ANALOG_PWM_TEST 106 -#define engine_type_e_PROTEUS_BMW_M73 63 -#define engine_type_e_PROTEUS_DEFAULTS 61 -#define engine_type_e_PROTEUS_HONDA_ELEMENT_2003 90 -#define engine_type_e_PROTEUS_HONDA_OBD2A 91 -#define engine_type_e_PROTEUS_MIATA_NB2 67 -#define engine_type_e_PROTEUS_N73 93 -#define engine_type_e_PROTEUS_QC_TEST_BOARD 42 -#define engine_type_e_PROTEUS_VAG_80_18T 92 -#define engine_type_e_SACHS 29 -#define engine_type_e_SUBARU_2003_WRX 22 -#define engine_type_e_SUBARUEG33_DEFAULTS 70 -#define engine_type_e_TEST_108 108 -#define engine_type_e_TEST_109 109 -#define engine_type_e_TEST_110 110 -#define engine_type_e_TEST_33816 103 -#define engine_type_e_TEST_ENGINE 26 -#define engine_type_e_TEST_ENGINE_VVT 45 -#define engine_type_e_TEST_ISSUE_366_BOTH 52 -#define engine_type_e_TEST_ISSUE_366_RISE 53 -#define engine_type_e_TEST_ISSUE_898 27 -#define engine_type_e_TEST_ROTARY 107 -#define engine_type_e_TLE8888_BENCH_ENGINE 59 -#define engine_type_e_TOYOTA_2JZ_GTE_VVTi 44 -#define engine_type_e_TOYOTA_JZS147 38 -#define engine_type_e_UNUSED10 10 -#define engine_type_e_UNUSED101 101 -#define engine_type_e_UNUSED25 25 -#define engine_type_e_UNUSED30 30 -#define engine_type_e_UNUSED39 39 -#define engine_type_e_UNUSED_48 48 -#define engine_type_e_UNUSED_50 50 -#define engine_type_e_UNUSED_51 51 -#define engine_type_e_VAG_18_TURBO 102 -#define engine_type_e_VW_ABA 32 -#define engine_type_e_VW_B6 62 -#define engineChartSize_offset 1480 -#define engineCode_offset 1128 -#define engineConfiguration_offset 0 -#define engineLoadAccelLength_offset 2056 -#define engineMake_offset 1096 -#define engineSnifferRpmThreshold_offset 4 -#define engineType_offset 0 -#define ENUM_16_BITS 60000 -#define ENUM_32_BITS 2000000000 -#define ERROR_BUFFER_SIZE 120 -#define ETB_BIAS_CURVE_LENGTH 8 -#define ETB_COUNT 2 -#define etb_dFactor_offset 1744 -#define etb_function_e_auto_enum "ETB_None", "ETB_Throttle1", "ETB_Throttle2", "ETB_IdleValve", "ETB_Wastegate" -#define etb_function_e_ETB_IdleValve 3 -#define etb_function_e_ETB_None 0 -#define etb_function_e_ETB_Throttle1 1 -#define etb_function_e_ETB_Throttle2 2 -#define etb_function_e_ETB_Wastegate 4 -#define ETB_HW_MAX_FREQUENCY 3000 -#define etb_iFactor_offset 1740 -#define etb_iTermMax_offset 3958 -#define etb_iTermMin_offset 3956 -#define etb_maxValue_offset 1754 -#define etb_minValue_offset 1752 -#define etb_offset 1736 -#define etb_offset_offset 1748 -#define etb_periodMs_offset 1750 -#define etb_pFactor_offset 1736 -#define etb_use_two_wires_offset 76 -#define etbBiasBins_offset 3888 -#define etbBiasValues_offset 3920 -#define etbDeadband_offset 3960 -#define etbFreq_offset 2514 -#define etbFunctions1_offset 1198 -#define etbFunctions2_offset 1199 -#define etbIdleThrottleRange_offset 4012 -#define etbIo1_controlPin_offset 982 -#define etbIo1_directionPin1_offset 980 -#define etbIo1_directionPin2_offset 981 -#define etbIo1_disablePin_offset 983 -#define etbIo1_offset 980 -#define etbIo2_controlPin_offset 986 -#define etbIo2_directionPin1_offset 984 -#define etbIo2_directionPin2_offset 985 -#define etbIo2_disablePin_offset 987 -#define etbIo2_offset 984 -#define etbNeutralPosition_offset 1471 -#define etbRevLimitRange_offset 106 -#define etbRevLimitStart_offset 104 -#define etbWastegatePid_dFactor_offset 2524 -#define etbWastegatePid_iFactor_offset 2520 -#define etbWastegatePid_maxValue_offset 2534 -#define etbWastegatePid_minValue_offset 2532 -#define etbWastegatePid_offset 2516 -#define etbWastegatePid_offset_offset 2528 -#define etbWastegatePid_periodMs_offset 2530 -#define etbWastegatePid_pFactor_offset 2516 -#define extraInjectionOffset_offset 432 -#define failedMapFallback_offset 541 -#define fan1ExtraIdle_offset 2252 -#define fan2ExtraIdle_offset 2330 -#define fan2OffTemperature_offset 2715 -#define fan2OnTemperature_offset 2714 -#define fan2Pin_offset 2713 -#define fan2PinMode_offset 2419 -#define fanOffTemperature_offset 472 -#define fanOnTemperature_offset 468 -#define fanPin_offset 663 -#define fanPinMode_offset 662 -#define firingOrder_offset 404 -#define fixedModeTiming_offset 452 -#define fixedTiming_offset 2204 -#define FLASH_DATA_VERSION 10003 -#define flexSensorPin_offset 3100 -#define FSIO_ANALOG_INPUT_COUNT 4 -#define FSIO_COMMAND_COUNT 6 -#define FSIO_CURVE_16 16 -#define FSIO_CURVE_8 8 -#define FSIO_METHOD_FSIO_ANALOG_INPUT "fsio_analog_input" -#define FSIO_METHOD_FSIO_DIGITAL_INPUT "fsio_digital_input" -#define FSIO_METHOD_FSIO_SETTING "fsio_setting" -#define FSIO_METHOD_FSIO_TABLE "fsio_table" -#define fsio_setting1_offset 864 -#define fsio_setting2_offset 868 -#define fsio_setting3_offset 872 -#define fsio_setting4_offset 876 -#define fsio_setting5_offset 880 -#define fsio_setting6_offset 884 -#define FSIO_TABLE_8 8 -#define fsioCurve1_offset 2780 -#define fsioCurve1Bins_offset 2716 -#define fsioCurve2_offset 2908 -#define fsioCurve2Bins_offset 2844 -#define fsioCurve3_offset 3004 -#define fsioCurve3Bins_offset 2972 -#define fsioCurve4_offset 3068 -#define fsioCurve4Bins_offset 3036 -#define fsioDigitalInputs1_offset 952 -#define fsioDigitalInputs2_offset 953 -#define fsioDigitalInputs3_offset 954 -#define fsioDigitalInputs4_offset 955 -#define fsioDigitalInputs5_offset 956 -#define fsioDigitalInputs6_offset 957 -#define fsioFormulas1_offset 6672 -#define fsioFormulas2_offset 6872 -#define fsioFormulas3_offset 7072 -#define fsioFormulas4_offset 7272 -#define fsioFormulas5_offset 7472 -#define fsioFormulas6_offset 7672 -#define fsioFrequency1_offset 832 -#define fsioFrequency2_offset 834 -#define fsioFrequency3_offset 836 -#define fsioFrequency4_offset 838 -#define fsioFrequency5_offset 840 -#define fsioFrequency6_offset 842 -#define fsioInputModes1_offset 1516 -#define fsioInputModes2_offset 1517 -#define fsioInputModes3_offset 1518 -#define fsioInputModes4_offset 1519 -#define fsioInputModes5_offset 1520 -#define fsioInputModes6_offset 1521 -#define fsioOutputPins1_offset 780 -#define fsioOutputPins2_offset 781 -#define fsioOutputPins3_offset 782 -#define fsioOutputPins4_offset 783 -#define fsioOutputPins5_offset 784 -#define fsioOutputPins6_offset 785 -#define fsioTable1_offset 19296 -#define fsioTable1LoadBins_offset 19552 -#define fsioTable1RpmBins_offset 19584 -#define fsioTable2_offset 19616 -#define fsioTable2LoadBins_offset 19680 -#define fsioTable2RpmBins_offset 19712 -#define fsioTable3_offset 19744 -#define fsioTable3LoadBins_offset 19808 -#define fsioTable3RpmBins_offset 19840 -#define fsioTable4_offset 19872 -#define fsioTable4LoadBins_offset 19936 -#define fsioTable4RpmBins_offset 19968 -#define FUEL_LEVEL_TABLE_COUNT 8 -#define FUEL_LOAD_COUNT 16 -#define FUEL_RPM_COUNT 16 -#define fuelAlgorithm_offset 420 -#define fuelClosedLoopCorrectionEnabled_offset 1464 -#define fuelLevelBins_offset 1204 -#define fuelLevelSensor_offset 514 -#define fuelLevelValues_offset 684 -#define fuelPumpPin_offset 658 -#define fuelPumpPinMode_offset 659 -#define fuelReferencePressure_offset 2420 -#define fuelTrim10_offset 4621 -#define fuelTrim11_offset 4622 -#define fuelTrim12_offset 4623 -#define fuelTrim1_offset 4612 -#define fuelTrim2_offset 4613 -#define fuelTrim3_offset 4614 -#define fuelTrim4_offset 4615 -#define fuelTrim5_offset 4616 -#define fuelTrim6_offset 4617 -#define fuelTrim7_offset 4618 -#define fuelTrim8_offset 4619 -#define fuelTrim9_offset 4620 -#define GAP_TRACKING_LENGTH 18 -#define gapTrackingLengthOverride_offset 444 -#define GAUGE_COIL_DWELL_TIME "dwell: coil charge time" -#define GAUGE_NAME_ACCEL_ROLL "Acceleration: Roll" -#define GAUGE_NAME_ACCEL_X "Acceleration: X" -#define GAUGE_NAME_ACCEL_Y "Acceleration: Y" -#define GAUGE_NAME_ACCEL_YAW "Acceleration: Yaw" -#define GAUGE_NAME_ACCEL_Z "Acceleration: Z" -#define GAUGE_NAME_AFR "Air/Fuel Ratio" -#define GAUGE_NAME_AFR2 "Air/Fuel Ratio 2" -#define GAUGE_NAME_AIR_FLOW "MAF air flow" -#define GAUGE_NAME_AIR_MASS "air mass" -#define GAUGE_NAME_AUX_TEMP1 "Aux temp 1" -#define GAUGE_NAME_AUX_TEMP2 "Aux temp 2" -#define GAUGE_NAME_BARO_PRESSURE "Barometric pressure" -#define GAUGE_NAME_CLT "CLT" -#define GAUGE_NAME_CPU_TEMP "CPU Temperature" -#define GAUGE_NAME_CURRENT_GEAR "Current Gear" -#define GAUGE_NAME_DEBUG_F1 "debug f1" -#define GAUGE_NAME_DEBUG_F2 "debug f2: iTerm" -#define GAUGE_NAME_DEBUG_F3 "debug f3: prevError" -#define GAUGE_NAME_DEBUG_F4 "debug f4: iParam" -#define GAUGE_NAME_DEBUG_F5 "debug f5: dParam" -#define GAUGE_NAME_DEBUG_F6 "debug f6: dTerm" -#define GAUGE_NAME_DEBUG_F7 "debug f7" -#define GAUGE_NAME_DEBUG_I1 "debug i1: pParam" -#define GAUGE_NAME_DEBUG_I2 "debug i2: offset" -#define GAUGE_NAME_DEBUG_I3 "debug i3" -#define GAUGE_NAME_DEBUG_I4 "debug i4" -#define GAUGE_NAME_DEBUG_I5 "debug i5" -#define GAUGE_NAME_DESIRED_GEAR "Desired Gear" -#define GAUGE_NAME_DWELL_DUTY "dwell: coil duty cycle" -#define GAUGE_NAME_ECU_TEMPERATURE "ECU temperature" -#define GAUGE_NAME_ENGINE_CRC16 "Engine CRC16" -#define GAUGE_NAME_ETB_DUTY "ETB Duty" -#define GAUGE_NAME_ETB_ERROR "ETB position error" -#define GAUGE_NAME_ETB_TARGET "ETB position target" -#define GAUGE_NAME_FLEX "Flex Ethanol %" -#define GAUGE_NAME_FUEL_BARO_CORR "fuel: Barometric pressure correction" -#define GAUGE_NAME_FUEL_BASE "fuel: base mass" -#define GAUGE_NAME_FUEL_CHARGE_TEMP "fuel: Estimated charge temperature" -#define GAUGE_NAME_FUEL_CLT_CORR "fuel: CLT correction" -#define GAUGE_NAME_FUEL_CONSUMPTION "fuel: Total consumed" -#define GAUGE_NAME_FUEL_CRANKING "fuel: cranking" -#define GAUGE_NAME_FUEL_EL_EXTRA "fuel: engine load acceleration extra fuel" -#define GAUGE_NAME_FUEL_FLOW "fuel: Flow rate" -#define GAUGE_NAME_FUEL_IAT_CORR "fuel: IAT correction" -#define GAUGE_NAME_FUEL_INJ_DUTY "fuel: injector duty cycle" -#define GAUGE_NAME_FUEL_LAST_INJECTION "fuel: Last injection" -#define GAUGE_NAME_FUEL_LEVEL "fuel level" -#define GAUGE_NAME_FUEL_LOAD "fuel: load" -#define GAUGE_NAME_FUEL_PRESSURE_HIGH "Fuel pressure (high)" -#define GAUGE_NAME_FUEL_PRESSURE_HIGH_UNITS "bar" -#define GAUGE_NAME_FUEL_PRESSURE_LOW "Fuel pressure (low)" -#define GAUGE_NAME_FUEL_PRESSURE_LOW_UNITS "kPa" -#define GAUGE_NAME_FUEL_RUNNING "fuel: running" -#define GAUGE_NAME_FUEL_TPS_EXTRA "fuel: TPS acceleration extra fuel ms" -#define GAUGE_NAME_FUEL_TPS_ROC "fuel: TPS change" -#define GAUGE_NAME_FUEL_TRIM "fuel: fuel trim" -#define GAUGE_NAME_FUEL_TRIM_2 "fuel: fuel trim 2" -#define GAUGE_NAME_FUEL_VE "fuel: VE" -#define GAUGE_NAME_FUEL_WALL_AMOUNT "fuel: wall amount" -#define GAUGE_NAME_FUEL_WALL_CORRECTION "fuel: wall corr ms" -#define GAUGE_NAME_FW_VERSION "ECU Software Version" -#define GAUGE_NAME_IAC "Idle Air Valve" -#define GAUGE_NAME_IAT "IAT" -#define GAUGE_NAME_IDLE_POSITION "Idle position sensor" -#define GAUGE_NAME_IGNITION_LOAD "ign: load" -#define GAUGE_NAME_INJECTOR_LAG "fuel: injector lag" -#define GAUGE_NAME_KNOCK_1 "knock 1" -#define GAUGE_NAME_KNOCK_10 "knock 10" -#define GAUGE_NAME_KNOCK_11 "knock 11" -#define GAUGE_NAME_KNOCK_12 "knock 12" -#define GAUGE_NAME_KNOCK_2 "knock 2" -#define GAUGE_NAME_KNOCK_3 "knock 3" -#define GAUGE_NAME_KNOCK_4 "knock 4" -#define GAUGE_NAME_KNOCK_5 "knock 5" -#define GAUGE_NAME_KNOCK_6 "knock 6" -#define GAUGE_NAME_KNOCK_7 "knock 7" -#define GAUGE_NAME_KNOCK_8 "knock 8" -#define GAUGE_NAME_KNOCK_9 "knock 9" -#define GAUGE_NAME_KNOCK_COUNTER "knock: counter" -#define GAUGE_NAME_KNOCK_LEVEL "knock: current level" -#define GAUGE_NAME_LAMBDA "Lambda" -#define GAUGE_NAME_LAMBDA2 "Lambda 2" -#define GAUGE_NAME_LAST_ERROR "Last error" -#define GAUGE_NAME_MAF "MAF" -#define GAUGE_NAME_MAP "MAP" -#define GAUGE_NAME_OIL_PRESSURE "Oil Pressure" -#define GAUGE_NAME_OIL_PRESSURE_UNITS "kPa" -#define GAUGE_NAME_RAW_FUEL_PRESSURE_HIGH "Fuel pressure raw (high)" -#define GAUGE_NAME_RAW_FUEL_PRESSURE_LOW "Fuel pressure raw (low)" -#define GAUGE_NAME_RPM "RPM" -#define GAUGE_NAME_TARGET_AFR "fuel: target AFR" -#define GAUGE_NAME_TARGET_LAMBDA "fuel: target lambda" -#define GAUGE_NAME_TCHARGE "fuel: SD tCharge" -#define GAUGE_NAME_THROTTLE_PEDAL "Throttle pedal position" -#define GAUGE_NAME_TIME "Time" -#define GAUGE_NAME_TIMING_ADVANCE "timing" -#define GAUGE_NAME_TPS "TPS" -#define GAUGE_NAME_TPS2 "TPS2" -#define GAUGE_NAME_TRG_ERR "trg err" -#define GAUGE_NAME_TUNE_CRC16 "Tune CRC16" -#define GAUGE_NAME_UPTIME "Uptime" -#define GAUGE_NAME_VBAT "VBatt" -#define GAUGE_NAME_VERSION "firmware" -#define GAUGE_NAME_VVS "Vehicle Speed" -#define GAUGE_NAME_VVT_B1E "VVT: bank 1 exhaust" -#define GAUGE_NAME_VVT_B1I "VVT: bank 1 intake" -#define GAUGE_NAME_VVT_B2E "VVT: bank 2 exhaust" -#define GAUGE_NAME_VVT_B2I "VVT: bank 2 intake" -#define GAUGE_NAME_WARNING_COUNT "Warning count" -#define GAUGE_NAME_WARNING_COUNTER "warning: counter" -#define GAUGE_NAME_WARNING_LAST "warning: last" -#define GAUGE_NAME_WG_POSITION "Wastegate position sensor" -#define gear_e_GEAR_1 1 -#define gear_e_GEAR_2 2 -#define gear_e_GEAR_3 3 -#define gear_e_GEAR_4 4 -#define gear_e_NEUTRAL 0 -#define gear_e_REVERSE -1 -#define globalFuelCorrection_offset 544 -#define globalTriggerAngleOffset_offset 456 -#define gpioPinModes1_offset 764 -#define gpioPinModes2_offset 765 -#define gpioPinModes3_offset 766 -#define gpioPinModes4_offset 767 -#define gpioPinModes5_offset 768 -#define gpioPinModes6_offset 769 -#define gppwm1_alignmentFill_map_offset 4151 -#define gppwm1_dutyIfError_offset 4145 -#define gppwm1_loadAxis_offset 4150 -#define gppwm1_loadBins_offset 4152 -#define gppwm1_offBelowDuty_offset 4149 -#define gppwm1_offset 4144 -#define gppwm1_onAboveDuty_offset 4148 -#define gppwm1_pin_offset 4144 -#define gppwm1_pwmFrequency_offset 4146 -#define gppwm1_rpmBins_offset 4160 -#define gppwm1_table_offset 4168 -#define gppwm2_alignmentFill_map_offset 4239 -#define gppwm2_dutyIfError_offset 4233 -#define gppwm2_loadAxis_offset 4238 -#define gppwm2_loadBins_offset 4240 -#define gppwm2_offBelowDuty_offset 4237 -#define gppwm2_offset 4232 -#define gppwm2_onAboveDuty_offset 4236 -#define gppwm2_pin_offset 4232 -#define gppwm2_pwmFrequency_offset 4234 -#define gppwm2_rpmBins_offset 4248 -#define gppwm2_table_offset 4256 -#define gppwm3_alignmentFill_map_offset 4327 -#define gppwm3_dutyIfError_offset 4321 -#define gppwm3_loadAxis_offset 4326 -#define gppwm3_loadBins_offset 4328 -#define gppwm3_offBelowDuty_offset 4325 -#define gppwm3_offset 4320 -#define gppwm3_onAboveDuty_offset 4324 -#define gppwm3_pin_offset 4320 -#define gppwm3_pwmFrequency_offset 4322 -#define gppwm3_rpmBins_offset 4336 -#define gppwm3_table_offset 4344 -#define gppwm4_alignmentFill_map_offset 4415 -#define gppwm4_dutyIfError_offset 4409 -#define gppwm4_loadAxis_offset 4414 -#define gppwm4_loadBins_offset 4416 -#define gppwm4_offBelowDuty_offset 4413 -#define gppwm4_offset 4408 -#define gppwm4_onAboveDuty_offset 4412 -#define gppwm4_pin_offset 4408 -#define gppwm4_pwmFrequency_offset 4410 -#define gppwm4_rpmBins_offset 4424 -#define gppwm4_table_offset 4432 -#define gppwm_channel_e_auto_enum "GPPWM_Tps", "GPPWM_Map", "GPPWM_Clt", "GPPWM_Iat", "GPPWM_FuelLoad", "GPPWM_IgnLoad", "GPPWM_AuxTemp1", "GPPWM_AuxTemp2", "GPPWM_Zero", "GPPWM_AccelPedal", "GPPWM_Vbatt" -#define gppwm_channel_e_enum "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Zero", "Accel Pedal", "Battery Voltage" -#define gppwm_channel_e_GPPWM_AccelPedal 9 -#define gppwm_channel_e_GPPWM_AuxTemp1 6 -#define gppwm_channel_e_GPPWM_AuxTemp2 7 -#define gppwm_channel_e_GPPWM_Clt 2 -#define gppwm_channel_e_GPPWM_FuelLoad 4 -#define gppwm_channel_e_GPPWM_Iat 3 -#define gppwm_channel_e_GPPWM_IgnLoad 5 -#define gppwm_channel_e_GPPWM_Map 1 -#define gppwm_channel_e_GPPWM_Tps 0 -#define gppwm_channel_e_GPPWM_Vbatt 10 -#define gppwm_channel_e_GPPWM_Zero 8 -#define gppwm_channel_size 88 -#define GPPWM_CHANNELS 4 -#define gppwm_compare_mode_e_GPPWM_GreaterThan 0 -#define gppwm_compare_mode_e_GPPWM_LessThan 1 -#define GPPWM_LOAD_COUNT 8 -#define GPPWM_NOTE_SIZE 16 -#define GPPWM_RPM_COUNT 8 -#define gpPwmNote1_offset 1276 -#define gpPwmNote2_offset 1292 -#define gpPwmNote3_offset 1308 -#define gpPwmNote4_offset 1324 -#define gps_rx_pin_offset 656 -#define gps_tx_pin_offset 657 -#define hardCutRpmRange_offset 1048 -#define HD44780_db4_offset 652 -#define HD44780_db5_offset 653 -#define HD44780_db6_offset 654 -#define HD44780_db7_offset 655 -#define HD44780_e_offset 651 -#define HD44780_rs_offset 650 -#define HD44780height_offset 508 -#define HD44780width_offset 504 -#define highPressureFuel_alignmentFill_offset 3289 -#define highPressureFuel_hwChannel_offset 3288 -#define highPressureFuel_offset 3288 -#define highPressureFuel_v1_offset 3292 -#define highPressureFuel_v2_offset 3300 -#define highPressureFuel_value1_offset 3296 -#define highPressureFuel_value2_offset 3304 -#define hip9011CsPin_offset 753 -#define hip9011CsPinMode_offset 703 -#define hip9011Gain_offset 3952 -#define hip9011IntHoldPin_offset 754 -#define hip9011IntHoldPinMode_offset 755 -#define hip9011PrescalerAndSDO_offset 324 -#define hip9011SpiDevice_offset 540 -#define hipOutputChannel_offset 1468 -#define hpfpValvePin_offset 2130 -#define hpfpValvePinMode_offset 2131 -#define HW_MAX_ADC_INDEX 17 -#define IAC_PID_MULT_SIZE 8 -#define iacByTpsTaper_offset 2038 -#define iacCoasting_offset 3224 -#define iacCoastingBins_offset 3160 -#define iacPidMultLoadBins_offset 4124 -#define iacPidMultRpmBins_offset 4132 -#define iacPidMultTable_offset 4060 -#define iat_adcChannel_offset 312 -#define iat_alignmentFill_at_29_offset 313 -#define iat_bias_resistor_offset 308 -#define iat_config_offset 284 -#define IAT_CURVE_SIZE 16 -#define iat_offset 284 -#define iat_resistance_1_offset 296 -#define iat_resistance_2_offset 300 -#define iat_resistance_3_offset 304 -#define iat_tempC_1_offset 284 -#define iat_tempC_2_offset 288 -#define iat_tempC_3_offset 292 -#define iatFuelCorr_offset 10464 -#define iatFuelCorrBins_offset 10400 -#define IDLE_ADVANCE_CURVE_SIZE 8 -#define idle_antiwindupFreq_offset 696 -#define idle_derivativeFilterLoss_offset 516 -#define idle_hardware_s_size 8 -#define idle_mode_e_auto_enum "IM_AUTO", "IM_MANUAL" -#define idle_mode_e_Force_4_bytes_size_idle_mode ENUM_32_BITS -#define idle_mode_e_IM_AUTO 0 -#define idle_mode_e_IM_MANUAL 1 -#define idle_offset 600 -#define idle_solenoidFrequency_offset 600 -#define idle_solenoidPin_offset 604 -#define idle_solenoidPinMode_offset 607 -#define idle_state_e_BLIP 64 -#define idle_state_e_Force_4bytes_size_idle_state_e ENUM_32_BITS -#define idle_state_e_INIT 0 -#define idle_state_e_PID_UPPER 16 -#define idle_state_e_PID_VALUE 4 -#define idle_state_e_RPM_DEAD_ZONE 2 -#define idle_state_e_TPS_THRESHOLD 1 -#define idle_stepperDirectionPin_offset 605 -#define idle_stepperStepPin_offset 606 -#define IDLE_VE_CURVE_SIZE 8 -#define idleAdvance_offset 6576 -#define idleAdvanceBins_offset 6544 -#define idleIncrementalPidCic_offset 744 -#define idleMode_offset 1472 -#define idlePidActivationTime_offset 2588 -#define idlePidDeactivationTpsThreshold_offset 816 -#define idlePidRpmDeadZone_offset 1894 -#define idlePidRpmUpperLimit_offset 1484 -#define idlePositionMax_offset 722 -#define idlePositionMin_offset 720 -#define idlePositionSensor_offset 806 -#define idleRpmPid2_dFactor_offset 4048 -#define idleRpmPid2_iFactor_offset 4044 -#define idleRpmPid2_maxValue_offset 4058 -#define idleRpmPid2_minValue_offset 4056 -#define idleRpmPid2_offset 4040 -#define idleRpmPid2_offset_offset 4052 -#define idleRpmPid2_periodMs_offset 4054 -#define idleRpmPid2_pFactor_offset 4040 -#define idleRpmPid_dFactor_offset 1796 -#define idleRpmPid_iFactor_offset 1792 -#define idlerpmpid_iTermMax_offset 4006 -#define idlerpmpid_iTermMin_offset 4002 -#define idleRpmPid_maxValue_offset 1806 -#define idleRpmPid_minValue_offset 1804 -#define idleRpmPid_offset 1788 -#define idleRpmPid_offset_offset 1800 -#define idleRpmPid_periodMs_offset 1802 -#define idleRpmPid_pFactor_offset 1788 -#define idleStepperReactionTime_offset 1508 -#define idleStepperTotalSteps_offset 1532 -#define idleTimingPid_dFactor_offset 3976 -#define idleTimingPid_iFactor_offset 3972 -#define idleTimingPid_maxValue_offset 3986 -#define idleTimingPid_minValue_offset 3984 -#define idleTimingPid_offset 3968 -#define idleTimingPid_offset_offset 3980 -#define idleTimingPid_periodMs_offset 3982 -#define idleTimingPid_pFactor_offset 3968 -#define idleTimingPidDeadZone_offset 3990 -#define idleVe_offset 6640 -#define idleVeBins_offset 6608 -#define IGN_LOAD_COUNT 16 -#define IGN_RPM_COUNT 16 -#define ignition_mode_e_auto_enum "IM_ONE_COIL", "IM_INDIVIDUAL_COILS", "IM_WASTED_SPARK", "IM_TWO_COILS" -#define ignition_mode_e_Force_4_bytes_size_ignition_mode ENUM_32_BITS -#define ignition_mode_e_IM_INDIVIDUAL_COILS 1 -#define ignition_mode_e_IM_ONE_COIL 0 -#define ignition_mode_e_IM_TWO_COILS 3 -#define ignition_mode_e_IM_WASTED_SPARK 2 -#define ignitionDwellForCrankingMs_offset 100 -#define ignitionIatCorrLoadBins_offset 13856 -#define ignitionIatCorrRpmBins_offset 13920 -#define ignitionIatCorrTable_offset 12832 -#define ignitionLoadBins_offset 17312 -#define ignitionMode_offset 440 -#define ignitionPinMode_offset 649 -#define ignitionPins10_offset 645 -#define ignitionPins11_offset 646 -#define ignitionPins12_offset 647 -#define ignitionPins1_offset 636 -#define ignitionPins2_offset 637 -#define ignitionPins3_offset 638 -#define ignitionPins4_offset 639 -#define ignitionPins5_offset 640 -#define ignitionPins6_offset 641 -#define ignitionPins7_offset 642 -#define ignitionPins8_offset 643 -#define ignitionPins9_offset 644 -#define ignitionRpmBins_offset 17376 -#define ignitionTable_offset 16288 -#define ignOverrideMode_offset 2128 -#define imu_type_e_auto_enum "IMU_NONE", "IMU_VAG", "IMU_MM5_10", "IMU_TYPE_3", "IMU_TYPE_4" -#define imu_type_e_IMU_MM5_10 2 -#define imu_type_e_IMU_NONE 0 -#define imu_type_e_IMU_TYPE_3 3 -#define imu_type_e_IMU_TYPE_4 4 -#define imu_type_e_IMU_VAG 1 -#define imuType_offset 778 -#define INDICATOR_NAME_AC_SWITCH "AC switch" -#define INDICATOR_NAME_BRAKE_DOWN "brake: down" -#define INDICATOR_NAME_CLUTCH_DOWN "clutch: down" -#define INDICATOR_NAME_CLUTCH_UP "clutch: up" -#define injection_mode_e_auto_enum "IM_SIMULTANEOUS", "IM_SEQUENTIAL", "IM_BATCH", "IM_SINGLE_POINT" -#define injection_mode_e_Force_4_bytes_size_injection_mode ENUM_32_BITS -#define injection_mode_e_IM_BATCH 2 -#define injection_mode_e_IM_SEQUENTIAL 1 -#define injection_mode_e_IM_SIMULTANEOUS 0 -#define injection_mode_e_IM_SINGLE_POINT 3 -#define injectionMode_offset 428 -#define injectionPhase_offset 13984 -#define injectionPinMode_offset 648 -#define injectionPins10_offset 633 -#define injectionPins11_offset 634 -#define injectionPins12_offset 635 -#define injectionPins1_offset 624 -#define injectionPins2_offset 625 -#define injectionPins3_offset 626 -#define injectionPins4_offset 627 -#define injectionPins5_offset 628 -#define injectionPins6_offset 629 -#define injectionPins7_offset 630 -#define injectionPins8_offset 631 -#define injectionPins9_offset 632 -#define injector_battLagCorr_offset 44 -#define injector_battLagCorrBins_offset 12 -#define injector_compensation_mode_e_auto_enum "ICM_None", "ICM_FixedRailPressure", "ICM_SensedRailPressure" -#define injector_compensation_mode_e_ICM_FixedRailPressure 1 -#define injector_compensation_mode_e_ICM_None 0 -#define injector_compensation_mode_e_ICM_SensedRailPressure 2 -#define injector_flow_offset 8 -#define injector_offset 8 -#define injector_pressure_type_e_auto_enum "IPT_Low", "IPT_High" -#define injector_pressure_type_e_IPT_High 1 -#define injector_pressure_type_e_IPT_Low 0 -#define injector_s_size 68 -#define injectorCompensationMode_offset 2418 -#define injectorCorrectionPolynomial1_offset 2652 -#define injectorCorrectionPolynomial2_offset 2656 -#define injectorCorrectionPolynomial3_offset 2660 -#define injectorCorrectionPolynomial4_offset 2664 -#define injectorCorrectionPolynomial5_offset 2668 -#define injectorCorrectionPolynomial6_offset 2672 -#define injectorCorrectionPolynomial7_offset 2676 -#define injectorCorrectionPolynomial8_offset 2680 -#define InjectorNonlinearMode_auto_enum "INJ_None", "INJ_PolynomialAdder" -#define InjectorNonlinearMode_INJ_None 0 -#define InjectorNonlinearMode_INJ_PolynomialAdder 1 -#define injectorNonlinearMode_offset 2510 -#define injectorPressureType_offset 2129 -#define injPhaseLoadBins_offset 15008 -#define injPhaseRpmBins_offset 15072 -#define invertCamVVTSignal_offset 976 -#define invertPrimaryTriggerSignal_offset 1464 -#define invertSecondaryTriggerSignal_offset 1464 -#define is_enabled_spi_1_offset 744 -#define is_enabled_spi_2_offset 744 -#define is_enabled_spi_3_offset 744 -#define is_enabled_spi_4_offset 744 -#define isAlternatorControlEnabled_offset 1464 -#define isBoostControlEnabled_offset 1476 -#define isCJ125Enabled_offset 744 -#define isCJ125Verbose_offset 76 -#define isCylinderCleanupEnabled_offset 1476 -#define isDoubleSolenoidIdle_offset 76 -#define isEngineChartEnabled_offset 1464 -#define isEngineControlEnabled_offset 744 -#define isFasterEngineSpinUpEnabled_offset 744 -#define isForcedInduction_offset 76 -#define isHip9011Enabled_offset 744 -#define isIgnitionEnabled_offset 1476 -#define isInjectionEnabled_offset 1476 -#define isManualSpinningMode_offset 1476 -#define isMapAveragingEnabled_offset 1476 -#define isSdCardEnabled_offset 744 -#define issue_294_29_offset 76 -#define issue_294_31_offset 76 -#define isVerboseAlternator_offset 744 -#define isVerboseAuxPid1_offset 76 -#define isVerboseETB_offset 1464 -#define isVerboseIAC_offset 1464 -#define isWaveAnalyzerEnabled_offset 1476 -#define joystickAPin_offset 939 -#define joystickBPin_offset 940 -#define joystickCenterPin_offset 938 -#define joystickCPin_offset 941 -#define joystickDPin_offset 942 -#define knockBandCustom_offset 328 -#define knockBankCyl10_offset 976 -#define knockBankCyl11_offset 976 -#define knockBankCyl12_offset 976 -#define knockBankCyl1_offset 976 -#define knockBankCyl2_offset 976 -#define knockBankCyl3_offset 976 -#define knockBankCyl4_offset 976 -#define knockBankCyl5_offset 976 -#define knockBankCyl6_offset 976 -#define knockBankCyl7_offset 976 -#define knockBankCyl8_offset 976 -#define knockBankCyl9_offset 976 -#define knockBaseNoise_offset 4523 -#define knockDetectionWindowEnd_offset 1504 -#define knockDetectionWindowStart_offset 1500 -#define knockNoise_offset 1820 -#define knockNoiseRpmBins_offset 1852 -#define knockRetardAggression_offset 612 -#define knockRetardMaximum_offset 614 -#define knockRetardReapplyRate_offset 613 -#define knockSamplingDuration_offset 2512 -#define lambdaLoadBins_offset 18848 -#define lambdaRpmBins_offset 18912 -#define lambdaTable_offset 18592 -#define launchActivateDelay_offset 1060 -#define launchActivatePin_offset 991 -#define launchActivationMode_e_ALWAYS_ACTIVE_LAUNCH 2 -#define launchActivationMode_e_auto_enum "SWITCH_INPUT_LAUNCH", "CLUTCH_INPUT_LAUNCH", "ALWAYS_ACTIVE_LAUNCH" -#define launchActivationMode_e_CLUTCH_INPUT_LAUNCH 1 -#define launchActivationMode_e_enum "Switch Input", "Clutch Input", "Always Active(Disabled By Speed)", "INVALID" -#define launchActivationMode_e_Force_4bytes_size_launchActivationMode_e ENUM_32_BITS -#define launchActivationMode_e_SWITCH_INPUT_LAUNCH 0 -#define launchActivationMode_offset 1020 -#define launchAdvanceRpmRange_offset 1052 -#define launchBoostDuty_offset 1044 -#define launchControlEnabled_offset 76 -#define launchDisableBySpeed_offset 976 -#define launchFuelAdded_offset 1040 -#define launchFuelCutEnable_offset 1464 -#define launchRpm_offset 316 -#define launchRpmTreshold_offset 1032 -#define launchSmoothRetard_offset 1476 -#define launchSparkCutEnable_offset 1464 -#define launchSpeedTreshold_offset 1028 -#define launchTimingRetard_offset 320 -#define launchTimingRpmRange_offset 1036 -#define launchTpsTreshold_offset 1056 -#define LE_COMMAND_LENGTH 200 -#define linear_sensor_s_size 20 -#define LIS302DLCsPin_offset 2043 -#define LIS302DLCsPinMode_offset 2417 -#define LOAD_1_BYTE_PACKING_MULT 2 -#define log_format_e_auto_enum "LF_NATIVE", "LM_MLV" -#define log_format_e_Force_4_bytes_size_log_format ENUM_32_BITS -#define log_format_e_LF_NATIVE 0 -#define log_format_e_LM_MLV 1 -#define logFormat_offset 496 -#define LOGIC_ANALYZER_CHANNEL_COUNT 4 -#define logicAnalyzerPins1_offset 748 -#define logicAnalyzerPins2_offset 749 -#define logicAnalyzerPins3_offset 750 -#define logicAnalyzerPins4_offset 751 -#define lowPressureFuel_alignmentFill_offset 3309 -#define lowPressureFuel_hwChannel_offset 3308 -#define lowPressureFuel_offset 3308 -#define lowPressureFuel_v1_offset 3312 -#define lowPressureFuel_v2_offset 3320 -#define lowPressureFuel_value1_offset 3316 -#define lowPressureFuel_value2_offset 3324 -#define lps25BaroSensorScl_offset 1458 -#define lps25BaroSensorSda_offset 1459 -#define LUA_ANALOG_INPUT_COUNT 8 -#define LUA_PWM_COUNT 8 -#define LUA_SCRIPT_SIZE 2000 -#define luaOutputPins1_offset 1220 -#define luaOutputPins2_offset 1221 -#define luaOutputPins3_offset 1222 -#define luaOutputPins4_offset 1223 -#define luaOutputPins5_offset 1224 -#define luaOutputPins6_offset 1225 -#define luaOutputPins7_offset 1226 -#define luaOutputPins8_offset 1227 -#define luaScript_offset 7872 -#define MAF_DECODING_COUNT 256 -#define maf_sensor_type_e_auto_enum "CUSTOM", "Bosch0280218037", "Bosch0280218004", "DensoTODO" -#define maf_sensor_type_e_Bosch0280218004 2 -#define maf_sensor_type_e_Bosch0280218037 1 -#define maf_sensor_type_e_CUSTOM 0 -#define maf_sensor_type_e_DensoTODO 3 -#define maf_sensor_type_e_enum "v0", "v1", "v2", "v3" -#define maf_sensor_type_e_Internal_ForceMyEnumIntSize_maf_sensor ENUM_32_BITS -#define mafAdcChannel_offset 543 -#define mafDecoding_offset 10784 -#define mafDecodingBins_offset 11808 -#define mafSensorType_offset 948 -#define MAIN_HELP_URL "https://rusefi.com/s/hellenNB1" -#define mainRelayPin_offset 706 -#define mainRelayPinMode_offset 752 -#define mainUnusedEnd_offset 4624 -#define malfunctionIndicatorPin_offset 660 -#define malfunctionIndicatorPinMode_offset 661 -#define manIdlePosition_offset 608 -#define MAP_ACCEL_TAPER 8 -#define MAP_ANGLE_SIZE 8 -#define map_offset 108 -#define map_samplingAngle_offset 140 -#define map_samplingAngleBins_offset 108 -#define map_samplingWindow_offset 204 -#define map_samplingWindowBins_offset 172 -#define map_sensor_alignmentFill_offset 249 -#define MAP_sensor_config_s_size 144 -#define map_sensor_highValue_offset 240 -#define map_sensor_hwChannel_offset 248 -#define map_sensor_lowValue_offset 236 -#define map_sensor_offset 236 -#define map_sensor_type_offset 244 -#define MAP_WINDOW_SIZE 8 -#define mapAccelTaperBins_offset 2136 -#define mapAccelTaperMult_offset 2168 -#define mapAveragingSchedulingAtIndex_offset 1540 -#define mapErrorDetectionTooHigh_offset 1780 -#define mapErrorDetectionTooLow_offset 1776 -#define mapEstimateRpmBins_offset 15744 -#define mapEstimateTable_offset 15200 -#define mapEstimateTpsBins_offset 15712 -#define mapHighValueVoltage_offset 2212 -#define mapLowValueVoltage_offset 2208 -#define mapMinBufferLength_offset 812 -#define max31855_cs1_offset 796 -#define max31855_cs2_offset 797 -#define max31855_cs3_offset 798 -#define max31855_cs4_offset 799 -#define max31855_cs5_offset 800 -#define max31855_cs6_offset 801 -#define max31855_cs7_offset 802 -#define max31855_cs8_offset 803 -#define max31855spiDevice_offset 675 -#define MAX_CYLINDER_COUNT 12 -#define maxAcClt_offset 1711 -#define maxAcRpm_offset 1708 -#define maxAcTps_offset 1710 -#define maxIdleVss_offset 445 -#define mc33816_cs_offset 3107 -#define mc33816_driven_offset 2607 -#define mc33816_flag0_offset 1774 -#define mc33816_rstb_offset 2606 -#define mc33816spiDevice_offset 4001 -#define mc33972_cs_offset 678 -#define mc33972_csPinMode_offset 679 -#define mc33972spiDevice_offset 4008 -#define mc33_hvolt_offset 760 -#define mc33_i_boost_offset 4496 -#define mc33_i_hold_offset 4500 -#define mc33_i_peak_offset 4498 -#define mc33_t_bypass_offset 4508 -#define mc33_t_hold_off_offset 4510 -#define mc33_t_hold_tot_offset 4512 -#define mc33_t_max_boost_offset 4502 -#define mc33_t_peak_off_offset 4504 -#define mc33_t_peak_tot_offset 4506 -#define measureMapOnlyInOneCylinder_offset 744 -#define minimumBoostClosedLoopMap_offset 761 -#define minOilPressureAfterStart_offset 446 -#define MLQ_FIELD_HEADER_SIZE 55 -#define MLQ_HEADER_SIZE 22 -#define MOCK_AFR_COMMAND "mock_afr_voltage" -#define MOCK_MAF_COMMAND "mock_maf_voltage" -#define MOCK_MAP_COMMAND "mock_map_voltage" -#define MOCK_PPS_POSITION_COMMAND "mock_pps_position" -#define MOCK_PPS_VOLTAGE_COMMAND "mock_pps_voltage" -#define multisparkDwell_offset 1786 -#define multisparkEnable_offset 976 -#define multisparkMaxExtraSparkCount_offset 975 -#define multisparkMaxRpm_offset 972 -#define multisparkMaxSparkingAngle_offset 974 -#define multisparkSparkDuration_offset 1784 -#define NARROW_BAND_WIDE_BAND_CONVERSION_SIZE 8 -#define narrowToWideOxygen_offset 2296 -#define narrowToWideOxygenBins_offset 2264 -#define noAccelAfterHardLimitPeriodSecs_offset 1536 -#define o2heaterPin_offset 742 -#define o2heaterPinModeTodO_offset 743 -#define oilPressure_alignmentFill_offset 2693 -#define oilPressure_hwChannel_offset 2692 -#define oilPressure_offset 2692 -#define oilPressure_v1_offset 2696 -#define oilPressure_v2_offset 2704 -#define oilPressure_value1_offset 2700 -#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 operation_mode_e_Force_4_bytes_size_operation_mode_e ENUM_32_BITS -#define operation_mode_e_FOUR_STROKE_CAM_SENSOR 2 -#define operation_mode_e_FOUR_STROKE_CRANK_SENSOR 1 -#define operation_mode_e_FOUR_STROKE_SYMMETRICAL_CRANK_SENSOR 4 -#define operation_mode_e_FOUR_STROKE_THREE_TIMES_CRANK_SENSOR 5 -#define operation_mode_e_OM_NONE 0 -#define operation_mode_e_TWO_STROKE 3 -#define output_pin_e_enum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","1I AC Fan Relay","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","3D - MAP","INVALID","INVALID","INVALID","INVALID","ETB +","ETB +","ETB +","INVALID","INVALID","INVALID","INVALID","3G - IGN_1 (1&4)","INVALID","INVALID","INVALID","INVALID","INVALID","1U - O2H","INVALID","INVALID","INVALID","INVALID","INVALID","4E - VVT","3Z - INJ_4","3Y - INJ_3","1R - ECF","2K - TACH","2Q - IDLE","1O - ALTERN","INVALID","INVALID","INVALID","INVALID","INVALID","3H - IGN_2 (2&3)","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","3T/4D - BOOST OUT","INVALID","3Q - VICS","INVALID","INVALID","INVALID","2M US / 2P EUROPE - FPUMP","INVALID","1E - Check Engine Light","INVALID","INVALID","3W - INJ_1","3X - INJ_2","INVALID","INVALID","1S - AC Relay","1Q - Aternator Warning Lamp","3V - O2H2" -#define overrideCrankingIacSetting_offset 1476 -#define overrideTriggerGaps_offset 76 -#define PACK_ADD_TEMPERATURE 40 -#define PACK_MULT_AFR 1000 -#define PACK_MULT_AFR_CFG 10 -#define PACK_MULT_ANGLE 50 -#define PACK_MULT_FUEL_FLOW 200 -#define PACK_MULT_FUEL_MASS 100 -#define PACK_MULT_HIGH_PRESSURE 10 -#define PACK_MULT_LAMBDA 10000 -#define PACK_MULT_LAMBDA_CFG 147 -#define PACK_MULT_MAP_ESTIMATE 100 -#define PACK_MULT_MASS_FLOW 10 -#define PACK_MULT_MS 300 -#define PACK_MULT_PERCENT 100 -#define PACK_MULT_PRESSURE 30 -#define PACK_MULT_TEMPERATURE 100 -#define PACK_MULT_VOLTAGE 1000 -#define PACK_PERCENT_BYTE_MULT 100.0 -#define pauseEtbControl_offset 744 -#define PEDAL_TO_TPS_SIZE 8 -#define pedalToTpsPedalBins_offset 6464 -#define pedalToTpsRpmBins_offset 6472 -#define pedalToTpsTable_offset 6400 -#define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 20000 -#define pid_s_size 20 -#define PidAutoTune_AutoTunerState_AUTOTUNER_OFF 0 -#define PidAutoTune_AutoTunerState_CONVERGED 16 -#define PidAutoTune_AutoTunerState_FAILED 128 -#define PidAutoTune_AutoTunerState_RELAY_STEP_DOWN 8 -#define PidAutoTune_AutoTunerState_RELAY_STEP_UP 4 -#define PidAutoTune_AutoTunerState_STEADY_STATE_AFTER_STEP_UP 2 -#define PidAutoTune_AutoTunerState_STEADY_STATE_AT_BASELINE 1 -#define PidAutoTune_Peak_MAXIMUM 1 -#define PidAutoTune_Peak_MINIMUM -1 -#define PidAutoTune_Peak_NOT_A_PEAK 0 -#define pidExtraForLowRpm_offset 3156 -#define pin_input_mode_e_auto_enum "PI_DEFAULT", "PI_PULLUP", "PI_PULLDOWN" -#define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" -#define pin_input_mode_e_PI_DEFAULT 0 -#define pin_input_mode_e_PI_PULLDOWN 2 -#define pin_input_mode_e_PI_PULLUP 1 -#define pin_mode_e_auto_enum "PO_DEFAULT", "INVALID", "INVALID", "INVALID", "PO_OPENDRAIN", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PO_PULLUP", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PO_PULLDOWN" -#define pin_mode_e_enum "default", "INVALID", "INVALID", "INVALID", "opendrain", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLUP", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLDOWN" -#define pin_mode_e_PO_DEFAULT 0 -#define pin_mode_e_PO_OPENDRAIN 4 -#define pin_mode_e_PO_PULLDOWN 64 -#define pin_mode_e_PO_PULLUP 32 -#define pin_output_mode_e_auto_enum "OM_DEFAULT", "OM_INVERTED", "OM_OPENDRAIN", "OM_OPENDRAIN_INVERTED" -#define pin_output_mode_e_enum "default", "default inverted", "open collector", "open collector inverted" -#define pin_output_mode_e_OM_DEFAULT 0 -#define pin_output_mode_e_OM_INVERTED 1 -#define pin_output_mode_e_OM_OPENDRAIN 2 -#define pin_output_mode_e_OM_OPENDRAIN_INVERTED 3 -#define postCrankingDurationSec_offset 2440 -#define postCrankingFactor_offset 2436 -#define primeInjFalloffTemperature_offset 1486 -#define primingSquirtDurationMs_offset 96 -#define PROTOCOL_ANALOG_CHART "analog_chart" -#define PROTOCOL_COIL1_SHORT_NAME "c1" -#define PROTOCOL_CRANK1 "t1" -#define PROTOCOL_CRANK2 "t2" -#define PROTOCOL_CRANK3 "t3" -#define PROTOCOL_ENGINE_SNIFFER "wave_chart" -#define PROTOCOL_ES_DOWN "d" -#define PROTOCOL_ES_UP "u" -#define PROTOCOL_HELLO_PREFIX "***" -#define PROTOCOL_HIP_NAME "HIP" -#define PROTOCOL_HPFP_NAME "hpfp" -#define PROTOCOL_INJ1_SHORT_NAME "i1" -#define PROTOCOL_MSG "msg" -#define PROTOCOL_OUTPIN "outpin" -#define PROTOCOL_SIGNATURE_PREFIX "rusEFI " -#define PROTOCOL_TACH_NAME "tach" -#define PROTOCOL_TEST_RESPONSE_TAG "ts_p_alive" -#define PROTOCOL_VERSION_TAG "rusEfiVersion" -#define PROTOCOL_VVT1_NAME "VVT1" -#define PROTOCOL_VVT2_NAME "VVT2" -#define PROTOCOL_VVT3_NAME "VVT3" -#define PROTOCOL_VVT4_NAME "VVT4" -#define PROTOCOL_WA_CHANNEL_1 "input1" -#define PROTOCOL_WA_CHANNEL_2 "input2" -#define PROTOCOL_WA_CHANNEL_3 "input3" -#define PROTOCOL_WA_CHANNEL_4 "input4" -#define rollingLaunchEnabled_offset 76 -#define RPM_1_BYTE_PACKING_MULT 50 -#define rpmHardLimit_offset 416 -#define runningLedPin_offset 1813 -#define sdCardCsPin_offset 707 -#define sdCardCsPinMode_offset 2226 -#define sdCardPeriodMs_offset 804 -#define sdCardSpiDevice_offset 2592 -#define secondSolenoidPin_offset 810 -#define sensor_chart_e_auto_enum "SC_OFF", "SC_TRIGGER", "SC_MAP", "SC_RPM_ACCEL", "SC_DETAILED_RPM", "SC_AUX_FAST1" -#define sensor_chart_e_enum "none", "trigger", "MAP", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" -#define sensor_chart_e_Internal_ForceMyEnumIntSize_sensor_chart ENUM_32_BITS -#define sensor_chart_e_SC_AUX_FAST1 5 -#define sensor_chart_e_SC_DETAILED_RPM 4 -#define sensor_chart_e_SC_MAP 2 -#define sensor_chart_e_SC_OFF 0 -#define sensor_chart_e_SC_RPM_ACCEL 3 -#define sensor_chart_e_SC_TRIGGER 1 -#define sensorChartMode_offset 944 -#define sensorSnifferRpmThreshold_offset 412 -#define SERVO_COUNT 8 -#define servoOutputPins1_offset 3140 -#define servoOutputPins2_offset 3141 -#define servoOutputPins3_offset 3142 -#define servoOutputPins4_offset 3143 -#define servoOutputPins5_offset 3144 -#define servoOutputPins6_offset 3145 -#define servoOutputPins7_offset 3146 -#define servoOutputPins8_offset 3147 -#define show_Frankenso_presets false -#define show_Hellen_presets true -#define show_HellenNB1_presets true -#define show_microRusEFI_presets false -#define show_Proteus_presets false -#define show_test_presets false -#define showHumanReadableWarning_offset 976 -#define showSdCardWarning_offset 76 -#define SIGNATURE_BOARD hellen-nb1 -#define SIGNATURE_DATE 2021.10.27 -#define SIGNATURE_HASH 494743615 -#define silentTriggerError_offset 1464 -#define slowAdcAlpha_offset 2088 -#define sparkDwellRpmBins_offset 332 -#define sparkDwellValues_offset 364 -#define specs_offset 396 -#define specs_s_size 12 -#define spi1MisoMode_offset 2598 -#define spi1misoPin_offset 929 -#define spi1MosiMode_offset 2597 -#define spi1mosiPin_offset 928 -#define spi1SckMode_offset 2596 -#define spi1sckPin_offset 930 -#define spi2MisoMode_offset 2601 -#define spi2misoPin_offset 932 -#define spi2MosiMode_offset 2600 -#define spi2mosiPin_offset 931 -#define spi2SckMode_offset 2599 -#define spi2sckPin_offset 933 -#define spi3MisoMode_offset 2604 -#define spi3misoPin_offset 935 -#define spi3MosiMode_offset 2603 -#define spi3mosiPin_offset 934 -#define spi3SckMode_offset 2602 -#define spi3sckPin_offset 936 -#define spi_device_e_auto_enum "SPI_NONE", "SPI_DEVICE_1", "SPI_DEVICE_2", "SPI_DEVICE_3", "SPI_DEVICE_4" -#define spi_device_e_SPI_DEVICE_1 1 -#define spi_device_e_SPI_DEVICE_2 2 -#define spi_device_e_SPI_DEVICE_3 3 -#define spi_device_e_SPI_DEVICE_4 4 -#define spi_device_e_SPI_NONE 0 -#define spi_pins_size 4 -#define spi_speed_e__150KHz 3 -#define spi_speed_e__1_25MHz 2 -#define spi_speed_e__2_5MHz 1 -#define spi_speed_e__5MHz 0 -#define startCrankingDuration_offset 826 -#define starterControlPin_offset 1772 -#define starterControlPinMode_offset 2126 -#define starterRelayDisablePin_offset 808 -#define starterRelayDisablePinMode_offset 809 -#define startOfCrankingPrimingPulse_offset 2032 -#define startStopButtonMode_offset 1773 -#define startStopButtonPin_offset 811 -#define startUpFuelPumpDuration_offset 1892 -#define stepper_num_micro_steps_e_auto_enum "STEPPER_FULL", "INVALID", "STEPPER_HALF", "INVALID", "STEPPER_FOURTH", "INVALID", "INVALID", "INVALID", "STEPPER_EIGHTH" -#define stepper_num_micro_steps_e_enum "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" -#define stepper_num_micro_steps_e_STEPPER_EIGHTH 8 -#define stepper_num_micro_steps_e_STEPPER_FOURTH 4 -#define stepper_num_micro_steps_e_STEPPER_FULL 0 -#define stepper_num_micro_steps_e_STEPPER_HALF 2 -#define stepperDcInvertedPins_offset 2116 -#define stepperDcIo1_controlPin_offset 1090 -#define stepperDcIo1_directionPin1_offset 1088 -#define stepperDcIo1_directionPin2_offset 1089 -#define stepperDcIo1_disablePin_offset 1091 -#define stepperDcIo1_offset 1088 -#define stepperDcIo2_controlPin_offset 1094 -#define stepperDcIo2_directionPin1_offset 1092 -#define stepperDcIo2_directionPin2_offset 1093 -#define stepperDcIo2_disablePin_offset 1095 -#define stepperDcIo2_offset 1092 -#define stepperDirectionPinMode_offset 3102 -#define stepperEnablePin_offset 3104 -#define stepperEnablePinMode_offset 2605 -#define stepperForceParkingEveryRestart_offset 744 -#define stepperMaxDutyCycle_offset 2538 -#define stepperMinDutyCycle_offset 2537 -#define stepperNumMicroSteps_offset 2536 -#define stepperParkingExtraSteps_offset 818 -#define STFT_BANK_COUNT 2 -#define stft_cell_cfg_s_size 4 -#define STFT_CELL_COUNT 4 -#define stft_cellCfgs1_maxAdd_offset 1072 -#define stft_cellCfgs1_maxRemove_offset 1073 -#define stft_cellCfgs1_offset 1072 -#define stft_cellCfgs1_timeConstant_offset 1074 -#define stft_cellCfgs2_maxAdd_offset 1076 -#define stft_cellCfgs2_maxRemove_offset 1077 -#define stft_cellCfgs2_offset 1076 -#define stft_cellCfgs2_timeConstant_offset 1078 -#define stft_cellCfgs3_maxAdd_offset 1080 -#define stft_cellCfgs3_maxRemove_offset 1081 -#define stft_cellCfgs3_offset 1080 -#define stft_cellCfgs3_timeConstant_offset 1082 -#define stft_cellCfgs4_maxAdd_offset 1084 -#define stft_cellCfgs4_maxRemove_offset 1085 -#define stft_cellCfgs4_offset 1084 -#define stft_cellCfgs4_timeConstant_offset 1086 -#define stft_deadband_offset 1067 -#define stft_maxAfr_offset 1070 -#define stft_maxIdleRegionRpm_offset 1064 -#define stft_maxOverrunLoad_offset 1065 -#define stft_minAfr_offset 1069 -#define stft_minClt_offset 1068 -#define stft_minPowerLoad_offset 1066 -#define stft_offset 1064 -#define stft_s_size 24 -#define stft_startupDelay_offset 1071 -#define stftIgnoreErrorMagnitude_offset 976 -#define stoichRatioPrimary_offset 4005 -#define stoichRatioSecondary_offset 4009 -#define switch_input_pin_e_enum "NONE","INVALID","INVALID","TPS1","INVALID","PPS1","INVALID","INVALID","INVALID","3S - EGR BOOST IN","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","2A - Pressure Input","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","4C - IN TEMP/PPS2","1P - AC Switch","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","3I - Clutch","1V - Neutral","INVALID","INVALID","INVALID","INVALID","3J - O2S2","INVALID","INVALID","INVALID","INVALID","INVALID","1F - Brake/RES1","1G - Steering/RES2" -#define tachOutputPin_offset 704 -#define tachOutputPinMode_offset 705 -#define tachPulseDuractionMs_offset 1704 -#define tachPulseDurationAsDutyCycle_offset 1464 -#define tachPulsePerRev_offset 1775 -#define targetVBatt_offset 2024 -#define tChargeAirCoefMax_offset 3868 -#define tChargeAirCoefMin_offset 3864 -#define tChargeAirDecrLimit_offset 3880 -#define tChargeAirFlowMax_offset 3872 -#define tChargeAirIncrLimit_offset 3876 -#define tChargeMaxRpmMaxTps_offset 2244 -#define tChargeMaxRpmMinTps_offset 2240 -#define tChargeMinRpmMaxTps_offset 2236 -#define tChargeMinRpmMinTps_offset 2232 -#define tChargeMode_e_auto_enum "TCHARGE_MODE_RPM_TPS", "TCHARGE_MODE_AIR_INTERP" -#define tChargeMode_e_enum "RPM+TPS (Default)", "Air Mass Interpolation" -#define tChargeMode_e_Force_4bytes_size_tChargeMode_e ENUM_32_BITS -#define tChargeMode_e_TCHARGE_MODE_AIR_INTERP 1 -#define tChargeMode_e_TCHARGE_MODE_RPM_TPS 0 -#define tChargeMode_offset 3884 -#define TCU_GEAR_COUNT 10 -#define tcu_solenoid1_offset 1192 -#define tcu_solenoid2_offset 1193 -#define tcu_solenoid3_offset 1194 -#define tcu_solenoid4_offset 1195 -#define tcu_solenoid5_offset 1196 -#define tcu_solenoid6_offset 1197 -#define TCU_SOLENOID_COUNT 6 -#define tcu_solenoid_mode1_offset 4517 -#define tcu_solenoid_mode2_offset 4518 -#define tcu_solenoid_mode3_offset 4519 -#define tcu_solenoid_mode4_offset 4520 -#define tcu_solenoid_mode5_offset 4521 -#define tcu_solenoid_mode6_offset 4522 -#define tcuDownshiftButtonPin_offset 1819 -#define tcuDownshiftButtonPinMode_offset 4515 -#define tcuEnabled_offset 976 -#define tcuSolenoidTable_offset 15136 -#define tcuUpshiftButtonPin_offset 1818 -#define tcuUpshiftButtonPinMode_offset 4514 -#define tempHpfpDuration_offset 726 -#define tempHpfpStart_offset 724 -#define test557pin_offset 3101 -#define thermistor_conf_s_size 28 -#define ThermistorConf_size 32 -#define throttlePedalPositionAdcChannel_offset 580 -#define throttlePedalPositionSecondAdcChannel_offset 683 -#define throttlePedalSecondaryUpVoltage_offset 2100 -#define throttlePedalSecondaryWOTVoltage_offset 2104 -#define throttlePedalUpPin_offset 583 -#define throttlePedalUpPinMode_offset 710 -#define throttlePedalUpVoltage_offset 1884 -#define throttlePedalWOTVoltage_offset 1888 -#define timing_mode_e_auto_enum "TM_DYNAMIC", "TM_FIXED" -#define timing_mode_e_Internal_ForceMyEnumIntSize_timing_mode ENUM_32_BITS -#define timing_mode_e_TM_DYNAMIC 0 -#define timing_mode_e_TM_FIXED 1 -#define timing_offset_cylinder10_offset 2576 -#define timing_offset_cylinder11_offset 2580 -#define timing_offset_cylinder12_offset 2584 -#define timing_offset_cylinder1_offset 2540 -#define timing_offset_cylinder2_offset 2544 -#define timing_offset_cylinder3_offset 2548 -#define timing_offset_cylinder4_offset 2552 -#define timing_offset_cylinder5_offset 2556 -#define timing_offset_cylinder6_offset 2560 -#define timing_offset_cylinder7_offset 2564 -#define timing_offset_cylinder8_offset 2568 -#define timing_offset_cylinder9_offset 2572 -#define timingAdditive_offset 10072 -#define timingMode_offset 448 -#define timingMultiplier_offset 9872 -#define tle6240_cs_offset 581 -#define tle6240_csPinMode_offset 582 -#define tle6240spiDevice_offset 4004 -#define tle8888_cs_offset 3105 -#define tle8888_csPinMode_offset 3106 -#define tle8888_mode_e_auto_enum "TL_AUTO", "TL_SEMI_AUTO", "TL_MANUAL", "TL_HALL" -#define tle8888_mode_e_TL_AUTO 0 -#define tle8888_mode_e_TL_HALL 3 -#define tle8888_mode_e_TL_MANUAL 2 -#define tle8888_mode_e_TL_SEMI_AUTO 1 -#define tle8888mode_offset 2416 -#define tle8888spiDevice_offset 4000 -#define TOOTH_DATA_LENGTH 2000 -#define TOOTH_PACKET_COUNT 1000 -#define TOOTH_PACKET_SIZE 2 -#define TOP_DEAD_CENTER_MESSAGE "r" -#define TOTAL_CONFIG_SIZE 20000 -#define tps1_1AdcChannel_offset 512 -#define tps1_2AdcChannel_offset 681 -#define tps1SecondaryMax_offset 822 -#define tps1SecondaryMin_offset 820 -#define tps2_1AdcChannel_offset 515 -#define tps2_2AdcChannel_offset 682 -#define tps2Max_offset 1770 -#define tps2Min_offset 1768 -#define tps2SecondaryMax_offset 1462 -#define tps2SecondaryMin_offset 1460 -#define TPS_1_BYTE_PACKING_MULT 2 -#define TPS_2_BYTE_PACKING_MULT 100 -#define TPS_TPS_ACCEL_TABLE 8 -#define tpsAccelEnrichmentThreshold_offset 2048 -#define tpsAccelFractionDivisor_offset 3996 -#define tpsAccelFractionPeriod_offset 3994 -#define tpsAccelLength_offset 2044 -#define tpsDecelEnleanmentMultiplier_offset 2084 -#define tpsDecelEnleanmentThreshold_offset 2080 -#define tpsErrorDetectionTooHigh_offset 86 -#define tpsErrorDetectionTooLow_offset 84 -#define tpsMax_offset 82 -#define tpsMin_offset 80 -#define tpsTpsAccelFromRpmBins_offset 19232 -#define tpsTpsAccelTable_offset 18976 -#define tpsTpsAccelToRpmBins_offset 19264 -#define trailingCoilPins10_offset 2349 -#define trailingCoilPins11_offset 2350 -#define trailingCoilPins12_offset 2351 -#define trailingCoilPins1_offset 2340 -#define trailingCoilPins2_offset 2341 -#define trailingCoilPins3_offset 2342 -#define trailingCoilPins4_offset 2343 -#define trailingCoilPins5_offset 2344 -#define trailingCoilPins6_offset 2345 -#define trailingCoilPins7_offset 2346 -#define trailingCoilPins8_offset 2347 -#define trailingCoilPins9_offset 2348 -#define trailingSparkAngle_offset 520 -#define trigger_config_s_size 16 -#define trigger_customSkippedToothCount_offset 536 -#define trigger_customTotalToothCount_offset 532 -#define trigger_event_e_SHAFT_3RD_FALLING 4 -#define trigger_event_e_SHAFT_3RD_RISING 5 -#define trigger_event_e_SHAFT_PRIMARY_FALLING 0 -#define trigger_event_e_SHAFT_PRIMARY_RISING 1 -#define trigger_event_e_SHAFT_SECONDARY_FALLING 2 -#define trigger_event_e_SHAFT_SECONDARY_RISING 3 -#define TRIGGER_INPUT_PIN_COUNT 3 -#define trigger_offset 524 -#define TRIGGER_SIMULATOR_PIN_COUNT 3 -#define trigger_todoRemoveMeOneDay0_offset 528 -#define trigger_todoRemoveMeOneDay1_offset 528 -#define trigger_type_e_auto_enum "TT_TOOTHED_WHEEL", "TT_FORD_ASPIRE", "TT_DODGE_NEON_1995", "TT_MAZDA_MIATA_NA", "TT_MAZDA_MIATA_NB1", "TT_GM_7X", "TT_DAIHATSU", "TT_MAZDA_SOHC_4", "TT_TOOTHED_WHEEL_60_2", "TT_TOOTHED_WHEEL_36_1", "TT_UNUSED_10", "TT_MITSUBISHI", "TT_HONDA_4_24", "TT_HONDA_1_4_24", "TT_DODGE_NEON_2003_CAM", "TT_MAZDA_DOHC_1_4", "TT_ONE_PLUS_ONE", "TT_VVT_JZ", "TT_ONE", "TT_DODGE_RAM", "TT_60_2_VW", "TT_HONDA_1_24", "TT_DODGE_STRATUS", "TT_36_2_2_2", "TT_NISSAN_SR20VE", "TT_2JZ_3_34", "TT_ROVER_K", "TT_GM_LS_24", "TT_HONDA_CBR_600", "TT_2JZ_1_12", "TT_CHRYSLER_NGC_36_2_2", "TT_3_1_CAM", "TT_DODGE_NEON_2003_CRANK", "TT_MIATA_VVT", "TT_HONDA_ACCORD_1_24_SHIFTED", "TT_MAZDA_MIATA_VVT_TEST", "TT_SUBARU_7_6", "TT_JEEP_18_2_2_2", "TT_NISSAN_SR20VE_360", "TT_DODGE_NEON_1995_ONLY_CRANK", "TT_JEEP_4_CYL", "TT_FIAT_IAW_P8", "TT_FORD_ST170", "TT_VVT_MIATA_NB2", "TT_RENIX_44_2_2", "TT_RENIX_66_2_2_2", "TT_HONDA_K_12_1", "TT_VVT_BOSCH_QUICK_START", "TT_TOOTHED_WHEEL_36_2", "TT_SUBARU_SVX", "TT_1_16", "TT_SUBARU_7_WITHOUT_6", "TT_52", "TT_TRI_TACH", "TT_GM_60_2_2_2", "TT_SKODA_FAVORIT", "TT_VVT_BARRA_3_PLUS_1", "TT_KAWA_KX450F", "TT_NISSAN_VQ35", "TT_VVT_NISSAN_VQ35", "TT_NISSAN_VQ30", "TT_NISSAN_QR25", "TT_TEMP_62", "TT_SUBARU_SVX_CRANK_1", "TT_SUBARU_SVX_CAM_VVT", "TT_FORD_TFI_PIP", "TT_SUZUKI_G13B", "TT_HONDA_K_4_1", "TT_UNUSED" -#define trigger_type_e_enum "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "Miata NB", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Honda 4+24+1", "Mitsubishi", "Honda 4+24", "Honda 1+4+24", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Single Tooth", "Dodge Ram 1+16", "60/2 VW", "Honda 1+24", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM LS 24", "Honda CBR 600", "2JZ_1_12", "Honda CBR 600 custom", "3/1 skipped", "Dodge Neon 2003 crank", "Miata VVT", "trg34", "trg35", "Subaru 7+6", "Jeep 18-2-2-2", "WIP", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "trg43", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "trg47", "36/2", "Subaru SVX", "1+16", "Subaru 7 without 6", "trg52", "TriTach", "GM 60/2/2/2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "trg59", "Nissan VQ30", "Nissan QR25", "trg62", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "trg68", "trg69" -#define trigger_type_e_Force_4_bytes_size_trigger_type ENUM_32_BITS -#define trigger_type_e_TT_1_16 50 -#define trigger_type_e_TT_2JZ_1_12 29 -#define trigger_type_e_TT_2JZ_3_34 25 -#define trigger_type_e_TT_36_2_2_2 23 -#define trigger_type_e_TT_3_1_CAM 31 -#define trigger_type_e_TT_52 52 -#define trigger_type_e_TT_60_2_VW 20 -#define trigger_type_e_TT_CHRYSLER_NGC_36_2_2 30 -#define trigger_type_e_TT_DAIHATSU 6 -#define trigger_type_e_TT_DODGE_NEON_1995 2 -#define trigger_type_e_TT_DODGE_NEON_1995_ONLY_CRANK 39 -#define trigger_type_e_TT_DODGE_NEON_2003_CAM 14 -#define trigger_type_e_TT_DODGE_NEON_2003_CRANK 32 -#define trigger_type_e_TT_DODGE_RAM 19 -#define trigger_type_e_TT_DODGE_STRATUS 22 -#define trigger_type_e_TT_FIAT_IAW_P8 41 -#define trigger_type_e_TT_FORD_ASPIRE 1 -#define trigger_type_e_TT_FORD_ST170 42 -#define trigger_type_e_TT_FORD_TFI_PIP 65 -#define trigger_type_e_TT_GM_60_2_2_2 54 -#define trigger_type_e_TT_GM_7X 5 -#define trigger_type_e_TT_GM_LS_24 27 -#define trigger_type_e_TT_HONDA_1_24 21 -#define trigger_type_e_TT_HONDA_1_4_24 13 -#define trigger_type_e_TT_HONDA_4_24 12 -#define trigger_type_e_TT_HONDA_ACCORD_1_24_SHIFTED 34 -#define trigger_type_e_TT_HONDA_CBR_600 28 -#define trigger_type_e_TT_HONDA_K_12_1 46 -#define trigger_type_e_TT_HONDA_K_4_1 67 -#define trigger_type_e_TT_JEEP_18_2_2_2 37 -#define trigger_type_e_TT_JEEP_4_CYL 40 -#define trigger_type_e_TT_KAWA_KX450F 57 -#define trigger_type_e_TT_MAZDA_DOHC_1_4 15 -#define trigger_type_e_TT_MAZDA_MIATA_NA 3 -#define trigger_type_e_TT_MAZDA_MIATA_NB1 4 -#define trigger_type_e_TT_MAZDA_MIATA_VVT_TEST 35 -#define trigger_type_e_TT_MAZDA_SOHC_4 7 -#define trigger_type_e_TT_MIATA_VVT 33 -#define trigger_type_e_TT_MITSUBISHI 11 -#define trigger_type_e_TT_NISSAN_QR25 61 -#define trigger_type_e_TT_NISSAN_SR20VE 24 -#define trigger_type_e_TT_NISSAN_SR20VE_360 38 -#define trigger_type_e_TT_NISSAN_VQ30 60 -#define trigger_type_e_TT_NISSAN_VQ35 58 -#define trigger_type_e_TT_ONE 18 -#define trigger_type_e_TT_ONE_PLUS_ONE 16 -#define trigger_type_e_TT_RENIX_44_2_2 44 -#define trigger_type_e_TT_RENIX_66_2_2_2 45 -#define trigger_type_e_TT_ROVER_K 26 -#define trigger_type_e_TT_SKODA_FAVORIT 55 -#define trigger_type_e_TT_SUBARU_7_6 36 -#define trigger_type_e_TT_SUBARU_7_WITHOUT_6 51 -#define trigger_type_e_TT_SUBARU_SVX 49 -#define trigger_type_e_TT_SUBARU_SVX_CAM_VVT 64 -#define trigger_type_e_TT_SUBARU_SVX_CRANK_1 63 -#define trigger_type_e_TT_SUZUKI_G13B 66 -#define trigger_type_e_TT_TEMP_62 62 -#define trigger_type_e_TT_TOOTHED_WHEEL 0 -#define trigger_type_e_TT_TOOTHED_WHEEL_36_1 9 -#define trigger_type_e_TT_TOOTHED_WHEEL_36_2 48 -#define trigger_type_e_TT_TOOTHED_WHEEL_60_2 8 -#define trigger_type_e_TT_TRI_TACH 53 -#define trigger_type_e_TT_UNUSED 68 -#define trigger_type_e_TT_UNUSED_10 10 -#define trigger_type_e_TT_VVT_BARRA_3_PLUS_1 56 -#define trigger_type_e_TT_VVT_BOSCH_QUICK_START 47 -#define trigger_type_e_TT_VVT_JZ 17 -#define trigger_type_e_TT_VVT_MIATA_NB2 43 -#define trigger_type_e_TT_VVT_NISSAN_VQ35 59 -#define trigger_type_offset 524 -#define trigger_unusedBit_4_10_offset 528 -#define trigger_unusedBit_4_11_offset 528 -#define trigger_unusedBit_4_12_offset 528 -#define trigger_unusedBit_4_13_offset 528 -#define trigger_unusedBit_4_14_offset 528 -#define trigger_unusedBit_4_15_offset 528 -#define trigger_unusedBit_4_16_offset 528 -#define trigger_unusedBit_4_17_offset 528 -#define trigger_unusedBit_4_18_offset 528 -#define trigger_unusedBit_4_19_offset 528 -#define trigger_unusedBit_4_20_offset 528 -#define trigger_unusedBit_4_21_offset 528 -#define trigger_unusedBit_4_22_offset 528 -#define trigger_unusedBit_4_23_offset 528 -#define trigger_unusedBit_4_24_offset 528 -#define trigger_unusedBit_4_25_offset 528 -#define trigger_unusedBit_4_26_offset 528 -#define trigger_unusedBit_4_27_offset 528 -#define trigger_unusedBit_4_28_offset 528 -#define trigger_unusedBit_4_29_offset 528 -#define trigger_unusedBit_4_30_offset 528 -#define trigger_unusedBit_4_31_offset 528 -#define trigger_unusedBit_4_3_offset 528 -#define trigger_unusedBit_4_4_offset 528 -#define trigger_unusedBit_4_5_offset 528 -#define trigger_unusedBit_4_6_offset 528 -#define trigger_unusedBit_4_7_offset 528 -#define trigger_unusedBit_4_8_offset 528 -#define trigger_unusedBit_4_9_offset 528 -#define trigger_useOnlyFirstChannel_offset 528 -#define trigger_value_e_TV_FALL 0 -#define trigger_value_e_TV_RISE 1 -#define trigger_wheel_e_T_CHANNEL_3 2 -#define trigger_wheel_e_T_NONE 15 -#define trigger_wheel_e_T_PRIMARY 0 -#define trigger_wheel_e_T_SECONDARY 1 -#define triggerCompCenterVolt_offset 4036 -#define triggerCompHystMax_offset 4038 -#define triggerCompHystMin_offset 4037 -#define triggerCompSensorSatRpm_offset 4039 -#define triggerErrorPin_offset 828 -#define triggerErrorPinMode_offset 829 -#define triggerGapOverride10_offset 4576 -#define triggerGapOverride11_offset 4580 -#define triggerGapOverride12_offset 4584 -#define triggerGapOverride13_offset 4588 -#define triggerGapOverride14_offset 4592 -#define triggerGapOverride15_offset 4596 -#define triggerGapOverride16_offset 4600 -#define triggerGapOverride17_offset 4604 -#define triggerGapOverride18_offset 4608 -#define triggerGapOverride1_offset 4540 -#define triggerGapOverride2_offset 4544 -#define triggerGapOverride3_offset 4548 -#define triggerGapOverride4_offset 4552 -#define triggerGapOverride5_offset 4556 -#define triggerGapOverride6_offset 4560 -#define triggerGapOverride7_offset 4564 -#define triggerGapOverride8_offset 4568 -#define triggerGapOverride9_offset 4572 -#define triggerInputDebugPins1_offset 1756 -#define triggerInputDebugPins2_offset 1757 -#define triggerInputDebugPins3_offset 1758 -#define triggerInputPins1_offset 700 -#define triggerInputPins2_offset 701 -#define triggerInputPins3_offset 702 -#define TRIGGERS_FILE_NAME "triggers.txt" -#define triggerSimulatorFrequency_offset 620 -#define triggerSimulatorPinModes1_offset 739 -#define triggerSimulatorPinModes2_offset 740 -#define triggerSimulatorPinModes3_offset 741 -#define triggerSimulatorPins1_offset 736 -#define triggerSimulatorPins2_offset 737 -#define triggerSimulatorPins3_offset 738 -#define TS_BURN_COMMAND 'B' -#define TS_BURN_COMMAND_char B -#define TS_CHUNK_WRITE_COMMAND 'C' -#define TS_CHUNK_WRITE_COMMAND_char C -#define TS_COMMAND_F 'F' -#define TS_COMMAND_F_char F -#define TS_COMPOSITE_DISABLE 2 -#define TS_COMPOSITE_ENABLE 1 -#define TS_CRC_CHECK_COMMAND 'k' -#define TS_CRC_CHECK_COMMAND_char k -#define TS_EXECUTE 'E' -#define TS_EXECUTE_char E -#define TS_FILE_VERSION 20200310 -#define TS_GET_COMPOSITE_BUFFER_DONE_DIFFERENTLY '8' -#define TS_GET_COMPOSITE_BUFFER_DONE_DIFFERENTLY_char 8 -#define TS_GET_CONFIG_ERROR 'e' -#define TS_GET_CONFIG_ERROR_char e -#define TS_GET_FIRMWARE_VERSION 'V' -#define TS_GET_FIRMWARE_VERSION_char V -#define TS_GET_LOGGER_GET_BUFFER 'L' -#define TS_GET_LOGGER_GET_BUFFER_char L -#define TS_GET_STRUCT '9' -#define TS_GET_STRUCT_char 9 -#define TS_GET_TEXT 'G' -#define TS_GET_TEXT_char G -#define TS_HELLO_COMMAND 'S' -#define TS_HELLO_COMMAND_char S -#define TS_IO_TEST_COMMAND 'Z' -#define TS_IO_TEST_COMMAND_char Z -#define TS_ONLINE_PROTOCOL 'z' -#define TS_ONLINE_PROTOCOL_char z -#define TS_OUTPUT_COMMAND 'O' -#define TS_OUTPUT_COMMAND_char O -#define TS_OUTPUT_SIZE 340 -#define TS_PAGE_COMMAND 'P' -#define TS_PAGE_COMMAND_char P -#define TS_PERF_TRACE_BEGIN '_' -#define TS_PERF_TRACE_BEGIN_char _ -#define TS_PERF_TRACE_GET_BUFFER 'b' -#define TS_PERF_TRACE_GET_BUFFER_char b -#define TS_PROTOCOL "001" -#define TS_QUERY_COMMAND 'Q' -#define TS_QUERY_COMMAND_char Q -#define TS_READ_COMMAND 'R' -#define TS_READ_COMMAND_char R -#define TS_RESPONSE_BURN_OK 4 -#define TS_RESPONSE_COMMAND_OK 7 -#define TS_RESPONSE_CRC_FAILURE 0x82 -#define TS_RESPONSE_FRAMING_ERROR 0x8D -#define TS_RESPONSE_OK 0 -#define TS_RESPONSE_OUT_OF_RANGE 0x84 -#define TS_RESPONSE_UNDERRUN 0x80 -#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_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_etb true -#define ts_show_etb_pins false -#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_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_spi true -#define ts_show_trigger_comparator false -#define ts_show_tunerstudio_port false -#define TS_SIGNATURE "rusEFI 2021.10.27.hellen-nb1.494743615" -#define TS_SINGLE_WRITE_COMMAND 'W' -#define TS_SINGLE_WRITE_COMMAND_char W -#define TS_TEST_COMMAND 't' -#define TS_TEST_COMMAND_char t -#define tunerStudioSerialSpeed_offset 728 -#define turboSpeedSensorInputPin_offset 1759 -#define turboSpeedSensorMultiplier_offset 1488 -#define twoWireBatchIgnition_offset 1476 -#define twoWireBatchInjection_offset 1476 -#define uart_device_e_auto_enum "UART_NONE", "UART_DEVICE_1", "UART_DEVICE_2", "UART_DEVICE_3", "UART_DEVICE_4" -#define uart_device_e_UART_DEVICE_1 1 -#define uart_device_e_UART_DEVICE_2 2 -#define uart_device_e_UART_DEVICE_3 3 -#define uart_device_e_UART_DEVICE_4 4 -#define uart_device_e_UART_NONE 0 -#define uartConsoleSerialSpeed_offset 2076 -#define unused1059_offset 3964 -#define unused1127_offset 2116 -#define unused1128_offset 2116 -#define unused1129_offset 2116 -#define unused1130_offset 2116 -#define unused1366_offset 2684 -#define unused1464b0_offset 1464 -#define unused1464b20_offset 1464 -#define unused1464b4_offset 1464 -#define unused1476b19_offset 1476 -#define unused1476b20_offset 1476 -#define unused1476b3_offset 1476 -#define unused1476b8_offset 1476 -#define unused1512_offset 1512 -#define unused2260_offset 2260 -#define unused2432_offset 2432 -#define unused244_2_offset 2424 -#define unused244_3_offset 2428 -#define unused2508_offset 2511 -#define unused2536_offset 2539 -#define unused3103_offset 3103 -#define unused3328_offset 3340 -#define unused3942_offset 3992 -#define unused3988_offset 3988 -#define unused4028_offset 4028 -#define unused552_offset 552 -#define unused615_offset 615 -#define unused616_offset 616 -#define unused6312_offset 6312 -#define unused744b4_offset 744 -#define unused970_offset 970 -#define unused976b11_offset 976 -#define unused_1484_bit_24_offset 1476 -#define unused_1484_bit_25_offset 1476 -#define unused_1484_bit_26_offset 1476 -#define unused_1484_bit_27_offset 1476 -#define unused_1484_bit_28_offset 1476 -#define unused_1484_bit_29_offset 1476 -#define unused_1484_bit_30_offset 1476 -#define unused_1484_bit_31_offset 1476 -#define unusedAnotherOneOfThose_offset 2200 -#define unusedAtOldBoardConfigurationEnd_offset 1340 -#define unusedBit4_1476_offset 1476 -#define unusedBit_251_29_offset 976 -#define unusedBit_302_30_offset 976 -#define unusedBit_302_31_offset 976 -#define unusedBit_34_31_offset 76 -#define unusedBit_513_10_offset 2116 -#define unusedBit_513_11_offset 2116 -#define unusedBit_513_12_offset 2116 -#define unusedBit_513_13_offset 2116 -#define unusedBit_513_14_offset 2116 -#define unusedBit_513_15_offset 2116 -#define unusedBit_513_16_offset 2116 -#define unusedBit_513_17_offset 2116 -#define unusedBit_513_18_offset 2116 -#define unusedBit_513_19_offset 2116 -#define unusedBit_513_20_offset 2116 -#define unusedBit_513_21_offset 2116 -#define unusedBit_513_22_offset 2116 -#define unusedBit_513_23_offset 2116 -#define unusedBit_513_24_offset 2116 -#define unusedBit_513_25_offset 2116 -#define unusedBit_513_26_offset 2116 -#define unusedBit_513_27_offset 2116 -#define unusedBit_513_28_offset 2116 -#define unusedBit_513_29_offset 2116 -#define unusedBit_513_30_offset 2116 -#define unusedBit_513_31_offset 2116 -#define unusedBit_513_8_offset 2116 -#define unusedBit_513_9_offset 2116 -#define unusedBitHere1_offset 1464 -#define unusedBitHere2_offset 1464 -#define unusedBitHere3_offset 1464 -#define unusedBitHere4_offset 1464 -#define unusedBitWasHere16_offset 1464 -#define unusedBitWasHere1_offset 1464 -#define unusedBitWasHere2_offset 1464 -#define unusedBitWasHere3_offset 1464 -#define unusedBitWasHere4_offset 1464 -#define unusedBitWasHere5_offset 1464 -#define unusedDigital_offset 958 -#define unusedEL1_offset 2060 -#define unusedEL2_offset 2064 -#define unusedEL3_offset 2068 -#define unusedEL4_offset 2072 -#define unusedFsioInputs_offset 1522 -#define unusedLuaWasHere_offset 16032 -#define unusedOldBiquad_offset 2331 -#define unusedOutputFreqWhereHere_offset 844 -#define unusedOutputWhereHere_offset 794 -#define unusedpinModesWhereHere_offset 779 -#define unusedSettings_offset 888 -#define unusedSpiPadding4_offset 2593 -#define unusedSpiPadding8_offset 4010 -#define unusedVvtOffsetWasHere_offset 2052 -#define useAdvanceCorrectionsForCranking_offset 1476 -#define useCicPidForIdle_offset 76 -#define useETBforIdleControl_offset 744 -#define useFixedBaroCorrFromMap_offset 1476 -#define useFordRedundantTps_offset 76 -#define useFSIO4ForSeriousEngineWarning_offset 1464 -#define useFSIO5ForCriticalIssueEngineStop_offset 1464 -#define useFSIOTableForCanSniffingFiltering_offset 76 -#define useHbridgesToDriveIdleStepper_offset 976 -#define useIacPidMultTable_offset 1476 -#define useIacTableForCoasting_offset 744 -#define useIdleTimingPidControl_offset 744 -#define useInstantRpmForIdle_offset 76 -#define useLcdScreen_offset 744 -#define useLinearCltSensor_offset 1464 -#define useLinearIatSensor_offset 1464 -#define useNoiselessTriggerDecoder_offset 744 -#define useOnlyRisingEdgeForTrigger_offset 1476 -#define useRunningMathForCranking_offset 76 -#define useSeparateAdvanceForCranking_offset 1476 -#define useSeparateAdvanceForIdle_offset 1476 -#define useSeparateIdleTablesForCrankingTaper_offset 76 -#define useSeparateVeForIdle_offset 1476 -#define useSerialPort_offset 744 -#define useStepperIdle_offset 744 -#define useTLE8888_cranking_hack_offset 76 -#define useTLE8888_stepper_offset 76 -#define useTpicAdvancedMode_offset 744 -#define VBAT_INJECTOR_CURVE_SIZE 8 -#define vbattAdcChannel_offset 513 -#define vbattDividerCoeff_offset 464 -#define ve_override_e_auto_enum "VE_None", "VE_MAP", "VE_TPS" -#define ve_override_e_enum "None", "MAP", "TPS" -#define ve_override_e_VE_MAP 1 -#define ve_override_e_VE_None 0 -#define ve_override_e_VE_TPS 2 -#define VEHICLE_INFO_SIZE 32 -#define vehicleName_offset 1160 -#define vehicleSpeedCoef_offset 476 -#define vehicleSpeedSensorInputPin_offset 968 -#define vehicleWeight_offset 1456 -#define veLoadBins_offset 18464 -#define veOverrideMode_offset 2109 -#define verboseCan2BaseAddress_offset 2112 -#define verboseCanBaseAddress_offset 756 -#define verboseTLE8888_offset 744 -#define verboseTriggerSynchDetails_offset 1476 -#define verboseVVTDecoding_offset 976 -#define veRpmBins_offset 18528 -#define veTable_offset 17440 -#define VM_VVT_INACTIVE 0 -#define VOLTAGE_1_BYTE_PACKING_DIV 0.02 -#define VR_THRESHOLD_COUNT 2 -#define vr_threshold_s_size 16 -#define vRefAdcChannel_offset 1470 -#define vrThreshold1_offset 1244 -#define vrThreshold1_pad_offset 1245 -#define vrThreshold1_pin_offset 1244 -#define vrThreshold1_rpmBins_offset 1248 -#define vrThreshold1_values_offset 1254 -#define vrThreshold2_offset 1260 -#define vrThreshold2_pad_offset 1261 -#define vrThreshold2_pin_offset 1260 -#define vrThreshold2_rpmBins_offset 1264 -#define vrThreshold2_values_offset 1270 -#define vssFilterReciprocal_offset 15196 -#define vvt_mode_e_auto_enum "VVT_INACTIVE", "VVT_SECOND_HALF", "VVT_2JZ", "VVT_MIATA_NB2", "VVT_FIRST_HALF", "VVT_BOSCH_QUICK_START", "VVT_4_1", "VVT_FORD_ST170", "VVT_BARRA_3_PLUS_1", "VVT_NISSAN_VQ" -#define vvt_mode_e_enum "Inactive", "Single Tooth Second Half", "2GZ", "Miata NB2", "Single Tooth First Half", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K 4+1", "vvt11", "vvt12", "vvt13" -#define vvt_mode_e_VVT_2JZ 2 -#define vvt_mode_e_VVT_4_1 6 -#define vvt_mode_e_VVT_BARRA_3_PLUS_1 8 -#define vvt_mode_e_VVT_BOSCH_QUICK_START 5 -#define vvt_mode_e_VVT_FIRST_HALF 4 -#define vvt_mode_e_VVT_FORD_ST170 7 -#define vvt_mode_e_VVT_INACTIVE 0 -#define vvt_mode_e_VVT_MIATA_NB2 3 -#define vvt_mode_e_VVT_NISSAN_VQ 9 -#define vvt_mode_e_VVT_SECOND_HALF 1 -#define vvtCamSensorUseRise_offset 744 -#define vvtMode1_offset 2328 -#define vvtMode2_offset 2329 -#define vvtModePadding_offset 2330 -#define vvtOffsets1_offset 1228 -#define vvtOffsets2_offset 1232 -#define vvtOffsets3_offset 1236 -#define vvtOffsets4_offset 1240 -#define vvtOffsetsPadding_offset 1244 -#define vvtTable1_offset 15776 -#define vvtTable1LoadBins_offset 15840 -#define vvtTable1RpmBins_offset 15872 -#define vvtTable2_offset 15904 -#define vvtTable2LoadBins_offset 15968 -#define vvtTable2RpmBins_offset 16000 -#define warning_message_offset 6000 -#define warningLedPin_offset 2041 -#define warningPeriod_offset 1498 -#define wastegatePositionMax_offset 718 -#define wastegatePositionMin_offset 716 -#define wastegatePositionSensor_offset 2127 -#define wboHeaterPin_offset 673 -#define wwaeBeta_offset 1808 -#define wwaeTau_offset 1712 // start of stft_cell_cfg_s struct stft_cell_cfg_s { /** % * offset 0 */ - int8_t maxAdd = (int8_t)0; + int8_t maxAdd; /** % * offset 1 */ - int8_t maxRemove = (int8_t)0; + int8_t maxRemove; /** sec * offset 2 */ - uint16_t timeConstant = (uint16_t)0; + uint16_t timeConstant; /** total size 4*/ }; @@ -2522,49 +30,49 @@ struct stft_s { RPM * offset 0 */ - uint8_t maxIdleRegionRpm = (uint8_t)0; + uint8_t maxIdleRegionRpm; /** * Below this engine load, the overrun region is active load * offset 1 */ - uint8_t maxOverrunLoad = (uint8_t)0; + uint8_t maxOverrunLoad; /** * Above this engine load, the power region is active load * offset 2 */ - uint8_t minPowerLoad = (uint8_t)0; + uint8_t minPowerLoad; /** * When close to correct AFR, pause correction. This can improve stability by not changing the adjustment if the error is extremely small, but is not required. % * offset 3 */ - uint8_t deadband = (uint8_t)0; + uint8_t deadband; /** * Below this temperature, correction is disabled. C * offset 4 */ - int8_t minClt = (int8_t)0; + int8_t minClt; /** * Below this AFR, correction is paused afr * offset 5 */ - uint8_t minAfr = (uint8_t)0; + uint8_t minAfr; /** * Above this AFR, correction is paused afr * offset 6 */ - uint8_t maxAfr = (uint8_t)0; + uint8_t maxAfr; /** * Delay after starting the engine before beginning closed loop correction. seconds * offset 7 */ - uint8_t startupDelay = (uint8_t)0; + uint8_t startupDelay; /** * offset 8 */ @@ -2577,36 +85,36 @@ struct pid_s { /** * offset 0 */ - float pFactor = (float)0; + float pFactor; /** * offset 4 */ - float iFactor = (float)0; + float iFactor; /** * offset 8 */ - float dFactor = (float)0; + float dFactor; /** * Linear addition to PID logic * offset 12 */ - int16_t offset = (int16_t)0; + int16_t offset; /** * PID dTime ms * offset 14 */ - int16_t periodMs = (int16_t)0; + int16_t periodMs; /** - * Output min value + * Output Min Duty Cycle * offset 16 */ - int16_t minValue = (int16_t)0; + int16_t minValue; /** - * Output max value + * Output Max Duty Cycle * offset 18 */ - int16_t maxValue = (int16_t)0; + int16_t maxValue; /** total size 20*/ }; @@ -2619,14 +127,14 @@ struct cranking_parameters_s { mg * offset 0 */ - float baseFuel = (float)0; + float baseFuel; /** * This sets the RPM limit below which the ECU will use cranking fuel and ignition logic, typically this is around 350-450rpm. * set cranking_rpm X RPM * offset 4 */ - int16_t rpm = (int16_t)0; + int16_t rpm; /** * need 4 byte alignment units @@ -2672,26 +180,26 @@ struct gppwm_channel { % * offset 1 */ - uint8_t dutyIfError = (uint8_t)0; + uint8_t dutyIfError; /** * Select a frequency to run PWM at. * Set this to 0hz to enable on-off mode. hz * offset 2 */ - uint16_t pwmFrequency = (uint16_t)0; + uint16_t pwmFrequency; /** * Hysteresis: in on-off mode, turn the output on when the table value is above this duty. % * offset 4 */ - uint8_t onAboveDuty = (uint8_t)0; + uint8_t onAboveDuty; /** * Hysteresis: in on-off mode, turn the output off when the table value is below this duty. % * offset 5 */ - uint8_t offBelowDuty = (uint8_t)0; + uint8_t offBelowDuty; /** * Selects the load axis to use for the table. * offset 6 @@ -2701,7 +209,7 @@ struct gppwm_channel { unit * offset 7 */ - uint8_t alignmentFill_map = (uint8_t)0; + uint8_t alignmentFill_map; /** load * offset 8 @@ -2726,13 +234,13 @@ struct air_pressure_sensor_config_s { kpa * offset 0 */ - float lowValue = (float)0; + float lowValue; /** * kPa value at high volts kpa * offset 4 */ - float highValue = (float)0; + float highValue; /** * offset 8 */ @@ -2793,38 +301,38 @@ struct thermistor_conf_s { *C * offset 0 */ - float tempC_1 = (float)0; + float tempC_1; /** *C * offset 4 */ - float tempC_2 = (float)0; + float tempC_2; /** *C * offset 8 */ - float tempC_3 = (float)0; + float tempC_3; /** Ohm * offset 12 */ - float resistance_1 = (float)0; + float resistance_1; /** Ohm * offset 16 */ - float resistance_2 = (float)0; + float resistance_2; /** Ohm * offset 20 */ - float resistance_3 = (float)0; + float resistance_3; /** * Pull-up resistor value on your board Ohm * offset 24 */ - float bias_resistor = (float)0; + float bias_resistor; /** total size 28*/ }; @@ -2847,22 +355,22 @@ struct linear_sensor_s { volts * offset 4 */ - float v1 = (float)0; + float v1; /** kPa * offset 8 */ - float value1 = (float)0; + float value1; /** volts * offset 12 */ - float v2 = (float)0; + float v2; /** kPa * offset 16 */ - float value2 = (float)0; + float value2; /** total size 20*/ }; @@ -2899,7 +407,7 @@ struct injector_s { cm3/min * offset 0 */ - float flow = (float)0; + float flow; /** * set_flat_injector_lag LAG * set_injector_lag VOLTAGE LAG @@ -2924,11 +432,11 @@ struct specs_s { L * offset 0 */ - float displacement = (float)0; + float displacement; /** * offset 4 */ - uint32_t cylindersCount = (uint32_t)0; + uint32_t cylindersCount; /** * offset 8 */ @@ -3049,12 +557,12 @@ struct trigger_config_s { number * offset 8 */ - int customTotalToothCount = (int)0; + int customTotalToothCount; /** number * offset 12 */ - int customSkippedToothCount = (int)0; + int customSkippedToothCount; /** total size 16*/ }; @@ -3073,22 +581,22 @@ struct afr_sensor_s { volts * offset 4 */ - float v1 = (float)0; + float v1; /** AFR * offset 8 */ - float value1 = (float)0; + float value1; /** volts * offset 12 */ - float v2 = (float)0; + float v2; /** AFR * offset 16 */ - float value2 = (float)0; + float value2; /** total size 20*/ }; @@ -3098,7 +606,7 @@ struct idle_hardware_s { Hz * offset 0 */ - int solenoidFrequency = (int)0; + int solenoidFrequency; /** * offset 4 */ @@ -3177,7 +685,7 @@ struct engine_configuration_s { RPM * offset 4 */ - int engineSnifferRpmThreshold = (int)0; + int engineSnifferRpmThreshold; /** * offset 8 */ @@ -3306,7 +814,7 @@ struct engine_configuration_s { ADC * offset 80 */ - int16_t tpsMin = (int16_t)0; + int16_t tpsMin; /** * Full throttle. * See also tps1_1AdcChannel @@ -3314,21 +822,21 @@ struct engine_configuration_s { ADC * offset 82 */ - int16_t tpsMax = (int16_t)0; + int16_t tpsMax; /** * TPS error detection: what throttle % is unrealistically low? * Also used for accelerator pedal error detection if so equiped. % * offset 84 */ - int16_t tpsErrorDetectionTooLow = (int16_t)0; + int16_t tpsErrorDetectionTooLow; /** * TPS error detection: what throttle % is unrealistically high? * Also used for accelerator pedal error detection if so equiped. % * offset 86 */ - int16_t tpsErrorDetectionTooHigh = (int16_t)0; + int16_t tpsErrorDetectionTooHigh; /** * offset 88 */ @@ -3337,25 +845,25 @@ struct engine_configuration_s { *C * offset 96 */ - float primingSquirtDurationMs = (float)0; + float primingSquirtDurationMs; /** * Dwell duration while cranking ms * offset 100 */ - float ignitionDwellForCrankingMs = (float)0; + float ignitionDwellForCrankingMs; /** * Once engine speed passes this value, start reducing ETB angle. rpm * offset 104 */ - uint16_t etbRevLimitStart = (uint16_t)0; + uint16_t etbRevLimitStart; /** * This far above 'Soft limiter start', fully close the throttle. At the bottom of the range, throttle control is normal. At the top of the range, the throttle is fully closed. rpm * offset 106 */ - uint16_t etbRevLimitRange = (uint16_t)0; + uint16_t etbRevLimitRange; /** * @see isMapAveragingEnabled * offset 108 @@ -3375,12 +883,12 @@ struct engine_configuration_s { rpm * offset 316 */ - int launchRpm = (int)0; + int launchRpm; /** deg * offset 320 */ - int launchTimingRetard = (int)0; + int launchTimingRetard; /** * value '6' for 8MHz hw osc * read hip9011 datasheet for details @@ -3388,14 +896,14 @@ struct engine_configuration_s { integer * offset 324 */ - int hip9011PrescalerAndSDO = (int)0; + int hip9011PrescalerAndSDO; /** * We calculate knock band based of cylinderBore * Use this to override - kHz knock band override kHz * offset 328 */ - float knockBandCustom = (float)0; + float knockBandCustom; /** * On Single Coil or Wasted Spark setups you have to lower dwell at high RPM RPM @@ -3416,19 +924,19 @@ struct engine_configuration_s { mm * offset 408 */ - float cylinderBore = (float)0; + float cylinderBore; /** * Disable sensor sniffer above this rpm RPM * offset 412 */ - int sensorSnifferRpmThreshold = (int)0; + int sensorSnifferRpmThreshold; /** * set rpm_hard_limit X rpm * offset 416 */ - int rpmHardLimit = (int)0; + int rpmHardLimit; /** * This setting controls which fuel quantity control algorithm is used. * Alpha-N means drive by TPS @@ -3455,7 +963,7 @@ struct engine_configuration_s { deg * offset 432 */ - angle_t extraInjectionOffset = (angle_t)0; + angle_t extraInjectionOffset; /** * Ignition advance angle used during engine cranking, 5-10 degrees will work as a base setting for most engines. * There is tapering towards running timing advance @@ -3463,7 +971,7 @@ struct engine_configuration_s { deg * offset 436 */ - angle_t crankingTimingAngle = (angle_t)0; + angle_t crankingTimingAngle; /** * Single coil = distributor * Individual coils = one coil per cylinder (COP, coil-near-plug), requires sequential mode @@ -3477,19 +985,19 @@ struct engine_configuration_s { count * offset 444 */ - int8_t gapTrackingLengthOverride = (int8_t)0; + int8_t gapTrackingLengthOverride; /** * Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed). kph * offset 445 */ - uint8_t maxIdleVss = (uint8_t)0; + uint8_t maxIdleVss; /** * Expected oil pressure after starting the engine. If oil pressure does not reach this level within 5 seconds of engine start, fuel will be cut. Set to 0 to disable and always allow starting. kPa * offset 446 */ - uint16_t minOilPressureAfterStart = (uint16_t)0; + uint16_t minOilPressureAfterStart; /** * Dynamic uses the timing map to decide the ignition timing, Static timing fixes the timing to the value set below (only use for checking static timing with a timing light). * offset 448 @@ -3501,7 +1009,7 @@ struct engine_configuration_s { RPM * offset 452 */ - angle_t fixedModeTiming = (angle_t)0; + angle_t fixedModeTiming; /** * Angle between Top Dead Center (TDC) and the first trigger event. * Positive value in case of synchnization point before TDC and negative in case of synchnization point after TDC @@ -3510,37 +1018,37 @@ struct engine_configuration_s { deg btdc * offset 456 */ - angle_t globalTriggerAngleOffset = (angle_t)0; + angle_t globalTriggerAngleOffset; /** * Ratio/coefficient of input voltage dividers on your PCB. For example, use '2' if your board divides 5v into 2.5v. Use '1.66' if your board divides 5v into 3v. coef * offset 460 */ - float analogInputDividerCoefficient = (float)0; + float analogInputDividerCoefficient; /** * This is the ratio of the resistors for the battery voltage, measure the voltage at the battery and then adjust this number until the gauge matches the reading. coef * offset 464 */ - float vbattDividerCoeff = (float)0; + float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsius deg C * offset 468 */ - float fanOnTemperature = (float)0; + float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius deg C * offset 472 */ - float fanOffTemperature = (float)0; + float fanOffTemperature; /** * This coefficient translates vehicle speed input frequency (in Hz) into vehicle speed, km/h coef * offset 476 */ - float vehicleSpeedCoef = (float)0; + float vehicleSpeedCoef; /** * set can_mode X * offset 480 @@ -3551,7 +1059,7 @@ struct engine_configuration_s { ms * offset 484 */ - int canSleepPeriodMs = (int)0; + int canSleepPeriodMs; /** * 'Some triggers could be mounted differently. Most well-known triggers imply specific sensor setup. 4 stroke with symmetrical crank' is a pretty special case for example on Miata NB2 * See engineCycle @@ -3571,17 +1079,17 @@ struct engine_configuration_s { index * offset 500 */ - int byFirmwareVersion = (int)0; + int byFirmwareVersion; /** index * offset 504 */ - int HD44780width = (int)0; + int HD44780width; /** index * offset 508 */ - int HD44780height = (int)0; + int HD44780height; /** * First throttle body, first sensor. See also pedalPositionAdcChannel * offset 512 @@ -3608,13 +1116,13 @@ struct engine_configuration_s { x * offset 516 */ - float idle_derivativeFilterLoss = (float)0; + float idle_derivativeFilterLoss; /** * just a temporary solution angle * offset 520 */ - int trailingSparkAngle = (int)0; + int trailingSparkAngle; /** * offset 524 */ @@ -3628,13 +1136,13 @@ struct engine_configuration_s { kPa * offset 541 */ - uint8_t failedMapFallback = (uint8_t)0; + uint8_t failedMapFallback; /** * Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. % * offset 542 */ - uint8_t boostControlSafeDutyCycle = (uint8_t)0; + uint8_t boostControlSafeDutyCycle; /** * offset 543 */ @@ -3644,17 +1152,17 @@ struct engine_configuration_s { coef * offset 544 */ - float globalFuelCorrection = (float)0; + float globalFuelCorrection; /** volts * offset 548 */ - float adcVcc = (float)0; + float adcVcc; /** Deg * offset 552 */ - float unused552 = (float)0; + float unused552; /** * Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts. * offset 556 @@ -3704,33 +1212,33 @@ struct engine_configuration_s { % * offset 608 */ - float manIdlePosition = (float)0; + float manIdlePosition; /** * Ignition timing to remove when a knock event occurs. % * offset 612 */ - uint8_t knockRetardAggression = (uint8_t)0; + uint8_t knockRetardAggression; /** * After a knock event, reapply timing at this rate. deg/s * offset 613 */ - uint8_t knockRetardReapplyRate = (uint8_t)0; + uint8_t knockRetardReapplyRate; /** * Maximum amount of knock retard. deg * offset 614 */ - uint8_t knockRetardMaximum = (uint8_t)0; + uint8_t knockRetardMaximum; /** * offset 615 */ - uint8_t unused615 = (uint8_t)0; + uint8_t unused615; /** * offset 616 */ - float unused616 = (float)0; + float unused616; /** * Same RPM is used for two ways of producing simulated RPM. See also triggerSimulatorPins (with wires) * See also directSelfStimulation (no wires, bypassing input hardware) @@ -3739,7 +1247,7 @@ struct engine_configuration_s { Rpm * offset 620 */ - int triggerSimulatorFrequency = (int)0; + int triggerSimulatorFrequency; /** * offset 624 */ @@ -3907,7 +1415,7 @@ struct engine_configuration_s { x * offset 696 */ - float idle_antiwindupFreq = (float)0; + float idle_antiwindupFreq; /** * offset 700 */ @@ -3951,20 +1459,20 @@ struct engine_configuration_s { % * offset 711 */ - uint8_t acIdleExtraOffset = (uint8_t)0; + uint8_t acIdleExtraOffset; /** * CANbus thread period, ms ms * offset 712 */ - int can2SleepPeriodMs = (int)0; + int can2SleepPeriodMs; /** * Voltage when the wastegate is closed. * You probably don't have one of these! mv * offset 716 */ - uint16_t wastegatePositionMin = (uint16_t)0; + uint16_t wastegatePositionMin; /** * Voltage when the wastegate is fully open. * You probably don't have one of these! @@ -3972,14 +1480,14 @@ struct engine_configuration_s { mv * offset 718 */ - uint16_t wastegatePositionMax = (uint16_t)0; + uint16_t wastegatePositionMax; /** * Voltage when the idle valve is closed. * You probably don't have one of these! mv * offset 720 */ - uint16_t idlePositionMin = (uint16_t)0; + uint16_t idlePositionMin; /** * Voltage when the idle valve is open. * You probably don't have one of these! @@ -3987,29 +1495,29 @@ struct engine_configuration_s { mv * offset 722 */ - uint16_t idlePositionMax = (uint16_t)0; + uint16_t idlePositionMax; /** units * offset 724 */ - uint16_t tempHpfpStart = (uint16_t)0; + uint16_t tempHpfpStart; /** units * offset 726 */ - uint16_t tempHpfpDuration = (uint16_t)0; + uint16_t tempHpfpDuration; /** * Secondary TTL channel baud rate BPs * offset 728 */ - uint32_t tunerStudioSerialSpeed = (uint32_t)0; + uint32_t tunerStudioSerialSpeed; /** * Just for reference really, not taken into account by any logic at this point CR * offset 732 */ - float compressionRatio = (float)0; + float compressionRatio; /** * Each rusEfi piece can provide synthetic trigger signal for external ECU. Sometimes these wires are routed back into trigger inputs of the same rusEfi board. * See also directSelfStimulation which is different. @@ -4165,18 +1673,18 @@ struct engine_configuration_s { /** * offset 756 */ - uint32_t verboseCanBaseAddress = (uint32_t)0; + uint32_t verboseCanBaseAddress; /** v * offset 760 */ - uint8_t mc33_hvolt = (uint8_t)0; + uint8_t mc33_hvolt; /** * Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost. kPa * offset 761 */ - uint8_t minimumBoostClosedLoopMap = (uint8_t)0; + uint8_t minimumBoostClosedLoopMap; /** * Optional Radiator Fan used with A/C * offset 762 @@ -4226,7 +1734,7 @@ struct engine_configuration_s { ms * offset 804 */ - int16_t sdCardPeriodMs = (int16_t)0; + int16_t sdCardPeriodMs; /** * offset 806 */ @@ -4259,39 +1767,39 @@ struct engine_configuration_s { count * offset 812 */ - int mapMinBufferLength = (int)0; + int mapMinBufferLength; /** * Below this throttle position, the engine is considered idling. % * offset 816 */ - int16_t idlePidDeactivationTpsThreshold = (int16_t)0; + int16_t idlePidDeactivationTpsThreshold; /** % * offset 818 */ - int16_t stepperParkingExtraSteps = (int16_t)0; + int16_t stepperParkingExtraSteps; /** ADC * offset 820 */ - uint16_t tps1SecondaryMin = (uint16_t)0; + uint16_t tps1SecondaryMin; /** ADC * offset 822 */ - uint16_t tps1SecondaryMax = (uint16_t)0; + uint16_t tps1SecondaryMax; /** rpm * offset 824 */ - int16_t antiLagRpmTreshold = (int16_t)0; + int16_t antiLagRpmTreshold; /** * Maximum time to crank starter when start/stop button is pressed Seconds * offset 826 */ - uint16_t startCrankingDuration = (uint16_t)0; + uint16_t startCrankingDuration; /** * This pin is used for debugging - snap a logic analyzer on it and see if it's ever high * offset 828 @@ -4422,7 +1930,7 @@ struct engine_configuration_s { /** * offset 970 */ - uint8_t unused970 = (uint8_t)0; + uint8_t unused970; /** * offset 971 */ @@ -4432,19 +1940,19 @@ struct engine_configuration_s { rpm * offset 972 */ - uint16_t multisparkMaxRpm = (uint16_t)0; + uint16_t multisparkMaxRpm; /** * This parameter sets the latest that the last multispark can occur after the main ignition event. For example, if the ignition timing is 30 degrees BTDC, and this parameter is set to 45, no multispark will ever be fired after 15 degrees ATDC. deg * offset 974 */ - uint8_t multisparkMaxSparkingAngle = (uint8_t)0; + uint8_t multisparkMaxSparkingAngle; /** * Configures the maximum number of extra sparks to fire (does not include main spark) count * offset 975 */ - uint8_t multisparkMaxExtraSparkCount = (uint8_t)0; + uint8_t multisparkMaxExtraSparkCount; /** offset 976 bit 0 */ bool clutchUpPinInverted : 1; @@ -4581,7 +2089,7 @@ struct engine_configuration_s { Hz * offset 1016 */ - int boostPwmFrequency = (int)0; + int boostPwmFrequency; /** * offset 1020 */ @@ -4595,52 +2103,52 @@ struct engine_configuration_s { Kph * offset 1028 */ - int launchSpeedTreshold = (int)0; + int launchSpeedTreshold; /** * Disabled below this rpm RPM * offset 1032 */ - int launchRpmTreshold = (int)0; + int launchRpmTreshold; /** * Range from Launch Rpm for Timing Retard to activate RPM * offset 1036 */ - int launchTimingRpmRange = (int)0; + int launchTimingRpmRange; /** * Extra Fuel Added % * offset 1040 */ - int launchFuelAdded = (int)0; + int launchFuelAdded; /** * Duty Cycle for the Boost Solenoid % * offset 1044 */ - int launchBoostDuty = (int)0; + int launchBoostDuty; /** * RPM Range for Hard Cut rpm * offset 1048 */ - int hardCutRpmRange = (int)0; + int hardCutRpmRange; /** rpm * offset 1052 */ - int launchAdvanceRpmRange = (int)0; + int launchAdvanceRpmRange; /** rpm * offset 1056 */ - int launchTpsTreshold = (int)0; + int launchTpsTreshold; /** rpm * offset 1060 */ - float launchActivateDelay = (float)0; + float launchActivateDelay; /** * offset 1064 */ @@ -4729,7 +2237,7 @@ struct engine_configuration_s { kg * offset 1456 */ - uint16_t vehicleWeight = (uint16_t)0; + uint16_t vehicleWeight; /** * offset 1458 */ @@ -4742,12 +2250,12 @@ struct engine_configuration_s { ADC * offset 1460 */ - uint16_t tps2SecondaryMin = (uint16_t)0; + uint16_t tps2SecondaryMin; /** ADC * offset 1462 */ - uint16_t tps2SecondaryMax = (uint16_t)0; + uint16_t tps2SecondaryMax; /** offset 1464 bit 0 */ bool unused1464b0 : 1; @@ -4877,7 +2385,7 @@ struct engine_configuration_s { % * offset 1471 */ - uint8_t etbNeutralPosition = (uint8_t)0; + uint8_t etbNeutralPosition; /** * See also idleRpmPid * offset 1472 @@ -5005,25 +2513,25 @@ struct engine_configuration_s { count * offset 1480 */ - uint32_t engineChartSize = (uint32_t)0; + uint32_t engineChartSize; /** * How far above idle speed do we consider idling? * For example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle. RPM * offset 1484 */ - int16_t idlePidRpmUpperLimit = (int16_t)0; + int16_t idlePidRpmUpperLimit; /** * This sets the temperature above which no priming pulse is used, The value at -40 is reduced until there is no more priming injection at this temperature. *C * offset 1486 */ - int16_t primeInjFalloffTemperature = (int16_t)0; + int16_t primeInjFalloffTemperature; /** mult * offset 1488 */ - float turboSpeedSensorMultiplier = (float)0; + float turboSpeedSensorMultiplier; /** * offset 1492 */ @@ -5037,32 +2545,32 @@ struct engine_configuration_s { RPM * offset 1496 */ - int16_t acIdleRpmBump = (int16_t)0; + int16_t acIdleRpmBump; /** * set warningPeriod X seconds * offset 1498 */ - int16_t warningPeriod = (int16_t)0; + int16_t warningPeriod; /** angle * offset 1500 */ - float knockDetectionWindowStart = (float)0; + float knockDetectionWindowStart; /** angle * offset 1504 */ - float knockDetectionWindowEnd = (float)0; + float knockDetectionWindowEnd; /** ms * offset 1508 */ - float idleStepperReactionTime = (float)0; + float idleStepperReactionTime; /** * offset 1512 */ - float unused1512 = (float)0; + float unused1512; /** * offset 1516 */ @@ -5075,19 +2583,19 @@ struct engine_configuration_s { count * offset 1532 */ - int idleStepperTotalSteps = (int)0; + int idleStepperTotalSteps; /** * TODO: finish this #413 sec * offset 1536 */ - float noAccelAfterHardLimitPeriodSecs = (float)0; + float noAccelAfterHardLimitPeriodSecs; /** * At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback. index * offset 1540 */ - int mapAveragingSchedulingAtIndex = (int)0; + int mapAveragingSchedulingAtIndex; /** kPa * offset 1544 @@ -5117,31 +2625,31 @@ struct engine_configuration_s { * Duration in ms or duty cycle depending on selected mode * offset 1704 */ - float tachPulseDuractionMs = (float)0; + float tachPulseDuractionMs; /** * Above this RPM, disable AC. Set to 0 to disable check. rpm * offset 1708 */ - uint16_t maxAcRpm = (uint16_t)0; + uint16_t maxAcRpm; /** * Above this TPS, disable AC. Set to 0 to disable check. % * offset 1710 */ - uint8_t maxAcTps = (uint8_t)0; + uint8_t maxAcTps; /** * Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check. deg C * offset 1711 */ - uint8_t maxAcClt = (uint8_t)0; + uint8_t maxAcClt; /** * Length of time the deposited wall fuel takes to dissipate after the start of acceleration. Seconds * offset 1712 */ - float wwaeTau = (float)0; + float wwaeTau; /** * offset 1716 */ @@ -5162,12 +2670,12 @@ struct engine_configuration_s { x * offset 1760 */ - float alternator_derivativeFilterLoss = (float)0; + float alternator_derivativeFilterLoss; /** x * offset 1764 */ - float alternator_antiwindupFreq = (float)0; + float alternator_antiwindupFreq; /** * Closed throttle#2. todo: extract these two fields into a structure * See also tps2_1AdcChannel @@ -5175,7 +2683,7 @@ struct engine_configuration_s { ADC * offset 1768 */ - int16_t tps2Min = (int16_t)0; + int16_t tps2Min; /** * Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage! * See also tps1_1AdcChannel @@ -5183,7 +2691,7 @@ struct engine_configuration_s { ADC * offset 1770 */ - int16_t tps2Max = (int16_t)0; + int16_t tps2Max; /** * See also startStopButtonPin * offset 1772 @@ -5201,31 +2709,31 @@ struct engine_configuration_s { Pulse * offset 1775 */ - uint8_t tachPulsePerRev = (uint8_t)0; + uint8_t tachPulsePerRev; /** * kPa value which is too low to be true kPa * offset 1776 */ - float mapErrorDetectionTooLow = (float)0; + float mapErrorDetectionTooLow; /** * kPa value which is too high to be true kPa * offset 1780 */ - float mapErrorDetectionTooHigh = (float)0; + float mapErrorDetectionTooHigh; /** * How long to wait for the spark to fire before recharging the coil for another spark. ms * offset 1784 */ - uint16_t multisparkSparkDuration = (uint16_t)0; + uint16_t multisparkSparkDuration; /** * This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table. ms * offset 1786 */ - uint16_t multisparkDwell = (uint16_t)0; + uint16_t multisparkDwell; /** * See cltIdleRpmBins * offset 1788 @@ -5236,7 +2744,7 @@ struct engine_configuration_s { Fraction * offset 1808 */ - float wwaeBeta = (float)0; + float wwaeBeta; /** * blue LED on many rusEFI boards. * Blue Communication LED which is expected to blink at 50% duty cycle during normal board operation. @@ -5286,25 +2794,25 @@ struct engine_configuration_s { voltage * offset 1884 */ - float throttlePedalUpVoltage = (float)0; + float throttlePedalUpVoltage; /** * Pedal in the floor voltage * offset 1888 */ - float throttlePedalWOTVoltage = (float)0; + float throttlePedalWOTVoltage; /** * on ECU start turn fuel pump on to build fuel pressure seconds * offset 1892 */ - int16_t startUpFuelPumpDuration = (int16_t)0; + int16_t startUpFuelPumpDuration; /** * If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation RPM * offset 1894 */ - int16_t idlePidRpmDeadZone = (int16_t)0; + int16_t idlePidRpmDeadZone; /** * CLT-based target RPM for automatic idle controller C @@ -5321,13 +2829,13 @@ struct engine_configuration_s { Volts * offset 2024 */ - float targetVBatt = (float)0; + float targetVBatt; /** * Turns off alternator output above specified TPS, enabling this reduced parasitic drag on the engine at full load. % * offset 2028 */ - float alternatorOffAboveTps = (float)0; + float alternatorOffAboveTps; /** * Prime pulse for cold engine, duration in ms * Linear interpolation between -40F/-40C and fallout temperature @@ -5337,19 +2845,19 @@ struct engine_configuration_s { ms * offset 2032 */ - float startOfCrankingPrimingPulse = (float)0; + float startOfCrankingPrimingPulse; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup. cycles * offset 2036 */ - int16_t afterCrankingIACtaperDuration = (int16_t)0; + int16_t afterCrankingIACtaperDuration; /** * Extra IAC, in percent between 0 and 100, tapered between zero and idle deactivation TPS value percent * offset 2038 */ - int16_t iacByTpsTaper = (int16_t)0; + int16_t iacByTpsTaper; /** * set_aux_tx_pin X * offset 2040 @@ -5373,65 +2881,65 @@ struct engine_configuration_s { cycles * offset 2044 */ - int tpsAccelLength = (int)0; + int tpsAccelLength; /** * Maximum change delta of TPS percentage over the 'length'. Actual TPS change has to be above this value in order for TPS/TPS acceleration to kick in. roc * offset 2048 */ - float tpsAccelEnrichmentThreshold = (float)0; + float tpsAccelEnrichmentThreshold; /** v * offset 2052 */ - float unusedVvtOffsetWasHere = (float)0; + float unusedVvtOffsetWasHere; /** cycles * offset 2056 */ - int engineLoadAccelLength = (int)0; + int engineLoadAccelLength; /** roc * offset 2060 */ - float unusedEL1 = (float)0; + float unusedEL1; /** coeff * offset 2064 */ - float unusedEL2 = (float)0; + float unusedEL2; /** roc * offset 2068 */ - float unusedEL3 = (float)0; + float unusedEL3; /** coeff * offset 2072 */ - float unusedEL4 = (float)0; + float unusedEL4; /** * Band rate for primary TTL BPs * offset 2076 */ - uint32_t uartConsoleSerialSpeed = (uint32_t)0; + uint32_t uartConsoleSerialSpeed; /** roc * offset 2080 */ - float tpsDecelEnleanmentThreshold = (float)0; + float tpsDecelEnleanmentThreshold; /** coeff * offset 2084 */ - float tpsDecelEnleanmentMultiplier = (float)0; + float tpsDecelEnleanmentMultiplier; /** * ExpAverage alpha coefficient coeff * offset 2088 */ - float slowAdcAlpha = (float)0; + float slowAdcAlpha; /** * See http://rusefi.com/s/debugmode * @@ -5443,18 +2951,18 @@ struct engine_configuration_s { BPs * offset 2096 */ - uint32_t auxSerialSpeed = (uint32_t)0; + uint32_t auxSerialSpeed; /** voltage * offset 2100 */ - float throttlePedalSecondaryUpVoltage = (float)0; + float throttlePedalSecondaryUpVoltage; /** * Pedal in the floor voltage * offset 2104 */ - float throttlePedalSecondaryWOTVoltage = (float)0; + float throttlePedalSecondaryWOTVoltage; /** * set can_baudrate * offset 2108 @@ -5479,7 +2987,7 @@ struct engine_configuration_s { /** * offset 2112 */ - uint32_t verboseCan2BaseAddress = (uint32_t)0; + uint32_t verboseCan2BaseAddress; /** * CAN broadcast using custom rusEFI protocol * enable can_broadcast/disable can_broadcast @@ -5629,7 +3137,7 @@ struct engine_configuration_s { kPa (absolute) * offset 2132 */ - float boostCutPressure = (float)0; + float boostCutPressure; /** counter * offset 2136 @@ -5645,31 +3153,31 @@ struct engine_configuration_s { value * offset 2200 */ - float unusedAnotherOneOfThose = (float)0; + float unusedAnotherOneOfThose; /** * Fixed timing, useful for TDC testing deg * offset 2204 */ - float fixedTiming = (float)0; + float fixedTiming; /** * MAP voltage for low point v * offset 2208 */ - float mapLowValueVoltage = (float)0; + float mapLowValueVoltage; /** * MAP voltage for low point v * offset 2212 */ - float mapHighValueVoltage = (float)0; + float mapHighValueVoltage; /** * EGO value correction value * offset 2216 */ - float egoValueShift = (float)0; + float egoValueShift; /** * offset 2220 */ @@ -5697,27 +3205,27 @@ struct engine_configuration_s { percent * offset 2228 */ - int crankingIACposition = (int)0; + int crankingIACposition; /** mult * offset 2232 */ - float tChargeMinRpmMinTps = (float)0; + float tChargeMinRpmMinTps; /** mult * offset 2236 */ - float tChargeMinRpmMaxTps = (float)0; + float tChargeMinRpmMaxTps; /** mult * offset 2240 */ - float tChargeMaxRpmMinTps = (float)0; + float tChargeMaxRpmMinTps; /** mult * offset 2244 */ - float tChargeMaxRpmMaxTps = (float)0; + float tChargeMaxRpmMaxTps; /** * offset 2248 */ @@ -5727,7 +3235,7 @@ struct engine_configuration_s { % * offset 2252 */ - uint8_t fan1ExtraIdle = (uint8_t)0; + uint8_t fan1ExtraIdle; /** * need 4 byte alignment units @@ -5738,12 +3246,12 @@ struct engine_configuration_s { Hz * offset 2256 */ - int alternatorPwmFrequency = (int)0; + int alternatorPwmFrequency; /** units * offset 2260 */ - int unused2260 = (int)0; + int unused2260; /** * Narrow Band WBO Approximation V @@ -5769,7 +3277,7 @@ struct engine_configuration_s { % * offset 2330 */ - uint8_t fan2ExtraIdle = (uint8_t)0; + uint8_t fan2ExtraIdle; /** units * offset 2331 @@ -5819,34 +3327,34 @@ struct engine_configuration_s { kPa * offset 2420 */ - float fuelReferencePressure = (float)0; + float fuelReferencePressure; /** units * offset 2424 */ - float unused244_2 = (float)0; + float unused244_2; /** units * offset 2428 */ - float unused244_3 = (float)0; + float unused244_3; /** units * offset 2432 */ - float unused2432 = (float)0; + float unused2432; /** * Fuel multiplier (enrichment) immediately after engine start mult * offset 2436 */ - float postCrankingFactor = (float)0; + float postCrankingFactor; /** * Time over which to taper out after start enrichment seconds * offset 2440 */ - float postCrankingDurationSec = (float)0; + float postCrankingDurationSec; /** * offset 2444 */ @@ -5860,7 +3368,7 @@ struct engine_configuration_s { ms * offset 2508 */ - uint16_t applyNonlinearBelowPulse = (uint16_t)0; + uint16_t applyNonlinearBelowPulse; /** * offset 2510 */ @@ -5869,17 +3377,17 @@ struct engine_configuration_s { units * offset 2511 */ - uint8_t unused2508 = (uint8_t)0; + uint8_t unused2508; /** Deg * offset 2512 */ - int16_t knockSamplingDuration = (int16_t)0; + int16_t knockSamplingDuration; /** Hz * offset 2514 */ - int16_t etbFreq = (int16_t)0; + int16_t etbFreq; /** * offset 2516 */ @@ -5894,18 +3402,18 @@ struct engine_configuration_s { % * offset 2537 */ - uint8_t stepperMinDutyCycle = (uint8_t)0; + uint8_t stepperMinDutyCycle; /** * Use to limit the max.current through the stepper motor (100% = no limit) % * offset 2538 */ - uint8_t stepperMaxDutyCycle = (uint8_t)0; + uint8_t stepperMaxDutyCycle; /** units * offset 2539 */ - uint8_t unused2536 = (uint8_t)0; + uint8_t unused2536; /** * per-cylinder timing correction deg @@ -5916,7 +3424,7 @@ struct engine_configuration_s { seconds * offset 2588 */ - float idlePidActivationTime = (float)0; + float idlePidActivationTime; /** * offset 2592 */ @@ -6025,13 +3533,13 @@ struct engine_configuration_s { deg C * offset 2714 */ - uint8_t fan2OnTemperature = (uint8_t)0; + uint8_t fan2OnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsius deg C * offset 2715 */ - uint8_t fan2OffTemperature = (uint8_t)0; + uint8_t fan2OffTemperature; /** x * offset 2716 @@ -6088,7 +3596,7 @@ struct engine_configuration_s { /** * offset 3103 */ - uint8_t unused3103 = (uint8_t)0; + uint8_t unused3103; /** * offset 3104 */ @@ -6127,37 +3635,37 @@ struct engine_configuration_s { rpm * offset 3148 */ - int16_t coastingFuelCutRpmHigh = (int16_t)0; + int16_t coastingFuelCutRpmHigh; /** * This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle rpm * offset 3150 */ - int16_t coastingFuelCutRpmLow = (int16_t)0; + int16_t coastingFuelCutRpmLow; /** * Throttle position below which fuel cut is active. % * offset 3152 */ - int16_t coastingFuelCutTps = (int16_t)0; + int16_t coastingFuelCutTps; /** * Fuel cutoff is disabled when the engine is cold. C * offset 3154 */ - int16_t coastingFuelCutClt = (int16_t)0; + int16_t coastingFuelCutClt; /** * Increases PID reaction for RPMUv>q>Uv>q z>bE^f6cYsk(vp{0fdxYfZR&bqZR&bqZR)pyT@NP^e|h5vP92E1Q+pjwJ+lGAEz2LH zJXmga5$?-7i!i559cSJHikyNdTxiR_^LFlzXLBs6v)iHe9#?%Fp}Sa4mvW z$ID~je@5QL(woBGMos?AjkFOh%-r7ab?OIXw+U$+Kllf14%jQBC7BVag7c>7Q;?V; z4_KUz%%ne``l#STL3Hi9w~KnTT@-^kP~t9G?f6e@_zR=#PIcMNe2M09&;BT$NXvXnEv^L~wbXssEUfcHoyOFkp}`-~OE%5LFOAwA^n?x6>}trA zL|vkIbM2x%p+6K8Y93#>{w*P4`LM8ea9Du4^Ul|RY!%fU!#n4TI?-45Sk{6bd4uIc ze;+0-F;%TjVTb}3=mzd}T%0&lXka+?#NNyc7SJm^$?!8VS+t0e!2q5nUW8M8ZZOfs za~tzdB_9l>x)dziLFq_lSzqfFdbZ`Hf<` zbvUjU$O`15#UcLrAqa<$_~SFGyFQCFm(fBAASuv#AJs-^ChhW>k*h9W9H2W-9zT%~ znR^jAe=2gby1nWxG4ttG#&BYnp?MlE5IP`-OG(uY<-vSC@cVPT#Fvrk5f&Jw0H2j| zR;)y>TbFCd9nnpsD@Yl_8CnsSQE(3z0p*t;G!8L65zqZiAL{HkZ>zOl^WGBMKRw0v z=4%Gbv(jk$D8X=gVHi(fZjm2xuH5OEjL0v4qLtvIZRzcKX(c`TwwK`s2p|g=ET_Cf z-){XV0{)i~tPmQ147kfQe5ql;!TZjsvU|uZB#yb)ya9p+|CZ?AGMgqhZ%#=ws_Zh! zcfo1a?zBBI8$s44{=jc_fng@4sn(Pho&SJCf%Mqo--BGgJ4cS0_lz1Sqo%u-w%fSa1n$W`&?==enON!fc7vI#)DBRgiC{N zco`agpnN(8ur|bU7|r!`->I)*;HhkMB;vi3?i{Meq#l>?l?5IP+Cdc+j$jmyW3nHY z!GQ`T9mf8vGex8KXsPWGu)WFd8Z2BtVD(#n4!_hUL*r$+pn~;UYb4+ZdfLneImkZ?| zmytFO93H_3GY)Vp`6S%t19rNEjA+jW@e$AC(uzlurBbHH=;7SFIs$K!96OW2Zy_ucsQ+?$Qs zaB8qY*=iSzGb3vmDeyWm?S=7Xv**XQEBk+&-x7XCRLMQgUA;f{4sacxu)7K8pZE`x zi~{iWnm<@l$vWe>&VxyHXMTWWWff3Zoz26B*LSdWg{sZnvx1`FRC<0r?3BgiGE z3>$-yI{vc_S@jD7zs;wRxQe!QLLsbnoD__4+nl|U*$S0J5Ut5=aTm>}fdEz3dlY{r z^%+1~Nrj*NU=%*TufZD%$Zj&V5e>m<;^** z8db@)CNt}hDu{2!YUD2EH5hITNyo2wJ_joIC1`Yb|>-Lv=jadcti)`Ma5nHt>9A4H?C)@un!4 z?xMaJuqV!3@b9zug~0!4`>20J^i3h(ldFOvi|U>w2*MM82t2Yg9PZD2ps)xwF?5Eo z=6#s{1v%)z#X4BVFi7X@YV(YKu@C!^^A~iOD;=Jm9-o{Po&R(`P6zvw#iy@9=0~pL z(|)m#KTMJoip5h%b4qDANhLR&mGOr;9H*z^s4eHoIvl)ToB>>@uibx#TDVxyu>=F( zM-0}!9>A&l;9OTPX-@373XTcBW^6z6KzvvIl^I@l(N%EZ#m}A>B=bX}9W+*ECs6bZ zC6nnW?YVYHm0J5LSqZwltt~?3jV{8)&>J;_(UKet=`Bn+THJTM(J~mhLEM|e1*#P| zWQH#*AR_y171@ADW~6@{Lz%uJh33UHojMD|ir#hnJS-hqO4`DWzG?q1L99hXYR7|R zPhJPpSBAjVhT~jgUOI8_Ee0?s)#Xdu9~J2(dG-1uPyBf<-FZas`C5J92F1^QJgE+0 zJK#Mu6vXJUD>vb44SN#?c{^9>TXMXtk@LUH zw3ZQ2{neRzkORTqn1UZ1Lb@XI0zuy zF7z*9=>N$kptfd)fB6{zr8AT z+vNg+o8Gp1B=W#`Gf8rpgnGDyA?}7#F9`h+dd*dKy32vPSni+Se1?0#>(moyLM4xW zLSHhyYjHtE;mqSSve9S$XoN=wd;UaHIuSI)!-p0i)FCZRUS2c>Oy<;QSYLszQ`N@J zM)c?Is0M#r;AfWt%UG*ovAQZc-?}Qk2G?Qu7y(^-^c+|aOt2DxBJ^kZFxger2Af+Py!{ZY}okWsguXA%${a?72WXgh_v(g%wHa#1S+m|3+R~4TYO`~$o&~(uBW&t&CXUhK{W^ku$ll4- zIr>O5m_NGjsT9PCxU>DIrd2seLu3iqej#J*%muh}T};KW)OCk_m2gOT-M zN_%{|O{W7~(x@ijM1rS*w|)h~C$eHiMwwe3>tu4B8^du%z0lcaE({v7(wfo5=^?=% z`bv`nX)VIO6TK19yMz)8|61k5&Eq8+@#Mx>#Toe0^A{bE($-1wq` zuu(u1@LE!>*X-M6sf@Q0vs(8B_RW8iV0^jKcUIuOY^cDjfwW6?(i`Do3d3u<_@HAy zshURW)AywO(d}^lOp2udcMZY@v!6TMjNlBYQrwY9922$MIU)g*&qS(ZT!WASF;eCl zBSoW92YD(=C<$es*n2diAn9|ApO0Nm!SVRmyo-8^a+!R(aCBl zD@&S<8nQEtEaSr_pI4P!R*qMoRw-%Ha2i*{&DL8ycnrF&oPq^H7tTr2(V-YHg2nBb z!YAZ2ze|_uyK!af13|3_Q-IJ@RpaskGa_IZF!%05f(jxY%|J3I-gJL1xlPFjc>u#n zn>8#fY)fio9Egq=ql7Xggf5=2$XjQb`18|3vDk*g2s^o`2BU7hRoP)_=l0Py?ckG} zt6!bTvlB+cuejq!Djx-NiYA^%u;#d<@xc2U;ON52o^lADkWL0XVfb{Y||DP@KbI$cnzo&S!s&>opxNQSrrJ9fUbhhv!&Bo16pR{xxv!B2TNf)ur6oa~`1| zMsD?`l7kPcA`~UWNe3$Ug|DGR6*{6QZ3T`14%9-Q_?^!#g>0g$EUv2MoUQ^aQh;W$ z4sb-IMd^}AZIF_%X${4Pw_8IxDx`I3SRv}piW&hq#RUI`nYVu-ar{bfXujL!=wmUg z6+9i~;8X)25q3!>cbyjUQq@S9$|WF7spN(-rikLy)gTR|U{;}{fR91?A1;thoM6n- zR=I{Dcz_e=c)cu`g_PWr&j^pE<7{o{TKF>cfcNCz*=@G8OJGmC!{<|5a^=mOFm zRBsmd%6kWUCH{X|f}dse79RNLAv_!u=H@&2< zm<-daW|vi4izOPeMS6!s+xXG#U5g-)LkA6n7 zWOzt<>t{ z#}+=>dI}6*Dm$0|DynJHK;W3n6gMR$47&)VhH_luX@Fx}k|~$Se#m=+)^%xBzCv zfYFLYGmm_gifl`F`Tts?6d`_1yt!3oWu=DqXzqUv@Hs997)3S%c@ALj;p$@!hJsa$ zjN5C)fHWrgJz^Ta*>yCS%ykXm6dHIkL5qEDOUOV;a$*uXTyATn62)OR)d#$}CYmGy z@l>DistLTo!>f|_DE1mT+dM@P<--F?PRf})^H_FCKaBq1HXQsszGKAMJq~w60yL6MBZ`u;E~)1LyyCSB5w^dr7_0{ zGlv*U#sq>x{>g`Fvp`^l2w1?IR*M=PlofwyxKp9pCK!?T2KF$;9;`} zL%(h@(BqBC4>p=j-pPyenyE0cF8lR#L0aQtz2P*}u3tWtHVXWsf! z#SpIoe?cZ%<@_2L)!}DUFB2veCbfUI=EqvAy-V-+P_em(3an4N$tI2TW+!dR*FYN0 zDzd+z;=_xQ@SU3R)`VkM368D$F@v2xTx7QprWuCC=p6Q?stYhbV8AN`Yece(*j(o~ zpLZRxv!sg{wL{jAY-n?U#n1tbV;|gkZ^1#Zt|3D_X{k$GB{#%7g~>deon?PS+2k9A zlR}HWk0J|&m*g_Lj#dB~$hb<+fX6N#Efmt3BBra<9|=utHIs|7|5q;iQyz^5CmEJH zjuzvX!(ym6Rg6GoZ3d!UpIw$<9@f;X{#J z(CRTy(_KEtl<0f7jI##;C)R(R0@)I9HQla!rZJGYqlEyxxt|M!U;Y}nGlpm+g-347 z&dyJ~G3%UGl$R6rk!UP79SOahX13mG7l8s}$SE1HCaVOABh7*nT)=ES{*km(%G?`{ zO%C4{S%rxUf;>@x?@#$HP131X*nXzz!dYlD^^DdsWv9~$W^$YLK>UAcTMXgJC_)9V zlW*d*Ks%0^$nkQ@#V}eo7H#ZnSlL5Y5Te(htm;lYOv8aY6~hQRmeg5G4_X)5gS}Em z5mU`WTR7)quU`Aa(S->R7qz)c9YpRCaNM*>HT$GZ_XCc_i$RNDgW)9be`UcfW8(_y zHIz%m2HpeX3citz_ZENT`Woba2sjut?HWF&Xo=&PnFvdU&XP$Sr6mR_2| zYh@32cai{w=X`%N-xc%Sh|G6!h1i-Z_Vq}r8IRwnXFUEr6{#MH=$fvXI7>1~=Bgv5 zJBoB8E$C)-2(QJ&bLk^geD&)mULsb~UFUJOKgk^5k`f%qp)z!XelQrm?Ok#k3U04B z)7@7uSy=E>z3OznknjjN7-AGlg_1lv4R$HHLab80-$H*z=jQL{_)|m2vgGH|3vgi~ z;Pag75;R%-N!LOaU-8d!^7FuyXlx}tf?v0TA(@vFC+%8%6FzsRo;PnR1o~R_c7UX6 zLehK&riY!dV%DbxxZ3?xnRvZV2x3ZK4)Bg1KC-?AuT?{LCZdLw-E`L>!adY#P( zxmn?)J0E{FhpeHpKdl!D>9Jhtm^&Nz4@}YE2Jb~EncovAK9vn^YhDv;L?u&0H9_8aql*Hv2drEiOBwjd6(&Q)l?8gC0g?Gq z%3K^l{qt#KcN$lVf_r8|j(6Uu0@*N=(ZRv-Nx^^k$p&rn;rQh6*j~G-8sw3NShoU0 zO^#8K7{AR0GB_~pQ#jBOwcA0oY;Tdzr4q&yr8-*bKsxreSgR#v zr2K!3=nyq(u#V9AA{@d!L4ho?v+X2xD5|q^=r4v#G9R(rS9j&4XXmznj@WR_Rs@Oj z?k@AhY`6qJXUrF4A__nf&FKmPi4!g))f2ppkYQ4n#g=P&qWeGv(G`a8JKFWaYJL*P z!G&uQ$`@VK;;OSL3i$%01XXMUv{147u`a>$X$B~!;xuLx%4WzWQFc&FAe>J zL!{u*omlFMl!;g)mw1P8LDstAbcwyGnI$!KfEcPuZuF>1NgVO{e(f zP5+pqmV`(;oeq1Ok_)KQZC%wIB63HCeLB9&M~o@Yhx@@!NwDH?fRHT*el+pzugOz! zM?D*@Q!cDrT^*}~bfkCMNdp&~==Xm~F&#KnA?=ZBq;vn-tkbNqi}G}q-j|R1rM`gB z2p`j4AZ|JZ78rR?PU&wyIpzKG0VAfnf(y|h;{O8=oO9iE%pTUxJI)b1+(PbtQ9wDY zkIqp0`Ih&KPW0%by?Mr{@VS`G7M%RVGc6ui;f6nGV%e_PIo_cm_#3c9PVs+a57nDg z`{!mmV?_vKfj4=b>&xFbYznO>sIyu9d%t~>%+61TQttsxS;q_f7w6zWRm9InM@iKx zoItU}bBS4xWf7H(rg!hZ$c!JE9nwtIk!0pD4zPcEE;FMr1vusSU&{CxLVXwR6Do~Z zDH^(q>>$_n(vTl6=P4BZ((i9ywL`2 z^IUY7zb+qr=dxHnH;3s!kJ8bJ`f-||#o6>=1Mk3ITp8r!>}=~psuXh9-N}e;z^+{C z4|#J{f#vHi=RgSIIN1|2CZbKVSftk<&@=}10vs#v#%l#$-F+>r`%r)64^UeRmL#zT z_9-6D=?u}Vsj^OGjAuD_gtDrW1@R7$=L|T6nryvZ7`syCcwu%(PrtaLY z(<=j(0gZXR(TzJ#EQEh;L7WoxvDqWvWJjW3MSg=+xnjkH2I`q|&|L$Uf#YV1ZF$!n z6UGKd>e`{GT|@k>^pl4C$~6s;f$q5-VcXa{-;O4 zSF2RZ04L<|5Is=q-a}UVS0K)Ru2pY1bbWUvgq=GhsT#0QK(C^SI~GIq)MgXS3UNeq zCu8~fob-T};VbP)wHcwnxgnbOgW+^J@{G$cs^7N7#c5mZT{7wS(@h}Mba&yCES`cd zDRCtFXC-cQL+O7G}YpV0ItJVk>n|QJj7|`+in2Vr=P40ozOKTLItrhRQ@8uY8%M z^4-GNheVLX&B@HY-u8Xw|er;M!SOV1gJKQVEL@V zgC(Eaejp-&4CK~SD-b_xM@1)Nb`%F)3qtO@P|IG&Vf-n&OnxvKCEs(v?q3CR9UR7|5i$U6NL#*VHE+BfXp>+ z>B^4xTGPoeT_))o)6i*XhHZ~EjeSKQ9y2#UrLWpA6+Xk24ywTZlIVycUg+$MPYqau z0;P^@GB0N9>*@nx@nHFh1xBJSTo6+y>NPP-X25^1a5!8pqSXku9PBltrjF;%=hN2? zoKck>QWM)HqS*kY&>AVxVc@BjCt3b}WY<+(SJ#dEf^0%%M}8P=0@t{pWO>_cBQe@g zMe@mfR6I;0vLxCHmE986j!IdMQ*-r+o zK3Mb^`QP?(HfLbS)v++X%Xw($pSjcVGN2(v1EZlVL*P>|?QS02bY`Ne&Em$BTeX9ZvqEj!KMhPGLdmewnFED!rvllG}fQf;h?2 zUXL~4um5mx|#WcseBZ(K`rn&2UK5y+hjms9?RWwR0YSQR(LLphvCLFiFq3A(( zfM=k5%QiF~aVtvLW8r4Pu*ZUR@h2P5EXgfK^vY@ z65>Q2x~2{2)xWt7>{*P!FYj%~*Fd8Y;4m;8!P|}VjT>e5*w8F8c+J0HaIE?>$HlJy zUp6FLMx#(0d^I1>*=~QC#e2y@+bgA{-c}yvzP~XW=OgD*47k4N#>%WI zVOB2Kz23FfcnsX-h%UgD++soiJ=*^g^h`b$(OU#^B+o zg)VxG+|n1Mnm#hn#jKYl)*7bXmepGZvr>>m;&&B|Gy+;Q60IZ2WR4FG1_vrD`-brYKkvNV(&z<^$$B5C0m;QEH)RYd4vXb_Z?q*ffA8~$JPXuq-b{Dv}8;I5imo+^8 zRKG6>%|k%6V58s7)gaiIQwxgOpdBoQs)+xB%NUo+Z;!OPaQ%bN6paN(AE%2K5DGXI z2GuBuRWZdScAB{PC7wQro=Bb@P8GrR&~;GUUDO!?7xoBI6(h3%l}&tvaF=P<6p}>C zLL+|(H#sFKB-&kcFGS@QdrE4LWM@g9IS1TZw!~4jM0zaXSe4@OFhWDZ(GqtskN7Zj z$#;eH&&ya3wna>&AyL{(Hw(TJqe`IL*)m8Ly?D!ze<@1JENt)+PW=&4syn`GsE-`7Vfhn@niyQaU zOZLykV^NK)2880)lm6ZU1FXiqdQE>%D%3V+7)af}wW}HCjCkc(Q5yD`^!2e}oZO^1 zBNf^MLjuu}dn3&*MZok)y9qUWsje5707}6 z8Q5fG|1jo#I@7i~@X95`BZ6Yl_j#B7*@-TpwSM)sdi~>1sByWf-rhE@)BG)6Evj(Zz5ePg*2-W^`ACLb*c8!Ze`*Ht zRX82d_q8IPB#{!*eCHgNk4}yYr$xlz6)8<)E$ z%_W_~5m6nD@H&=K4C?Zeiy?ox_zuhE{sgbDX!4;mAPC&CZEz(vQ0HWKMc4D|Fq{KF zP}#W=^C$$!kYmU6?k zxHTzZ=qe}`0b7Xx0&TwVr^Me-MmH;(?Jehna_OHfmDS~XBR|VoOF3!X9OfCNh^#A1 z#;>gpMyc=C!Zt)kn+svhVpK&8!!T(c>Oy356$!17X|-sI z&cu)>Lsw;@3#LT|#Nc}iqN{boDkaObCNn8*$d*_oX?vt+meqggTR3NBm2ASSTK-ya0{}k$X>rX6uufPT;K%8Om8|7;pTfgm#E2P1@ER9-(&=^Ty{wQvn{x_ zDwk`ly1}AK0!1Gyx~%ew2pTnSTH1;-@C@MG&3W9H4S9c576H&kd@?m4>wv?|nrI;^ zU{@_%)`mg^SW%@yMk4Ym6E{qzZWRBu#9$^m_QYSg?;cO!LMu zXLmp@B+&i?-Tn((ga6?}?jG^WJ~$2(hX2aqBz#VIE=gZ>S#NelC9M#qA9Tj(NLS#= z*0f$3zs>vyg2|6V9fa2T59BKbxcAwAc<$38!-;=PMW}^O#q21x^d&n|EqqbYYSSM| zy0DB->q;xFE3Le?X=Pp5>Zi=ohNGF%OQXr3J8)_+M2Khtn@QteBQ*MQssLt1Zm2zA zzXo)gu_HI!QK^_F_$64*6)8z9F&}qbFuG=Im@MRR}*Kd}GYs`J!8rZaU1%IU<~3`(2~MGk0uc+w|gNT15OA1j$QbcMr5XIFzEEVq9?td<6ExY-2fkTkYdz3q3t^xK`rMe~c3 z!^g!-&iLMG_L{Zob&^6}n4Gv67=^xbO+NU3kE8EXeFL6kI(3u~0=fI-ORh ze|~pyK^nH78W`;r8ZRRv+$u1H;}A&b+1Y*Ls#&{k^qaRAElPiOhL8p%XsmW?&8B}j zOqt1b*&IwZ2xE^*=18@-tzP3D<*p=7noJ$-OGl~Xl|F7RJ0rO+9EJk%29{HoN+#PN zJ_Hm3*`|^+lG~TEw~iGtj1xyCIww%l2{Y+O6K_QDeB>`CgiYadF?P|MLL|Vo3fWcS zbs~bR^7xd}*JXWDNp))us#RH*g$#egD_zs(%)12}Pl|&_*Sa444%5%&JQ4eFM^29m zS%&88tU1#bJ&f3fcXEQ@1FjM+v9&-q`C>xmno$5&Vec&l`y^dF`Q9fWkIYS~&GOUAlj)#<2{T z6g!8gN;lg>3L@fW2L$+q(o{sgP?YOwG}K#O}}9o5q) zOBaQ>sVqb}feNs7wI^8!(T;yGf0dp)eUT@fryeENi#@5Wr#wjn3}7UDm3!8aEE9yO$9e$t*_V8WWM`1GY+aqNN?j&4(adcyu4Sad8bVk$W(;uL6Jdg`TDfP9BG( zf(PseIoi^j`65J5ZVW3(AIS3*}#ujLA5WgCV zRp=P&vPCHa9C)vGgIbz%{1Z%H6MKkssa%{B_a`mC zKk32ylODc5>CyX>9=|{7$@`O@zCUTP@C|9dVZMrQOjtZzTIPR9yb;d*xL-OfVhF7d zTOY`^@#jYGJk4Ku@t_%QF$ljUJ~3VOiBb8iZBUi|Qb}Ml08Y@*t6hxGGSBhWY@S9ANe>*!dX9yA^P$2{xqCrsUYeJB+ zfjuZd6uL_+W23|E8%H_~WnnN62fnYlxmbaz#7I&XwLxNUjQ2cxkBFa*v~6NnM|t&z zOmNo(Mi764sKB2sMf2;mej9J}y+#}UCWK%4)DMyTe@IC@_!f8LK6)IQQ{R#Z==_qn zl-k650^07yUxQBL?|02kqt52z%+9m|3}C&cp_x zToGu%Y2AKbKIz-WWA_*VatPxHMA%UsW8<+;Wt~Ff2g(N^- zzU{=gcse;bDy(yY=WLT5yATwPR}3GFw_Vi?!wl&Be;4=9&f3-55B;0F z>t26fqRpS3{f}W^P)^U`^7_;>lJ8-992dF5G4Q}G#U>M;0 zp7X1>2({jm;kEEi!noN8BSh-l#Bt=fr1go#4XsH4Z<5v|h&KuV<7v^?;K==yYGuyC z_XO((N+ju0aks$#O}-xef+vtn0+Xx%K0AK{O4~2?&wuPS`fUkdfb(I@L$Q>S4`E49 z$~;7w*(B2m1g+M9&QY1EvP$_w8`37xF(omlx69i}fD$rUTX-&G3XL6xW{Vd-kdr;- zWMiPkYiaU*r{BBkG`d%B`-<60*R)*%hVy?m zL`f!|Fh7@0l?byMx2B_W^hc?gLWV{#dZ)*dkiE|e==Cv;G-Y8;32Q!&N{0zdOm{fl z{C(tZ*;@0`Z_u=t-lu6dZ$`y~ql1A6v5;aUc5w-omo};9ACZ!J$ZjZj9TKLO6@b`W!n=p?xrK;+EoLIGNg1+{=GO4#T3d zv@Ztwx58`7r37E-OrIC9yE1Y;<9jO`y-78q=~|7@7jZazQE^{9k_)>#oV1tI$Wta8 z)kp*3?dB37JiO~00WG{7OcS&=wk*QLzQ?uD@Fe6e#l$G&4`-2>?heo{$a4-0e^zUu zng)HaSA<##(F}w4uDZUk-;sYXs4RG9F|(0W1twE_f<$L+#(Yy~2`pK&jj6{|f3AFQ zl*h|VK#(c39dg(b2682uHvG0~l1R7N6_Hoka2ex8rWNQofV;U@FTxn(VNRtWIsJwt z$qh-na~SVg%CA1yc+l{g0-#HPVgYR2N^Sj8Va%StFOwduMSp_GA90<*-MQs zn595;hb#iApyRx<-@G&>;<6VZ>kx_>1O4*SO>>ehPL8 z?l$opA`fBm3s5^Okob3ak{mdLSELk3H=c3&NcZGX&4{%<@!qrvv4&J~Gzs;95rkQ^_x?YM)NPAlCX~=bj zR)H=xI0}LHj4A<47_o;{XrRrM%F$*$5S=74qeaz^C9R24Xkkud>3a<<>5kZ(<|7RkW_Mt~flj1_Ca z14|8fX28{i4dbL5`Ghk$?8G(E3xflzNBv-K%OU#HN^0G+zo zW4tkXz@;E_Q`x!iC?`m22_Xu=vL2Ejd4T@p#QL%ed1~@7ai2bAbYHgMZ|gmV0R6OS z4AchyXa+3(l-CR$#{EMH0$$WFfOG@#-C9eZ6ye>?kqv>9p1O(4EUyDshkx3}hTP~wYg-2D zVx_J{viAHVfKIP zqwLqm*{@HsU!P{aE*G+27fn1OFA*Gd{a-U9)an3GDaRk+q3=-NMAzTS&J~=5W0)xB z;F9xD0!b?eA93&b>(^k#RuA3y5xwaID@?5M&=Hs4cyxiliFgpzC;>eQG_LJJI;cbn0xExDuyNc)7LWxY6+#YvC;(FXei!&}73~v_yuE`0 z+dv^7F-jsbatvy;E<}SWRg!TVkUN-BJ#_3pvn8TR$q1^X7CG;<$Q?s5vr z=^gO}>gWYzC=lL($WK`eSbps+MZj{fpw5@Gxl$(65|Ty1D~bG^1X)h|FeiT?t3t>; zZ5AnkuO2ZP4!*C}oFuX%-zBuOS!%5$QsxBLjie0h-${WXtT(90iB_Ggj-(Wx7_tG< zz8s(7JPn@}>X;pWYOkmP4-K^cto*D2*qB>|xbPFp%no_&g+UM2f5mb^Ehh2dOo;2^ zVX7ZDqxy_hYaS_$m#V*6Tpv80C#7KIToodVhAWS|Z!r!qqLO-8ZJ2-uvjyQJ@gga9)zC{U`h63QFwz-IoRw1Uh+lgALn3Te- z^ocvb2s4tI`3y9DQ(8J)c{9_lNJJf`q14)+2ud?TiubP6fBfX1?YryiyY|0JYyPkM ziNjlOeZJM6T*(sOU_gJu5yDct0bO$NzhXVmsos))-h^#Xw}#$4qVUK1PDAnqBi4}_ z5gCO^L~45NF6?6@Gbv({99VBwE7V|B77Zn&qbH1g6c9>CitSmnEimz8{{`cop<@l3 z{}{#qD|)$YarFR#tn_E_25)YQZd{DIz z#sk6g7#h5hhZIMm8)^3ej@OaZ|HNU(eW?z~QKy>N76Jj?)tC#_8samO(3Y+&TC0iB z`l~)W#lniy4pss4VO0SW{QfF3&GW3{Ytz^&o-V0L@g@)r3R)3K(iZe=Zos-=-^nI$ zo}XQ>=PoNdjO2enk}-0qC($AaNRi7#7c7ymJ&KEpA4UEgFQtk95&7Gbg9Y*v5~Miq zWV_nagt9^N3MPL=eevRfZ8Y_5fY!`hGosR}M_c+%VED61url4Q?0~Fq2VGq$Cx!R@ zW(lSd2-=H?ibsJ*{Hc@|ia-qhFcyec^e7_YpjB0D9t3~9ijBBlS_vV=Z)ZM*b6YVq zDV1>nS*>zkDi`E^Xtrq{!TUsOUo4QW42t7-dFM8a9f8OB?yaa+(j+KweUmbAT@1^9 z8`s3bJjw7COeM-N-a~Y%6Bq;(?-UG`qo#swyiq*C4AYZ&NmxMxaOY$wqHi&TsuzaW z;qzaCR|kKtl5fx~WQ03DItC&|g=8O+*hr~DxPS`g=4sH7ym1(kN`UP_QKMzEu6xCT zL37s^f8{?+)|F3sgUuD3tPpkW(?$}}1nL9jC@8ze0-s$!)&|k+dZ@ho1m6oz=m}hr z6`@2~EoD$(Zj|lac|29y|37eJ=9$b+<|(35k|9KrM1~>}MJiLJB6Mgjl!z^wq>!Nu z6$vSg2x&kADH)QXXr_Lf)BSvp;r{-#oM4LCSYj9C{=TslW`09?*tj~ryZJK+Ekb()-af8j z5S{u~Xu&3SIg9L@?E56%*L5VG_42yVwo_xL<;$a+1eo8Q{oa||zdn-7Jt8kd@S-^;)YNEQ;0UYh^8_Uz-F>DDLP7PEvn|A=5TYZQw;D#|Fn*dt=&yA{cVgWvgb zYHU*DzJ-p_H_GQbf8zZS{`Tgqius2ZYY$mI=o2torQzvibuP_*yRJm)gYUAwMUD0= zt*vbaj(kO$`mHG%sL z20I4r#Bzz;LGpk(?v9m7~|&TsXjeaGm)xIgxj}l)30|!W=}*#F&waeuw((-Y)j;pn^BNp2e!bLn$X-Q! z4)_`Ksz2A@TZf<2%df%pb&M|#Yq&}~$#1aO@^qVOq~%QG^0tC`uig3+qgwyOzY5bU zQs2ErWQ7xT!<~iqlZ944-kBRJH?u?gL!3rcCP#fy^kd<@y#Wg94QxsE#%H&%E;ZSI zP{m5JsqW$p?Np~!7wxbc>Q2>y8ePvdZV`elgdoL zDmUh9MP@Rt_FKO%o#*&bT3GXI>lq12N=liRc=E<$mm_XDQT-XT)+?<#B^qXXeeim; zTfKLb;`R!Q*&;!Io_sZWCZQS==j(S#s30Wpt2swGE0g;Z@|A*8_B&&ns>6vF zJW16>6$2{tF^b-P%gz{w~WR9HG;#7 zIje12n$~NbJk!o$Z5u(%(3`nj@$SBZmF7h;I%eCl&)E;2xBt-XRp_Gf>@w?~l~)7< zcF2F(%_^eWeJi|2i{VqWS;Xsx@CLaM%a~<0O8Hqm&auzTs=V6`)flKjcaP+oA7j=^ zF}wI`Z=GLt*gj8f^8qW9LqVSXQv1%8Ci6Zp3s((U#JWN2^Yx1&c2+7k`Im_w*zb2F zg6m>A_k~D#K6Vvet}kagq&d{KC;q(h=&a4l;6O3+Y)dPZ6GAJDD*7DzwY3K;EatGT zYr5}~mb*W2kD=KfV{s>4m!|L3i()ZOwq{jdg;I9jcIV&<%okxRUS{iH|fl| zq;2_qe$w+IO$Xg+!{2+(zyFpHoSS0xO1*T9 zrFzNlyr2b3-v<32{{5TD*mOwW<;vI8Fw5N!Zyr9dW;w$>-zDbGLaH*Y-|p<&DWCDC z@N>1eEZfav!Pde-!hi0rJ`xb^ttb=Nx>@VK>-+EmJ0rfh!n=|~DZ@TJCe7tr4d+*7 z#05P5xP1S?)-oyEqK$%U5?i8W^n=4ZMY5^$&$m*T=jmldVs@9C4Ump_uoI_>fG+nX~R^xI{~Q z8zsGmch|n~ib`eAE>x+KXpEI{T02dWD2RHo`MlkQ@^^jW-5<<4+zcAUQ`jy0qRe8%doB)M=KZ#}s&(%5FY&wL+}xOs zO`GO*e#YY(p|$C*FAL;+!|ZK5&)i{rG^oDk;a8c@)*b2Z;-1)*ELa^JV9K*_|Cfg| zS!N_0v8z?S*kSkUy33nVA@2S8zJ6?`CKsr|LFA_`Zo7+QK?T&rw4-OI(iM;Y+`)Fw1|@u4&W@n|M>AikSnK zIIlST^XzmV?}Qz?;nys7Xk3pGe6sjenuWf~`_#r?TLZHaeTy7;o~kYho_*qIheCwQ zflOZ|8~5dj8f&Qf8J^imJSW4h<~&`q|Iqm@@5D9N7IWR;<`or;zFj02wAsz!flE9c&Lf@QN~$o}2Z z%Dd%z4sLkJZlihLj6wC~@72_6Q|&j`tURvY@4=)lJ)bYYm32$kH&OK?jQig#ns@J3 zY|`N`o5&xq^EQi<6n8#k6f}2N-HF;aEzSCsFPQhMhM%ek3#Rfir46U)>E2J%lVV$8 zAyGw{x|n!#ye6yA==_R<9Br57J#H8u+w1o6e7p#QWIN+>^6$x%i7+KkHIutT4HIpY zdhcGpTuoY}nO(p7>Bnm?x~>?m7406beYA5A^_g?ww`l9areYD>d8V7cns6&U-x(a% z&vY(9aCL&;z?s@r*4ucyJ6V}e*6k{BdmZ_{WwmzmCygih2Hg9$O&b*XwDnG7(4!$^ z&KE(PzKcFt?$6s9`)GIlEuZ~|inV(#?4VkQbUoVO#?iUAQS&!dG zA({H)!`zU0f?OTe>DP1Y4}DgN85X}EuBhP1W}KA%RCC$E*I&x6Wrk=EFzPxa4ZqW5 z(fukNdO2}c+@I=9+pui$mc&{2E6E41rL66@+dl}}=wHaQZ{@AH+b}J4v$=NXiOyn-iwzU6q?I*kCKjhU+JIVL)wwXglUiYh# zqI5jpf4C+T_(<}bhuO^+t%Ex3>kaD~bNHGRe>nL+aTj>QKCh{S>6va^&SKHIXT;sI zVzXXq4F}rJ%$MCMmz?{;s;NobM8h?#_np(uh=ADWmoJX4Uw=dDxN-JQo#patk94k_ zGd=19Ta^>Foln%A(z4K*`t#8Kw2;n*w$SVXwVK@w?RFciRG0Tf{$i`)Nl5&n{cHW^ zKXAP*4L$^=kvJ2!X2&aDDcE?L3 zC){(Np`?1RVE?1(=WXs#9{PTtQFI~W0E11@o$%EI=#D9NuQ#o#Ne%lMk-O4j>HZ&4mP0Bf+C_D3b{ke#SQfiy zxjj#CbY0;b?7QLp`71hGJe{vkkEq>$#Nl~Iq>7Bap3L;DfsZT-1$@_LE>(~nmRHxZ zrPc)>Stb~GKqy_YNukZDSj70y`E&VCrmJ;knw&m$-0N;xbLI>7jZtFfB=7S5tlt(J zy7+tG)g7^>Pwo3wYL>G-TyA8$q;#d>&P_K4BCCX*ilRkHg$`?&zNQ$e^(|u@!{p5 z_@z(g3%{XIWn^mO3#^rHW&hgvYn4D*?7I?|>Bo6ycf9S*d>OMe_(=}G(|w7OzP16c zb4ybS?P|_G`x*A-+Vcm2oFZm2OI-yQxQb2L_bh&a+Xmv3&+D67Z@U} zUFP~H8I;^=+Wqy&w}lxh{y)9fw253l>C9^!!{}-xsQLQpxBRG+-I19(8TT7C67o9v z`TI6KzHw6bns8yrNH=a+Sy zXJ`~$9{#zoWo3Bd@jJ|cQ5EcQo18PL8T-;i?%rx`XXYv=f)8 zsczUExbw4h%2kJ|zQE6`1WHRAuGSuYcI?B0TVBJ<>V@8mo*O#Py3{xQ1G`n$_W0$! zCJ$6U=BX+5S+G3uj;@N;?&>=H;dk88!$uh!re8iOaPwDlik8D({a>Q?`6(f#Pxtwy5-pTzPY)NWom>^1E-}k| zQ>Ew3=iieLQRh!*^!xCZLsa^xVRZEA_7c_rn=jkrnoU*bYTZ#!?)5s+pOm@ELgnBy z%Ne`pR=;61c=5UBy_`#p5P!&Xe={Mbd*;!6a;v+-A8s`J{Kqn>Q)ytUO;F_UQk&Ic z_UszQ8`o_OpL0qq!~86Zfa<1OvTGX^B0lQHUsaaed+O9;t83K2(A=E^r=O;loc?S! zz%XZ1+0JN>^L|dxtX&@$Hbe&WL>}r|Wbv!(jFZmCpF39clnoVRCg?hAz7E{pJ3l0U zo4m03tW6dwT%mLP*~`;b1YFFm%Z>rLkzJ2Grbu*H^_s&_kZI8WIk*VI)pS#XfzkKX+H7PMqcwuwQktijn z_S3%-Po(B*9w@RZo4+XPja~7EDu-{ktMwZ-?SJmtl%PA5;5_B>R^nA+Gc`HF2%AosBfO$hhl@x1+OZQ zzl$5|v3Xskqj{mc(IK`Pg(FOclqSuB zx3PXPK6m3zAJ*tooiBa$y}SME;=@%+>~BT%MB^MkoK5XtaLo2iv{nAs^~vhf=eY5_ zJXO>3;Mcw51_6eG`k&es)j3l>i~jm##ZxM_exJ?pod=_iWQFeYJNx8m5bG-5mBw2- zsP%6nOJ;8Vc}#NeF`}UKi$?Mh~pYTU&I~q3C+f%q^=n3Vu>(ap}$ZwN&G* zMx0;f??*Ga6x`WMU2{VspLS?*tRw?9^Qeb*H)n>SYV*`jy3-nHz^sVlGvSwHMM-QM}i zg-g8h=|>NrYDx9-#9$#J>p4uE*C4&9P!pxWoyn* z!qA`@#nw#q2GK=T@q1eEv#*u9<*_r(=ESuJF^B zG(|j{_c`5bHEF2$=Qz&%)RR( zyU3gScgO8_e5-ohS3I0^Px+gAV1Rs)sc8LB@;UvuQ>GUb9egeoud05@BmE$C`KIot zJ}(c2B~njC-bSgG5-PUP-X!&one>q9%mDVkjZ8V=_b*;q6`9ouT4P_g(#Ht&IR zJk(mJGA^Au&YGYFGkRHsw!bNIn)WLwKfm4Y_4iAR+cyPXsl8M^YihK8snumYRf9O^ ztm~(@hZ*$rWuy;N-Il#=cWL(L<6GQ&+xq_RLoxCqhrTM=esw&thTqj+h@_ zkAqiZf!c)!MIYHtxTjlN7~HhgANJEO++WjK+(A8=%f=k5^Hq6$-;S=COP1A%9FYwk z&P{xmClvVAE9~<-zV_;AwvX6$b)5P1K+S6~t$j_C%F=V!7Uk4=9e+0G@nRo+)ABzi zuKooF-6}=(xI86)i#9v1$sbzEy4I$yWC3^8%IU{iN?!O^YrYst_o5hzuMnSg_(bqa zFTd1omW`*WuE%HVIL!6zr-;n;&(!90e0bD2zrCxSvw^+gyf(X*YPX!Cj;Na(CRykTZGPacJ1&uc5Oy+-A|@7OlGLxt-dxb{(_D>HQv(2eZ?UKwpi~sR*dtu zn+H`clv$m9FEnpeslxmV%Q-jd9V$7tNhfVpl;XL43vW%^zNdWS#~nuZCGOUpX9dIl99Tz1n?@qmxNQZ5&3<07uy*K)2?&!%=>PZ2FD4SJ(z z^HS!huaQOEscQ_4Wo*=-cX!{c{>_uS$~l8pX=W!~0$c{BTEm|D7?Fhv_ZEXbDG z-m@^=l=%Mhbn2yOE9pqPg!U8HwwpeX*ySx`FkO`V?_(b8wj)X!gRP(Ar*F)0)Tnoi zxmKnW7c<}QnevO{ndx^$`P%aA&oth@Q&z^KWcQX&!ei#ur>}4FMn9*P9TVbq@s@mc z@KAF2#tpqwmaDAf=}MTU?Afk#@9i4rpT-ww7gx?+KA85{K)!r^&(E5>vp$?uzZ~$} zzM}4wP}F;4p6B~7*)%b4(zsQ}A#b}+ws@vafy~nTb<)O#+jynJ!e{?n?Y3m<^SyhV z$|EF#{%8`%#RL>yRew{_$axt^P>(HmZY|xRskAy&u*hAP=j_bi(mM~T=vFOut@CWJ zqI_Yc$p4vAAEftHE>X59ey9A+xy^6PtF#O~f|ukKbC(@jsWsd*&Fz=zH+kW3$2iR- z@@IEDZC0u;^7j99OkZG$|K}CY7nRn@_J@gwx-tK@pF+)KWcwYk@*bPyprfbPJ?izW z+_;j?Zp)NVv-!@^-RqRC>@M6_)i~A1BQo>mn?oPihdMiV2b*rG=Q(*W|NfyXEADz) zw?~J#HXIsSFn!jO3@%f~bsv3#8*5Kr%C5M!nI&4lX{)}Tht_fzwi-4AYKyc!tJ;9toR8;d(k}XEEw!F`nXz*%j@6mW#1CgK;%yohMJ{ zDTY#N)~0H^rlj<3xh0Rgol6yyOFbK+)Wp3{Mw7o@BY#FXdDE~nRp`6zUOn~~G37gF zP=42IW)<5l-$s1;Q?&YIwdwk4D`SqdBph;msZ{eRO0ECKZWX=_9!g!!XRqDYS!k|Q zGf2r64_Q-WbZ&NK{_CT*Z!#{3%BAKim(O-uabli4btt{PqD4LRrJvm{oo5y5mKW4F zFA6x{eej6iB@w+>(@XaCJ{J)#^y67EB(rkOU6I@qa*0Rob29Q7df$t4uAD;t?Q9`& z)r`+-HCACgd-G)mPe&XIS=+$YY*FqM_3pKY1K%Q!m2z4SOysU_-Cxltu6^O;W83oT zb)NRsTlGHP_n^+_*Vw+kXThB(zQz%$m(z@fH|t6-eJXeEk>RbG&zsym8-EC@t_l<9 zDZOtNk|5E_5?1-mNby$8%_~p26y`i;b!rqkYWKza1=HIfvD4lxV`yC>&3NOI%H!OD zu+rrbth$k}-7HwwZ*Jkyy}>;@O7zz4Iv2G)jpSc0Vt?&b5G`*=l~nTovR|H{UPTglT_u`-j`H6!C#yv#OJT&#TMWbswvap5%i&U&!zM|MSNTeW`FY9 zf3n6__;3`sd$%%Q)eBs8?&XTXS5I_$!{(VSS{^v<&*JM&aRDIm=>+L$m#k#KRobsQqos#RpZT|C0 z0H<2x(~W!C8XYNviQSK-OA8*SoBuAQFdlu}F4C5pa@zZ2%T{;OS+|uL_^2Dw?!P`a zb&Ap8#krT+ydSb&QTb)I;cIV(=z*XZM=_@F@kbhDs@$BewKjHtdp#{NYQcd()7cq? z5>{-S4Us?e&3;LWU&~IcV82s&b^g8RmW_EsCogSoNoQ*OP{Xg1suL6NmW9Hy|F&QE z0&kn6yzRPCcQ-#~@K+i>w7|WNkB5c2Ju6~hM__>zbO4xgW*_^n#$Mbe-tA&>G zP)&UlvLb4qojrB<;@KNKQ|dnLUC{fZ>f|ebCjp~DHrKg}X3RYrd4i*x`yyx2z%iC! zsXc0^PkrK4c){bS{ZVHROWrsBd(Qi^yF!-^&wPH++3?QplLKD=pTcpg0OSi7gS?@NadTvdK6Zn`>ePaleJ+8tT) z!Xa~e)d&0URg|k7mDb(o>m{Nd3+!L7d~4mQ4+0-&iw*9|y1>S++I6I>@`R`3#q9zw z2TWL9E{e`*q6%a?NTjiZhdnH4B9Lj?A*3pGW*Z6UDi0VLHxz(1=kqFUz}Os%Q$nkeuN&=Q%xQ=*RIZ8Zx1^p zGWm#m>14cn_WG)tyoH;a{gcNL)@y&|*HK{H>7OeB%Q|gglV?Li-@Ur`5!!HXXRtBE7jEK{gN(cuq%;b87Z`s z!DqqjLY4T3Q}l(aPCo2Z9C#$nwMZ^mcGph#?t^lVlp-iUR#U}}nq;)8*=m7)5*Bq_B~Xi^1EkWbArVr>K8p8_UXN+Op!mIUNFbUP)|?6ulAi z^xG@<%M7~npIo8z8&?S#ayhQh;&>zA(Qn0AtdJ6}^*-KWcU4uxlFw8Zr)vr;@AMzC z>Aq(XGqA7ZPImZ)ZE-y&3L!Sm3pTCPPnQT~e-h)jqmAKBo|2?D<>6(g>j}O~gN7C_ z-Dh&?gF)v;$=KeE>hK3=%71ffD6TG95+2RwbF^Q@D_uR|=C8u%57i!JHa&SP>$CWq z#?q$a?2>h*zLtA?+RJj1XBHMxZ6mM6uG@63O3Lu%Jd+hnp?)0)ugN@qC?NfMXi!Ot z;bvFyE5;L#7=A5u=pB#>*yqmvYICPrNC*1?&Y;z%9t&5jW%b&cc#UlvUWOKe5s}b z`>dtsuDcfU^XikrIR)v)#eMl!Pu~V4+3i(UN=VujXHoOw`5&43*ID~_FJ88oUygBr z^Tv|Gs&)GrbBJ<}&xu~bVWn1|^Bav?8{E?U0%nwXn3<{@pNZ$|k~#HKtM;gPX^I6= zb*70~CSJXFU;2+tcJD98XefH@tGVpJT}ky#du;Ja)b&#=_l_;cUUQ3`- z8*DRoFW5ajM8Vy-lDjXb-LpXJ+7`|-iNe8)9tPKzJx~fba9OD7#;7I+8AK`VAZ3d4Hk>i#Iqa+whrvQy2IW5RL0kcM;!ij1A@fh_X2;NUx~k~9jEZw zpWDLxrF2bT2g`L1_kpRZE6dZXcUpZ5^IL9lAc6Y*-I;9SQ7>1S4 z=U=B+{9Ll{O2{l}s*2rq)(gHVUg;+aGlt%O-*n`r3b)tn=(}I+ZyV}-$vpPwR{f@h z_MGQGJe&GBn4zdHJ0z$%+Bnv6)s^hmaqB}lt8dG1KEAA_NY8k?^rzW(PMJiPTivWl zIKX{n_j`5DWqWc9vM$U!d7{>6_|wdW{TzSmdF4;;L=XU|8A zUP0@r3=$4suLK{uzSTO0`M^fGpGJqeUiGfji>wriX;yTJTRFheLd`vXNJV(R;myE5 zO^M+hDkluL?OLg+Encx@17lUw9>dnYp1vcq=E_rtt%V?CE16JvX2!{?VS zHYeT9S5Wj^`CkCOlhC)i=#+~zWZYE;`mhU2d&!&6o*A^mawsZnU;2VW(Whr zf>VqPHcOaUgc;b`*%@dej~P9{A2R$ zlx5*3G;dJYh?pb_FAom`8y&$z^M1(GDLQQS^fu2r9X3r)mZz~UcEopemU%?25gR{! zyvvBqlySuUF>2=%BMxq*@W=Hg3D9TIWT0oUL~{?DDd$$w1EOtzJs>i$V1Uh-J^&90 z9uPbrctG%g-~qt{f(HZ-2p$kTAb3FVfZzea1A+$x4+tI*JRo>L@POa}!2^N^1P=%v z5Ii7wK=6Rz0l@=;2LulY9uPbrctG%g-~qt{f(HZ-2p$kTAb3FVfZzea1A+$x4+tI* zJRo>L@POa}!2^N^1P=%v5Ii7wK=6Rz0l@=;2LulY9uPbrctG%g-~qt{f(HZ-2p$kT zAb3FVfZzea1A+$x4+tI*JRo>L@POa}!2^N^1P=%v5Ii7wK=6Rz0l@=;2LulY9uPbr zctG%g-~s*jJRq9HLm}J-*o6K^0nxEMGzy5!s^7})OwaPn31kmuXCec6q3pKw0q!t% z6ULE%%`SF*`T&joc^*qJW^>39t~)5)gu!(dG0try0z}*XB0yw{w-(1j`T!6hAV5HX zfB*pj0s;gC2nY}mARs_MfPer20RjR91PBNa5Fj8xK!AV%0RaL61Ox~O5D*|BKtO<8EnupeMQz<8EnupeMQz<8EnupeMQz=`FgfoORfN0xa1BeWe!xR=oflr*^)F^&ZMXK>G_576kJmt<3~xQ#e> zk@OF3`%C|j0ctC^0et}U59lAzKcIg=|A77h{R8?3^bhDC&_AGmK>vXL0sRB|2lNl< zAJ9Lbe?b3${sH|1`Umt6=pWEOpnpLBfc^pf1NsN_59lAzKcIg=|A77h{R8?3^bhDC z&_AGmK>vXL0sRB|2lNlvXL0sRB|2lNlDcdWpx=gQt~~ zi40iy@+_tgB>VE1FpdOT{CITf12paDRV=Y!fK80(yg*SJk%b~i^@q0oRe#8Y)?yAZ zBIzWr7%?M>!aXhv1P}-y5I`V+KmdUN0s#a92m}xaAP_(xfIt9&00IF70tf^U2p|wZ zAb>ysfdB#l1Of;I5C|X;Kp=oX0D%Ak0R#dF1P}-y5I`V+KmdUN0s#a92m}xaAP_(x zfIt9&00IF70tf^U2p|wZAb>ysfdB#l1Of;I5C|X;Kp=oX0D%Ak0R#dF1P}-y5I`V+ zKmdUN0s#a92m}xaAP_(xfIt9&00IF70tf^U2p|wZAb>ysfdB#l1Of;I5C|X;Kp=oX z0D%Ak0R#dF1P}-y5I`V+KmdUN`tK1y|L{DdzN5-XXYU#tg8&8r3<4MgFbH4}z#xD@0D}Mq z0Sp2d1TY9-5WpaSK>&jQ1_2BL7z8i~U=Y9{fI$F*00sdJ0vH4^2w)JvAb>#tg8&8r z3<4MgFbH4}z#xD@0D}Mq0Sp2d1TY9-5WpaSK>&jQ1_2BL7z8i~U=Y9{fI$F*00sdJ z0vH4^2w)JvAb>#tg8&8r3<4MgFbH4}z#xD@0D}Mq0Sp2d1TY9-5WpaSK>&jQ1_2BL z7z8i~U=Y9{fI$F*00sdJ0vH4^2w)Jvp#L5i^bf~lYbQ8{whz#(H3YpLcAP7Maf*=Gz2!ap zL?DPj5P={9K?H&b1Q7@#5JVt|KoEf-0zm|V2m}!bA`nC%h(Hj5AOb-If(Qf=2qF+f zAc#N^fgl1w1cC?z5eOm>L?DPj5P={9K?H&b1Q7@#5JVt|KoEf-0zm|V2m}!bA`nC% zh(Hj5AOb-If(Qf=2qF+fAc#N^fgl1w1cC?z5eOm>L?DPj5P={9K?H&b1QF=JCj!wp z9$A8`Qdogr-Jx+nWVEwJ*peI`2q6- z<_F9Vm>)1dV1B^-fcXLQ1LgI`2q6-<_F9Vm>)1dV1B^-fcXLQ1LgI`2q6-<_F9Vm>)1dV1B^-fcXLQ1Lg24eGL?u)qVV$YFtE|tJT&fy z%p$p;5xqx%u!&%jr1N=b?hlzjx<4{;Z>I4P;mlJ7=o0<{KwYtfae$a)oTI!D5gy7U z#F;<>K(y^I07Pcw42nv|Rm$-a0g3!m=`(-;0RaL61Ox~O5D*|BKtO%{)ut~kBzp>6Ses#x{SW8HdO5FXkc@=m?U9kASy<< z8H@7Mr<8?@$uf?#+!{fq6q<-q=%bsB**0Y}b&rxl(!|C-Q3cKovCN^(L* z^Z_VBP=ufeK@ox?1Vspn5ELOOLQsUD2tg5oA_PSUiVzebC_+$#pa?+`f+7S(2#OFC zAt*vngrEpP5rQHFMF@%z6d@==P=ufeK@ox?1Vspn5ELOOLQsUD2tg5oA_PSUiVzeb zC_+$#pa?+`f+7S(2#OFCAt*vngrEpP5rQHFMF@%z6d@==P=ufeK@ox?1Vspn5ELOO zLQsUD2tg5oA_PSUiVzebC_+$#pa?+`f+7S(2#OFCAt*vngrEpP5rQHFMF@%z6d@== zP=ufeK@ox?1V!k-rwGwF9%FiNho%RS0a6c=B%)@p$kPZRI;@9A2#rY@b%f|rXpYdB z6n_Iz0r~^cL?JST6opLb12jj743LhH9({mD2z?|gu82z#Ihx|KoTo@ah_?MDgve;m zEO9;h00A1VRXe5C|aA1VRXe5C|aA1VRXe z5C|a2GKM;N({6P4D z@B`ro!ViQW2tN>hApAi1f$#(22f`189|%7Xejxln_<`^P;RnJGgdYe$5Pl&1K=^_1 z1K|h44}>2GKM;N({6P4D@B`ro!ViQW2tN>hApAi1f$#(22f`189|%7Xejxln_<`^P z;RnJGgdYe$5Pl&1K=^_11K|h44}>2GKM;N({6P4D@B`ro!ViQW2tN>hApAi1f$#(2 z2f`189|%7Xejxln_<`^P;RnJGgdYe$5Pl&1K=^_11K|h44}>2GKM;N({QUQX9}?U- z_;#$sLo+VIuc;c1X;k+yB?}>5C;|k4qYIo+C{k+VyXTrVmUXm_9IlVEVxHf$0O&2c{29 zADBKcePH^)^nvLE(+8#xOdps&FnwV9!1RIX1Jehl4@@7JJ}`Y?`oQ#o=>yXTrVmUX zm_9IlVEVxHf$0O&2c{29ADBKcePH^)^nvLE(+8#xOdps&FnwV9!1RIX1Jehl4@@7J zJ}`Y?`oQ#o=>yXTrVmUXm_9IlVEVxHf$0O&2c{29ADBKcePH^)^nvLE(+8#xOdps& zFnwV9!1RIX1Jehl&wtPKA;Fz+5h(|HaHmB?>K+pl8AunCnoA$pY|OSPo2fsR81~^5 zBYf{lX>eX30Uz4-7w{pY%{^>l#42VM4q{COg~G$bz($t^%?FwfG#_X_(0rizK=Xm- z1I-7T4>TWWKG1xi`9Sl5<^#TWWKG1xi`9Sl5<^#TWWKG1xi`9Sl5<^#IB$8s_skmbf?|ZN`~FIzF`Ruj4}ocz#Hm(g#5IfbId^ z1G)!v59l7yJ)nC)_kivJ-2=J@bPwnr&^@4gK=**|0o?<-2XqhU9?(6YdqDSq?g8Bc zx(9R*=pN8LpnE{~fbId^1G)!v59l7yJ)nC)_kivJ-2=J@bPwnr&^@4gK=**|0o?<- z2XqhU9?(6YdqDSq?g8Bcx(9R*=pN8LpnE{~fbId^1G)!v59l7yJ)nC)_kivJ-2=J@ zbPwnr&^@4gK=**|0o?<-2XqhU9?(6YdqDSq?g8Bcx(9R*=pN8LpnE{~fbId^1G)!v z59pr%9^FHNJ1@4&m=oQBGJN#v4$C%~r;JRrr~`dq-VPa8roRDmq9u52+4o?X+|g)e zsLYr$jxd?iqwQVXC9{&gJua$@7$eK)SQk5@W(LbVVokUVKV6*I87}i+SKwB0*Vyj6i=Be?Ms?MHcJ?pgc*bx*xA_`>dB_ROiMdFGlYR* z0g)3=F&CVeLKt47NHKQ}u@a2KtlA>13~ZC+Y)l|?IvA%Ae;B9e{Ywr{A(`XGG=(sp z%OXW+uAm4^INH-#Vp;~7C46}bF)T}Fg@-cn&n6EUFz(Es(x3S$Mh0aD4u=2xxAn>t zLPm>ChM18=;S-!#OEi-QVdNqN5-Hl+6T>ccI;)zi1UVTPQs*%+7>sF}MTd=$-AYj- zP9;*rCu{maB6%BR7gyIW%VuDhrOnJBH|8MI37ZoXwF#|1izT8? zkgdP!VI%r_*k+6j%+_%O^K9I}sEujZaDa`l9bnTKnW2f5giR9JdXpdfNRBKKlSC1i zF)_=83q$rM#jo`#mLhTfJcI0^Cgp*;WGwX@RXDCyN()FA&v&e%5jT?Z* zaRZ<^rZ23%Bh^C0G+$22$f-`OCalhoM>*g5zdRw@MKLkc#cq}QG^I@PqG-@yU|2Hd zIOmDFGZZ_m$%@>g-8?iH85rc485m5)6g7SwIp{nh>MS`t6HAFpXUQ|$|DASbEoUjx z6Ox)@3EmWPqzx``5yls|G)JzGkZ}XlG;V-Y$DG4yB07blEjY1=s3RL@)FpaSD6?iv z47=EEW~0oQ&cwjb%f`T9Jf_WA#Ikdg#gny}d5-K+iw0qHjxvMb*5u|HnUjf)6XL04 zry^!>6X7$sl_%@eOR`f>eG`v-Bd_2r^0ufl?gWmdQnY658aEOnMgLn0$Q!ECn4)7u ze=0>&aAFamb)GyMmDM~%Oe?oE?PD=X*3pryX&yX8fEPuD*r>t6Mern3cqeO+@d7!t zZiLJQir!@5jbxbls~-MJD^mJV8y6**;tB|*1W%5=$eM}p(6LKiCwI+69?4(e})ZAAj@)QN+C+pZd+Qcvg z))TJv0%{|DIy`P--u-_krmle~ZV*rzxvD2C{P#KWBsO0n?_v{+Xp^yOB_WVYktbS0 zDO?1fxB%D4*-w%@IxVl)&?WyfHxrXx?EZaj>^%OjiE$G&SwsImL5T!^E@ig%WJUBJ zo3S&b?kPwJcnZo**2%V5B0HD->@*4p5oH2GS|cBx=y7w@Hg1m8$ISnHQ6WNBRA_Y3 zovf06lEyxkH4sPhC_37c6>+R}T~|t8;){4081%**?kPb&#)MI3j;<<`)~1$kY&0i7 zB39&PIHr~}`ERXsvJl_MXiPjbQIb!N#v@vyGGTLsar8blF>&liV(cAZBVk-XUVY<> z+G$_Vm}C|cX9~!U$BY~2_HpAp_OrR$S~%{Oq!dB578V*g_lecCuWyvf|K+ib+_nV; zCLD&ibcO7sbgeLvyNIGnTxOa&x(-d!;^-H-Uu2@O2-Dv$a^tf)XuV?24Hb#&Czqkp z(-bl7xN*nq`2TiIc((}AA0aYhq+1g!Y2C^j9?g-btwfV#jr57}GEshwGGB0#@Muq> znWqv0&Le9j^Hko+j@CtcpkOx1of>B)Fa5tSr3vHu(>1O?W1lR}U7Z?NE+;m+o{Su2 zV)f_~2J?Jv(UH7=mX1l%qR0mkW}P{rar{bhgx@wX@qcOV*GS&od9=LWLI0Y!@j96o zVDP{8xCnm((b18Z(T{_oamFfQL~Vn>=*2&=nl_^Q0>no1-0TELSK~?YMu(KTO)T!1 z`u`2-BzdDl$`?$_`)5ce$r~Ng;?V!K_kTk=N%F{$GF~NQODVGjCkc;^q~dO|I9Jub zPkrN)KE@KaO37(?t|?A1>aqyYK5nPR4d%yjgDF4eHmE&YocKLUTxnz)Caa{sV=IoS zynA`HQi3Q?qX=qFa!}x4`RrqKl~{U{qBvuG zyqD|={WqMkJ?SP=Zc@~B&W<~iks|tUII?5TWZ`-V26rDHLiPqle$rC<{*OK0^SA#i z6{g*YCLWrIDJSRnA(2x~K1xjtk6kyU#+=!lPD0=oMP7S+Ro}Ql82beO=C~x0H;*Fm zznj&$alIy6Gq^|QeGR7Nk#DcLN5*_&o{ODQj6v>h@+{aVoCRAL zt-3$-->U~o>{N!xkt7nmc=?{WYUWmix_>A7#JKiNA5}g4=FysY5)KL delta 565156 zcmV(=K-s_9k$>=ze}IGmgaU*Egaot&@_Pbvi8~W*OahE zhaP3Qy{}$3>*h~&B$^dD2V(WsP4S{=|A_Q@rB$dnmbEopxB*Jd``TPBg0;qrV&F#J z#nPL?jz)j|{mhND=`76G-tcwm2V|`YX&gWJ2W$!0A)_T352=FlromH?7#|Nk3z zKcD)j)+8y+S&C={@$bdv$op?*_ zq7|V(6vJsAU%2!wAz}Hjuy=4+fV%U}*MKY()f~e+=ZiYWS9Vs`f*yH;b3I8$g=IQ7KJ%nKIKD?GpOGqF~*h>@)TP9|Q2Q+#ePsm0S8^G_uo z6)6TZHRuwq$<%hZzwZ@Q?eN=S!6|MY=_-{0!_2>GM7#HhcGG|&0ay8rV!L%Xq!-8l zMgPG=~l*YPL~ms1uhVpABRgx)eYsrd_C~{bG*8jamNN07?A*< zl}c7@L#|twYsekZO{6PG8NwOb4wr#&4;KO8ml5j`F+J(d{Y@Y0>^E<#wO;ey64pOG z#rEcF2F$6_X!|I)aC%`FPhf753vsU8>6lE%FMpzy;G;$9?RjY>J$tm5@hTG_3)d>A zyhGn^{U`#imr%$C8h^~T%QSqcVZg!r&Z)9f$Sfp2x!1e_f(HMV=-)CMBsXtPNgt}L zG09`WY1Zzv6)~GW)+YYIZ*_r9CRM4{j~1Q(fJ1?_*W%TKyuLd}KAHE7GA(snRfsZX zAu6wob~DW9B)R&#S7+mv{lPRG?88|LWN+UOhWl{+gBtr>YBGL8lsyc#9kPU^mN~;uVLV+Y;+{zZIf;qs>h@hml3TH9t+h$#T1TU6pmxE z8kcdu3nd-A{;M-ZQ}<}8tq-uh$?h5~Tt8r?TYnC})Fwlfmr;BgQvq?8(GDIKIhl*j zknbE%y%)OsKcbT<9O94$Gq8=5k;COi;dkdT2%iISgn;W(tX-Org~fABETn*2ehrrk zBcilX0=`XdzS%r4?Y501eZZ}4?YE#an3eY zmw=iD7y?8xm(XVv7=L74#;?tB1MNyHJIyi5zS+q1BO@k?P|DK~Cf|$v=zDZnHwuD*TrL=`DbYFzR+fxfGRkgZ z1dB7bsqfT;@tCY|e?uGK%eqDk62smNjoA8--UDb=U48K*H3_W6nUdYt3lFziw#kAq z)~Y-89|AP+_MD!C^di>2c^PZ0TG^z!mC6K z$$qGme`h||{dMFPrI^bbr{pBRi$?KRM+ZE;~_@mvT#9IX!Aw*fFo)GGq|JS%GpsDD|b2`f2&-=mMpyQ#;@nz zY}AHRgAK}7yI`CdS<6U4)`@8^j5k|6Kek=jf8YF;P&1-R?s4ww{jqm|>-dD7OgR6< zf0$$xfUn;yVZ$oNKb0+eC??M}{$1HpyR-a@O%gVcgA8+ebk9zWigPwt_}&;lIW8PQ zF1cdZ$cxnRpKYM3Ul8tXK83_pw5<~gVYTC=V2s=5?3K(`s3d}8P0otDXg&=DsIuOV ze=w=ffX_-Q{Okv#@cDfW-cUexlc|kp2u>sSj>c|UvBHRC%%p+32*<_(_{doDB{SO7 zA4K=h^h1_0y1mr;#Y#-bDF*EU%2D&CLw^Yi`9EvsI!3<|GV(S{C{^B-to&9oI-_GZ z7<$mCO0G4TS%*|XJTg{Om%b@=c~ffTe-bkA-Kfu*kVQnO>b>RMQEz0^D?#ljDkfvN2eTmM zd#zHI-d9*@V__MCm8|0$tnZA~JzOpbl2UnbY<*bW6TGD=>0yK?J&qY%i6EM$e;AQf zXOkm#HZfE8-DMoAaO2bJix#6sgKg{7cJr(zCIZxK1-~HkY;6i=ve?HX0#e$9{ z82COSulDr-PTdFRx_U`-V!u@&Oz<^h`9_O21GI=f8`F!^c5*IFQ)0#Ss+66uH)xn>Bv&j7H;%S`*#UWEgDig z9xQwEI+(sP@U1o+=Nj|UiFI*k0e)i)@ zbqL!5@1ddKM2}s$30G^_n=r`Rxk}%XOSU#u24B%VW$ukCJIw$sfA3?QQt?}&&g+6G zh(_WOs+??>{2cbNBQPhu>jto~rwk_#fA9D3J&TGQ_(oW!Sl#{Y zRjJ!97ZB3)w$&q%2S%AmlFKC2!zB!HH=KGw=#S8AuCmiz4&23Z|NQ1N+yh>xo&XXm zdGr(dlIdNG3n~g{9;cCwKJ!N-JTlnxCz8^MpdkuAv;YAPX=(EEqA6f9r#{2_3Ur;S zHf}azK6ghof8YW?yA)2wS`~}cRnhs@Rq-{r4#UR?=-Q*_z=B|cl?W7}Kg);7u1YVV zStyi=juMbpl(ps$fk*)I)5>6%1ZDS@<`<-{F6 zR@B!f12+KIpej>ex*l?Cv4<~vgoOzylmlbW1=1l*e*!J6NKz+`pfUM3^3rN3G)?TP zhI=F&2b@Z#<+}{kFAlmw=3~|Dy*S*X46#doK=4{t(?=Z)h^UHcVzXMKq;%%=tA{?F3eCTVm$CH;JqHfQkOGvj27?L5$r?u zPOi?;N17r0(S1*)AWp=c?LR%mZ2k>tzXn3Mf5}t0KgA~YB}016MzIGc*1|Y(U|1WB zrw3EoUA=G7b(C8L3&IU(#4%oikN$9q>X4gTzjS&4|L66!h>^#E{fzFoH-3a? zf8=hijud3!+`u5iQo5y}DZwMsr(CL>a&b2o`F+8qg~Wk7a`ofZ*4B6IriSnwh-AwG z1*Gm0a!NupB~i{ay30JeK|K!pC}YeaawY~&l1?FDw&4=(;1xC^4TbDP$X4tZtNP}~ z7Zn7HLg)jymQ?FC`*v9>5JDfk0Vky8~gJ8kz=MFa`I0LE_Z6p%MMD2Et_`l>ckt!M2AY?#f zl(|Mm(O49MwX>?H0hKUuef4+&< zi=q^Ih@3Oz4Q`NM$hyNG;!40LT!X4NeG^i}YP}rrP#y2-8hu5{*%)s%L(L2WwT5w; z17)Tdf=bo6EAmgmcSqWcPUR$Mgzi_Ql(g_TT6@tDD=dbHX_ zrCZv{l4hfZ>$V0{IpOkw&5_sPA;m!s9SGUc39fEeY8zG z_~hp5S7-9AKK_<5Z zNhL!_`G`0a=WrOZqOY>^e;K2BO@~WVeDPNYVGh*cIo8l7=fJmr4V=5k)2eNCDR=gq zN9c!Yba5Ljwni7fg^wewa_Pi=d(+Jn&>Kvt7 zpjoT~91&?zx+GE?q$F%wL-FD5){u@0X(B2?$dvxuJ|HqBwOmGy^G^Rlq3VW03xb3uF@~ z7^$??FQR}>e)h}#QvU#6l+}xqK5#SrqyAz4xL-ny8}$Lw!OJqdN|5)=;@^b1$h9!0 zfOH4do5j8I-oajpe}9(XXIZ_42mW~o4@b%42_}LUhkM6nzC)E0O5-f@O(iK)q9gsN zN`q3UG+p%}6>$U^j`vRZ)e*JlP&J`g*gMs&fD-yr$uT?@vF)eurC5S2*jQGD<5&Dm zFX<~L!}O}zW!2VViHa>_>LY4j5x<|RrXN$WhuA7LSV<>Ne^ULW)M=;fmG4+p5o^|? zpOGvXo)a0KQqp#up~GZM%hH^Z8bF#`l|sfl$$v;S(d3N7a!LM{A%X`2pRHM{gdMRNPlFlaf8IcfD>#>kF+q_xzUZR?RG$yVFYAxE1a*uRAZXK)LW_CJmajI!TMG6n58L>5tkpd<|ejn;mTd?2ew$BtlG9=!$Od ze;1W~*MalA06l+Lc%CdfGBR@sVFJ6Os1xs>NXLvM+gBCd9VMn5y!08Ue56H(g$sNh7`4Nt^OD zkVdnL>@TSJ@S-GWr)Io0;n-DzW2=75V5bik*)4==hG8)}hkdE)0?ZE><_f_Yk?bNi z*ZIxoT}SLJ=^{q$ko6-Q+8kgpbU@?S2Y23EaOkUR$PiCj>JnGU4e?H4G7o2Ge;Khg z`9|TSFrx3H$im(wxy-Jk6@UgFuF^B$v5Q9w1#+f1=_>U{LK9of zhNX_9#W=7HTK=>xqT(v5BSeJMc$u@EIL(TZC9eheB|>Z^rTFa(qwJEf0s2g`a}`?n zP$U<$dd$;wm(MXJ`W`Oh>_NbZe|4uowgg;Fw=17%3}o(TApmdg=K`UYzXtA%AsR{H zk=wGf^Am5(I;R!oq7TQcbqqR)g>9m5G+-5xxe}CE*LwGWZ zP$BE&n>a1dj$_lZrUWQ?4{Cl>vcfAWVFF-A*+da(`%3r4 zBu%B2<)^j*&pTY@2B>z0GnfNHKDZd?c}Co^G=-gmvb$s&ilL!QE9fP#^l*OPYF1BHc&}x>+511P5}c4Bem~42Exem)wSe z+bhm=_ti@l7W`DNI-M^hJOU1e7{yYdB#%ymT}rMHtCa7ze~{6+`TIHk)X=dk`MLB0 zT$l*>Jg2$@O%{LBwUEVE{Ii_=JTN61TS<@L*X>|P=B30*yB6Ps&)uo#&D#ohzE-^* zAgP*=G@s$RU;^t)`1! zXEQ=>RygU-e@D$BYpCo`>qSC(ELS?_&IbO&5-#E`^@Ul8?QWQaypNJ-qBFwoMv68j z${tT&^Ue+4i%>GZCs2GU8`{>qCf0~briN;Qyz@pE1!NCcxj2?G@RKV{hKeQ&^g;t7 z^QDxzxY{f19zJdCPUC7(aL;VW@y;7nARA^fIyg8!e<>J0*`RGc9G@H>+iN#fgFMm@ z>sDZZ$uTMtCDQ-rKFt6&=GeY5iXWEH}EZv60X%qFdHA020*tEWM5RP7Vg&7i~R7Xo4NXOn5 zYqg||f0UmQ9im1J))6{ighRL|D3C>VwwaLvh?A#X65gU%# ziXd^`-DRGb4VU2OjQL_rL}5pwIbA^@al(b9dV;qRGEC~S*m6xzbRVc7y29{%N4s8F z%})Y3xNuEE`J#(jTy-`@Azy%$po(pP7D|=}e~nz7(vmf$0%2~=X=2i-+>s-ZBq;54 zh&p^W2{$9K_NjMJ1@2*O(g0V^KJZBX6YUK)8oCbgqFcxpxoZz$I5N#DF$hSqLieei_U;HpwAD}Lihyc&mA&(?JWKmv?=5R>hV?7+fD!%n#)QhL5?9<6~vugaN zQ~dI#f6P%!LL{9|hrLb71=Q)bu4)buxue299pB|6#+2v7{a~jgSn)SN$d&^?n)vqD zfs0M_fBU4E4xFlx_DD6-x&Lg|Y1Y_9c{)q)%SZiE zUqEPtk7+LuH=P0tjJzkO^tYd!@_zY%5z}44h3F9R|A7b2x$Zh<4{PTg=ZGC{A$Pwh zpd8jmXQ=&r%lkzqdi2rWJY!V&Tuf#QPJZH<77wg&!yh!UY**|Y@6ZtZ4Ok+le|WNo z>P@QsbF-bXB80KPo4n5TA|h1L_)*{uG(-#$rZ=chxd_kgCX;|2bUb8w(4;^(8I zq-qsTpjhI$#H`1%h)PD&yZ2vY#*fSnX{PE(GIJOQ*grj&nNgSmoO1jxWqb^wz6Z{k~v4{=HLD$&OOZcgVDgu_w&8ur_7h zXoI$SF1pKKmyf=4SuCHM!*rlW>F7lLI8D&vYheZ?Up`Z{y>bl5i-aXaq!pkz{%|vl4Bb6i6bCrh6$G!YKzMZp!>fxRUT{uZMT%il zckb8el>y6u#=PF>#+@e?f5NsPPKo;1?2&J>BhjxSzd@>8v0_34^-MYFu7S(I(K5xh zyz7n$V}scD$`1Yn0)!V~(N7xkE7vqY2F6R6nNgBQ{0M+O8ZC#SXYvD}-ZSJuILeqy zR~jsj+OZCV!{&2l?l@s`93>23u@-7zYdV-*#gKR5@bryHcVE&se|qC8D%=fJdp{gz z`JWyEU#(It1DueP07O0sRKwi>=f>MREG=?E6{8h_R(F1#B;^Zv}kg8!8iZ zyz*t1%6AK69}+&1K?DZRQ?>D~NZNllIWe++&4-0I0U8|@0d6QJ5K zg5|Rc50-px`+f2sRIPS>XB!XNs$ItNDSI0IQu`mnnF(4N?lQDw2R{#z;aO%x_Lg;fMh z0y5XQr7Jt$YfUG^beW`UOhc!k8MZyvH1-vJc+A`YmA-1fRQL>6I;aBsOQIu+c%id1 zJ~dzs3Y0ps$-J1Yud5G)#e?N178r@Ta6wF+sMo|Sf0+Tl!r^eah*sm;a){TAnmV34 zpHE*qa7I;jNKI^)h-L$nLTjW%hk>VBo@Dv^kzH4DU0pZs3$h879rJc7tv~e5v}<^yFKf}e`s*9Cd+7Wxc1A@+AqiHiXP@sfANA3 zmDLZi`e4yx8c6{j$&wWi#2kP zIUZ%<6nUr0W*Y;zvOGp)U5Mu;+ydf!R_oT(zIJBEt}&_hIMA2uC)x&2>vO{W^ zf1$gG*iz0_=X)Hg{&*rs=3qn2N^zt=1rP$P_H+7ZbalYjT5>35^&%^w(Pax@)M~q$ zL1StBTyI`B+pS)DD@hEcb{M0nS4ei;HMpZPuwZ7hJk3TbUI@?Pj2-km2(LV-g%%2O zeB`~}pU^wv_%O_qeN1DDT4ZM!MoD7pe=a?9U&_Uk!^6n9Ok0OHh6xqXNcS}u(pADN zAglMu&Acx0rL51Ij1OLc$-(0Y0}V$8tsSl~5wjtqO0VHYlh4WAWuVx-PgSO55>pO> zec?uNZbkj$E?@8ivya8T0a$d$COI(N9WMelbvXHtIw~>3IfVtK`(>swsq~gIe@Si! z3gRS7dr^8rd+}x=@42eH=Nd#?>#Jma*M(-~($ZC4c^hsoI*oCSN$$uOca7`*b>klX z?N!gO8wxs8tE03tRyJy=71JE=jwD`$o93?b`MkC3G%j0kSJ5c3s7a&C358@un{eFz zhN1`E0iJ>KE$7JH{5};=mQbYEe`#J`!eLKxfquJro2FI5hmd$cSccWjB=WUdwB`Va z-Qk48(yt@CR*E%;p&xV*&nN?CnIJouf~82C8}wc@VRHjHsGT$gbc2qSY@w2Etq}dy z`>FI;OBCU5(0}qp+BU=+NdwK%wPoChp)By+8j;U6yB=5f3Gs(xBd=Rue`5DhvJF3W zzSZ(0@hN^r`{Dzr42{UjvOsfWyFW1aCLaH*S>KV?(pZ;5Gk(!LjPk z92dL(f7y_18I3}1@YQ@ge`mX87VjksZLgG)dRuvv`~JpkoR6GKG2r^58!tzG*!2+3 zhK$b;hFQ5__j=b_<1uiTBf0=ra_8-pwXg3>;#(Ka=5m=Q>&eQ_-;``OvE<|c)Vm~g zirq)DzC|32AsMD4OM=$lgj1q#;AC7{$<;ck>l$NInk=Fsz}@D}f8BKz@!ZxEVe2kh zX`qESBMLin-y0Gc!#PJ2N;GzbIVQ6UC5C3u7B(g#CU=T#6kK_c$wK%yLHwXQD`OIK zbWv1`h|9N>MHDg8m~D7xm6nhJX#UN+G5aQ=_Cgs}W!*u3^XMQ+PTy{wur$$}@y@Ng zScK2wFc2tF)JF!}MUgU@Ib z8H0zT7P{y$a!X&3YWm1P7qecLSZkPiTUKuw%t}ELiQiQ;(g?>|VAgOOxeBP(tD(F0YgVGvJ-nZ>=5ht%$R>{a!mS3bOf3ZmKW~({%osjc7voKZw zQB3~GIU)5~1(rvf`0135c(@fZV%U=6HDhMz=Jn?Ou*z;sWTdY@Tn|Ux;llF*ek15{ z0!3t&E2B|E4ulS9)Wiboj8Wg0Bnp!225y{-CT?7~*@RP#e1v?6&XQo(nQys1a&SvV zoiLqbOv##Qf9NV?sN`}h)=g|G$kI@900Vk~ill{Ofa@EER}rCyp+QhmlJc2R%Yb%G zYRS=^(#GAB@q3DE?u_q5a1HACk+++Je_?zO7|SKFtz2aXP0bfR>OoQc37t~Z4DJ+g zX?XB5i{d)O6#T}Wqh`Gsw9s0Ty`89Fyn7MSSmMM5f5Z+beZ=`?JrTTR+g;$^ZXjA8 zT-NaTQ~kamG!FsMf{lJRSA$?AgLbeKsv`aiE@NCOzdh3G!u1b6Q#2MFeVi^{ zKq%l;7*wMqR>c&T*lFVCmw5UhdLnstI8_AKL)SrZcTr~qT-YN-RgBC6R5tMu!d<3a zQ%Djme+!Ky+~ky`kZ5<&y%3dK>?x@|lAR@a<{WTu*%C+966vvkV^xaB!w3xtM@!tn zJmSO9CEpd&KQCiF*cLI7hD2#E-7NS@j4FX{XUia2^x`c;{*hEfJo^)d_SXF4;dDk3}`I8W4(GPx^Zc46qvaf9f?osZiUPVIXz?)~;rlGvbwFMQPY$($~j^ zadMO5j8te33<*R>mcLMN(wJ2ZJN#@0a1IlYh+I5p~mH^dVAZrPV={PwWz{r_xh{1SSy1uLyjHOzn4s;a4pCtXP-BN;LrSM-~n6eBmU+b&%=N*9JO^-${4J4 zcu3u_wG+b&R*~$q<{}#ExFes~EBGRgpQw7Q?$l3|*CpE|?Y>5QFb6h_2QRtCTF$n#`oMAzNaVr0tQOe_2+eZ{eJkRk8_Z z<4#eU`>Lc3>88X0(y;TpC5p^QV^+$D&g#3(7JdX@CuJa@~U7{wF6}+2be3KEta@isI z&$i&!s$8zI>IRD{2^4*-=(5TyB52gSX=y9Uz%zhzH|KF*e>UV%Sp+~E@yXPHtOE`+ zYodjyfL*n4SsOB;WRuiubjeg(jV==Ou#XoA1m=$!b6yM!D>-ic3gluTWfvk>XTscV zv#}zU;s=)P5m6eVX?so-Aoh=v7zDyE6Y@x*;Qw0-rS*~ zGt1%|Y?e`DeFG%$w4Gh7cNS7#UqpEuQ6);kSgHKlQgm2((B>pV!=M* zFwGmsoZSJrkU;wnbo(!C4gQA@xqHMf``|cG82&4Zlkhp=xg>qjWxd%Im9#>be$W}C zBVBYB6|>B2HTtt+jxuC(&nrj>PJtDiDU8;)j5FO4RD?!c+R5Fw%oY$lC=jnL@JsREc4 zxuN!e{Tk3|#*W-@N2Ow#kP8_G+^?KFRr5c>SA@rYWH^)6mZ|U6jP9s!=j*f8)_rRYGAZiXuOPwaI3%&jzb`!XJ_|~t7h%G(Qn>fv?%@A8A2M6pt0Jm ze>I!tFl8p!WpgmuAdEdKnIqNSwt9_sl)I8RX)<-RFCC?lSNgcQ?2P2Pa2N{28(29^F-{! z9XUNNWEq;Tv*t`&^e|!@-pL7q54cLS#MT1c8a_#Y0_i6%n&mJPeLD3>M#F@PR#2cWQzpAW%(8 z1ex6C2pN>&6eF#N`?%tqM?*!aK4o0%M5N-!=Avl^(7RZv!!6rj`xC6ntHHt_0WI!@ zbyQEIEL{}hrm_&_1S-JR)t+P_e?&XN{8f7H^hKU@o_ds6FJ{WdId&2IeXPDGDJj3^ z&;zp6&tGY4n;B|uKmdy!G&;NQc3G>^YTP)a?p{V@B(oTaYfMC%59k(tRd`Pp^h4e( zy%_`{+>yQOnix4?bgrxA%nh(UOre5wiI#R8Hy?s<;n98Q#>F+fMDD@Vf4&OT7kZi| zIC&hB3LdZ@QKaKt)J4CCcSKF5AQ>!n>$ZxFsO z22Ekd8gc$4g%k^xRe(LE;}LCX+WsLR+Z8fhX_XSY+{BRM^!R8{ESiIffkDvWOeU3u`bUMtNkg@I}fEaMbz0obDc?xo@APlrR#%di z-k-Gm{-g)*PkQ+Nq(|>hdi?&RC+|;s`u?QF!Z)P-hWRSKF=6p=e`%Q`@kTiJ<9_L| zh#|B-Y<(ct#-AI#^E7|u#e-(J#UT8a_{4P8Cr0J7wn0_;OC^ELl&_@nGhaba|Emm< zh`*{V8e}>1nxssat(25>?vK!K6)SC1i-dKhH@&w|GYE03g@y;H9>e>Q#Pgy@s=zEr z|JH&Isrh;K95;H{O3o(c(3pK&Q_iN&6{vHY8X&z}S9a!m z>0c7Wh~}i14n1Lot0tDYlKa7iP!>QnyEIcyoRl?4B_SjDUNL+y-gZ?p3^Snf|6SZaJ8M^K zKlE?zf3ACdi8g3!XqS2~4j3fBWnVC~d#kKmW1U=(i<+0nUdp55-bS zK7=JbDf19zW|K@O5VTqYI!9%u$|~g#ZAhC$$CSjJ-Y#z^0ZPbZZQ;3$DKvH%nk`=V zKu-3QlZ}BEucgWNoqq4C)97BcuGMyjgTfxnpED9AD`b%?>v~UDI|6 ze;Cf&5G9#-!u(u1RU*u4+?tNg(I2H|3K<%~=$#%*LiRo@px4JV(v*cYC9L^8Djg;; zG2P*G^Y@XvWoyk#zd_SpdY`7USf!>~>h6KL%j(yZ1hJM9JX0U};tf3G52y`wMuBB1D_d@EHFP-`hEA{$dxoD>FU zk`%Vm<+OhbDw%B4amLwGCVvq{!=!F)E3q!?owhMrv;fRvRVv`pFho}>H)i{rTKf*8 z*TUu!F_jOeUfeS@_bmNp2P_pKhypqhx-o7`3gIj!>vQZhh4#U`iCc<~;bdx4e{nAt zISh-+(!Lnz-wLlSmlAxTGkspb?#jsZjPI>%^d{AarfW4qU&P_?Ma6ybNG|N|aME5* zBTt!ZR3i<9x0_3V@bIp01hnvSFip_f*s=%{`ySUq!;_G^6ceM6Kb%Ekx;sF-AkR50 z{8_DqY8v#xUJ+^~L^BNDyXyMFe||^8pt9hZ#mq)h6_`xz2@;*P8S_n{C9q`8Hl`j= z{kihJQ64Wd0YRqBcF18%7|4}q+VI<|Ng~~5S43WE!)1&YnO30V0Pf~qy$EBBhdGsk ze?j)^!!7GA zS2sw)z#mdjYF5}bahoTe5EY9okl0#9nT;mP*t7;iz!R1r58?bK*XZxeS`MHVG;9x- zLiR**URk9)P&#m$k>M(Xu~L?cdB}#(Zp^{q*{yCH2^|A<1gkwQt-dO+zB*Vz%9!|b zW-m3mV3q>W9kK|df{ydbe|`(USJLG@bvy&U(s0!W4*%9$LWeYPg%N`(;4hjFUE`9k z_$k;WxZA{Yh&+VJFF@_EK;qxwNpj!}UXfBD-FU|7Bi)lnH6zyc#D@#G;Ju>Z5(a}!1CbrG5l%n1kJCVfe((vwc8fOF!@e`h%BkxL(a2DWG5PZ4T( z@G6QjT_7X!G4CM(AO)Zn&4QJ0zPKMrab%F-u;fwYk1=Su@m-ubm4^$tO{;iU!q%vG zlM>+E%&XgPyCkw79$6%@eAY8tw6fYx)WZ4}YR;Ha@HUXNdcy8zuU)y*BaQ8e<0OLQ2kIg6x5%iH)BYJ+ckYSBd=StJJ!7y)vG zGFGew4=gp{nE_W5HjI;M>|>6Cxh5*C7}>*9G*LL$e;fi<)AYQ)1wy@j%+{wAeVsxt z19a+UkMYLn0hfZzO=ai4qnseAC4?vd%X&zDpDuO@A;YMR1``P!^_`imJkiNLZWbkO?aZ#l%ovj}4>*L%?%#HBGfs zfopTJF_pnQLxxOWb(f_(iDV)&dX~DRalA(2b(4w`5b{WQQ)^QHv03fyI<;%~2YF?h z8FY8X-Tx^YNk<3v&2Oa$SMfCc25udRA2@JOe>ZRh^^7abc8*-x$ zt!){okA-|;ub3}<;;@8pS_TmjIWi|9X*?Y90iU2i%$n8O9?p>5SEt@Wutd%c{j?&l z#+7S^SpTf+!X*Ni*?BnCcU+BrE7~w(BPduX@Wy{u5l1nlRxcTY1N_6uL4SY>`h)D( ze}~zxkFsAMXTLtletnwxx?IS9T{Q8CyhL!+^?%KbP^$w#r5t~NhrUC76J38RJ6CWL zj$xvhgGtT3_0Lq}YG zk+&M~^UzX4Qddyy;K2ca*c@Rh>Yx%Se+a0A!NzeHSwI$qR0uivp#Vtj`(5C_RkTky z^7al2Yy*XS#3+f#$T6tVx)2SjR7u8dK<;2h_0X~Z%$A5MB_pI7gof>EvggDl)69KL zxyvaer+35`sG}E2|Ct7u~I+9X& zV#o$a`*M7S^E7-`sAG2gslB2GJT%b$v+}bBU}J6-;=)fXGdtw97Y038{}syxwV1?* zGa;^vhsBa80GzEldnU=NQZk9 zgw^5Dn-T)K7T)m`cD-R#Vd!c$MCYydr-Ndd<~Czq#YI$K7rPAWf)>wl6C>$WcB(N4 zluOXY;I&d%u~%!gy|?ffwi{TJ3E5n}cteCM`>PS-&6J{Ju*FBlm!O*ofAoz51|ScQ zcpMTKSjW(jfH3)t2!F@c2>pCs?cnrvI^x_t5bjLH_!cE#8VZ1y+U6oUT7{V2ZYOG~ zVp0mT(kJc!Bg{x<<}=XrO=;#zFk6bma(J6HwGhgAhk@cXOCG|#h&uT5jCc)Fw}#hXAhC}>3_Nn6mfxdH2f zeJ7j1d46`ip1Z8IvIDZd9dvc2 zoD|;onhySJiRNt2+!^-ape zbuldaZCn!z^CZJpFqJ67cn{I3PGAsFyi+h#j+zR#@ka3kGfYqBC1C{(z@3w!h`z-T zs$LjghtGcne_kE9O1?p}kP+_q=op9;6_R~OVk4yr;Q}g{o2NlT^2T9EDgm|!MU9rt zy6zPV2F+bx{FVPOSyw*k4K`PBvO?6gPa8=@6Q~cAqoC{>3w(C{SQ|vM>!I@U6Ybr3 zG*$opKk#Fo$viuRl9@`9%!w#U(SSk-i3~-CBT0iI<1RCWLZL#^AVrd-l;(t#N&^iV z_1m28{hiXif84dcYkmHBT5GpHpZ$8i-+S+uefHkx6pu(P{er21^Bm)ZJgd`8x7IB# zKI8n3`-_>vyj0!$4)e83PJX6so0PkMrO?y1ph?M27V3|8gbQs}N{oMyyjE~l>xHrv zyh3mI_PPhH8}QjUSD>UyNGLz2*!1T0vv-dUie#T}FcNmQ5%^S`eRANVt;UE#@{B^93P5?rvy+q#b}P&lit<=e@W`bl05_fNK6I~2R?n%7kd?NN-v zQ1$$s^XITQFW+fLIjXQzzG`%`h;N#Co=0rvf%KGD)dSP~jgQUa-LtLt;Kjx~4b3>V z=E4Ps3fc6X)MVeDe!hvN=aY)iYo+g>>wMK0C#f6>vTdmfpL*Lvu%hgo>*Sa3n%ird zJ)}!kp0ub}eU|ib@lYCP^e#%&3eG#>^|W~`#)0A$d!Dsz6rFJ|F22D!B7wbor+47v zBaJtBF2DWCtl!(X>r}d%v)oKkTTa;it5F z+My#BGOI@(-mr6PaBW<$%ryS!;MuFkm!A60YJ2}uu{|yLW;|EhFOT#}Ouwf)zcm%M4-BH+|Yjtc+9$Mw0JZIer?ron+0-+ZnYZGBKD<1U}#jipb1*gg2U)bEhVqMEw8MQv|x+>=(Oh;zm*EMuEU`HuZ!j@5xt{8YlP_V(jnfr`@k)Sz(`~km2GzICoBK#(u5x;wx#!7b~UA$})m2 zz8>rNgpVPeeLA>_(ut)Iqkce-rZ;7j4Ui<4e{-5EET zYm2;Oto4Vf)3nW_yz?#uMrTgdpU38UZlJ{~T||7cs&tQ8m&om^-AityE;&+>^(d%d z>3K0;_Ztfu9__uwBewKVIR{J4MardFVr-jMv$!S1mpYhVuFP>bGdQo0SgVb$i*Vx6RD|`3*OTDpj3=wTqm8@Sb0F z;qs*p0mXYF`#h;94m3*LmIs&>@mXZoMl*ecL};2is8 zU(JMtecpHOo@!RQw#0h!t_X7_?r zgnzoe-Qu8sa4p;IxhqZA&GoIwpSALQ=Itdh=XI>s-E@-WE9?AnNtwmh@lDSK<^bEp zpW_QTX$lVYmO|QEUoQ7D&D_=ZW#rp89#+1g_klO=Cw-d6HRY$OT&y*dM6HIT&%#4t zaoxh=FZbrhcDGLVj+6Or`E2&$CyT#}Z=T&avoJlZWBcU`G7;%4?TdaG+CCNwc(>!z ziE5s3mg`>z)ekOeoOi-Ta&r8)Ad8+->lnA_SzF#c{g_T$R{16-s9%)VOn%O6mL2U@ zKfP8t*<3EZ?`asW5&lHEICq_DbVy8>W&8ZKeMVd^wq{o5vESmYJkGJJn(Z4f=Sfb-y(>Th{K~dg)!tTS@CnS0wmlR|bBzkH|3) zHLwa7IW|LL4(XD|n|oh-jIUlb2|>$Zm)^ zwEqI%%t?}6Q?E`sv)o|O+`L1%cCViYZ5>&pEzw$2C(FxKV418qnn+FFp>K0nP1|VkSzK6a<6>~kq?XJo%@ z{hoeocAV}@{tgWv7xH7|EKWUE9ZI(y`OXZS+&b?M(;Y^GL2!7+E;WDOoG! zfP^Vq$!q6s2hQPC$>KE6RhH8dzm@OuVRQ9+m_=D}bj{thazz#mHL=W#ZFkwxZnRyH z)^WGne)RFZ!%W#tX-!(`sC4PQ*Wbfw21dAegYE3lui62{Xb@N?*Eka z@`+5=%Rm`t1s`?VawV5o2ZM^oqx)PHrtCYPxbrppJfY~SR7Xe3`u!YM{ojv#cH~^Y zQiQf^(um8N;ItjqHb+91hAF<&b~y3Cx1{sy9+&bF<5{oxMwj_LdOXYEk=H9ni+YE=qqzh;E9)NYw^GlZlk==*iE`^flTY35%J;jfzUSEh^ZUf!>?9t6+rQqyzxyvcd zmPd<^+DN#(Z|m}`-@T%C`Gy^njm%c=ZcVQJo_jK>=-KtzGt2vW0;$(-=C=inPV#@U zdA3xZgOR#ny9;;EDXD#L^))QhxAi{BUwz+p<;^QsyHn15Ki2p>%wyYaY86la*x~EB!1&Hb?X(%bO4hXvsYNpL zWp}GAsMhvNKdIy(aJ?th=);=HUeTAHWqTZ|8?b1;^SJlf_2Mt0r{A1^tQs(Xceb+X zE!Aji8HF2Bk2|iOkj_?9b!4kMnr0rpgL_xnO_jwz9=udkx%U3v>MWh6E4ei5kOK1a z`1wbMf9{vn^3&}~OD}t{sAFcp!vxVEzB@Ya$Y*~s@gV=b0rAxP?7|)MVicdQeb2qL z&$ecY%fm>o$fFC6ZMgWMbKaGf_<>#P8-1sHdV6zLhkdL|@_xbAXsx%w&p0>db&x%K z)yvyfd-u#P^te~4T}oB={&B$AIW8)aChYTKs#NBig4L<-tJ+KTd6@Ux73maNoz;3n z)t|N8z3cK|UegcZ=?RHDPaNCZB|__P_|8;(s_nu?y-)l_Wv{MgXw_booVhEio|7l- z=Ia}qPYWgYrXJQhvRG%z@ban-6Wg%+MuKNJrF^!So{HQru|DS(s}tYeJ559PwyN9S zm`Q76ZoMOzwd^EwhUnMz<)>^KW}Vn)CP-7N?K%G>qcF(mtlQ)YsorzzeOub1u9P+B zJ9_PkFHw8_rR((VDXP@78?)rKE=Hd@5WF^mJHB?Xtlo=lWo?O8uB3C1lpC9Ynp%ox z{30&R6Z%@mHrA^bSA2?`HtX#t_D@A|GqS!lexuUP=!nF7@W)HP;-~Vt#SHbZZ+PD} zKl$=O^Vq5Wm$#-Q4|o3j+P%YW?WbXRivym663@H>W+#1m!O`fhFjMl`bk(7Q@0y>O zrP>vR@~ORuKN`Ja)yi-epZ@Bi^wgVOE$Ke}$61Y}4IEeGX%&XqzX+==Z$BZtug&Og z>x|^M4@u>;1`E^YvyH4fWEW*;tWDkL{lbw|Ic0b2q7#Sn%eccgEy)!9wx!Hh@vx5j z&J7~Q12%W8hn0IeZ$Gx?U+i$!qmDvVviV`5@zMRuz|q(39LIM55S<++zEnMMOYknY zc~%#K+va*%XKim<^r&pr*8Z^7JmyQD_jpQ$kIqedFa2iZK8-isHp%z#jA7yiJBNH( zXPqHd?) z7g@eWIzbud>)h2w0*;M5*?c>qvf#1$Na@h62)ARoZ4VYNWY3zq^U;gZe!i$>avb~F zmx)DGx=%UZyG(E4TYFjzEiBB?somfJ>xnmIuLI_NUXb`csLEciBRiqKY=gO8|H4|c zwX%Ni&ZS<@+NHPs@uJz=9AAyxey~!pbJ|jo@EPIOlyEl*5l1KHs3I3fWB2@fd-F~6 zx>lvrBEC(sc$(L3l)z=SBvO^xuCpZn!N9}Xo6b&8HF6&(J~?)5`o#{KvTSlg>ZWJY zg8~+O`JO-R({8z>w6Fzd>RztgvcG20>Z9DU)w;gDS%ba{@0*FZ7)ywHDXek-`A+3j zwz+!PNsDs(n%{+AUJu&2y8rUK1!WStGUVSs z_zI;du9#Mn#>{H4@zEKdPw&{hdG617EL>1{=EcFS$xcs$d}p(ovWNY!Iu&x~@m1ZR zV_KzM`Enk$%bN?$P0m!zdmGeycge#yZZAxR>idIyPV8BCb%~1O4>tG7+UtMtt<)Qi z;OI_#KaJ!3w!yZz)k)_rbnpMdT&!`0S4$?cFOn7+c{eX|fd=2?=`WZAuTIx=Ql8&% z(SBAk({bJst@io){-1i@WNT`dojF~*Qtn(tK={gMMYpP_`0}Wi$ez4bbIAGb3+Y+A zvx{Hw7xpi4oE^}>o|kj9Ys;n@PjNTHo=28n%0IS$dw$K=Nlb~OzG#i=^K(}RM2}BB z`L=OGtklR%+L{>!%G;0cwUdaV#j)QgusGaM)|{rOm+7h%n2;G)d1`N?sN|K&4R3v4 z&z=9sMDQL(Zto_?AdyY-8-<$Q`WYTd*Y@hYZpYKqTVx}xw9Waz@y>JI@5K&Zujmlq zm?_;mki68v>-N05eMUK{%xi3{m|DA|J(%1bgakTt_!VuB(R_{+ie);A@a!lFXr-kk z>Aq4<&(bwh%+zXHqj}`eA+DP*uFToq<*0GK^Gd+H51(A`7^ykVFID8o`eYP$V?W6aXEvVyBD5<<$y8n!#pzXn#nl{acO4Lff*%_&h<`-9;39|hDCSph9 zQo-TD)%I87-+Wvm{F2rkSoX$!_d25@eb%)H^%Uc@1?x07Ora^3SspMm&9sBi5*W63)R3U#mA|LI;u$J7@q#p0Z z(c(QLR}{V*UCX=qius4;(x7hfV6}q6Qt<{CXXnyNvz>06*Xg`eGym>yG1WuUF3Bc< zx9Zc8Fu#4NpG6JZ&UWi(3?3*sIdIrZESHu{xrP$-ahR6EQ0SbH1Chjmxy5D9^^?Mwz&oEKflDIq=6XlFRD>^|#^c zr7L^a)rEB4t9v_mrE9Of#IVA16qZ4cQqFBS}5zqAZYwGP^d^@_L_uVRA z$usRPK{Sso0qoqjNBpl9s!M037xY~<@pUs#FHb95u92pvSjEk=HnR58ySIrp_kYr| z>T8}gZ}j+aW>nOTF9w|N${0z@NxVO-UAn=g$y1nhh&w02S}n9=aaewf z$~(&`E54n$CMuRy5&wG8^MI#O9<6fvRIc2xVa0Vv1->Nw2rG_v-E+cBWx-qv%gf8o zna%3(@jVl(!BI|=uM74Wn&)~z|3?d7V+&W|{&@$Mwl}pn?zO%BPH6gyw{?TJa$Rzx z9pYzcvz^+wy*aC3i{&A&fkc*y2#=POaAuWnUkzuiy&YWNepaEx)xgFzDQL49v-;-A zwnLAG1b9WZZ!C(?Hi&N&Z?mQ>4>3Udt49!w{_>1ZN7?sVvpR(O#zUVw_J3aMs zO2M|S3bi?Je+U+Dny%<@WY4^f!pW2MM6Pa+;K^4jxF}cCFQLVLs8y{qW?G0$Zg9hn zrcrKJ3`K|#2z5#YR!XLdxJ~vH!6u)0gj8 z_*P63YtzP^dO34hwzP|{-#emnnoqQ_N4i2xG$={(^Uee_;e-oZXXIb z>o~CD@YxfidSa>?_m?>BNba29)c$ty3El0U>20QY4?6tjaLlc}p(gpEkawL|yUyj~ z0)B$ld~Z#LRMP4kM_+yYnm)%fs(R2k&$Z^U%Q?U5c8$26FO@U9YkwYZ418{pQF}v@ zrcEoJaZ`{ze23aw*&+3`>S3-~d!KE|dS~}UIYK#vEzhU&DyDDU*e$q!zg7k=`&Cn;rX>$DP@bV4QJ`NmN> z>z(q`tW}TCeDC@?`|AD&!}2*AHTBnc`^*J83M6T?(9oh&?hicdwG9_WhcD>t&r^@| z=vde_a52mM*gnM>>_3BhhIVL-RF#nfCPt8*%`1o#j9;)?;Qs?NidjyCNJ2O;orm!#*pIhqW zQhE;AI_{vE--v&%-o0IF9hOVyCL!prGBQteQ&2{k_ncj zuEkC{X}Q)%Z#&!7pUeHU`BvxX`HHCJ%T#>$Ht@EdCZIupF59M~Nm;s*yE*G+Hr z%^FbB%T;(nQ>dt2aY?J6CujR{zMnh+YT7GCi(_?E*15{Zd#Y!&1h~GQTp6J zZ%^4C$)>h5{?lu3gwmL2+G#Dw%q-2){hYKrYu0TEwz8*}sKNpA>5b5q-tM;|hZe~_4P(D^! zWF5D7@0YWhMtp?G#x$8-974>lCxwQ+sqt`$1T-Tof^$TH_QsxOsY3sGxJmZ ze6>ffd7Bbw;5npwhkw=)kOWV^dTP>ZKy z@rQ>UJP%zB17#2UCta?g9=ft<6@|9Go8`=q`#VhjHx-xCBp=^ zzWv~{wK?zU3P*wZO_Li6Y$BtsFTP`0oY*wY=DqEzdWE%o#wT~lW$=)H4zN!Rnx886 zHSo&^^YodYXhzFAG% zVd>Z1!o{w6a!?+lHwS+IvwXv4FJw2UsA|LLn%@_r?W!Q!c!MqCfIv)Sz>fAY_@ z5XtUW(i+fx-=Fj~HYu6L;$tWqA=ozQ;exZt-O>Sp2R$XIRcDHpyRdg#sP7+Lzpvs) z!8bu}lQL`ZYbCR6LR8Ar6;IZFw#waEH0z7ntAnlslRls0Jy*d*Q{85KJBEd(uim$f zZ%Y|XcY5E$Wp}MzKZF+9pDUC-+8laZxcJD;zO;9r@n8VTk*;wT0Y}|&#mnR6x~fVhJ)UAPF-#f^kbWMmd}=x)sdKXjOF>Z zt6T$*ehQxH+e)~1Ch z=TyiXOmXHixR9D$*i^+Hx^?S%rkfR?cyEd2Z{jU^_y$99U# ztr$(Vf#d8SXp3SV-=6vG$ogxY2Fo80gdTmIa_#YPKg)F98SR!`=|#zQyRTJ8A3e|Y zUByh6)!%B(Swev3Lo9nV?a1k?pJ@*@7dyTWTS%gbnO*@B}E?|a^+-|(-U zc0TiEk7&`&^izuZH$yGv&$`1cyFu)++2&W=yI0l5t3?Z_SN3w>wH36z?6EzDgF2(n zTEmlN*Xz7pdqkFoi+UHI+hn#vV9WJ}OJ}QIu>>eRQEwjFP*u9)Agj8d#9D>qhqEub z4er^$qJCQkN;`UPPyFM)!nrnk17nT)zvZQ@X<5DUC7V#zK&<-UuFFTZ%%r?hoD;wrmc$7beLW-bBtIR)kIzl- zbecZg!Io0^b9wL&<|}SBard-OzT3J|_O!;0*J@kdypS3>mtCkh&0yb8rF+WNY}wYI zB@dsO-}783n*W{0!_`(F=DBo+AAcdHK|9>9GsW;;9M3wlXO+kJH6H{P+!@xl)q7}G z@qFX{^_5KrmQ0P#)NXXSwAZ-#-o|ZOqf#p`wS0-&xp-JW*nOaq%WDBO!fhZ%Nk;3q z`ifUNEX#G+6{A+_vx%#$M*&t6n{QWin+Y*J$KMud%GE*-quwX zNcPZ#V|L8w?Ax%IXB+kFt*kpNC!aE}O#4wdBVzNd1am_xHD0Fg3oiR5^;f7r2ps(Q zZNns6%Y5_G3R1UL@fEXdCx4wnZsCu;ysI4B+*sZF@5}Zz2UIVQUUcWwTL-4~q28Qn zH>9leH^vGuo4eJ9%Fj4FpCeeNx%bq%m|3Z#7Wvu(v>ois^|u>j4MvzV+BSV&zv}YY z=^1TP{pL0}PO4$o9cu3Ad(dQ{7X8-1T;S6^!8>>Fc^R$HG;-KE&Fj*!4KG7yMB1z_ zRNZj<$iaTeDO*lh*s%(154P0{jE`F96);2Az_z00X1}53?eFpr9Yuz}bNyAhloN6orI&J{;X`dMgD-A&uW1>-fB zmD^ttt?algdHU`=P0mRhrP`EPKCD>K7k{3QIn-@+Zoh{r3zepI%Kk@k_rmD*F3;^@kHvHmOu=0cB%3?FgF;zvK3&edhl_6h#_}QYtZzM_x3*cA#d5! zA^p&zYrEW)T=q4#Tgr4}Bx1!_;}3@jn0IWuBX;>DufLuAsuwqgEHuBXW zSF&5nES9CfW6x`jlkapm~gTwPySs$Ny!;?SnwM>B;lTmH3#j2!% zr#lljL~jx1kLeC^c@xv-6%$pcIug!*s!^Nujebb_+2A;Hwll{RbPCI=m`}{Mb@FHH zdZz92NObv*iv}-?Cfjb@S}j#lqH*%d?p%}Gir!^czA9YIPi>=Kf9}Mi!MUkt^j+oM zeMe|gbu|TF%t{iabsxp{cU>>vgVEdc#u@W*tALu4Mx| z@69@Ug|MfR7uv7-@`nu{$Q+CgsdreuIBUaJYnq`&xXPURF9Mbiqn+C4?1}Xe52D>s zFUfxy-=(2h{z_$;sk~{%+>}ar&-f9?_s3UAteVZXdhe>QORMA_OkFE{>f)VUgO6Tn z9?J&G1|pR)dx{L`ae4`&=w?A)`g>`PsE#ElXTlZe` z`@)vP7Ya@Gq?@?EcvUiNSJ%#*q`WZTeWmF==;pet3}wSXEyh4QFY79 z+;Y3+=b9HYC#$k8`RJQ4U`TOZ*EQGhZL_>}na0YlH&><`v3d0*>$jE!IOoXMCx%J& zE-J8GQ@q;ysyX}03&Wz@OK7IcT}AY@YMOJ|HBO(jyt8_r@?pb=Ny6#N2G*S69=eyz zJpEE-=G9i2XPlv4yjhvIxdV7sZVc<=5L|u7>-24IJ%xF<3g>-gWBYt);D$t&aDR}T z=n8`^eHTnODQ)JO%0tN)fJxvbs_9kVW{g~tXg zZ?zENHqTpq`saGvhTt^YJOg8OV*ehux|1>egQj`!My~nQtZq9eu^?*3(~(m%0~^ZP3{v2lr=R)~#*2}uvJPLlK47c15msu&*`Tk;}#pmk-zNuz1{w*be ziQP|v`<&#K=0vC!6?7|28Ln&1WJzkT2^n-ORa71s`YPwYAVK13VEvbrQ67664o-C) zE?tcX3Pmr6iDGZV!YV@HlpiQR zP=28NK>3041LX(G50oD$KTv+4{6P7E@&n}u$`6zuC_hksp!`7jf${_82g(nWA1FUi zexUq7`GN8S3041LX(G50oD$KTv+4{6P7E@&n}u$`6zuC_hks zp!`7jf${_82g(nWA1FUiexUq7`GN8S3041LX(G50oD$KTv+4 z{6P7E@&n}u$`6zuC_hksp!`7jf${_82g(nWA1FUiexUq7`GN8S7JcDnE3aM}~-2VC5YncqAD09lG~JMkdYVSjt$~Fq1=*d(8F8HRiBkEW9`7FlS;7 zO>lM~?3Gz1h)V~kGJJd#4hH&%ZUSveAO>D@m~-zVO(6R6%LF0|Rnq(tg!_ArX^d4! zK#+hS0YL(S1Oy2P5)dRHNI;N)AOS%Ff&>H!2oew^AV@%vfFJ=u0)hkt2?!DpBp^sY zkbocoK>~sV1PKTd5F{W-K#+hS0YL(S1Oy2P5)dRHNI;N)AOS%Ff&>H!2oew^AV@%v zfFJ=u0)hkt2?!DpBp^sYkbocoK>~sV1PKTd5F{W-K#+hS0YL(S1Oy2P5)dRHNI;N) zAOS%Ff&>H!2oew^AV@%vfFJ=u0)hkt2?!DpBp^sYkbocoK>~sV1PKTd5F{W-K#+hS z0YL(S1Oy4_A1MLRMII{Q^PWSPsLY`9kGVYzJP#cMB2zuVoGTe+o_Qgh;hfB5p&^oU zF=IhGiqni~tgt$o(~z++P5`lP9#et}lvyPS?Q$*-!f-09AQ2PEEX1%3&FubyivV|5$_Vh&3nDhId~iNJMizciq9QUjtdzce5+BIwUOkDH+Y z4G0<#G$3d|(14%;K?8yY1Purp5HuiYK+u4o0YL+T1_TWV8W1!fXh6__paDSxf(8T) z2pSMHAZS3)fS>_E1A+zw4G0<#G$3d|(14%;K?8yY1Purp5HuiYK+u4o0YL+T1_TWV z8W1!fXh6__paDSxf(8T)2pSMHAZS3)fS>_E1A+zw4G0<#G$3d|(14%;K?8yY1Purp z5HuiYK+u4o0YL+T1_TWV8W1!fXh6__paDSxf(8T)2pSMHAZS3)fS>_E1A+zw4G0<# zG$3d|(14%;{SO+D$N#woL}z*CGnzZ&4A8jO^P1b8u^{t?yP1AChvTvvBF+0-Z_i~Isp`sKnN=EOAwswtRh5AB(pGgCW!&jmtPnV8OiD4oy%B& z0|W;M4iFq5I6!cK-~hn^f&&Bx2o4Y&AUHs9fZzbZ0fGYr2M7)j93VJAaDdC@DAPoA*<@{d`lP$JKgzuxS7ddOG1N8^$57Zy1KTv<5{y_bK`UCX`>JQW(s6SAD zp#DJpf%*gW2kH;hAE-Z2f1v(A{ek)e^#|$?)E}rnP=BEQK>dOG1N8^$57Zy1KTv<5 z{y_bK`UCX`>JQW(s6SADp#DJpf%*gW2kH;hAE-Z2f1v(A{ek)e^#|$?)E}rnP=BEQ zK>dOG1N8^$57Zy1KTv<5{y_bK`UCX`>JQW(s6SADp#DJpf%*gW=O3y5&@moaLQ{cX zn5fL4^7HXgI2dFey8c6^4i)e_GRi!xh5Y3lERhM$M2H`oA@TMI|0KpTS1G?G6Eit( zaT&h>V}Wh}MI{jO73>m()N%n8?mQ9#qA$N7AhPP_B4ET=00aaG2oMk;AV5HXfB*pj z0s;gC2nY}mARs_MfPer20RjR91PBNa5Fj8xK!AV%0RaL61Ox~O5D*|BKtOh>V5ppEQTD01^l!5J(`9 zKp=rY0)Yeq2?P=dBoIg-kU$`TKmvgT0to~X2qX|lAdo;Hfj|O*1Of>J5(p#^NFb0v zAb~&vfdm2x1QG}&5J(`9Kp=rY0)Yeq2?P=dBoIg-kU$`TKmvgT0to~X2qX|lAdo;H zfj|O*1Of>J5(p#^NFb0vAb~&vfdm2x1QG}&5J(`9Kp=rY0)Yeq2?P=dBoIg-kU$`T zKmvgT0to~X2qX|lAdo;Hfj|O*1Of>J5(p#^NFb0vAb~&vfdm2x1QG}&5J(`9Kp=rY z0{tUNpkFi(vAK*Y`fn15LFS>8KxAsQyO1~`B`G+Qk>@$PTu7CZnXGPC5M01mnCm7a z&oox}*RZKXj=K;)LxfnYDEN9TVWK2x&al3A$V13td}yb#pdMp^ZVAPXTSAh=ft!L# z+(jfIL|=XpLS*&f9l<$_1rS0Ygg^*^5CS0tLI{Kq2q6$cAcQ~&fe->A1VRXe5C|a< zLLh`d2!Rj+Ap}AQgb)ZJ5JDh?KnQ^l0wDxK2!s#_ArL|!gg^*^5CS0tLI{Kq2q6$c zAcQ~&fe->A1VRXe5C|aA1VRXe5C|a8Jxs2uxT@4}&B>!VXMCVg^`1mLs z3|bEz4k80D)(9XL$2wV`jAaFt8g1`lV z3j!AeE(lx@xFB#r;DW#ffeQi`1TF|%5V#<4LEwVG1%V3!7X&T{ToAY*a6#aLzy*N| z0v7}>2wV`jAaFt8g1`lV3j!AeE(lx@xFB#r;DW#ffeQi`1TF|%5V#<4LEwVG1%V3! z7X&T{ToAY*a6#aLzy*N|0v7}>2wV`jAaFt8g8m0Ch*t0;Ww_;jxXena&i5A+Ek0i# z@J%(7@oy;!OzeIV+~*{>G$%r>sGwVE%5Yt4CQDL#O~{~QsiN}8&{sMC1ql*Q1M9z} zjPlsqaB!;YaOrA9P$+siOcZ+?7FH1oCnqOmTY|F#h2cwsB1rKHa@*kNxgj`Ub%u~I zYpR+!FCmaBEWzmV&`BW@?0G^6FJ>&v*)M#LnVBqzWeG21C=j7p!tP`1?_~*FF|Jq3 z7PcN+zbRXIF2nj-x)l_cK%D&{Do0pZi%jJ{LV`i`124hEiw&I6HwdS)@XR314&!hS2WG=t7V z2(XClWF`X#Sj6OrMWW0Csc$j`83MojpZIbAM^i%^f=YLl#K*X8}Wj?){MKN$O^M3$T4)`@r^r?E~8fwhwF{*gmj*VEe%Kf$am^ z2euDvAJ{&yePH{*_JQpK+XuD}Y#-P@uzg_r!1jUd1KS6-4{RUUKCpdY`@r^r?E~8f zwhwF{*gmj*VEe%Kf$am^2euDvAJ{&yePH{*_JQpK+XuD}Y#-P@uzg_r!1jUd1KS6- z4{RUUKCpdY`@r^r?E~8fwhwF{*gmj*VEe%Kf$am^2euDvAJ{&yePH{*_JQpK+XuD} zY#-P@uzg_r!1jUd1KS6-4{RUUKCpdY`@r^r?E~8fw$DG(_W339q_$4xCjxcEB^dD? zI`Ts%O!dU=7z>$t;xk#8$-<45L-SPALW=ZgHqBy({=#y#j^5%Vi&-Z{<*$r6KhR6!yp zl3AF$iZq4j%P&)ijF6^~G*KQXAxi9X5fEUEKo^281YHQa5Og8vLePbv3qcoxE(Bc& zx)5|B=t9tipbJ44f-VGI2)Yn-A?QNTg`f*T7lJMXT?o1mbRpfK&LkuapIz*;Ob;z7?BXnqp zERfKU0b_yg3+*O_qY6n0;;W{l68A}x7NRe|Xd$vXcZQ?^V*#KLKp}ua0EGYw0Tco# z1W*W|5I`Y-LI8yT3IP-XCvg#Zcx6apv& zPzaz9Kp}ua0EGYw0Tco#1W*W|5I`Y-LI8yT3IP-XCvg#Zcx6apv&Pzaz9Kp}ua0EGYw0Tco#1W*W|5I`Y-LI8yT3IP-XCvg#Zcx6apv&Pzaz9Kp}ua0EGYw0TlX2fm{Eg}%c&jDnGLuD{YRQ?5qv*g-LIN@3CS|}~L)t#{<(KV47VN#H z^cf4VePH{*_JQpK+XuD}Y#-P@uzg_r!1jUd1KS6-4{RUUKCpdY`@r^r?E~8fwhwF{ z*gmj*VEe%Kf$am^2euDvAJ{&yePH{*_JQpK+XuD}Y#-P@uzg_r!1jUd1KS6-4{RUU zKCpdY`@r^r?E~8fwhwF{*gmj*VEe%Kf$am^2euDvAJ{&yePH{*_JQpK+XuD}Y#-P@ zuzg_r!1jUd1KS6-4{RUUKCpdY`@r^r?E~8fwhwF{*gmj*VEe%Kf$am^2euDvAJ{&y zePH{*_JQpK+XuGK|6u#j3Vx&vx7-hxSt-@|{$irV=j#K$sb(_%EhT}8-A{u1oaC0~ zM5q-NbSq66u4~O?NoubN8FVaFR2~`nD(Al-LE>p({g;$c9(x-OPIVnFU5y9|MK6bm zVsFF3DnjAp&czOpBqrFmcj2;i&{UM>A+s~!U8483A zGrJr!x!!C*YC6OES~~f&CxIADlQ!b6Bgr57@{9Z-3)Y#^hKvP}KOlcV{($@e`2+F? zmRI0r>;+2jmaPACNyFe?b0#`~mp`@(1J($RChDAb&vqfcydZ1M&yt z56B;oKOlcV{($@e`2+F?mRI0r>;+2jmaPACNyFe?b0#`~mp`@(1J( z$RChDAb&vqfcydZ1M&yt56B;oKOlcV{($@e`2+F?mRI0r>;+2jmaP zACNyFe?b0#`~mp`@(1J($RChDAb&vqfcydZ1M&yt56B;oKOlcV{($@e`2+Ije;|K6 z{?ExD(%k75m08AU?ih*5G&3`k1$If9S&Rib-?KM?5cKDkAljN_G`Q#%@PXk2!v}^B3?CRiFnnP6!0>_L z1H%V~4-6j|J}`V>_`vXi;RC}5h7SxM7(Ot3VEDlBf#Czg2Zj#}9~eF`d|>#%@PXk2 z!v}^B3?CRiFnnP6!0>_L1H%V~4-6j|J}`V>_`vXi;RC}5h7SxM7(Ot3VEDlBf#Czg z2Zj#}9~eF`d|>#%@PXk2!v}^B3?CRiFnnP6!0>_L1H%V~4-6j|J}`V>_`vXi;RC}5 zh7SxM7(Ot3VEDlBf#LIyG<-;Nr`l3BoWa~7Y?#^Qn922SE&>un;C$IB48>ZyEaCL*;HUG1Ci{ z#IDV90*uwd&2p~H|E_**rtv)0$XzcA$`7%wvC$ zU$ZD&^#2(DvzK_6K{fu{oTda-hGiu)J7GGDRfag$LKU2l3QZvL#!>>xWHZ%&JEWVhIf%JRtWrdt5-S@q=@eC1XWt(^8JpnW-&C?Es=rMz<2?tl>OF_X z*#1u(Nz`SM``@~Ob1b7kRA!Lhm%pTBvdC0(Feh;%l2e;dkD&4p8X=rKW8a~PX=evd zPmB5~OcV;0g+ej-ZEuPq$LE;)pGK;kZo6q$PN7WKVWBAhHqs)RlL(CFRGI#lZEpUf zg<8Lj98o2fXFQ~&7O*eJ%nY5X?IS(~uQp(@kQqKQKZjU1{B^T)EW(BG#{-rjoW z1P6ukX)1+c{oB+ZDv7Ebs=e04S)Cm^AI))|O14g!Y@Nw(qqGR^T&k7O#6iUFT=Khf z`!pBP7EYC=zqbBNg(VO##!?C1+{9upHc_H|H7masqCqWRli46WxTE(~zf z`=ax=u^kU0&63G;IZu~D(f)00!oc|0>0_tj#F2zd{@4z_CNrmtbONm8Lf*^N;34{L!2#zfB$7!%H0N;hi?toQWfe1Bb}@*GP3mM z{3Z2yEcL^Uj|k*ol_2ERS@{UVBC3qgU!uO`dKN=}#^|vks<76?=i>X>d6Gsu}>&dw{W%CpD z+5F?z^}l3nOUUyiuz+|{Le(HD{TR-ZiD734i~Lp@Rq{MBAkP!M-*zLK=q{le{cSHg z&XV^uS;F=(Rc%5!>esEj-ARDZq_T<=`vR!H?p}F+bRp`GF8qE+*KiRax;Kz_bm|eR zn9#(r^qYCZ-CrqzRAJGv3&O;pvx98uu0uBL6v_{23dQQTW2}25KrD=;n*95o_P60f z7tNRat3}4Y4NrJFK71yzrIft;PaI2(-ThgnKNBFLo(U-bZTGg4Jz#tU`2D5Pmokaa zNS!oo>_uMqNB71?GG1|hf4v$L0cGUtb>bl6Xc@Un*M$X%jb&76`s?X0DeiLeBx;f% zCTX&264Cioe(i}NXNRAe%Pm;RlP8{hCY=6TXXY!650zUmLo?jXfBmwhe?0=?$=GJj zPNr`r$6bhL>>@C6ON8xFGRLe$*eeNY|A$Bg8DUB%+Ky7EPT1Gj|Jr4c6DMTFs)gT!;vC7t$E-wa&!U zf9rMe8v5AZnmuuf@n*BgxQ~bR$GZ5J%vhsY+&soJlZm}Y$5CN59ETa^6K^Rc0fJ^%eS%qlLNDkCmUzbZ@|N<63{cP%T0 z9vZtSj2-A-a>mEW+w zTy%bWAtYyw51&fdCo=K%^hsZ~d4bUl|L{6#7e@x0c+=hwUP%qq1^@{Z?j) zv4iFXkdsVMWWw|jr4;(r}XK%{8uJMs;yW+qiar~HqjiT|%h)45fY(1{h* z8rzA9BgYSh#qY;>Mv;Dz`%7y4kbIcMQne;eBf3|R=lWklVKT`D>xln)_d0Pr{pSBpTYNnEq>L&d z^p}wQ8S+Z`awaiUN7W=M>&Sa=d#D80SeyP5P9nohTZpZ7RFl8WH9A&SCf@yrvOoD4 zz$|Y%wkbv8*jciDf7!&?vjWRLGx5|%isaqIT%7-JyR!3F15MwG6Hn~OcQWJ8*j0bD zaOZz*VZjISR8tiR;@vUouNF=mPjBJOK#6}PC4~MG8fzhoR;Wa3vf5;#;|z7uzgzg1 z@K_63&WHUwEc3S+#~R7v8~N`L4?#UmzTN)IbYneb@ryAuf2bL3R zp}@>aKEREA~GSt3lEHqDhV%^!H`RCP?H1cVA z4KIaa^xLa#Z#aEw^7G`sPAz?zoH{p>9wI+e{%dI8SSTl&9$HS56Bz5*#Qh*RTgaSb x%ves1xDq2b{$%o(+*tRS^oe~fR4plbnT>oOMWLKxI>qFlNuj*fppyUh{{T18K|cTh diff --git a/firmware/tunerstudio/generated/rusefi.ini b/firmware/tunerstudio/generated/rusefi.ini index 45ab85ad7b..f97e580197 100644 --- a/firmware/tunerstudio/generated/rusefi.ini +++ b/firmware/tunerstudio/generated/rusefi.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.10.28.all.740375811" + signature = "rusEFI 2021.10.28.all.2492345562" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.10.28.all.740375811" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.10.28.all.2492345562" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -85,7 +85,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 28 17:28:21 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 18:23:26 UTC 2021 pageSize = 20000 page = 1 @@ -1500,8 +1500,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 boostControlPin = "Wastegate control Solenoid" boostPid_offset = "Linear addition to PID logic" boostPid_periodMs = "PID dTime" - boostPid_minValue = "Output min value" - boostPid_maxValue = "Output max value" + boostPid_minValue = "Output Min Duty Cycle" + boostPid_maxValue = "Output Max Duty Cycle" launchSpeedTreshold = "Disabled above this speed" launchRpmTreshold = "Disabled below this rpm" launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate" @@ -1571,12 +1571,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. " alternatorControl_offset = "Linear addition to PID logic" alternatorControl_periodMs = "PID dTime" - alternatorControl_minValue = "Output min value" - alternatorControl_maxValue = "Output max value" + alternatorControl_minValue = "Output Min Duty Cycle" + alternatorControl_maxValue = "Output Max Duty Cycle" etb_offset = "Linear addition to PID logic" etb_periodMs = "PID dTime" - etb_minValue = "Output min value" - etb_maxValue = "Output max value" + etb_minValue = "Output Min Duty Cycle" + etb_maxValue = "Output Max Duty Cycle" tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X" tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X" starterControlPin = "See also startStopButtonPin" @@ -1586,8 +1586,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table." idleRpmPid_offset = "Linear addition to PID logic" idleRpmPid_periodMs = "PID dTime" - idleRpmPid_minValue = "Output min value" - idleRpmPid_maxValue = "Output max value" + idleRpmPid_minValue = "Output Min Duty Cycle" + idleRpmPid_maxValue = "Output Max Duty Cycle" wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. " communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster." runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running." @@ -1651,8 +1651,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment." etbWastegatePid_offset = "Linear addition to PID logic" etbWastegatePid_periodMs = "PID dTime" - etbWastegatePid_minValue = "Output min value" - etbWastegatePid_maxValue = "Output max value" + etbWastegatePid_minValue = "Output Min Duty Cycle" + etbWastegatePid_maxValue = "Output Max Duty Cycle" stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough" stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)" stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)" @@ -1675,12 +1675,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 cj125ur = "heater input" auxPid1_offset = "Linear addition to PID logic" auxPid1_periodMs = "PID dTime" - auxPid1_minValue = "Output min value" - auxPid1_maxValue = "Output max value" + auxPid1_minValue = "Output Min Duty Cycle" + auxPid1_maxValue = "Output Max Duty Cycle" auxPid2_offset = "Linear addition to PID logic" auxPid2_periodMs = "PID dTime" - auxPid2_minValue = "Output min value" - auxPid2_maxValue = "Output max value" + auxPid2_minValue = "Output Min Duty Cycle" + auxPid2_maxValue = "Output Max Duty Cycle" fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius" fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius" flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type" @@ -1710,8 +1710,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 etb_iTermMax = "iTerm max value" idleTimingPid_offset = "Linear addition to PID logic" idleTimingPid_periodMs = "PID dTime" - idleTimingPid_minValue = "Output min value" - idleTimingPid_maxValue = "Output max value" + idleTimingPid_minValue = "Output Min Duty Cycle" + idleTimingPid_maxValue = "Output Max Duty Cycle" idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation" tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions" tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions" @@ -1738,8 +1738,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 triggerCompSensorSatRpm = "VR-sensor saturation RPM" idleRpmPid2_offset = "Linear addition to PID logic" idleRpmPid2_periodMs = "PID dTime" - idleRpmPid2_minValue = "Output min value" - idleRpmPid2_maxValue = "Output max value" + idleRpmPid2_minValue = "Output Min Duty Cycle" + idleRpmPid2_maxValue = "Output Max Duty Cycle" canVssNbcType = "set can_vss X" gppwm1_pin = "Select a pin to use for PWM or on-off output." gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage." diff --git a/firmware/tunerstudio/generated/rusefi_atlas.ini b/firmware/tunerstudio/generated/rusefi_atlas.ini index 647d8ceba0..77fdb884bd 100644 --- a/firmware/tunerstudio/generated/rusefi_atlas.ini +++ b/firmware/tunerstudio/generated/rusefi_atlas.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.10.28.atlas.820758564" + signature = "rusEFI 2021.10.28.atlas.2286213629" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.10.28.atlas.820758564" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.10.28.atlas.2286213629" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -85,7 +85,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 28 17:28:18 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 18:23:23 UTC 2021 pageSize = 20000 page = 1 @@ -1500,8 +1500,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 boostControlPin = "Wastegate control Solenoid" boostPid_offset = "Linear addition to PID logic" boostPid_periodMs = "PID dTime" - boostPid_minValue = "Output min value" - boostPid_maxValue = "Output max value" + boostPid_minValue = "Output Min Duty Cycle" + boostPid_maxValue = "Output Max Duty Cycle" launchSpeedTreshold = "Disabled above this speed" launchRpmTreshold = "Disabled below this rpm" launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate" @@ -1571,12 +1571,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. " alternatorControl_offset = "Linear addition to PID logic" alternatorControl_periodMs = "PID dTime" - alternatorControl_minValue = "Output min value" - alternatorControl_maxValue = "Output max value" + alternatorControl_minValue = "Output Min Duty Cycle" + alternatorControl_maxValue = "Output Max Duty Cycle" etb_offset = "Linear addition to PID logic" etb_periodMs = "PID dTime" - etb_minValue = "Output min value" - etb_maxValue = "Output max value" + etb_minValue = "Output Min Duty Cycle" + etb_maxValue = "Output Max Duty Cycle" tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X" tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X" starterControlPin = "See also startStopButtonPin" @@ -1586,8 +1586,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table." idleRpmPid_offset = "Linear addition to PID logic" idleRpmPid_periodMs = "PID dTime" - idleRpmPid_minValue = "Output min value" - idleRpmPid_maxValue = "Output max value" + idleRpmPid_minValue = "Output Min Duty Cycle" + idleRpmPid_maxValue = "Output Max Duty Cycle" wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. " communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster." runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running." @@ -1651,8 +1651,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment." etbWastegatePid_offset = "Linear addition to PID logic" etbWastegatePid_periodMs = "PID dTime" - etbWastegatePid_minValue = "Output min value" - etbWastegatePid_maxValue = "Output max value" + etbWastegatePid_minValue = "Output Min Duty Cycle" + etbWastegatePid_maxValue = "Output Max Duty Cycle" stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough" stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)" stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)" @@ -1675,12 +1675,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 cj125ur = "heater input" auxPid1_offset = "Linear addition to PID logic" auxPid1_periodMs = "PID dTime" - auxPid1_minValue = "Output min value" - auxPid1_maxValue = "Output max value" + auxPid1_minValue = "Output Min Duty Cycle" + auxPid1_maxValue = "Output Max Duty Cycle" auxPid2_offset = "Linear addition to PID logic" auxPid2_periodMs = "PID dTime" - auxPid2_minValue = "Output min value" - auxPid2_maxValue = "Output max value" + auxPid2_minValue = "Output Min Duty Cycle" + auxPid2_maxValue = "Output Max Duty Cycle" fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius" fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius" flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type" @@ -1710,8 +1710,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 etb_iTermMax = "iTerm max value" idleTimingPid_offset = "Linear addition to PID logic" idleTimingPid_periodMs = "PID dTime" - idleTimingPid_minValue = "Output min value" - idleTimingPid_maxValue = "Output max value" + idleTimingPid_minValue = "Output Min Duty Cycle" + idleTimingPid_maxValue = "Output Max Duty Cycle" idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation" tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions" tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions" @@ -1738,8 +1738,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 triggerCompSensorSatRpm = "VR-sensor saturation RPM" idleRpmPid2_offset = "Linear addition to PID logic" idleRpmPid2_periodMs = "PID dTime" - idleRpmPid2_minValue = "Output min value" - idleRpmPid2_maxValue = "Output max value" + idleRpmPid2_minValue = "Output Min Duty Cycle" + idleRpmPid2_maxValue = "Output Max Duty Cycle" canVssNbcType = "set can_vss X" gppwm1_pin = "Select a pin to use for PWM or on-off output." gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage." diff --git a/firmware/tunerstudio/generated/rusefi_f429-discovery.ini b/firmware/tunerstudio/generated/rusefi_f429-discovery.ini index 544ce44c02..30ac03e4ae 100644 --- a/firmware/tunerstudio/generated/rusefi_f429-discovery.ini +++ b/firmware/tunerstudio/generated/rusefi_f429-discovery.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.10.28.f429-discovery.740375811" + signature = "rusEFI 2021.10.28.f429-discovery.2492345562" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.10.28.f429-discovery.740375811" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.10.28.f429-discovery.2492345562" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -85,7 +85,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 28 17:27:37 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 18:22:35 UTC 2021 pageSize = 20000 page = 1 @@ -1500,8 +1500,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 boostControlPin = "Wastegate control Solenoid" boostPid_offset = "Linear addition to PID logic" boostPid_periodMs = "PID dTime" - boostPid_minValue = "Output min value" - boostPid_maxValue = "Output max value" + boostPid_minValue = "Output Min Duty Cycle" + boostPid_maxValue = "Output Max Duty Cycle" launchSpeedTreshold = "Disabled above this speed" launchRpmTreshold = "Disabled below this rpm" launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate" @@ -1571,12 +1571,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. " alternatorControl_offset = "Linear addition to PID logic" alternatorControl_periodMs = "PID dTime" - alternatorControl_minValue = "Output min value" - alternatorControl_maxValue = "Output max value" + alternatorControl_minValue = "Output Min Duty Cycle" + alternatorControl_maxValue = "Output Max Duty Cycle" etb_offset = "Linear addition to PID logic" etb_periodMs = "PID dTime" - etb_minValue = "Output min value" - etb_maxValue = "Output max value" + etb_minValue = "Output Min Duty Cycle" + etb_maxValue = "Output Max Duty Cycle" tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X" tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X" starterControlPin = "See also startStopButtonPin" @@ -1586,8 +1586,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table." idleRpmPid_offset = "Linear addition to PID logic" idleRpmPid_periodMs = "PID dTime" - idleRpmPid_minValue = "Output min value" - idleRpmPid_maxValue = "Output max value" + idleRpmPid_minValue = "Output Min Duty Cycle" + idleRpmPid_maxValue = "Output Max Duty Cycle" wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. " communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster." runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running." @@ -1651,8 +1651,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment." etbWastegatePid_offset = "Linear addition to PID logic" etbWastegatePid_periodMs = "PID dTime" - etbWastegatePid_minValue = "Output min value" - etbWastegatePid_maxValue = "Output max value" + etbWastegatePid_minValue = "Output Min Duty Cycle" + etbWastegatePid_maxValue = "Output Max Duty Cycle" stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough" stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)" stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)" @@ -1675,12 +1675,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 cj125ur = "heater input" auxPid1_offset = "Linear addition to PID logic" auxPid1_periodMs = "PID dTime" - auxPid1_minValue = "Output min value" - auxPid1_maxValue = "Output max value" + auxPid1_minValue = "Output Min Duty Cycle" + auxPid1_maxValue = "Output Max Duty Cycle" auxPid2_offset = "Linear addition to PID logic" auxPid2_periodMs = "PID dTime" - auxPid2_minValue = "Output min value" - auxPid2_maxValue = "Output max value" + auxPid2_minValue = "Output Min Duty Cycle" + auxPid2_maxValue = "Output Max Duty Cycle" fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius" fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius" flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type" @@ -1710,8 +1710,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 etb_iTermMax = "iTerm max value" idleTimingPid_offset = "Linear addition to PID logic" idleTimingPid_periodMs = "PID dTime" - idleTimingPid_minValue = "Output min value" - idleTimingPid_maxValue = "Output max value" + idleTimingPid_minValue = "Output Min Duty Cycle" + idleTimingPid_maxValue = "Output Max Duty Cycle" idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation" tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions" tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions" @@ -1738,8 +1738,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 triggerCompSensorSatRpm = "VR-sensor saturation RPM" idleRpmPid2_offset = "Linear addition to PID logic" idleRpmPid2_periodMs = "PID dTime" - idleRpmPid2_minValue = "Output min value" - idleRpmPid2_maxValue = "Output max value" + idleRpmPid2_minValue = "Output Min Duty Cycle" + idleRpmPid2_maxValue = "Output Max Duty Cycle" canVssNbcType = "set can_vss X" gppwm1_pin = "Select a pin to use for PWM or on-off output." gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage." diff --git a/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini b/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini index 65cf7a6534..dae629aa2a 100644 --- a/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini +++ b/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.10.28.frankenso_na6.1444112618" + signature = "rusEFI 2021.10.28.frankenso_na6.4005329203" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.10.28.frankenso_na6.1444112618" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.10.28.frankenso_na6.4005329203" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -85,7 +85,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 28 17:28:06 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 18:23:07 UTC 2021 pageSize = 20000 page = 1 @@ -1500,8 +1500,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 boostControlPin = "Wastegate control Solenoid" boostPid_offset = "Linear addition to PID logic" boostPid_periodMs = "PID dTime" - boostPid_minValue = "Output min value" - boostPid_maxValue = "Output max value" + boostPid_minValue = "Output Min Duty Cycle" + boostPid_maxValue = "Output Max Duty Cycle" launchSpeedTreshold = "Disabled above this speed" launchRpmTreshold = "Disabled below this rpm" launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate" @@ -1571,12 +1571,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. " alternatorControl_offset = "Linear addition to PID logic" alternatorControl_periodMs = "PID dTime" - alternatorControl_minValue = "Output min value" - alternatorControl_maxValue = "Output max value" + alternatorControl_minValue = "Output Min Duty Cycle" + alternatorControl_maxValue = "Output Max Duty Cycle" etb_offset = "Linear addition to PID logic" etb_periodMs = "PID dTime" - etb_minValue = "Output min value" - etb_maxValue = "Output max value" + etb_minValue = "Output Min Duty Cycle" + etb_maxValue = "Output Max Duty Cycle" tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X" tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X" starterControlPin = "See also startStopButtonPin" @@ -1586,8 +1586,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table." idleRpmPid_offset = "Linear addition to PID logic" idleRpmPid_periodMs = "PID dTime" - idleRpmPid_minValue = "Output min value" - idleRpmPid_maxValue = "Output max value" + idleRpmPid_minValue = "Output Min Duty Cycle" + idleRpmPid_maxValue = "Output Max Duty Cycle" wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. " communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster." runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running." @@ -1651,8 +1651,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment." etbWastegatePid_offset = "Linear addition to PID logic" etbWastegatePid_periodMs = "PID dTime" - etbWastegatePid_minValue = "Output min value" - etbWastegatePid_maxValue = "Output max value" + etbWastegatePid_minValue = "Output Min Duty Cycle" + etbWastegatePid_maxValue = "Output Max Duty Cycle" stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough" stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)" stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)" @@ -1675,12 +1675,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 cj125ur = "heater input" auxPid1_offset = "Linear addition to PID logic" auxPid1_periodMs = "PID dTime" - auxPid1_minValue = "Output min value" - auxPid1_maxValue = "Output max value" + auxPid1_minValue = "Output Min Duty Cycle" + auxPid1_maxValue = "Output Max Duty Cycle" auxPid2_offset = "Linear addition to PID logic" auxPid2_periodMs = "PID dTime" - auxPid2_minValue = "Output min value" - auxPid2_maxValue = "Output max value" + auxPid2_minValue = "Output Min Duty Cycle" + auxPid2_maxValue = "Output Max Duty Cycle" fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius" fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius" flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type" @@ -1710,8 +1710,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 etb_iTermMax = "iTerm max value" idleTimingPid_offset = "Linear addition to PID logic" idleTimingPid_periodMs = "PID dTime" - idleTimingPid_minValue = "Output min value" - idleTimingPid_maxValue = "Output max value" + idleTimingPid_minValue = "Output Min Duty Cycle" + idleTimingPid_maxValue = "Output Max Duty Cycle" idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation" tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions" tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions" @@ -1738,8 +1738,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 triggerCompSensorSatRpm = "VR-sensor saturation RPM" idleRpmPid2_offset = "Linear addition to PID logic" idleRpmPid2_periodMs = "PID dTime" - idleRpmPid2_minValue = "Output min value" - idleRpmPid2_maxValue = "Output max value" + idleRpmPid2_minValue = "Output Min Duty Cycle" + idleRpmPid2_maxValue = "Output Max Duty Cycle" canVssNbcType = "set can_vss X" gppwm1_pin = "Select a pin to use for PWM or on-off output." gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage." diff --git a/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini b/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini index 112a33913d..6793bd2251 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.10.28.hellen-nb1.1267120938" + signature = "rusEFI 2021.10.28.hellen-nb1.4079594227" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.10.28.hellen-nb1.1267120938" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.10.28.hellen-nb1.4079594227" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -85,7 +85,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 28 17:27:55 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 18:22:55 UTC 2021 pageSize = 20000 page = 1 @@ -1500,8 +1500,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 boostControlPin = "Wastegate control Solenoid" boostPid_offset = "Linear addition to PID logic" boostPid_periodMs = "PID dTime" - boostPid_minValue = "Output min value" - boostPid_maxValue = "Output max value" + boostPid_minValue = "Output Min Duty Cycle" + boostPid_maxValue = "Output Max Duty Cycle" launchSpeedTreshold = "Disabled above this speed" launchRpmTreshold = "Disabled below this rpm" launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate" @@ -1571,12 +1571,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. " alternatorControl_offset = "Linear addition to PID logic" alternatorControl_periodMs = "PID dTime" - alternatorControl_minValue = "Output min value" - alternatorControl_maxValue = "Output max value" + alternatorControl_minValue = "Output Min Duty Cycle" + alternatorControl_maxValue = "Output Max Duty Cycle" etb_offset = "Linear addition to PID logic" etb_periodMs = "PID dTime" - etb_minValue = "Output min value" - etb_maxValue = "Output max value" + etb_minValue = "Output Min Duty Cycle" + etb_maxValue = "Output Max Duty Cycle" tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X" tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X" starterControlPin = "See also startStopButtonPin" @@ -1586,8 +1586,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table." idleRpmPid_offset = "Linear addition to PID logic" idleRpmPid_periodMs = "PID dTime" - idleRpmPid_minValue = "Output min value" - idleRpmPid_maxValue = "Output max value" + idleRpmPid_minValue = "Output Min Duty Cycle" + idleRpmPid_maxValue = "Output Max Duty Cycle" wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. " communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster." runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running." @@ -1651,8 +1651,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment." etbWastegatePid_offset = "Linear addition to PID logic" etbWastegatePid_periodMs = "PID dTime" - etbWastegatePid_minValue = "Output min value" - etbWastegatePid_maxValue = "Output max value" + etbWastegatePid_minValue = "Output Min Duty Cycle" + etbWastegatePid_maxValue = "Output Max Duty Cycle" stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough" stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)" stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)" @@ -1675,12 +1675,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 cj125ur = "heater input" auxPid1_offset = "Linear addition to PID logic" auxPid1_periodMs = "PID dTime" - auxPid1_minValue = "Output min value" - auxPid1_maxValue = "Output max value" + auxPid1_minValue = "Output Min Duty Cycle" + auxPid1_maxValue = "Output Max Duty Cycle" auxPid2_offset = "Linear addition to PID logic" auxPid2_periodMs = "PID dTime" - auxPid2_minValue = "Output min value" - auxPid2_maxValue = "Output max value" + auxPid2_minValue = "Output Min Duty Cycle" + auxPid2_maxValue = "Output Max Duty Cycle" fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius" fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius" flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type" @@ -1710,8 +1710,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 etb_iTermMax = "iTerm max value" idleTimingPid_offset = "Linear addition to PID logic" idleTimingPid_periodMs = "PID dTime" - idleTimingPid_minValue = "Output min value" - idleTimingPid_maxValue = "Output max value" + idleTimingPid_minValue = "Output Min Duty Cycle" + idleTimingPid_maxValue = "Output Max Duty Cycle" idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation" tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions" tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions" @@ -1738,8 +1738,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 triggerCompSensorSatRpm = "VR-sensor saturation RPM" idleRpmPid2_offset = "Linear addition to PID logic" idleRpmPid2_periodMs = "PID dTime" - idleRpmPid2_minValue = "Output min value" - idleRpmPid2_maxValue = "Output max value" + idleRpmPid2_minValue = "Output Min Duty Cycle" + idleRpmPid2_maxValue = "Output Max Duty Cycle" canVssNbcType = "set can_vss X" gppwm1_pin = "Select a pin to use for PWM or on-off output." gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage." diff --git a/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini b/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini index 97194bb3ae..ceb6df259d 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.10.28.hellen121nissan.2815452481" + signature = "rusEFI 2021.10.28.hellen121nissan.528446616" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.10.28.hellen121nissan.2815452481" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.10.28.hellen121nissan.528446616" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -85,7 +85,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 28 17:27:45 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 18:22:44 UTC 2021 pageSize = 20000 page = 1 @@ -1500,8 +1500,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 boostControlPin = "Wastegate control Solenoid" boostPid_offset = "Linear addition to PID logic" boostPid_periodMs = "PID dTime" - boostPid_minValue = "Output min value" - boostPid_maxValue = "Output max value" + boostPid_minValue = "Output Min Duty Cycle" + boostPid_maxValue = "Output Max Duty Cycle" launchSpeedTreshold = "Disabled above this speed" launchRpmTreshold = "Disabled below this rpm" launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate" @@ -1571,12 +1571,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. " alternatorControl_offset = "Linear addition to PID logic" alternatorControl_periodMs = "PID dTime" - alternatorControl_minValue = "Output min value" - alternatorControl_maxValue = "Output max value" + alternatorControl_minValue = "Output Min Duty Cycle" + alternatorControl_maxValue = "Output Max Duty Cycle" etb_offset = "Linear addition to PID logic" etb_periodMs = "PID dTime" - etb_minValue = "Output min value" - etb_maxValue = "Output max value" + etb_minValue = "Output Min Duty Cycle" + etb_maxValue = "Output Max Duty Cycle" tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X" tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X" starterControlPin = "See also startStopButtonPin" @@ -1586,8 +1586,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table." idleRpmPid_offset = "Linear addition to PID logic" idleRpmPid_periodMs = "PID dTime" - idleRpmPid_minValue = "Output min value" - idleRpmPid_maxValue = "Output max value" + idleRpmPid_minValue = "Output Min Duty Cycle" + idleRpmPid_maxValue = "Output Max Duty Cycle" wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. " communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster." runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running." @@ -1651,8 +1651,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment." etbWastegatePid_offset = "Linear addition to PID logic" etbWastegatePid_periodMs = "PID dTime" - etbWastegatePid_minValue = "Output min value" - etbWastegatePid_maxValue = "Output max value" + etbWastegatePid_minValue = "Output Min Duty Cycle" + etbWastegatePid_maxValue = "Output Max Duty Cycle" stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough" stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)" stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)" @@ -1675,12 +1675,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 cj125ur = "heater input" auxPid1_offset = "Linear addition to PID logic" auxPid1_periodMs = "PID dTime" - auxPid1_minValue = "Output min value" - auxPid1_maxValue = "Output max value" + auxPid1_minValue = "Output Min Duty Cycle" + auxPid1_maxValue = "Output Max Duty Cycle" auxPid2_offset = "Linear addition to PID logic" auxPid2_periodMs = "PID dTime" - auxPid2_minValue = "Output min value" - auxPid2_maxValue = "Output max value" + auxPid2_minValue = "Output Min Duty Cycle" + auxPid2_maxValue = "Output Max Duty Cycle" fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius" fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius" flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type" @@ -1710,8 +1710,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 etb_iTermMax = "iTerm max value" idleTimingPid_offset = "Linear addition to PID logic" idleTimingPid_periodMs = "PID dTime" - idleTimingPid_minValue = "Output min value" - idleTimingPid_maxValue = "Output max value" + idleTimingPid_minValue = "Output Min Duty Cycle" + idleTimingPid_maxValue = "Output Max Duty Cycle" idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation" tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions" tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions" @@ -1738,8 +1738,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 triggerCompSensorSatRpm = "VR-sensor saturation RPM" idleRpmPid2_offset = "Linear addition to PID logic" idleRpmPid2_periodMs = "PID dTime" - idleRpmPid2_minValue = "Output min value" - idleRpmPid2_maxValue = "Output max value" + idleRpmPid2_minValue = "Output Min Duty Cycle" + idleRpmPid2_maxValue = "Output Max Duty Cycle" canVssNbcType = "set can_vss X" gppwm1_pin = "Select a pin to use for PWM or on-off output." gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage." diff --git a/firmware/tunerstudio/generated/rusefi_hellen121vag.ini b/firmware/tunerstudio/generated/rusefi_hellen121vag.ini index 7fc0ac7a2b..ac206c7a8e 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen121vag.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen121vag.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.10.28.hellen121vag.2144197957" + signature = "rusEFI 2021.10.28.hellen121vag.3345140892" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.10.28.hellen121vag.2144197957" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.10.28.hellen121vag.3345140892" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -85,7 +85,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 28 17:27:42 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 18:22:41 UTC 2021 pageSize = 20000 page = 1 @@ -1500,8 +1500,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 boostControlPin = "Wastegate control Solenoid" boostPid_offset = "Linear addition to PID logic" boostPid_periodMs = "PID dTime" - boostPid_minValue = "Output min value" - boostPid_maxValue = "Output max value" + boostPid_minValue = "Output Min Duty Cycle" + boostPid_maxValue = "Output Max Duty Cycle" launchSpeedTreshold = "Disabled above this speed" launchRpmTreshold = "Disabled below this rpm" launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate" @@ -1571,12 +1571,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. " alternatorControl_offset = "Linear addition to PID logic" alternatorControl_periodMs = "PID dTime" - alternatorControl_minValue = "Output min value" - alternatorControl_maxValue = "Output max value" + alternatorControl_minValue = "Output Min Duty Cycle" + alternatorControl_maxValue = "Output Max Duty Cycle" etb_offset = "Linear addition to PID logic" etb_periodMs = "PID dTime" - etb_minValue = "Output min value" - etb_maxValue = "Output max value" + etb_minValue = "Output Min Duty Cycle" + etb_maxValue = "Output Max Duty Cycle" tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X" tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X" starterControlPin = "See also startStopButtonPin" @@ -1586,8 +1586,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table." idleRpmPid_offset = "Linear addition to PID logic" idleRpmPid_periodMs = "PID dTime" - idleRpmPid_minValue = "Output min value" - idleRpmPid_maxValue = "Output max value" + idleRpmPid_minValue = "Output Min Duty Cycle" + idleRpmPid_maxValue = "Output Max Duty Cycle" wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. " communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster." runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running." @@ -1651,8 +1651,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment." etbWastegatePid_offset = "Linear addition to PID logic" etbWastegatePid_periodMs = "PID dTime" - etbWastegatePid_minValue = "Output min value" - etbWastegatePid_maxValue = "Output max value" + etbWastegatePid_minValue = "Output Min Duty Cycle" + etbWastegatePid_maxValue = "Output Max Duty Cycle" stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough" stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)" stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)" @@ -1675,12 +1675,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 cj125ur = "heater input" auxPid1_offset = "Linear addition to PID logic" auxPid1_periodMs = "PID dTime" - auxPid1_minValue = "Output min value" - auxPid1_maxValue = "Output max value" + auxPid1_minValue = "Output Min Duty Cycle" + auxPid1_maxValue = "Output Max Duty Cycle" auxPid2_offset = "Linear addition to PID logic" auxPid2_periodMs = "PID dTime" - auxPid2_minValue = "Output min value" - auxPid2_maxValue = "Output max value" + auxPid2_minValue = "Output Min Duty Cycle" + auxPid2_maxValue = "Output Max Duty Cycle" fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius" fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius" flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type" @@ -1710,8 +1710,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 etb_iTermMax = "iTerm max value" idleTimingPid_offset = "Linear addition to PID logic" idleTimingPid_periodMs = "PID dTime" - idleTimingPid_minValue = "Output min value" - idleTimingPid_maxValue = "Output max value" + idleTimingPid_minValue = "Output Min Duty Cycle" + idleTimingPid_maxValue = "Output Max Duty Cycle" idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation" tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions" tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions" @@ -1738,8 +1738,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 triggerCompSensorSatRpm = "VR-sensor saturation RPM" idleRpmPid2_offset = "Linear addition to PID logic" idleRpmPid2_periodMs = "PID dTime" - idleRpmPid2_minValue = "Output min value" - idleRpmPid2_maxValue = "Output max value" + idleRpmPid2_minValue = "Output Min Duty Cycle" + idleRpmPid2_maxValue = "Output Max Duty Cycle" canVssNbcType = "set can_vss X" gppwm1_pin = "Select a pin to use for PWM or on-off output." gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage." diff --git a/firmware/tunerstudio/generated/rusefi_hellen128mercedes.ini b/firmware/tunerstudio/generated/rusefi_hellen128mercedes.ini index 79729d5512..0fc00c29fa 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen128mercedes.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen128mercedes.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.10.28.hellen128.4196476371" + signature = "rusEFI 2021.10.28.hellen128.1116615690" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.10.28.hellen128.4196476371" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.10.28.hellen128.1116615690" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -85,7 +85,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 28 17:27:40 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 18:22:38 UTC 2021 pageSize = 20000 page = 1 @@ -1500,8 +1500,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 boostControlPin = "Wastegate control Solenoid" boostPid_offset = "Linear addition to PID logic" boostPid_periodMs = "PID dTime" - boostPid_minValue = "Output min value" - boostPid_maxValue = "Output max value" + boostPid_minValue = "Output Min Duty Cycle" + boostPid_maxValue = "Output Max Duty Cycle" launchSpeedTreshold = "Disabled above this speed" launchRpmTreshold = "Disabled below this rpm" launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate" @@ -1571,12 +1571,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. " alternatorControl_offset = "Linear addition to PID logic" alternatorControl_periodMs = "PID dTime" - alternatorControl_minValue = "Output min value" - alternatorControl_maxValue = "Output max value" + alternatorControl_minValue = "Output Min Duty Cycle" + alternatorControl_maxValue = "Output Max Duty Cycle" etb_offset = "Linear addition to PID logic" etb_periodMs = "PID dTime" - etb_minValue = "Output min value" - etb_maxValue = "Output max value" + etb_minValue = "Output Min Duty Cycle" + etb_maxValue = "Output Max Duty Cycle" tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X" tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X" starterControlPin = "See also startStopButtonPin" @@ -1586,8 +1586,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table." idleRpmPid_offset = "Linear addition to PID logic" idleRpmPid_periodMs = "PID dTime" - idleRpmPid_minValue = "Output min value" - idleRpmPid_maxValue = "Output max value" + idleRpmPid_minValue = "Output Min Duty Cycle" + idleRpmPid_maxValue = "Output Max Duty Cycle" wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. " communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster." runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running." @@ -1651,8 +1651,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment." etbWastegatePid_offset = "Linear addition to PID logic" etbWastegatePid_periodMs = "PID dTime" - etbWastegatePid_minValue = "Output min value" - etbWastegatePid_maxValue = "Output max value" + etbWastegatePid_minValue = "Output Min Duty Cycle" + etbWastegatePid_maxValue = "Output Max Duty Cycle" stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough" stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)" stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)" @@ -1675,12 +1675,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 cj125ur = "heater input" auxPid1_offset = "Linear addition to PID logic" auxPid1_periodMs = "PID dTime" - auxPid1_minValue = "Output min value" - auxPid1_maxValue = "Output max value" + auxPid1_minValue = "Output Min Duty Cycle" + auxPid1_maxValue = "Output Max Duty Cycle" auxPid2_offset = "Linear addition to PID logic" auxPid2_periodMs = "PID dTime" - auxPid2_minValue = "Output min value" - auxPid2_maxValue = "Output max value" + auxPid2_minValue = "Output Min Duty Cycle" + auxPid2_maxValue = "Output Max Duty Cycle" fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius" fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius" flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type" @@ -1710,8 +1710,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 etb_iTermMax = "iTerm max value" idleTimingPid_offset = "Linear addition to PID logic" idleTimingPid_periodMs = "PID dTime" - idleTimingPid_minValue = "Output min value" - idleTimingPid_maxValue = "Output max value" + idleTimingPid_minValue = "Output Min Duty Cycle" + idleTimingPid_maxValue = "Output Max Duty Cycle" idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation" tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions" tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions" @@ -1738,8 +1738,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 triggerCompSensorSatRpm = "VR-sensor saturation RPM" idleRpmPid2_offset = "Linear addition to PID logic" idleRpmPid2_periodMs = "PID dTime" - idleRpmPid2_minValue = "Output min value" - idleRpmPid2_maxValue = "Output max value" + idleRpmPid2_minValue = "Output Min Duty Cycle" + idleRpmPid2_maxValue = "Output Max Duty Cycle" canVssNbcType = "set can_vss X" gppwm1_pin = "Select a pin to use for PWM or on-off output." gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage." diff --git a/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini b/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini index 46f717c9a7..f18b990c10 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.10.28.hellen154hyundai.1751030585" + signature = "rusEFI 2021.10.28.hellen154hyundai.3505490656" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.10.28.hellen154hyundai.1751030585" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.10.28.hellen154hyundai.3505490656" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -85,7 +85,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 28 17:27:48 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 18:22:46 UTC 2021 pageSize = 20000 page = 1 @@ -1500,8 +1500,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 boostControlPin = "Wastegate control Solenoid" boostPid_offset = "Linear addition to PID logic" boostPid_periodMs = "PID dTime" - boostPid_minValue = "Output min value" - boostPid_maxValue = "Output max value" + boostPid_minValue = "Output Min Duty Cycle" + boostPid_maxValue = "Output Max Duty Cycle" launchSpeedTreshold = "Disabled above this speed" launchRpmTreshold = "Disabled below this rpm" launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate" @@ -1571,12 +1571,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. " alternatorControl_offset = "Linear addition to PID logic" alternatorControl_periodMs = "PID dTime" - alternatorControl_minValue = "Output min value" - alternatorControl_maxValue = "Output max value" + alternatorControl_minValue = "Output Min Duty Cycle" + alternatorControl_maxValue = "Output Max Duty Cycle" etb_offset = "Linear addition to PID logic" etb_periodMs = "PID dTime" - etb_minValue = "Output min value" - etb_maxValue = "Output max value" + etb_minValue = "Output Min Duty Cycle" + etb_maxValue = "Output Max Duty Cycle" tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X" tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X" starterControlPin = "See also startStopButtonPin" @@ -1586,8 +1586,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table." idleRpmPid_offset = "Linear addition to PID logic" idleRpmPid_periodMs = "PID dTime" - idleRpmPid_minValue = "Output min value" - idleRpmPid_maxValue = "Output max value" + idleRpmPid_minValue = "Output Min Duty Cycle" + idleRpmPid_maxValue = "Output Max Duty Cycle" wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. " communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster." runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running." @@ -1651,8 +1651,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment." etbWastegatePid_offset = "Linear addition to PID logic" etbWastegatePid_periodMs = "PID dTime" - etbWastegatePid_minValue = "Output min value" - etbWastegatePid_maxValue = "Output max value" + etbWastegatePid_minValue = "Output Min Duty Cycle" + etbWastegatePid_maxValue = "Output Max Duty Cycle" stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough" stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)" stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)" @@ -1675,12 +1675,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 cj125ur = "heater input" auxPid1_offset = "Linear addition to PID logic" auxPid1_periodMs = "PID dTime" - auxPid1_minValue = "Output min value" - auxPid1_maxValue = "Output max value" + auxPid1_minValue = "Output Min Duty Cycle" + auxPid1_maxValue = "Output Max Duty Cycle" auxPid2_offset = "Linear addition to PID logic" auxPid2_periodMs = "PID dTime" - auxPid2_minValue = "Output min value" - auxPid2_maxValue = "Output max value" + auxPid2_minValue = "Output Min Duty Cycle" + auxPid2_maxValue = "Output Max Duty Cycle" fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius" fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius" flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type" @@ -1710,8 +1710,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 etb_iTermMax = "iTerm max value" idleTimingPid_offset = "Linear addition to PID logic" idleTimingPid_periodMs = "PID dTime" - idleTimingPid_minValue = "Output min value" - idleTimingPid_maxValue = "Output max value" + idleTimingPid_minValue = "Output Min Duty Cycle" + idleTimingPid_maxValue = "Output Max Duty Cycle" idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation" tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions" tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions" @@ -1738,8 +1738,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 triggerCompSensorSatRpm = "VR-sensor saturation RPM" idleRpmPid2_offset = "Linear addition to PID logic" idleRpmPid2_periodMs = "PID dTime" - idleRpmPid2_minValue = "Output min value" - idleRpmPid2_maxValue = "Output max value" + idleRpmPid2_minValue = "Output Min Duty Cycle" + idleRpmPid2_maxValue = "Output Max Duty Cycle" canVssNbcType = "set can_vss X" gppwm1_pin = "Select a pin to use for PWM or on-off output." gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage." diff --git a/firmware/tunerstudio/generated/rusefi_hellen72.ini b/firmware/tunerstudio/generated/rusefi_hellen72.ini index 7c2632a6b6..a296943791 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen72.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen72.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.10.28.hellen72.1253334308" + signature = "rusEFI 2021.10.28.hellen72.4061875453" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.10.28.hellen72.1253334308" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.10.28.hellen72.4061875453" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -85,7 +85,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 28 17:27:53 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 18:22:52 UTC 2021 pageSize = 20000 page = 1 @@ -1500,8 +1500,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 boostControlPin = "Wastegate control Solenoid" boostPid_offset = "Linear addition to PID logic" boostPid_periodMs = "PID dTime" - boostPid_minValue = "Output min value" - boostPid_maxValue = "Output max value" + boostPid_minValue = "Output Min Duty Cycle" + boostPid_maxValue = "Output Max Duty Cycle" launchSpeedTreshold = "Disabled above this speed" launchRpmTreshold = "Disabled below this rpm" launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate" @@ -1571,12 +1571,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. " alternatorControl_offset = "Linear addition to PID logic" alternatorControl_periodMs = "PID dTime" - alternatorControl_minValue = "Output min value" - alternatorControl_maxValue = "Output max value" + alternatorControl_minValue = "Output Min Duty Cycle" + alternatorControl_maxValue = "Output Max Duty Cycle" etb_offset = "Linear addition to PID logic" etb_periodMs = "PID dTime" - etb_minValue = "Output min value" - etb_maxValue = "Output max value" + etb_minValue = "Output Min Duty Cycle" + etb_maxValue = "Output Max Duty Cycle" tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X" tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X" starterControlPin = "See also startStopButtonPin" @@ -1586,8 +1586,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table." idleRpmPid_offset = "Linear addition to PID logic" idleRpmPid_periodMs = "PID dTime" - idleRpmPid_minValue = "Output min value" - idleRpmPid_maxValue = "Output max value" + idleRpmPid_minValue = "Output Min Duty Cycle" + idleRpmPid_maxValue = "Output Max Duty Cycle" wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. " communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster." runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running." @@ -1651,8 +1651,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment." etbWastegatePid_offset = "Linear addition to PID logic" etbWastegatePid_periodMs = "PID dTime" - etbWastegatePid_minValue = "Output min value" - etbWastegatePid_maxValue = "Output max value" + etbWastegatePid_minValue = "Output Min Duty Cycle" + etbWastegatePid_maxValue = "Output Max Duty Cycle" stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough" stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)" stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)" @@ -1675,12 +1675,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 cj125ur = "heater input" auxPid1_offset = "Linear addition to PID logic" auxPid1_periodMs = "PID dTime" - auxPid1_minValue = "Output min value" - auxPid1_maxValue = "Output max value" + auxPid1_minValue = "Output Min Duty Cycle" + auxPid1_maxValue = "Output Max Duty Cycle" auxPid2_offset = "Linear addition to PID logic" auxPid2_periodMs = "PID dTime" - auxPid2_minValue = "Output min value" - auxPid2_maxValue = "Output max value" + auxPid2_minValue = "Output Min Duty Cycle" + auxPid2_maxValue = "Output Max Duty Cycle" fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius" fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius" flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type" @@ -1710,8 +1710,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 etb_iTermMax = "iTerm max value" idleTimingPid_offset = "Linear addition to PID logic" idleTimingPid_periodMs = "PID dTime" - idleTimingPid_minValue = "Output min value" - idleTimingPid_maxValue = "Output max value" + idleTimingPid_minValue = "Output Min Duty Cycle" + idleTimingPid_maxValue = "Output Max Duty Cycle" idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation" tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions" tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions" @@ -1738,8 +1738,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 triggerCompSensorSatRpm = "VR-sensor saturation RPM" idleRpmPid2_offset = "Linear addition to PID logic" idleRpmPid2_periodMs = "PID dTime" - idleRpmPid2_minValue = "Output min value" - idleRpmPid2_maxValue = "Output max value" + idleRpmPid2_minValue = "Output Min Duty Cycle" + idleRpmPid2_maxValue = "Output Max Duty Cycle" canVssNbcType = "set can_vss X" gppwm1_pin = "Select a pin to use for PWM or on-off output." gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage." diff --git a/firmware/tunerstudio/generated/rusefi_hellen88bmw.ini b/firmware/tunerstudio/generated/rusefi_hellen88bmw.ini index 98f136bfbd..b2714115e5 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen88bmw.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen88bmw.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.10.28.hellen88bmw.3668034030" + signature = "rusEFI 2021.10.28.hellen88bmw.1645137975" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.10.28.hellen88bmw.3668034030" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.10.28.hellen88bmw.1645137975" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -85,7 +85,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 28 17:27:50 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 18:22:49 UTC 2021 pageSize = 20000 page = 1 @@ -1500,8 +1500,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 boostControlPin = "Wastegate control Solenoid" boostPid_offset = "Linear addition to PID logic" boostPid_periodMs = "PID dTime" - boostPid_minValue = "Output min value" - boostPid_maxValue = "Output max value" + boostPid_minValue = "Output Min Duty Cycle" + boostPid_maxValue = "Output Max Duty Cycle" launchSpeedTreshold = "Disabled above this speed" launchRpmTreshold = "Disabled below this rpm" launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate" @@ -1571,12 +1571,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. " alternatorControl_offset = "Linear addition to PID logic" alternatorControl_periodMs = "PID dTime" - alternatorControl_minValue = "Output min value" - alternatorControl_maxValue = "Output max value" + alternatorControl_minValue = "Output Min Duty Cycle" + alternatorControl_maxValue = "Output Max Duty Cycle" etb_offset = "Linear addition to PID logic" etb_periodMs = "PID dTime" - etb_minValue = "Output min value" - etb_maxValue = "Output max value" + etb_minValue = "Output Min Duty Cycle" + etb_maxValue = "Output Max Duty Cycle" tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X" tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X" starterControlPin = "See also startStopButtonPin" @@ -1586,8 +1586,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table." idleRpmPid_offset = "Linear addition to PID logic" idleRpmPid_periodMs = "PID dTime" - idleRpmPid_minValue = "Output min value" - idleRpmPid_maxValue = "Output max value" + idleRpmPid_minValue = "Output Min Duty Cycle" + idleRpmPid_maxValue = "Output Max Duty Cycle" wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. " communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster." runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running." @@ -1651,8 +1651,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment." etbWastegatePid_offset = "Linear addition to PID logic" etbWastegatePid_periodMs = "PID dTime" - etbWastegatePid_minValue = "Output min value" - etbWastegatePid_maxValue = "Output max value" + etbWastegatePid_minValue = "Output Min Duty Cycle" + etbWastegatePid_maxValue = "Output Max Duty Cycle" stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough" stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)" stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)" @@ -1675,12 +1675,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 cj125ur = "heater input" auxPid1_offset = "Linear addition to PID logic" auxPid1_periodMs = "PID dTime" - auxPid1_minValue = "Output min value" - auxPid1_maxValue = "Output max value" + auxPid1_minValue = "Output Min Duty Cycle" + auxPid1_maxValue = "Output Max Duty Cycle" auxPid2_offset = "Linear addition to PID logic" auxPid2_periodMs = "PID dTime" - auxPid2_minValue = "Output min value" - auxPid2_maxValue = "Output max value" + auxPid2_minValue = "Output Min Duty Cycle" + auxPid2_maxValue = "Output Max Duty Cycle" fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius" fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius" flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type" @@ -1710,8 +1710,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 etb_iTermMax = "iTerm max value" idleTimingPid_offset = "Linear addition to PID logic" idleTimingPid_periodMs = "PID dTime" - idleTimingPid_minValue = "Output min value" - idleTimingPid_maxValue = "Output max value" + idleTimingPid_minValue = "Output Min Duty Cycle" + idleTimingPid_maxValue = "Output Max Duty Cycle" idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation" tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions" tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions" @@ -1738,8 +1738,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 triggerCompSensorSatRpm = "VR-sensor saturation RPM" idleRpmPid2_offset = "Linear addition to PID logic" idleRpmPid2_periodMs = "PID dTime" - idleRpmPid2_minValue = "Output min value" - idleRpmPid2_maxValue = "Output max value" + idleRpmPid2_minValue = "Output Min Duty Cycle" + idleRpmPid2_maxValue = "Output Max Duty Cycle" canVssNbcType = "set can_vss X" gppwm1_pin = "Select a pin to use for PWM or on-off output." gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage." diff --git a/firmware/tunerstudio/generated/rusefi_hellenNA6.ini b/firmware/tunerstudio/generated/rusefi_hellenNA6.ini index 183d4482cb..b8616a0b1c 100644 --- a/firmware/tunerstudio/generated/rusefi_hellenNA6.ini +++ b/firmware/tunerstudio/generated/rusefi_hellenNA6.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.10.28.hellenNA6.3672855791" + signature = "rusEFI 2021.10.28.hellenNA6.1648641334" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.10.28.hellenNA6.3672855791" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.10.28.hellenNA6.1648641334" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -85,7 +85,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 28 17:27:58 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 18:22:58 UTC 2021 pageSize = 20000 page = 1 @@ -1500,8 +1500,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 boostControlPin = "Wastegate control Solenoid" boostPid_offset = "Linear addition to PID logic" boostPid_periodMs = "PID dTime" - boostPid_minValue = "Output min value" - boostPid_maxValue = "Output max value" + boostPid_minValue = "Output Min Duty Cycle" + boostPid_maxValue = "Output Max Duty Cycle" launchSpeedTreshold = "Disabled above this speed" launchRpmTreshold = "Disabled below this rpm" launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate" @@ -1571,12 +1571,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. " alternatorControl_offset = "Linear addition to PID logic" alternatorControl_periodMs = "PID dTime" - alternatorControl_minValue = "Output min value" - alternatorControl_maxValue = "Output max value" + alternatorControl_minValue = "Output Min Duty Cycle" + alternatorControl_maxValue = "Output Max Duty Cycle" etb_offset = "Linear addition to PID logic" etb_periodMs = "PID dTime" - etb_minValue = "Output min value" - etb_maxValue = "Output max value" + etb_minValue = "Output Min Duty Cycle" + etb_maxValue = "Output Max Duty Cycle" tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X" tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X" starterControlPin = "See also startStopButtonPin" @@ -1586,8 +1586,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table." idleRpmPid_offset = "Linear addition to PID logic" idleRpmPid_periodMs = "PID dTime" - idleRpmPid_minValue = "Output min value" - idleRpmPid_maxValue = "Output max value" + idleRpmPid_minValue = "Output Min Duty Cycle" + idleRpmPid_maxValue = "Output Max Duty Cycle" wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. " communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster." runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running." @@ -1651,8 +1651,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment." etbWastegatePid_offset = "Linear addition to PID logic" etbWastegatePid_periodMs = "PID dTime" - etbWastegatePid_minValue = "Output min value" - etbWastegatePid_maxValue = "Output max value" + etbWastegatePid_minValue = "Output Min Duty Cycle" + etbWastegatePid_maxValue = "Output Max Duty Cycle" stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough" stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)" stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)" @@ -1675,12 +1675,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 cj125ur = "heater input" auxPid1_offset = "Linear addition to PID logic" auxPid1_periodMs = "PID dTime" - auxPid1_minValue = "Output min value" - auxPid1_maxValue = "Output max value" + auxPid1_minValue = "Output Min Duty Cycle" + auxPid1_maxValue = "Output Max Duty Cycle" auxPid2_offset = "Linear addition to PID logic" auxPid2_periodMs = "PID dTime" - auxPid2_minValue = "Output min value" - auxPid2_maxValue = "Output max value" + auxPid2_minValue = "Output Min Duty Cycle" + auxPid2_maxValue = "Output Max Duty Cycle" fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius" fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius" flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type" @@ -1710,8 +1710,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 etb_iTermMax = "iTerm max value" idleTimingPid_offset = "Linear addition to PID logic" idleTimingPid_periodMs = "PID dTime" - idleTimingPid_minValue = "Output min value" - idleTimingPid_maxValue = "Output max value" + idleTimingPid_minValue = "Output Min Duty Cycle" + idleTimingPid_maxValue = "Output Max Duty Cycle" idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation" tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions" tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions" @@ -1738,8 +1738,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 triggerCompSensorSatRpm = "VR-sensor saturation RPM" idleRpmPid2_offset = "Linear addition to PID logic" idleRpmPid2_periodMs = "PID dTime" - idleRpmPid2_minValue = "Output min value" - idleRpmPid2_maxValue = "Output max value" + idleRpmPid2_minValue = "Output Min Duty Cycle" + idleRpmPid2_maxValue = "Output Max Duty Cycle" canVssNbcType = "set can_vss X" gppwm1_pin = "Select a pin to use for PWM or on-off output." gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage." diff --git a/firmware/tunerstudio/generated/rusefi_hellen_cypress.ini b/firmware/tunerstudio/generated/rusefi_hellen_cypress.ini index baf369d2e9..a0cfccd598 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen_cypress.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen_cypress.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.10.28.hellen_cypress.1851647699" + signature = "rusEFI 2021.10.28.hellen_cypress.3606247178" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.10.28.hellen_cypress.1851647699" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.10.28.hellen_cypress.3606247178" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -85,7 +85,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 28 17:28:25 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 28 18:23:31 UTC 2021 pageSize = 20000 page = 1 @@ -1500,8 +1500,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 boostControlPin = "Wastegate control Solenoid" boostPid_offset = "Linear addition to PID logic" boostPid_periodMs = "PID dTime" - boostPid_minValue = "Output min value" - boostPid_maxValue = "Output max value" + boostPid_minValue = "Output Min Duty Cycle" + boostPid_maxValue = "Output Max Duty Cycle" launchSpeedTreshold = "Disabled above this speed" launchRpmTreshold = "Disabled below this rpm" launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate" @@ -1571,12 +1571,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. " alternatorControl_offset = "Linear addition to PID logic" alternatorControl_periodMs = "PID dTime" - alternatorControl_minValue = "Output min value" - alternatorControl_maxValue = "Output max value" + alternatorControl_minValue = "Output Min Duty Cycle" + alternatorControl_maxValue = "Output Max Duty Cycle" etb_offset = "Linear addition to PID logic" etb_periodMs = "PID dTime" - etb_minValue = "Output min value" - etb_maxValue = "Output max value" + etb_minValue = "Output Min Duty Cycle" + etb_maxValue = "Output Max Duty Cycle" tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X" tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X" starterControlPin = "See also startStopButtonPin" @@ -1586,8 +1586,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table." idleRpmPid_offset = "Linear addition to PID logic" idleRpmPid_periodMs = "PID dTime" - idleRpmPid_minValue = "Output min value" - idleRpmPid_maxValue = "Output max value" + idleRpmPid_minValue = "Output Min Duty Cycle" + idleRpmPid_maxValue = "Output Max Duty Cycle" wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. " communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster." runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running." @@ -1651,8 +1651,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment." etbWastegatePid_offset = "Linear addition to PID logic" etbWastegatePid_periodMs = "PID dTime" - etbWastegatePid_minValue = "Output min value" - etbWastegatePid_maxValue = "Output max value" + etbWastegatePid_minValue = "Output Min Duty Cycle" + etbWastegatePid_maxValue = "Output Max Duty Cycle" stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough" stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)" stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)" @@ -1675,12 +1675,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 cj125ur = "heater input" auxPid1_offset = "Linear addition to PID logic" auxPid1_periodMs = "PID dTime" - auxPid1_minValue = "Output min value" - auxPid1_maxValue = "Output max value" + auxPid1_minValue = "Output Min Duty Cycle" + auxPid1_maxValue = "Output Max Duty Cycle" auxPid2_offset = "Linear addition to PID logic" auxPid2_periodMs = "PID dTime" - auxPid2_minValue = "Output min value" - auxPid2_maxValue = "Output max value" + auxPid2_minValue = "Output Min Duty Cycle" + auxPid2_maxValue = "Output Max Duty Cycle" fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius" fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius" flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type" @@ -1710,8 +1710,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 etb_iTermMax = "iTerm max value" idleTimingPid_offset = "Linear addition to PID logic" idleTimingPid_periodMs = "PID dTime" - idleTimingPid_minValue = "Output min value" - idleTimingPid_maxValue = "Output max value" + idleTimingPid_minValue = "Output Min Duty Cycle" + idleTimingPid_maxValue = "Output Max Duty Cycle" idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation" tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions" tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions" @@ -1738,8 +1738,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 triggerCompSensorSatRpm = "VR-sensor saturation RPM" idleRpmPid2_offset = "Linear addition to PID logic" idleRpmPid2_periodMs = "PID dTime" - idleRpmPid2_minValue = "Output min value" - idleRpmPid2_maxValue = "Output max value" + idleRpmPid2_minValue = "Output Min Duty Cycle" + idleRpmPid2_maxValue = "Output Max Duty Cycle" canVssNbcType = "set can_vss X" gppwm1_pin = "Select a pin to use for PWM or on-off output." gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage." diff --git a/firmware/tunerstudio/generated/rusefi_kinetis.ini b/firmware/tunerstudio/generated/rusefi_kinetis.ini index 6785f7478e..33004e0b8a 100644 --- a/firmware/tunerstudio/generated/rusefi_kinetis.ini +++ b/firmware/tunerstudio/generated/rusefi_kinetis.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.10.28.kin.2448960047" + signature = "rusEFI 2021.10.28.kin.693582838" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.10.28.kin.2448960047" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.10.28.kin.693582838" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -85,7 +85,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 28 17:28:23 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Thu Oct 28 18:23:29 UTC 2021 pageSize = 19972 page = 1 @@ -1475,8 +1475,8 @@ fsioTable4RpmBins = array, F32, 19940, [8], "RPM", 1, 0, 0, 25500, 2 boostControlPin = "Wastegate control Solenoid" boostPid_offset = "Linear addition to PID logic" boostPid_periodMs = "PID dTime" - boostPid_minValue = "Output min value" - boostPid_maxValue = "Output max value" + boostPid_minValue = "Output Min Duty Cycle" + boostPid_maxValue = "Output Max Duty Cycle" launchSpeedTreshold = "Disabled above this speed" launchRpmTreshold = "Disabled below this rpm" launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate" @@ -1543,12 +1543,12 @@ fsioTable4RpmBins = array, F32, 19940, [8], "RPM", 1, 0, 0, 25500, 2 wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. " alternatorControl_offset = "Linear addition to PID logic" alternatorControl_periodMs = "PID dTime" - alternatorControl_minValue = "Output min value" - alternatorControl_maxValue = "Output max value" + alternatorControl_minValue = "Output Min Duty Cycle" + alternatorControl_maxValue = "Output Max Duty Cycle" etb_offset = "Linear addition to PID logic" etb_periodMs = "PID dTime" - etb_minValue = "Output min value" - etb_maxValue = "Output max value" + etb_minValue = "Output Min Duty Cycle" + etb_maxValue = "Output Max Duty Cycle" tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X" tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X" starterControlPin = "See also startStopButtonPin" @@ -1558,8 +1558,8 @@ fsioTable4RpmBins = array, F32, 19940, [8], "RPM", 1, 0, 0, 25500, 2 multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table." idleRpmPid_offset = "Linear addition to PID logic" idleRpmPid_periodMs = "PID dTime" - idleRpmPid_minValue = "Output min value" - idleRpmPid_maxValue = "Output max value" + idleRpmPid_minValue = "Output Min Duty Cycle" + idleRpmPid_maxValue = "Output Max Duty Cycle" wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. " communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster." runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running." @@ -1621,8 +1621,8 @@ fsioTable4RpmBins = array, F32, 19940, [8], "RPM", 1, 0, 0, 25500, 2 applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment." etbWastegatePid_offset = "Linear addition to PID logic" etbWastegatePid_periodMs = "PID dTime" - etbWastegatePid_minValue = "Output min value" - etbWastegatePid_maxValue = "Output max value" + etbWastegatePid_minValue = "Output Min Duty Cycle" + etbWastegatePid_maxValue = "Output Max Duty Cycle" stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough" stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)" stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)" @@ -1645,8 +1645,8 @@ fsioTable4RpmBins = array, F32, 19940, [8], "RPM", 1, 0, 0, 25500, 2 cj125ur = "heater input" auxPid1_offset = "Linear addition to PID logic" auxPid1_periodMs = "PID dTime" - auxPid1_minValue = "Output min value" - auxPid1_maxValue = "Output max value" + auxPid1_minValue = "Output Min Duty Cycle" + auxPid1_maxValue = "Output Max Duty Cycle" fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius" fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius" flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type" @@ -1676,8 +1676,8 @@ fsioTable4RpmBins = array, F32, 19940, [8], "RPM", 1, 0, 0, 25500, 2 etb_iTermMax = "iTerm max value" idleTimingPid_offset = "Linear addition to PID logic" idleTimingPid_periodMs = "PID dTime" - idleTimingPid_minValue = "Output min value" - idleTimingPid_maxValue = "Output max value" + idleTimingPid_minValue = "Output Min Duty Cycle" + idleTimingPid_maxValue = "Output Max Duty Cycle" idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation" tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions" tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions" @@ -1704,8 +1704,8 @@ fsioTable4RpmBins = array, F32, 19940, [8], "RPM", 1, 0, 0, 25500, 2 triggerCompSensorSatRpm = "VR-sensor saturation RPM" idleRpmPid2_offset = "Linear addition to PID logic" idleRpmPid2_periodMs = "PID dTime" - idleRpmPid2_minValue = "Output min value" - idleRpmPid2_maxValue = "Output max value" + idleRpmPid2_minValue = "Output Min Duty Cycle" + idleRpmPid2_maxValue = "Output Max Duty Cycle" canVssNbcType = "set can_vss X" gppwm1_pin = "Select a pin to use for PWM or on-off output." gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage." diff --git a/firmware/tunerstudio/generated/rusefi_mre_f4.ini b/firmware/tunerstudio/generated/rusefi_mre_f4.ini index 587e2ca27c..427b57d0af 100644 --- a/firmware/tunerstudio/generated/rusefi_mre_f4.ini +++ b/firmware/tunerstudio/generated/rusefi_mre_f4.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.10.28.mre_f4.2763074199" + signature = "rusEFI 2021.10.28.mre_f4.471743310" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.10.28.mre_f4.2763074199" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.10.28.mre_f4.471743310" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -85,7 +85,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 28 17:28:03 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 18:23:04 UTC 2021 pageSize = 20000 page = 1 @@ -1500,8 +1500,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 boostControlPin = "Wastegate control Solenoid" boostPid_offset = "Linear addition to PID logic" boostPid_periodMs = "PID dTime" - boostPid_minValue = "Output min value" - boostPid_maxValue = "Output max value" + boostPid_minValue = "Output Min Duty Cycle" + boostPid_maxValue = "Output Max Duty Cycle" launchSpeedTreshold = "Disabled above this speed" launchRpmTreshold = "Disabled below this rpm" launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate" @@ -1571,12 +1571,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. " alternatorControl_offset = "Linear addition to PID logic" alternatorControl_periodMs = "PID dTime" - alternatorControl_minValue = "Output min value" - alternatorControl_maxValue = "Output max value" + alternatorControl_minValue = "Output Min Duty Cycle" + alternatorControl_maxValue = "Output Max Duty Cycle" etb_offset = "Linear addition to PID logic" etb_periodMs = "PID dTime" - etb_minValue = "Output min value" - etb_maxValue = "Output max value" + etb_minValue = "Output Min Duty Cycle" + etb_maxValue = "Output Max Duty Cycle" tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X" tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X" starterControlPin = "See also startStopButtonPin" @@ -1586,8 +1586,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table." idleRpmPid_offset = "Linear addition to PID logic" idleRpmPid_periodMs = "PID dTime" - idleRpmPid_minValue = "Output min value" - idleRpmPid_maxValue = "Output max value" + idleRpmPid_minValue = "Output Min Duty Cycle" + idleRpmPid_maxValue = "Output Max Duty Cycle" wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. " communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster." runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running." @@ -1651,8 +1651,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment." etbWastegatePid_offset = "Linear addition to PID logic" etbWastegatePid_periodMs = "PID dTime" - etbWastegatePid_minValue = "Output min value" - etbWastegatePid_maxValue = "Output max value" + etbWastegatePid_minValue = "Output Min Duty Cycle" + etbWastegatePid_maxValue = "Output Max Duty Cycle" stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough" stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)" stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)" @@ -1675,12 +1675,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 cj125ur = "heater input" auxPid1_offset = "Linear addition to PID logic" auxPid1_periodMs = "PID dTime" - auxPid1_minValue = "Output min value" - auxPid1_maxValue = "Output max value" + auxPid1_minValue = "Output Min Duty Cycle" + auxPid1_maxValue = "Output Max Duty Cycle" auxPid2_offset = "Linear addition to PID logic" auxPid2_periodMs = "PID dTime" - auxPid2_minValue = "Output min value" - auxPid2_maxValue = "Output max value" + auxPid2_minValue = "Output Min Duty Cycle" + auxPid2_maxValue = "Output Max Duty Cycle" fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius" fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius" flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type" @@ -1710,8 +1710,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 etb_iTermMax = "iTerm max value" idleTimingPid_offset = "Linear addition to PID logic" idleTimingPid_periodMs = "PID dTime" - idleTimingPid_minValue = "Output min value" - idleTimingPid_maxValue = "Output max value" + idleTimingPid_minValue = "Output Min Duty Cycle" + idleTimingPid_maxValue = "Output Max Duty Cycle" idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation" tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions" tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions" @@ -1738,8 +1738,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 triggerCompSensorSatRpm = "VR-sensor saturation RPM" idleRpmPid2_offset = "Linear addition to PID logic" idleRpmPid2_periodMs = "PID dTime" - idleRpmPid2_minValue = "Output min value" - idleRpmPid2_maxValue = "Output max value" + idleRpmPid2_minValue = "Output Min Duty Cycle" + idleRpmPid2_maxValue = "Output Max Duty Cycle" canVssNbcType = "set can_vss X" gppwm1_pin = "Select a pin to use for PWM or on-off output." gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage." diff --git a/firmware/tunerstudio/generated/rusefi_mre_f7.ini b/firmware/tunerstudio/generated/rusefi_mre_f7.ini index c56620cb2e..50af04687c 100644 --- a/firmware/tunerstudio/generated/rusefi_mre_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_mre_f7.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.10.28.mre_f7.2763074199" + signature = "rusEFI 2021.10.28.mre_f7.471743310" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.10.28.mre_f7.2763074199" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.10.28.mre_f7.471743310" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -85,7 +85,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 28 17:28:01 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 18:23:01 UTC 2021 pageSize = 20000 page = 1 @@ -1500,8 +1500,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 boostControlPin = "Wastegate control Solenoid" boostPid_offset = "Linear addition to PID logic" boostPid_periodMs = "PID dTime" - boostPid_minValue = "Output min value" - boostPid_maxValue = "Output max value" + boostPid_minValue = "Output Min Duty Cycle" + boostPid_maxValue = "Output Max Duty Cycle" launchSpeedTreshold = "Disabled above this speed" launchRpmTreshold = "Disabled below this rpm" launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate" @@ -1571,12 +1571,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. " alternatorControl_offset = "Linear addition to PID logic" alternatorControl_periodMs = "PID dTime" - alternatorControl_minValue = "Output min value" - alternatorControl_maxValue = "Output max value" + alternatorControl_minValue = "Output Min Duty Cycle" + alternatorControl_maxValue = "Output Max Duty Cycle" etb_offset = "Linear addition to PID logic" etb_periodMs = "PID dTime" - etb_minValue = "Output min value" - etb_maxValue = "Output max value" + etb_minValue = "Output Min Duty Cycle" + etb_maxValue = "Output Max Duty Cycle" tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X" tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X" starterControlPin = "See also startStopButtonPin" @@ -1586,8 +1586,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table." idleRpmPid_offset = "Linear addition to PID logic" idleRpmPid_periodMs = "PID dTime" - idleRpmPid_minValue = "Output min value" - idleRpmPid_maxValue = "Output max value" + idleRpmPid_minValue = "Output Min Duty Cycle" + idleRpmPid_maxValue = "Output Max Duty Cycle" wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. " communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster." runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running." @@ -1651,8 +1651,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment." etbWastegatePid_offset = "Linear addition to PID logic" etbWastegatePid_periodMs = "PID dTime" - etbWastegatePid_minValue = "Output min value" - etbWastegatePid_maxValue = "Output max value" + etbWastegatePid_minValue = "Output Min Duty Cycle" + etbWastegatePid_maxValue = "Output Max Duty Cycle" stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough" stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)" stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)" @@ -1675,12 +1675,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 cj125ur = "heater input" auxPid1_offset = "Linear addition to PID logic" auxPid1_periodMs = "PID dTime" - auxPid1_minValue = "Output min value" - auxPid1_maxValue = "Output max value" + auxPid1_minValue = "Output Min Duty Cycle" + auxPid1_maxValue = "Output Max Duty Cycle" auxPid2_offset = "Linear addition to PID logic" auxPid2_periodMs = "PID dTime" - auxPid2_minValue = "Output min value" - auxPid2_maxValue = "Output max value" + auxPid2_minValue = "Output Min Duty Cycle" + auxPid2_maxValue = "Output Max Duty Cycle" fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius" fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius" flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type" @@ -1710,8 +1710,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 etb_iTermMax = "iTerm max value" idleTimingPid_offset = "Linear addition to PID logic" idleTimingPid_periodMs = "PID dTime" - idleTimingPid_minValue = "Output min value" - idleTimingPid_maxValue = "Output max value" + idleTimingPid_minValue = "Output Min Duty Cycle" + idleTimingPid_maxValue = "Output Max Duty Cycle" idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation" tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions" tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions" @@ -1738,8 +1738,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 triggerCompSensorSatRpm = "VR-sensor saturation RPM" idleRpmPid2_offset = "Linear addition to PID logic" idleRpmPid2_periodMs = "PID dTime" - idleRpmPid2_minValue = "Output min value" - idleRpmPid2_maxValue = "Output max value" + idleRpmPid2_minValue = "Output Min Duty Cycle" + idleRpmPid2_maxValue = "Output Max Duty Cycle" canVssNbcType = "set can_vss X" gppwm1_pin = "Select a pin to use for PWM or on-off output." gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage." diff --git a/firmware/tunerstudio/generated/rusefi_prometheus_405.ini b/firmware/tunerstudio/generated/rusefi_prometheus_405.ini index 68623346a5..837aad16f5 100644 --- a/firmware/tunerstudio/generated/rusefi_prometheus_405.ini +++ b/firmware/tunerstudio/generated/rusefi_prometheus_405.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.10.28.prometheus_405.2093737189" + signature = "rusEFI 2021.10.28.prometheus_405.3294950716" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.10.28.prometheus_405.2093737189" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.10.28.prometheus_405.3294950716" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -85,7 +85,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 28 17:28:10 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 18:23:13 UTC 2021 pageSize = 20000 page = 1 @@ -1500,8 +1500,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 boostControlPin = "Wastegate control Solenoid" boostPid_offset = "Linear addition to PID logic" boostPid_periodMs = "PID dTime" - boostPid_minValue = "Output min value" - boostPid_maxValue = "Output max value" + boostPid_minValue = "Output Min Duty Cycle" + boostPid_maxValue = "Output Max Duty Cycle" launchSpeedTreshold = "Disabled above this speed" launchRpmTreshold = "Disabled below this rpm" launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate" @@ -1571,12 +1571,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. " alternatorControl_offset = "Linear addition to PID logic" alternatorControl_periodMs = "PID dTime" - alternatorControl_minValue = "Output min value" - alternatorControl_maxValue = "Output max value" + alternatorControl_minValue = "Output Min Duty Cycle" + alternatorControl_maxValue = "Output Max Duty Cycle" etb_offset = "Linear addition to PID logic" etb_periodMs = "PID dTime" - etb_minValue = "Output min value" - etb_maxValue = "Output max value" + etb_minValue = "Output Min Duty Cycle" + etb_maxValue = "Output Max Duty Cycle" tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X" tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X" starterControlPin = "See also startStopButtonPin" @@ -1586,8 +1586,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table." idleRpmPid_offset = "Linear addition to PID logic" idleRpmPid_periodMs = "PID dTime" - idleRpmPid_minValue = "Output min value" - idleRpmPid_maxValue = "Output max value" + idleRpmPid_minValue = "Output Min Duty Cycle" + idleRpmPid_maxValue = "Output Max Duty Cycle" wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. " communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster." runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running." @@ -1651,8 +1651,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment." etbWastegatePid_offset = "Linear addition to PID logic" etbWastegatePid_periodMs = "PID dTime" - etbWastegatePid_minValue = "Output min value" - etbWastegatePid_maxValue = "Output max value" + etbWastegatePid_minValue = "Output Min Duty Cycle" + etbWastegatePid_maxValue = "Output Max Duty Cycle" stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough" stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)" stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)" @@ -1675,12 +1675,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 cj125ur = "heater input" auxPid1_offset = "Linear addition to PID logic" auxPid1_periodMs = "PID dTime" - auxPid1_minValue = "Output min value" - auxPid1_maxValue = "Output max value" + auxPid1_minValue = "Output Min Duty Cycle" + auxPid1_maxValue = "Output Max Duty Cycle" auxPid2_offset = "Linear addition to PID logic" auxPid2_periodMs = "PID dTime" - auxPid2_minValue = "Output min value" - auxPid2_maxValue = "Output max value" + auxPid2_minValue = "Output Min Duty Cycle" + auxPid2_maxValue = "Output Max Duty Cycle" fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius" fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius" flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type" @@ -1710,8 +1710,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 etb_iTermMax = "iTerm max value" idleTimingPid_offset = "Linear addition to PID logic" idleTimingPid_periodMs = "PID dTime" - idleTimingPid_minValue = "Output min value" - idleTimingPid_maxValue = "Output max value" + idleTimingPid_minValue = "Output Min Duty Cycle" + idleTimingPid_maxValue = "Output Max Duty Cycle" idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation" tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions" tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions" @@ -1738,8 +1738,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 triggerCompSensorSatRpm = "VR-sensor saturation RPM" idleRpmPid2_offset = "Linear addition to PID logic" idleRpmPid2_periodMs = "PID dTime" - idleRpmPid2_minValue = "Output min value" - idleRpmPid2_maxValue = "Output max value" + idleRpmPid2_minValue = "Output Min Duty Cycle" + idleRpmPid2_maxValue = "Output Max Duty Cycle" canVssNbcType = "set can_vss X" gppwm1_pin = "Select a pin to use for PWM or on-off output." gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage." diff --git a/firmware/tunerstudio/generated/rusefi_prometheus_469.ini b/firmware/tunerstudio/generated/rusefi_prometheus_469.ini index 60bffb68ef..1ecd0ba8f6 100644 --- a/firmware/tunerstudio/generated/rusefi_prometheus_469.ini +++ b/firmware/tunerstudio/generated/rusefi_prometheus_469.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.10.28.prometheus_469.2093737189" + signature = "rusEFI 2021.10.28.prometheus_469.3294950716" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.10.28.prometheus_469.2093737189" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.10.28.prometheus_469.3294950716" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -85,7 +85,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 28 17:28:08 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 18:23:10 UTC 2021 pageSize = 20000 page = 1 @@ -1500,8 +1500,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 boostControlPin = "Wastegate control Solenoid" boostPid_offset = "Linear addition to PID logic" boostPid_periodMs = "PID dTime" - boostPid_minValue = "Output min value" - boostPid_maxValue = "Output max value" + boostPid_minValue = "Output Min Duty Cycle" + boostPid_maxValue = "Output Max Duty Cycle" launchSpeedTreshold = "Disabled above this speed" launchRpmTreshold = "Disabled below this rpm" launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate" @@ -1571,12 +1571,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. " alternatorControl_offset = "Linear addition to PID logic" alternatorControl_periodMs = "PID dTime" - alternatorControl_minValue = "Output min value" - alternatorControl_maxValue = "Output max value" + alternatorControl_minValue = "Output Min Duty Cycle" + alternatorControl_maxValue = "Output Max Duty Cycle" etb_offset = "Linear addition to PID logic" etb_periodMs = "PID dTime" - etb_minValue = "Output min value" - etb_maxValue = "Output max value" + etb_minValue = "Output Min Duty Cycle" + etb_maxValue = "Output Max Duty Cycle" tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X" tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X" starterControlPin = "See also startStopButtonPin" @@ -1586,8 +1586,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table." idleRpmPid_offset = "Linear addition to PID logic" idleRpmPid_periodMs = "PID dTime" - idleRpmPid_minValue = "Output min value" - idleRpmPid_maxValue = "Output max value" + idleRpmPid_minValue = "Output Min Duty Cycle" + idleRpmPid_maxValue = "Output Max Duty Cycle" wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. " communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster." runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running." @@ -1651,8 +1651,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment." etbWastegatePid_offset = "Linear addition to PID logic" etbWastegatePid_periodMs = "PID dTime" - etbWastegatePid_minValue = "Output min value" - etbWastegatePid_maxValue = "Output max value" + etbWastegatePid_minValue = "Output Min Duty Cycle" + etbWastegatePid_maxValue = "Output Max Duty Cycle" stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough" stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)" stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)" @@ -1675,12 +1675,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 cj125ur = "heater input" auxPid1_offset = "Linear addition to PID logic" auxPid1_periodMs = "PID dTime" - auxPid1_minValue = "Output min value" - auxPid1_maxValue = "Output max value" + auxPid1_minValue = "Output Min Duty Cycle" + auxPid1_maxValue = "Output Max Duty Cycle" auxPid2_offset = "Linear addition to PID logic" auxPid2_periodMs = "PID dTime" - auxPid2_minValue = "Output min value" - auxPid2_maxValue = "Output max value" + auxPid2_minValue = "Output Min Duty Cycle" + auxPid2_maxValue = "Output Max Duty Cycle" fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius" fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius" flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type" @@ -1710,8 +1710,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 etb_iTermMax = "iTerm max value" idleTimingPid_offset = "Linear addition to PID logic" idleTimingPid_periodMs = "PID dTime" - idleTimingPid_minValue = "Output min value" - idleTimingPid_maxValue = "Output max value" + idleTimingPid_minValue = "Output Min Duty Cycle" + idleTimingPid_maxValue = "Output Max Duty Cycle" idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation" tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions" tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions" @@ -1738,8 +1738,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 triggerCompSensorSatRpm = "VR-sensor saturation RPM" idleRpmPid2_offset = "Linear addition to PID logic" idleRpmPid2_periodMs = "PID dTime" - idleRpmPid2_minValue = "Output min value" - idleRpmPid2_maxValue = "Output max value" + idleRpmPid2_minValue = "Output Min Duty Cycle" + idleRpmPid2_maxValue = "Output Max Duty Cycle" canVssNbcType = "set can_vss X" gppwm1_pin = "Select a pin to use for PWM or on-off output." gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage." diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f4.ini b/firmware/tunerstudio/generated/rusefi_proteus_f4.ini index 3b16bfa576..bc5accff30 100644 --- a/firmware/tunerstudio/generated/rusefi_proteus_f4.ini +++ b/firmware/tunerstudio/generated/rusefi_proteus_f4.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.10.28.proteus_f4.2056540100" + signature = "rusEFI 2021.10.28.proteus_f4.3258670621" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.10.28.proteus_f4.2056540100" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.10.28.proteus_f4.3258670621" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -85,7 +85,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 28 17:28:16 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 18:23:20 UTC 2021 pageSize = 20000 page = 1 @@ -1500,8 +1500,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 boostControlPin = "Wastegate control Solenoid" boostPid_offset = "Linear addition to PID logic" boostPid_periodMs = "PID dTime" - boostPid_minValue = "Output min value" - boostPid_maxValue = "Output max value" + boostPid_minValue = "Output Min Duty Cycle" + boostPid_maxValue = "Output Max Duty Cycle" launchSpeedTreshold = "Disabled above this speed" launchRpmTreshold = "Disabled below this rpm" launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate" @@ -1571,12 +1571,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. " alternatorControl_offset = "Linear addition to PID logic" alternatorControl_periodMs = "PID dTime" - alternatorControl_minValue = "Output min value" - alternatorControl_maxValue = "Output max value" + alternatorControl_minValue = "Output Min Duty Cycle" + alternatorControl_maxValue = "Output Max Duty Cycle" etb_offset = "Linear addition to PID logic" etb_periodMs = "PID dTime" - etb_minValue = "Output min value" - etb_maxValue = "Output max value" + etb_minValue = "Output Min Duty Cycle" + etb_maxValue = "Output Max Duty Cycle" tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X" tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X" starterControlPin = "See also startStopButtonPin" @@ -1586,8 +1586,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table." idleRpmPid_offset = "Linear addition to PID logic" idleRpmPid_periodMs = "PID dTime" - idleRpmPid_minValue = "Output min value" - idleRpmPid_maxValue = "Output max value" + idleRpmPid_minValue = "Output Min Duty Cycle" + idleRpmPid_maxValue = "Output Max Duty Cycle" wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. " communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster." runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running." @@ -1651,8 +1651,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment." etbWastegatePid_offset = "Linear addition to PID logic" etbWastegatePid_periodMs = "PID dTime" - etbWastegatePid_minValue = "Output min value" - etbWastegatePid_maxValue = "Output max value" + etbWastegatePid_minValue = "Output Min Duty Cycle" + etbWastegatePid_maxValue = "Output Max Duty Cycle" stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough" stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)" stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)" @@ -1675,12 +1675,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 cj125ur = "heater input" auxPid1_offset = "Linear addition to PID logic" auxPid1_periodMs = "PID dTime" - auxPid1_minValue = "Output min value" - auxPid1_maxValue = "Output max value" + auxPid1_minValue = "Output Min Duty Cycle" + auxPid1_maxValue = "Output Max Duty Cycle" auxPid2_offset = "Linear addition to PID logic" auxPid2_periodMs = "PID dTime" - auxPid2_minValue = "Output min value" - auxPid2_maxValue = "Output max value" + auxPid2_minValue = "Output Min Duty Cycle" + auxPid2_maxValue = "Output Max Duty Cycle" fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius" fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius" flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type" @@ -1710,8 +1710,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 etb_iTermMax = "iTerm max value" idleTimingPid_offset = "Linear addition to PID logic" idleTimingPid_periodMs = "PID dTime" - idleTimingPid_minValue = "Output min value" - idleTimingPid_maxValue = "Output max value" + idleTimingPid_minValue = "Output Min Duty Cycle" + idleTimingPid_maxValue = "Output Max Duty Cycle" idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation" tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions" tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions" @@ -1738,8 +1738,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 triggerCompSensorSatRpm = "VR-sensor saturation RPM" idleRpmPid2_offset = "Linear addition to PID logic" idleRpmPid2_periodMs = "PID dTime" - idleRpmPid2_minValue = "Output min value" - idleRpmPid2_maxValue = "Output max value" + idleRpmPid2_minValue = "Output Min Duty Cycle" + idleRpmPid2_maxValue = "Output Max Duty Cycle" canVssNbcType = "set can_vss X" gppwm1_pin = "Select a pin to use for PWM or on-off output." gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage." diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f7.ini b/firmware/tunerstudio/generated/rusefi_proteus_f7.ini index 1a8acbc84e..fc170f8307 100644 --- a/firmware/tunerstudio/generated/rusefi_proteus_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_proteus_f7.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.10.28.proteus_f7.2056540100" + signature = "rusEFI 2021.10.28.proteus_f7.3258670621" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.10.28.proteus_f7.2056540100" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.10.28.proteus_f7.3258670621" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -85,7 +85,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 28 17:28:13 UTC 2021 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 18:23:16 UTC 2021 pageSize = 20000 page = 1 @@ -1500,8 +1500,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 boostControlPin = "Wastegate control Solenoid" boostPid_offset = "Linear addition to PID logic" boostPid_periodMs = "PID dTime" - boostPid_minValue = "Output min value" - boostPid_maxValue = "Output max value" + boostPid_minValue = "Output Min Duty Cycle" + boostPid_maxValue = "Output Max Duty Cycle" launchSpeedTreshold = "Disabled above this speed" launchRpmTreshold = "Disabled below this rpm" launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate" @@ -1571,12 +1571,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. " alternatorControl_offset = "Linear addition to PID logic" alternatorControl_periodMs = "PID dTime" - alternatorControl_minValue = "Output min value" - alternatorControl_maxValue = "Output max value" + alternatorControl_minValue = "Output Min Duty Cycle" + alternatorControl_maxValue = "Output Max Duty Cycle" etb_offset = "Linear addition to PID logic" etb_periodMs = "PID dTime" - etb_minValue = "Output min value" - etb_maxValue = "Output max value" + etb_minValue = "Output Min Duty Cycle" + etb_maxValue = "Output Max Duty Cycle" tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X" tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X" starterControlPin = "See also startStopButtonPin" @@ -1586,8 +1586,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table." idleRpmPid_offset = "Linear addition to PID logic" idleRpmPid_periodMs = "PID dTime" - idleRpmPid_minValue = "Output min value" - idleRpmPid_maxValue = "Output max value" + idleRpmPid_minValue = "Output Min Duty Cycle" + idleRpmPid_maxValue = "Output Max Duty Cycle" wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. " communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster." runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running." @@ -1651,8 +1651,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment." etbWastegatePid_offset = "Linear addition to PID logic" etbWastegatePid_periodMs = "PID dTime" - etbWastegatePid_minValue = "Output min value" - etbWastegatePid_maxValue = "Output max value" + etbWastegatePid_minValue = "Output Min Duty Cycle" + etbWastegatePid_maxValue = "Output Max Duty Cycle" stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough" stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)" stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)" @@ -1675,12 +1675,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 cj125ur = "heater input" auxPid1_offset = "Linear addition to PID logic" auxPid1_periodMs = "PID dTime" - auxPid1_minValue = "Output min value" - auxPid1_maxValue = "Output max value" + auxPid1_minValue = "Output Min Duty Cycle" + auxPid1_maxValue = "Output Max Duty Cycle" auxPid2_offset = "Linear addition to PID logic" auxPid2_periodMs = "PID dTime" - auxPid2_minValue = "Output min value" - auxPid2_maxValue = "Output max value" + auxPid2_minValue = "Output Min Duty Cycle" + auxPid2_maxValue = "Output Max Duty Cycle" fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius" fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius" flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type" @@ -1710,8 +1710,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 etb_iTermMax = "iTerm max value" idleTimingPid_offset = "Linear addition to PID logic" idleTimingPid_periodMs = "PID dTime" - idleTimingPid_minValue = "Output min value" - idleTimingPid_maxValue = "Output max value" + idleTimingPid_minValue = "Output Min Duty Cycle" + idleTimingPid_maxValue = "Output Max Duty Cycle" idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation" tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions" tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions" @@ -1738,8 +1738,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 triggerCompSensorSatRpm = "VR-sensor saturation RPM" idleRpmPid2_offset = "Linear addition to PID logic" idleRpmPid2_periodMs = "PID dTime" - idleRpmPid2_minValue = "Output min value" - idleRpmPid2_maxValue = "Output max value" + idleRpmPid2_minValue = "Output Min Duty Cycle" + idleRpmPid2_maxValue = "Output Max Duty Cycle" canVssNbcType = "set can_vss X" gppwm1_pin = "Select a pin to use for PWM or on-off output." gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage." diff --git a/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini b/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini index 09bd8dcee0..b574b99416 100644 --- a/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini @@ -32,12 +32,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2021.10.28.subaru_eg33_f7.3115046496" + signature = "rusEFI 2021.10.28.subaru_eg33_f7.17090489" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmwave version for title bar. - signature = "rusEFI 2021.10.28.subaru_eg33_f7.3115046496" ; signature is expected to be 7 or more characters. + signature = "rusEFI 2021.10.28.subaru_eg33_f7.17090489" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -85,7 +85,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 28 17:28:28 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 28 18:23:34 UTC 2021 pageSize = 20000 page = 1 @@ -1500,8 +1500,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 boostControlPin = "Wastegate control Solenoid" boostPid_offset = "Linear addition to PID logic" boostPid_periodMs = "PID dTime" - boostPid_minValue = "Output min value" - boostPid_maxValue = "Output max value" + boostPid_minValue = "Output Min Duty Cycle" + boostPid_maxValue = "Output Max Duty Cycle" launchSpeedTreshold = "Disabled above this speed" launchRpmTreshold = "Disabled below this rpm" launchTimingRpmRange = "Range from Launch Rpm for Timing Retard to activate" @@ -1571,12 +1571,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration. " alternatorControl_offset = "Linear addition to PID logic" alternatorControl_periodMs = "PID dTime" - alternatorControl_minValue = "Output min value" - alternatorControl_maxValue = "Output max value" + alternatorControl_minValue = "Output Min Duty Cycle" + alternatorControl_maxValue = "Output Max Duty Cycle" etb_offset = "Linear addition to PID logic" etb_periodMs = "PID dTime" - etb_minValue = "Output min value" - etb_maxValue = "Output max value" + etb_minValue = "Output Min Duty Cycle" + etb_maxValue = "Output Max Duty Cycle" tps2Min = "Closed throttle#2. todo: extract these two fields into a structure\nSee also tps2_1AdcChannel\nset tps2_min X" tps2Max = "Full throttle#2. tpsMax value as 10 bit ADC value. Not Voltage!\nSee also tps1_1AdcChannel\nset tps2_max X" starterControlPin = "See also startStopButtonPin" @@ -1586,8 +1586,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table." idleRpmPid_offset = "Linear addition to PID logic" idleRpmPid_periodMs = "PID dTime" - idleRpmPid_minValue = "Output min value" - idleRpmPid_maxValue = "Output max value" + idleRpmPid_minValue = "Output Min Duty Cycle" + idleRpmPid_maxValue = "Output Max Duty Cycle" wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment. " communicationLedPin = "blue LED on many rusEFI boards.\nBlue Communication LED which is expected to blink at 50% duty cycle during normal board operation.\nIf USB communication cable is connected Blue LED starts to blink faster." runningLedPin = "Green LED on many rusEFI boards.\nOff if engine is stopped, blinks if engine is cranking, solid if engine is running." @@ -1651,8 +1651,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment." etbWastegatePid_offset = "Linear addition to PID logic" etbWastegatePid_periodMs = "PID dTime" - etbWastegatePid_minValue = "Output min value" - etbWastegatePid_maxValue = "Output max value" + etbWastegatePid_minValue = "Output Min Duty Cycle" + etbWastegatePid_maxValue = "Output Max Duty Cycle" stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough" stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)" stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)" @@ -1675,12 +1675,12 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 cj125ur = "heater input" auxPid1_offset = "Linear addition to PID logic" auxPid1_periodMs = "PID dTime" - auxPid1_minValue = "Output min value" - auxPid1_maxValue = "Output max value" + auxPid1_minValue = "Output Min Duty Cycle" + auxPid1_maxValue = "Output Max Duty Cycle" auxPid2_offset = "Linear addition to PID logic" auxPid2_periodMs = "PID dTime" - auxPid2_minValue = "Output min value" - auxPid2_maxValue = "Output max value" + auxPid2_minValue = "Output Min Duty Cycle" + auxPid2_maxValue = "Output Max Duty Cycle" fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius" fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius" flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type" @@ -1710,8 +1710,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 etb_iTermMax = "iTerm max value" idleTimingPid_offset = "Linear addition to PID logic" idleTimingPid_periodMs = "PID dTime" - idleTimingPid_minValue = "Output min value" - idleTimingPid_maxValue = "Output max value" + idleTimingPid_minValue = "Output Min Duty Cycle" + idleTimingPid_maxValue = "Output Max Duty Cycle" idleTimingPidDeadZone = "If the RPM closer to target than this value, disable timing correction to prevent oscillation" tpsAccelFractionPeriod = "A delay in cycles between fuel-enrich. portions" tpsAccelFractionDivisor = "A fraction divisor: 1 or less = entire portion at once, or split into diminishing fractions" @@ -1738,8 +1738,8 @@ fsioTable4RpmBins = array, F32, 19968, [8], "RPM", 1, 0, 0, 25500, 2 triggerCompSensorSatRpm = "VR-sensor saturation RPM" idleRpmPid2_offset = "Linear addition to PID logic" idleRpmPid2_periodMs = "PID dTime" - idleRpmPid2_minValue = "Output min value" - idleRpmPid2_maxValue = "Output max value" + idleRpmPid2_minValue = "Output Min Duty Cycle" + idleRpmPid2_maxValue = "Output Max Duty Cycle" canVssNbcType = "set can_vss X" gppwm1_pin = "Select a pin to use for PWM or on-off output." gppwm1_dutyIfError = "If an error (with a sensor, etc) is detected, this value is used instead of reading from the table.\nThis should be a safe value for whatever hardware is connected to prevent damage." 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 a60ff36b64..8ddbd78f40 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 Wed Oct 27 02:13:05 UTC 2021 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Oct 28 18:23:26 UTC 2021 // by class com.rusefi.output.FileJavaFieldsConsumer import com.rusefi.config.*; @@ -1527,7 +1527,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/hellenNB1"; + 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; @@ -1733,7 +1733,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 = 494743615; public static final int silentTriggerError_offset = 1464; public static final int slowAdcAlpha_offset = 2088; public static final int sparkDwellRpmBins_offset = 332; @@ -2115,6 +2114,27 @@ public class Fields { public static final int triggerSimulatorPins3_offset = 738; public static final char TS_BURN_COMMAND = 'B'; public static final char TS_CHUNK_WRITE_COMMAND = 'C'; + public static final int ts_command_e_TS_CLEAR_WARNINGS = 17; + public static final int ts_command_e_TS_COMMAND_1 = 1; + public static final int ts_command_e_TS_COMMAND_11 = 11; + public static final int ts_command_e_TS_COMMAND_12 = 12; + public static final int ts_command_e_TS_COMMAND_13 = 13; + public static final int ts_command_e_TS_COMMAND_14 = 14; + public static final int ts_command_e_TS_COMMAND_15 = 15; + public static final int ts_command_e_TS_COMMAND_16 = 16; + public static final int ts_command_e_TS_COMMAND_4 = 4; + public static final int ts_command_e_TS_COMMAND_5 = 5; + public static final int ts_command_e_TS_COMMAND_9 = 9; + public static final int ts_command_e_TS_DEBUG_MODE = 0; + public static final int ts_command_e_TS_GRAB_PEDAL_UP = 6; + public static final int ts_command_e_TS_GRAB_PEDAL_WOT = 7; + public static final int ts_command_e_TS_GRAB_TPS_CLOSED = 2; + public static final int ts_command_e_TS_GRAB_TPS_WOT = 3; + public static final int ts_command_e_TS_IGNITION_CATEGORY = 18; + public static final int ts_command_e_TS_INJECTOR_CATEGORY = 19; + public static final int ts_command_e_TS_RESET_TLE8888 = 8; + public static final int ts_command_e_TS_WRITE_FLASH = 10; + public static final int ts_command_e_TS_X14 = 20; public static final char TS_COMMAND_F = 'F'; public static final int TS_COMPOSITE_DISABLE = 2; public static final int TS_COMPOSITE_ENABLE = 1; @@ -2147,7 +2167,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.27.hellen-nb1.494743615"; + public static final String TS_SIGNATURE = "rusEFI 2021.10.28.all.2492345562"; public static final char TS_SINGLE_WRITE_COMMAND = 'W'; public static final char TS_TEST_COMMAND = 't'; public static final int tunerStudioSerialSpeed_offset = 728; @@ -2326,6 +2346,7 @@ public class Fields { public static final int vvt_mode_e_VVT_BOSCH_QUICK_START = 5; public static final int vvt_mode_e_VVT_FIRST_HALF = 4; public static final int vvt_mode_e_VVT_FORD_ST170 = 7; + public static final int vvt_mode_e_VVT_HONDA_K = 10; public static final int vvt_mode_e_VVT_INACTIVE = 0; public static final int vvt_mode_e_VVT_MIATA_NB2 = 3; public static final int vvt_mode_e_VVT_NISSAN_VQ = 9; @@ -2402,7 +2423,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","2C - O2S","TPS1","intMAP","PPS1","3E - TPS","1B - Battery Sense","2H - CAM","3S - EGR BOOST IN","2A - Pressure Input","2J - CRANK","2L - MAF","3D - MAP","2E - Coolant","2B - IAT","4C - IN TEMP/PPS2","1P - AC Switch"}; + 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); @@ -2505,7 +2526,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","2H - CAM","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","2J - CRANK","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","4B - KNOCK","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","2D - VSS"}; + 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); @@ -2520,14 +2541,14 @@ public class Fields { public static final Field TLE6240_CS = Field.create("TLE6240_CS", 581, FieldType.INT8, brain_pin_e); public static final String[] pin_output_mode_e = {"default", "default inverted", "open collector", "open collector inverted"}; public static final Field TLE6240_CSPINMODE = Field.create("TLE6240_CSPINMODE", 582, FieldType.INT8, pin_output_mode_e); - public static final String[] switch_input_pin_e = {"NONE","INVALID","INVALID","TPS1","INVALID","PPS1","INVALID","INVALID","INVALID","3S - EGR BOOST IN","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","2A - Pressure Input","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","4C - IN TEMP/PPS2","1P - AC Switch","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","3I - Clutch","1V - Neutral","INVALID","INVALID","INVALID","INVALID","3J - O2S2","INVALID","INVALID","INVALID","INVALID","INVALID","1F - Brake/RES1","1G - Steering/RES2"}; + public static final String[] switch_input_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", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"}; public static final Field THROTTLEPEDALUPPIN = Field.create("THROTTLEPEDALUPPIN", 583, FieldType.INT8, switch_input_pin_e); public static final Field BAROSENSOR_LOWVALUE = Field.create("BAROSENSOR_LOWVALUE", 584, FieldType.FLOAT); public static final Field BAROSENSOR_HIGHVALUE = Field.create("BAROSENSOR_HIGHVALUE", 588, FieldType.FLOAT); 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","1I AC Fan Relay","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","3D - MAP","INVALID","INVALID","INVALID","INVALID","ETB +","ETB +","ETB +","INVALID","INVALID","INVALID","INVALID","3G - IGN_1 (1&4)","INVALID","INVALID","INVALID","INVALID","INVALID","1U - O2H","INVALID","INVALID","INVALID","INVALID","INVALID","4E - VVT","3Z - INJ_4","3Y - INJ_3","1R - ECF","2K - TACH","2Q - IDLE","1O - ALTERN","INVALID","INVALID","INVALID","INVALID","INVALID","3H - IGN_2 (2&3)","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","3T/4D - BOOST OUT","INVALID","3Q - VICS","INVALID","INVALID","INVALID","2M US / 2P EUROPE - FPUMP","INVALID","1E - Check Engine Light","INVALID","INVALID","3W - INJ_1","3X - INJ_2","INVALID","INVALID","1S - AC Relay","1Q - Aternator Warning Lamp","3V - O2H2"}; + 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); diff --git a/java_console/rusefi.xml b/java_console/rusefi.xml index dd7b9ea34e..8c9c99abca 100644 --- a/java_console/rusefi.xml +++ b/java_console/rusefi.xml @@ -1,6 +1,6 @@ - +