From d7e7bf9cc2a12b8bce8464d5a89014d61dad105f Mon Sep 17 00:00:00 2001 From: GitHub build-firmware Action Date: Fri, 14 Aug 2020 20:51:47 +0000 Subject: [PATCH] Auto-generated configs and docs --- ...ngine_configuration_generated_structures.h | 4 +- .../controllers/algo/rusefi_generated.h | 37 ++++++++++++++++-- ...ngine_configuration_generated_structures.h | 4 +- .../generated/fsio_enums_generated.def | 2 +- .../controllers/generated/fsio_getters.def | 2 +- firmware/controllers/generated/fsio_names.def | 2 +- .../controllers/generated/fsio_strings.def | 2 +- .../controllers/generated/rusefi_generated.h | 37 ++++++++++++++++-- .../controllers/generated/signature_all.h | 4 +- .../generated/signature_frankenso_na6.h | 4 +- .../controllers/generated/signature_kin.h | 4 +- .../controllers/generated/signature_mre_f4.h | 4 +- .../controllers/generated/signature_mre_f7.h | 4 +- .../generated/signature_prometheus_405.h | 4 +- .../generated/signature_prometheus_469.h | 4 +- .../generated/signature_proteus_f4.h | 4 +- .../generated/signature_proteus_f7.h | 4 +- firmware/tunerstudio/generated/cache.zip | Bin 851215 -> 850864 bytes firmware/tunerstudio/generated/rusefi.ini | 8 ++-- .../generated/rusefi_frankenso_na6.ini | 8 ++-- .../tunerstudio/generated/rusefi_kinetis.ini | 8 ++-- .../tunerstudio/generated/rusefi_mre_f4.ini | 8 ++-- .../tunerstudio/generated/rusefi_mre_f7.ini | 8 ++-- .../generated/rusefi_prometheus_405.ini | 8 ++-- .../generated/rusefi_prometheus_469.ini | 8 ++-- .../generated/rusefi_proteus_f4.ini | 8 ++-- .../generated/rusefi_proteus_f7.ini | 8 ++-- .../com/rusefi/config/generated/Fields.java | 6 +-- java_console/rusefi.xml | 2 +- 29 files changed, 134 insertions(+), 72 deletions(-) diff --git a/firmware/config/boards/kinetis/config/controllers/algo/engine_configuration_generated_structures.h b/firmware/config/boards/kinetis/config/controllers/algo/engine_configuration_generated_structures.h index 052ac00b87..32a75aa9ca 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 Thu Aug 13 16:23:00 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Fri Aug 14 20:51:22 UTC 2020 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -3651,4 +3651,4 @@ struct persistent_config_s { typedef struct persistent_config_s persistent_config_s; // end -// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Thu Aug 13 16:23:00 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Fri Aug 14 20:51:22 UTC 2020 diff --git a/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h b/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h index f22e845e34..94f4149af2 100644 --- a/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h +++ b/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h @@ -17,6 +17,7 @@ #define activateAuxPid3_offset 76 #define activateAuxPid4_offset 76 #define adc_channel_e_enum "PA2", "PA3", "INVALID", "PD3", "INVALID", "INVALID", "INVALID", "PB12", "PB13", "INVALID", "PE2", "INVALID", "PC14", "PC15", "PC16", "PC17", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +#define adc_channel_mode_e_auto_enum "ADC_OFF", "ADC_SLOW", "ADC_FAST" #define ADC_CHANNEL_NONE 16 #define adcVcc_offset 548 #define afr_alignmentFill_afr_offset 561 @@ -40,6 +41,7 @@ #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" #define alignEngineSnifferAtTDC_offset 744 #define alignmentFill_at_4514_offset 4514 #define alternator_antiwindupFreq_offset 1764 @@ -59,6 +61,7 @@ #define ambiguousOperationMode_offset 488 #define analogInputDividerCoefficient_offset 460 #define antiLagActivatePin_offset 990 +#define antiLagActivationMode_e_auto_enum "SWITCH_INPUT_ANTILAG", "ALWAYS_ON_ANTILAG" #define antiLagActivationMode_e_enum "Always Active", "Switch Input" #define antiLagActivationMode_offset 1024 #define antiLagEnabled_offset 76 @@ -164,6 +167,7 @@ #define boostTableClosedLoop_offset 6328 #define boostTableOpenLoop_offset 6248 #define boostTpsBins_offset 6392 +#define boostType_e_auto_enum "OPEN_LOOP", "CLOSED_LOOP" #define boostType_offset 1012 #define brain_input_pin_e_enum "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "N/A", "N/A", "PA10", "PA11", "PA12", "PA13", "N/A", "N/A", "N/A", "N/A", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "N/A", "N/A", "N/A", "N/A", "PB12", "PB13", "N/A", "N/A", "N/A", "N/A", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "N/A", "N/A", "N/A", "N/A", "PC14", "PC15", "PC16", "PC17", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "PD15", "PD16", "N/A", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A" #define brain_pin_e_enum "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PA16", "PA17", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PB16", "PB17", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16", "PC17", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PE16", "PE17", "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" @@ -182,8 +186,11 @@ #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_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" +#define can_vss_nbc_e_auto_enum "BMW_e46", "W202" #define canBaudRate_offset 2108 #define canNbcType_offset 480 #define canReadEnabled_offset 1464 @@ -289,6 +296,7 @@ #define cylinderBore_offset 408 #define cylindersCount_offset 400 #define dcMotorIdleValve_offset 976 +#define debug_mode_e_auto_enum "DBG_ALTERNATOR_PID", "DBG_TPS_ACCEL", "DBG_2", "DBG_IDLE_CONTROL", "DBG_EL_ACCEL", "DBG_TRIGGER_COUNTERS", "DBG_FSIO_ADC", "DBG_AUX_PID_1", "DBG_VVT", "DBG_CRANKING_DETAILS", "DBG_IGNITION_TIMING", "DBG_FUEL_PID_CORRECTION", "DBG_VEHICLE_SPEED_SENSOR", "DBG_SD_CARD", "DBG_SR5_PROTOCOL", "DBG_KNOCK", "DBG_16", "DBG_ELECTRONIC_THROTTLE_PID", "DBG_EXECUTOR", "DBG_BENCH_TEST", "DBG_AUX_VALVES", "DBG_ANALOG_INPUTS", "DBG_INSTANT_RPM", "DBG_FSIO_EXPRESSION_1_7", "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_FSIO_EXPRESSION_8_14", "DBG_FSIO_SPECIAL", "DBG_43", "DBG_44" #define debug_mode_e_enum "Alternator PID", "TPS acceleration enrichment", "INVALID", "Idle Control", "Engine Load accl enrich", "Trigger Counters", "FSIO_ADC", "AUX_PID_1", "VVT input", "Cranking", "Timing", "Closed-loop fuel corr PID", "VSS", "SD card", "sr5", "Knock", "mode16", "Electronic Throttle", "Executor", "Bench Test / TS commands", "Aux Valves", "Analog inputs #1", "INSTANT_RPM", "FSIO_EXPRESSION_1_7", "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", "FSIO_EXPRESSION_8_14", "FSIO_SPECIAL", "Mode43", "Mode44" #define debugMapAveraging_offset 807 #define debugMode_offset 2092 @@ -300,11 +308,13 @@ #define digitalPotentiometerChipSelect4_offset 671 #define digitalPotentiometerSpiDevice_offset 677 #define displacement_offset 396 +#define display_mode_e_auto_enum "DM_NONE", "DM_HD44780", "DM_HD44780_OVER_PCF8574" #define displayLogicLevelsInEngineSniffer_offset 76 #define displayMode_offset 492 #define dizzySparkOutputPin_offset 2226 #define dizzySparkOutputPinMode_offset 2227 #define DWELL_CURVE_SIZE 8 +#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 egoValueShift_offset 2216 #define EGT_CHANNEL_COUNT 8 @@ -318,6 +328,7 @@ #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_2", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "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", "Alpha-N/TPS", "INVALID", "Speed Density", "MAF Air Charge", "Alpha-N", "INVALID" #define ENGINE_MAKE_BMW "BMW" #define ENGINE_MAKE_GM "GM" @@ -327,6 +338,7 @@ #define ENGINE_MAKE_TOYOTA "Toyota" #define ENGINE_NOISE_CURVE_SIZE 8 #define ENGINE_SNIFFER_UNIT_US 10 +#define engine_type_e_auto_enum "DEFAULT_FRANKENSO", "AUDI_AAN", "DODGE_NEON_1995", "FORD_ASPIRE_1996", "FORD_FIESTA", "NISSAN_PRIMERA", "HONDA_ACCORD_CD", "FORD_INLINE_6_1995", "GY6_139QMB", "MAZDA_MIATA_NB1", "ROVER_V8", "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", "MIATA_1994_DEVIATOR", "MIATA_1996", "SUBARU_2003_WRX", "DODGE_NEON_2003_CAM", "BMW_M73_M", "BMW_E34", "TEST_ENGINE", "ISSUE_898", "MAZDA_626", "SACHS", "MRE_BOARD_OLD_TEST", "MRE_BOARD_NEW_TEST", "VW_ABA", "DODGE_STRATUS", "DAIHATSU", "CAMARO_4", "SUZUKI_VITARA", "CHEVY_C20_1973", "TOYOTA_JZS147", "LADA_KALINA", "BMW_M73_F", "MIATA_NA6_MAP", "ZIL_130", "HONDA_600", "TOYOTA_2JZ_GTE_VVTi", "TEST_ENGINE_VVT", "DODGE_NEON_2003_CRANK", "MAZDA_MIATA_2003", "HONDA_ACCORD_1_24_SHIFTED", "FRANKENSO_QA_ENGINE", "TEST_CIVIC_4_0_BOTH", "TEST_CIVIC_4_0_RISE", "TEST_ISSUE_366_BOTH", "TEST_ISSUE_366_RISE", "MAZDA_MIATA_2003_NA_RAIL", "MAZDA_MIATA_2003_BOARD_TEST", "MAZDA_MIATA_NA8", "MIATA_NA6_VAF", "ETB_BENCH_ENGINE", "TLE8888_BENCH_ENGINE", "MICRO_RUS_EFI", "PROTEUS", "VW_B6", "BMW_M73_PROTEUS", "DODGE_RAM", "CITROEN_TU3JP", "MRE_MIATA_NA6_MAP", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "MINIMAL_PINS", "PROMETHEUS_DEFAULTS", "SUBARUEJ20G_DEFAULTS", "VAG_18_TURBO", "TEST_33816", "BMW_M73_MRE", "BMW_M73_MRE_SLAVE" #define engineChartSize_offset 1480 #define engineCode_offset 1128 #define engineConfiguration_offset 0 @@ -678,6 +690,7 @@ #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" #define gppwm_channel_e_enum "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "INVALID", "INVALID" #define gppwm_channel_size 88 #define GPPWM_CHANNELS 4 @@ -731,6 +744,7 @@ #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_offset 600 #define idle_solenoidFrequency_offset 600 #define idle_solenoidPin_offset 604 @@ -782,6 +796,7 @@ #define IGN_LOAD_COUNT 16 #define IGN_RPM_COUNT 16 #define IGN_TPS_COUNT 16 +#define ignition_mode_e_auto_enum "IM_ONE_COIL", "IM_INDIVIDUAL_COILS", "IM_WASTED_SPARK", "IM_TWO_COILS" #define IGNITION_PIN_COUNT 12 #define ignitionDwellForCrankingMs_offset 100 #define ignitionIatCorrLoadBins_offset 13856 @@ -811,6 +826,7 @@ #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_PIN_COUNT 12 #define injectionMode_offset 428 #define injectionPhase_offset 13984 @@ -885,6 +901,7 @@ #define knockVThreshold_offset 1512 #define launchActivateDelay_offset 1060 #define launchActivatePin_offset 991 +#define launchActivationMode_e_auto_enum "SWITCH_INPUT_LAUNCH", "CLUTCH_INPUT_LAUNCH", "ALWAYS_ACTIVE_LAUNCH" #define launchActivationMode_e_enum "Switch Input", "Clutch Input", "Always Active(Disabled By Speed)","INVALID" #define launchActivationMode_offset 1020 #define launchAdvanceRpmRange_offset 1052 @@ -914,6 +931,7 @@ #define LE_COMMAND_LENGTH 200 #define LIS302DLCsPin_offset 2043 #define LOAD_1_BYTE_PACKING_MULT 2 +#define log_format_e_auto_enum "LF_NATIVE", "LM_MLV" #define logFormat_offset 496 #define LOGIC_ANALYZER_CHANNEL_COUNT 4 #define logicAnalyzerPins1_offset 748 @@ -921,6 +939,7 @@ #define logicAnalyzerPins3_offset 750 #define logicAnalyzerPins4_offset 751 #define MAF_DECODING_COUNT 256 +#define maf_sensor_type_e_auto_enum "CUSTOM", "Bosch0280218037", "Bosch0280218004", "DensoTODO" #define maf_sensor_type_e_enum "v0", "v1", "v2", "v3" #define mafAdcChannel_offset 543 #define mafDecoding_offset 10784 @@ -957,6 +976,7 @@ #define mapHighValueVoltage_offset 2212 #define mapLowValueVoltage_offset 2208 #define mapMinBufferLength_offset 812 +#define mass_storage_e_auto_enum "MS_AUTO", "MS_ALWAYS", "MS_NEVER" #define mass_storage_e_enum "Auto", "Always", "Never", "INVALID" #define max31855_cs1_offset 796 #define max31855_cs2_offset 797 @@ -1017,6 +1037,7 @@ #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 output_pin_e_enum "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "N/A", "N/A", "PA10", "PA11", "PA12", "PA13", "N/A", "N/A", "N/A", "N/A", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "N/A", "N/A", "N/A", "N/A", "PB12", "PB13", "N/A", "N/A", "N/A", "N/A", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "N/A", "N/A", "N/A", "N/A", "PC14", "PC15", "PC16", "PC17", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "PD15", "PD16", "N/A", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "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" #define overrideCrankingIacSetting_offset 1476 #define PACK_ADD_TEMPERATURE 40 @@ -1036,7 +1057,9 @@ #define persistent_config_s_size 20000 #define pid_s_size 20 #define pidExtraForLowRpm_offset 3156 +#define pin_input_mode_e_auto_enum "PI_DEFAULT", "PI_PULLUP", "PI_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_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 postCrankingDurationSec_offset 2440 #define postCrankingFactor_offset 2436 @@ -1074,6 +1097,7 @@ #define sdCardSpiDevice_offset 2592 #define secondSolenoidPin_offset 810 #define secondTriggerChannelEnabled_offset 1476 +#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", "INVALID", "INVALID" #define sensorChartFrequency_offset 520 #define sensorChartMode_offset 944 @@ -1094,8 +1118,8 @@ #define showHumanReadableWarning_offset 976 #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD kin -#define SIGNATURE_DATE 2020.08.13 -#define SIGNATURE_HASH 2113755660 +#define SIGNATURE_DATE 2020.08.14 +#define SIGNATURE_HASH 1999535530 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1120,6 +1144,7 @@ #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_pins_size 4 #define startCrankingDuration_offset 826 #define starterControlPin_offset 1772 @@ -1181,6 +1206,7 @@ #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_offset 3884 #define tcu_solenoid1_offset 1192 @@ -1205,6 +1231,7 @@ #define throttlePedalUpPinMode_offset 710 #define throttlePedalUpVoltage_offset 1884 #define throttlePedalWOTVoltage_offset 1888 +#define timing_mode_e_auto_enum "TM_DYNAMIC", "TM_FIXED" #define timing_offset_cylinder10_offset 2576 #define timing_offset_cylinder11_offset 2580 #define timing_offset_cylinder12_offset 2584 @@ -1225,6 +1252,7 @@ #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 tle8888mode_offset 2416 #define tle8888spiDevice_offset 4000 #define todoClutchDownPinInverted_offset 976 @@ -1269,6 +1297,7 @@ #define trigger_todoRemoveMeOneDay1_offset 528 #define TRIGGER_TYPE_36_1 9 #define TRIGGER_TYPE_60_2 8 +#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_MINI_COOPER_R50", "TT_MAZDA_SOHC_4", "TT_TOOTHED_WHEEL_60_2", "TT_TOOTHED_WHEEL_36_1", "TT_HONDA_4_24_1", "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_ONE_PLUS_TOOTHED_WHEEL_60_2", "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_HONDA_CBR_600_CUSTOM", "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_MAZDA_Z5", "TT_MIATA_NB2_VVT_CAM", "TT_RENIX_44_2_2", "TT_RENIX_66_2_2_2", "TT_HONDA_K_12_1", "TT_BOSCH_QUICK_START", "TT_TOOTHED_WHEEL_36_2", "TT_SUBARU_SVX", "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", "1+60/2", "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", "trg50", "INVALID" #define trigger_type_offset 524 #define trigger_unusedBit_4_10_offset 528 @@ -1395,13 +1424,14 @@ #define ts_show_spi true #define ts_show_trigger_comparator true #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2020.08.13.kin.2113755660" +#define TS_SIGNATURE "rusEFI 2020.08.14.kin.1999535530" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' // 0x74 #define tunerStudioSerialSpeed_offset 728 #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 uartConsoleSerialSpeed_offset 2076 #define un1used_former_warmup_target_afr_offset 2109 #define unused1059_offset 3964 @@ -1548,6 +1578,7 @@ #define veTable_offset 17440 #define VOLTAGE_1_BYTE_PACKING_DIV 0.02 #define vRefAdcChannel_offset 1470 +#define vvt_mode_e_auto_enum "VVT_INACTIVE", "VVT_SECOND_HALF", "VVT_2JZ", "MIATA_NB2", "VVT_FIRST_HALF" #define vvt_mode_e_enum "Inactive", "Second half", "2GZ", "Miata NB2", "First half", "mode5", "mode6", "mode7" #define vvtCamSensorUseRise_offset 744 #define vvtMode_offset 2328 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures.h b/firmware/controllers/generated/engine_configuration_generated_structures.h index 5620af55ba..aea2d47086 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Aug 13 16:22:48 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Fri Aug 14 20:51:11 UTC 2020 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -3651,4 +3651,4 @@ struct persistent_config_s { typedef struct persistent_config_s persistent_config_s; // end -// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Aug 13 16:22:48 UTC 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Fri Aug 14 20:51:11 UTC 2020 diff --git a/firmware/controllers/generated/fsio_enums_generated.def b/firmware/controllers/generated/fsio_enums_generated.def index c540503a6b..5d5d7e9e64 100644 --- a/firmware/controllers/generated/fsio_enums_generated.def +++ b/firmware/controllers/generated/fsio_enums_generated.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Aug 13 16:22:48 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Fri Aug 14 20:51:11 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer FSIO_SETTING_FANONTEMPERATURE = 1000, diff --git a/firmware/controllers/generated/fsio_getters.def b/firmware/controllers/generated/fsio_getters.def index 78d5376464..6f770c539d 100644 --- a/firmware/controllers/generated/fsio_getters.def +++ b/firmware/controllers/generated/fsio_getters.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Aug 13 16:22:48 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Fri Aug 14 20:51:11 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer case FSIO_SETTING_FANONTEMPERATURE: diff --git a/firmware/controllers/generated/fsio_names.def b/firmware/controllers/generated/fsio_names.def index 1b09f07453..d3839b0b56 100644 --- a/firmware/controllers/generated/fsio_names.def +++ b/firmware/controllers/generated/fsio_names.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Aug 13 16:22:48 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Fri Aug 14 20:51:11 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer static LENameOrdinalPair lefanOnTemperature(FSIO_SETTING_FANONTEMPERATURE, "cfg_fanOnTemperature"); diff --git a/firmware/controllers/generated/fsio_strings.def b/firmware/controllers/generated/fsio_strings.def index abb4fce616..f92b3b2b14 100644 --- a/firmware/controllers/generated/fsio_strings.def +++ b/firmware/controllers/generated/fsio_strings.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Aug 13 16:22:48 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Fri Aug 14 20:51:11 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer case FSIO_SETTING_FANONTEMPERATURE: diff --git a/firmware/controllers/generated/rusefi_generated.h b/firmware/controllers/generated/rusefi_generated.h index 7809ee796f..3fbf674832 100644 --- a/firmware/controllers/generated/rusefi_generated.h +++ b/firmware/controllers/generated/rusefi_generated.h @@ -17,6 +17,7 @@ #define activateAuxPid3_offset 76 #define activateAuxPid4_offset 76 #define adc_channel_e_enum "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "PB12", "PB13", "PC14", "PC15", "PC16", "PC17", "PD3", "PD4", "PE2", "PE6", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +#define adc_channel_mode_e_auto_enum "ADC_OFF", "ADC_SLOW", "ADC_FAST" #define ADC_CHANNEL_NONE 16 #define adcVcc_offset 548 #define afr_alignmentFill_afr_offset 561 @@ -40,6 +41,7 @@ #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" #define alignEngineSnifferAtTDC_offset 744 #define alignmentFill_at_4514_offset 4514 #define alternator_antiwindupFreq_offset 1764 @@ -59,6 +61,7 @@ #define ambiguousOperationMode_offset 488 #define analogInputDividerCoefficient_offset 460 #define antiLagActivatePin_offset 990 +#define antiLagActivationMode_e_auto_enum "SWITCH_INPUT_ANTILAG", "ALWAYS_ON_ANTILAG" #define antiLagActivationMode_e_enum "Always Active", "Switch Input" #define antiLagActivationMode_offset 1024 #define antiLagEnabled_offset 76 @@ -164,6 +167,7 @@ #define boostTableClosedLoop_offset 6328 #define boostTableOpenLoop_offset 6248 #define boostTpsBins_offset 6392 +#define boostType_e_auto_enum "OPEN_LOOP", "CLOSED_LOOP" #define boostType_offset 1012 #define brain_input_pin_e_enum "NONE", "INVALID", "INVALID", "PA1", "PA2", "PA3", "INVALID", "PA5", "PA6", "PA7", "PA8", "PA9", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PA15", "INVALID", "INVALID", "INVALID", "PB3", "PB4", "PB5", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PC6", "PC7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PE5", "PE6", "INVALID", "INVALID", "PE9", "INVALID", "PE11", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" #define brain_pin_e_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","INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" @@ -182,8 +186,11 @@ #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_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" +#define can_vss_nbc_e_auto_enum "BMW_e46", "W202" #define canBaudRate_offset 2108 #define canNbcType_offset 480 #define canReadEnabled_offset 1464 @@ -289,6 +296,7 @@ #define cylinderBore_offset 408 #define cylindersCount_offset 400 #define dcMotorIdleValve_offset 976 +#define debug_mode_e_auto_enum "DBG_ALTERNATOR_PID", "DBG_TPS_ACCEL", "DBG_2", "DBG_IDLE_CONTROL", "DBG_EL_ACCEL", "DBG_TRIGGER_COUNTERS", "DBG_FSIO_ADC", "DBG_AUX_PID_1", "DBG_VVT", "DBG_CRANKING_DETAILS", "DBG_IGNITION_TIMING", "DBG_FUEL_PID_CORRECTION", "DBG_VEHICLE_SPEED_SENSOR", "DBG_SD_CARD", "DBG_SR5_PROTOCOL", "DBG_KNOCK", "DBG_16", "DBG_ELECTRONIC_THROTTLE_PID", "DBG_EXECUTOR", "DBG_BENCH_TEST", "DBG_AUX_VALVES", "DBG_ANALOG_INPUTS", "DBG_INSTANT_RPM", "DBG_FSIO_EXPRESSION_1_7", "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_FSIO_EXPRESSION_8_14", "DBG_FSIO_SPECIAL", "DBG_43", "DBG_44" #define debug_mode_e_enum "Alternator PID", "TPS acceleration enrichment", "INVALID", "Idle Control", "Engine Load accl enrich", "Trigger Counters", "FSIO_ADC", "AUX_PID_1", "VVT input", "Cranking", "Timing", "Closed-loop fuel corr PID", "VSS", "SD card", "sr5", "Knock", "mode16", "Electronic Throttle", "Executor", "Bench Test / TS commands", "Aux Valves", "Analog inputs #1", "INSTANT_RPM", "FSIO_EXPRESSION_1_7", "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", "FSIO_EXPRESSION_8_14", "FSIO_SPECIAL", "Mode43", "Mode44" #define debugMapAveraging_offset 807 #define debugMode_offset 2092 @@ -300,11 +308,13 @@ #define digitalPotentiometerChipSelect4_offset 671 #define digitalPotentiometerSpiDevice_offset 677 #define displacement_offset 396 +#define display_mode_e_auto_enum "DM_NONE", "DM_HD44780", "DM_HD44780_OVER_PCF8574" #define displayLogicLevelsInEngineSniffer_offset 76 #define displayMode_offset 492 #define dizzySparkOutputPin_offset 2226 #define dizzySparkOutputPinMode_offset 2227 #define DWELL_CURVE_SIZE 8 +#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 egoValueShift_offset 2216 #define EGT_CHANNEL_COUNT 8 @@ -318,6 +328,7 @@ #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_2", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "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", "Alpha-N/TPS", "INVALID", "Speed Density", "MAF Air Charge", "Alpha-N", "INVALID" #define ENGINE_MAKE_BMW "BMW" #define ENGINE_MAKE_GM "GM" @@ -327,6 +338,7 @@ #define ENGINE_MAKE_TOYOTA "Toyota" #define ENGINE_NOISE_CURVE_SIZE 8 #define ENGINE_SNIFFER_UNIT_US 10 +#define engine_type_e_auto_enum "DEFAULT_FRANKENSO", "AUDI_AAN", "DODGE_NEON_1995", "FORD_ASPIRE_1996", "FORD_FIESTA", "NISSAN_PRIMERA", "HONDA_ACCORD_CD", "FORD_INLINE_6_1995", "GY6_139QMB", "MAZDA_MIATA_NB1", "ROVER_V8", "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", "MIATA_1994_DEVIATOR", "MIATA_1996", "SUBARU_2003_WRX", "DODGE_NEON_2003_CAM", "BMW_M73_M", "BMW_E34", "TEST_ENGINE", "ISSUE_898", "MAZDA_626", "SACHS", "MRE_BOARD_OLD_TEST", "MRE_BOARD_NEW_TEST", "VW_ABA", "DODGE_STRATUS", "DAIHATSU", "CAMARO_4", "SUZUKI_VITARA", "CHEVY_C20_1973", "TOYOTA_JZS147", "LADA_KALINA", "BMW_M73_F", "MIATA_NA6_MAP", "ZIL_130", "HONDA_600", "TOYOTA_2JZ_GTE_VVTi", "TEST_ENGINE_VVT", "DODGE_NEON_2003_CRANK", "MAZDA_MIATA_2003", "HONDA_ACCORD_1_24_SHIFTED", "FRANKENSO_QA_ENGINE", "TEST_CIVIC_4_0_BOTH", "TEST_CIVIC_4_0_RISE", "TEST_ISSUE_366_BOTH", "TEST_ISSUE_366_RISE", "MAZDA_MIATA_2003_NA_RAIL", "MAZDA_MIATA_2003_BOARD_TEST", "MAZDA_MIATA_NA8", "MIATA_NA6_VAF", "ETB_BENCH_ENGINE", "TLE8888_BENCH_ENGINE", "MICRO_RUS_EFI", "PROTEUS", "VW_B6", "BMW_M73_PROTEUS", "DODGE_RAM", "CITROEN_TU3JP", "MRE_MIATA_NA6_MAP", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "MINIMAL_PINS", "PROMETHEUS_DEFAULTS", "SUBARUEJ20G_DEFAULTS", "VAG_18_TURBO", "TEST_33816", "BMW_M73_MRE", "BMW_M73_MRE_SLAVE" #define engineChartSize_offset 1480 #define engineCode_offset 1128 #define engineConfiguration_offset 0 @@ -678,6 +690,7 @@ #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" #define gppwm_channel_e_enum "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "INVALID", "INVALID" #define gppwm_channel_size 88 #define GPPWM_CHANNELS 4 @@ -731,6 +744,7 @@ #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_offset 600 #define idle_solenoidFrequency_offset 600 #define idle_solenoidPin_offset 604 @@ -782,6 +796,7 @@ #define IGN_LOAD_COUNT 16 #define IGN_RPM_COUNT 16 #define IGN_TPS_COUNT 16 +#define ignition_mode_e_auto_enum "IM_ONE_COIL", "IM_INDIVIDUAL_COILS", "IM_WASTED_SPARK", "IM_TWO_COILS" #define IGNITION_PIN_COUNT 12 #define ignitionDwellForCrankingMs_offset 100 #define ignitionIatCorrLoadBins_offset 13856 @@ -811,6 +826,7 @@ #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_PIN_COUNT 12 #define injectionMode_offset 428 #define injectionPhase_offset 13984 @@ -885,6 +901,7 @@ #define knockVThreshold_offset 1512 #define launchActivateDelay_offset 1060 #define launchActivatePin_offset 991 +#define launchActivationMode_e_auto_enum "SWITCH_INPUT_LAUNCH", "CLUTCH_INPUT_LAUNCH", "ALWAYS_ACTIVE_LAUNCH" #define launchActivationMode_e_enum "Switch Input", "Clutch Input", "Always Active(Disabled By Speed)","INVALID" #define launchActivationMode_offset 1020 #define launchAdvanceRpmRange_offset 1052 @@ -914,6 +931,7 @@ #define LE_COMMAND_LENGTH 200 #define LIS302DLCsPin_offset 2043 #define LOAD_1_BYTE_PACKING_MULT 2 +#define log_format_e_auto_enum "LF_NATIVE", "LM_MLV" #define logFormat_offset 496 #define LOGIC_ANALYZER_CHANNEL_COUNT 4 #define logicAnalyzerPins1_offset 748 @@ -921,6 +939,7 @@ #define logicAnalyzerPins3_offset 750 #define logicAnalyzerPins4_offset 751 #define MAF_DECODING_COUNT 256 +#define maf_sensor_type_e_auto_enum "CUSTOM", "Bosch0280218037", "Bosch0280218004", "DensoTODO" #define maf_sensor_type_e_enum "v0", "v1", "v2", "v3" #define mafAdcChannel_offset 543 #define mafDecoding_offset 10784 @@ -957,6 +976,7 @@ #define mapHighValueVoltage_offset 2212 #define mapLowValueVoltage_offset 2208 #define mapMinBufferLength_offset 812 +#define mass_storage_e_auto_enum "MS_AUTO", "MS_ALWAYS", "MS_NEVER" #define mass_storage_e_enum "Auto", "Always", "Never", "INVALID" #define max31855_cs1_offset 796 #define max31855_cs2_offset 797 @@ -1017,6 +1037,7 @@ #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 output_pin_e_enum "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6","PE7","PE8","PE9","PE10","PE11","PE12","PE13","PE14","PE15", "PF0","PF1","PF2","PF3","PF4","PF5","PF6","PF7","PF8","PF9","PF10","PF11","PF12","PF13","PF14","PF15", "PG0","PG1","PG2","PG3","PG4","PG5","PG6","PG7","PG8","PG9","PG10","PG11","PG12","PG13","PG14","PG15", "PH0","PH1","PH2","PH3","PH4","PH5","PH6","PH7","PH8","PH9","PH10","PH11","PH12","PH13","PH14","PH15","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", "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", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" #define overrideCrankingIacSetting_offset 1476 #define PACK_ADD_TEMPERATURE 40 @@ -1036,7 +1057,9 @@ #define persistent_config_s_size 20000 #define pid_s_size 20 #define pidExtraForLowRpm_offset 3156 +#define pin_input_mode_e_auto_enum "PI_DEFAULT", "PI_PULLUP", "PI_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_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 postCrankingDurationSec_offset 2440 #define postCrankingFactor_offset 2436 @@ -1074,6 +1097,7 @@ #define sdCardSpiDevice_offset 2592 #define secondSolenoidPin_offset 810 #define secondTriggerChannelEnabled_offset 1476 +#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", "INVALID", "INVALID" #define sensorChartFrequency_offset 520 #define sensorChartMode_offset 944 @@ -1094,8 +1118,8 @@ #define showHumanReadableWarning_offset 976 #define showSdCardWarning_offset 76 #define SIGNATURE_BOARD all -#define SIGNATURE_DATE 2020.08.13 -#define SIGNATURE_HASH 1378426796 +#define SIGNATURE_DATE 2020.08.14 +#define SIGNATURE_HASH 1492793354 #define silentTriggerError_offset 1464 #define slowAdcAlpha_offset 2088 #define sparkDwellRpmBins_offset 332 @@ -1120,6 +1144,7 @@ #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_pins_size 4 #define startCrankingDuration_offset 826 #define starterControlPin_offset 1772 @@ -1181,6 +1206,7 @@ #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_offset 3884 #define tcu_solenoid1_offset 1192 @@ -1205,6 +1231,7 @@ #define throttlePedalUpPinMode_offset 710 #define throttlePedalUpVoltage_offset 1884 #define throttlePedalWOTVoltage_offset 1888 +#define timing_mode_e_auto_enum "TM_DYNAMIC", "TM_FIXED" #define timing_offset_cylinder10_offset 2576 #define timing_offset_cylinder11_offset 2580 #define timing_offset_cylinder12_offset 2584 @@ -1225,6 +1252,7 @@ #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 tle8888mode_offset 2416 #define tle8888spiDevice_offset 4000 #define todoClutchDownPinInverted_offset 976 @@ -1269,6 +1297,7 @@ #define trigger_todoRemoveMeOneDay1_offset 528 #define TRIGGER_TYPE_36_1 9 #define TRIGGER_TYPE_60_2 8 +#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_MINI_COOPER_R50", "TT_MAZDA_SOHC_4", "TT_TOOTHED_WHEEL_60_2", "TT_TOOTHED_WHEEL_36_1", "TT_HONDA_4_24_1", "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_ONE_PLUS_TOOTHED_WHEEL_60_2", "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_HONDA_CBR_600_CUSTOM", "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_MAZDA_Z5", "TT_MIATA_NB2_VVT_CAM", "TT_RENIX_44_2_2", "TT_RENIX_66_2_2_2", "TT_HONDA_K_12_1", "TT_BOSCH_QUICK_START", "TT_TOOTHED_WHEEL_36_2", "TT_SUBARU_SVX", "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", "1+60/2", "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", "trg50", "INVALID" #define trigger_type_offset 524 #define trigger_unusedBit_4_10_offset 528 @@ -1395,13 +1424,14 @@ #define ts_show_spi true #define ts_show_trigger_comparator false #define ts_show_tunerstudio_port true -#define TS_SIGNATURE "rusEFI 2020.08.13.all.1378426796" +#define TS_SIGNATURE "rusEFI 2020.08.14.all.1492793354" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' // 0x74 #define tunerStudioSerialSpeed_offset 728 #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 uartConsoleSerialSpeed_offset 2076 #define un1used_former_warmup_target_afr_offset 2109 #define unused1059_offset 3964 @@ -1548,6 +1578,7 @@ #define veTable_offset 17440 #define VOLTAGE_1_BYTE_PACKING_DIV 0.02 #define vRefAdcChannel_offset 1470 +#define vvt_mode_e_auto_enum "VVT_INACTIVE", "VVT_SECOND_HALF", "VVT_2JZ", "MIATA_NB2", "VVT_FIRST_HALF" #define vvt_mode_e_enum "Inactive", "Second half", "2GZ", "Miata NB2", "First half", "mode5", "mode6", "mode7" #define vvtCamSensorUseRise_offset 744 #define vvtMode_offset 2328 diff --git a/firmware/controllers/generated/signature_all.h b/firmware/controllers/generated/signature_all.h index eecb81573e..a74fe9d527 100644 --- a/firmware/controllers/generated/signature_all.h +++ b/firmware/controllers/generated/signature_all.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD all #define SIGNATURE_DATE 2020.08.14 -#define SIGNATURE_HASH 979249771 -#define TS_SIGNATURE "rusEFI 2020.08.14.all.979249771" +#define SIGNATURE_HASH 1492793354 +#define TS_SIGNATURE "rusEFI 2020.08.14.all.1492793354" diff --git a/firmware/controllers/generated/signature_frankenso_na6.h b/firmware/controllers/generated/signature_frankenso_na6.h index b9fb92aa42..4384a1906f 100644 --- a/firmware/controllers/generated/signature_frankenso_na6.h +++ b/firmware/controllers/generated/signature_frankenso_na6.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD frankenso_na6 #define SIGNATURE_DATE 2020.08.14 -#define SIGNATURE_HASH 104062898 -#define TS_SIGNATURE "rusEFI 2020.08.14.frankenso_na6.104062898" +#define SIGNATURE_HASH 1687670227 +#define TS_SIGNATURE "rusEFI 2020.08.14.frankenso_na6.1687670227" diff --git a/firmware/controllers/generated/signature_kin.h b/firmware/controllers/generated/signature_kin.h index ca99e444c7..2c247abe8b 100644 --- a/firmware/controllers/generated/signature_kin.h +++ b/firmware/controllers/generated/signature_kin.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD kin #define SIGNATURE_DATE 2020.08.14 -#define SIGNATURE_HASH 361394123 -#define TS_SIGNATURE "rusEFI 2020.08.14.kin.361394123" +#define SIGNATURE_HASH 1999535530 +#define TS_SIGNATURE "rusEFI 2020.08.14.kin.1999535530" diff --git a/firmware/controllers/generated/signature_mre_f4.h b/firmware/controllers/generated/signature_mre_f4.h index a45be78d00..54487d0507 100644 --- a/firmware/controllers/generated/signature_mre_f4.h +++ b/firmware/controllers/generated/signature_mre_f4.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD mre_f4 #define SIGNATURE_DATE 2020.08.14 -#define SIGNATURE_HASH 3253780272 -#define TS_SIGNATURE "rusEFI 2020.08.14.mre_f4.3253780272" +#define SIGNATURE_HASH 2740235601 +#define TS_SIGNATURE "rusEFI 2020.08.14.mre_f4.2740235601" diff --git a/firmware/controllers/generated/signature_mre_f7.h b/firmware/controllers/generated/signature_mre_f7.h index 12e928b634..1e0db76535 100644 --- a/firmware/controllers/generated/signature_mre_f7.h +++ b/firmware/controllers/generated/signature_mre_f7.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD mre_f7 #define SIGNATURE_DATE 2020.08.14 -#define SIGNATURE_HASH 3253780272 -#define TS_SIGNATURE "rusEFI 2020.08.14.mre_f7.3253780272" +#define SIGNATURE_HASH 2740235601 +#define TS_SIGNATURE "rusEFI 2020.08.14.mre_f7.2740235601" diff --git a/firmware/controllers/generated/signature_prometheus_405.h b/firmware/controllers/generated/signature_prometheus_405.h index 4653424eea..3884a38e07 100644 --- a/firmware/controllers/generated/signature_prometheus_405.h +++ b/firmware/controllers/generated/signature_prometheus_405.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD prometheus_405 #define SIGNATURE_DATE 2020.08.14 -#define SIGNATURE_HASH 766012373 -#define TS_SIGNATURE "rusEFI 2020.08.14.prometheus_405.766012373" +#define SIGNATURE_HASH 1326217652 +#define TS_SIGNATURE "rusEFI 2020.08.14.prometheus_405.1326217652" diff --git a/firmware/controllers/generated/signature_prometheus_469.h b/firmware/controllers/generated/signature_prometheus_469.h index 0ca24ff5c8..dd9ff8eddc 100644 --- a/firmware/controllers/generated/signature_prometheus_469.h +++ b/firmware/controllers/generated/signature_prometheus_469.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD prometheus_469 #define SIGNATURE_DATE 2020.08.14 -#define SIGNATURE_HASH 766012373 -#define TS_SIGNATURE "rusEFI 2020.08.14.prometheus_469.766012373" +#define SIGNATURE_HASH 1326217652 +#define TS_SIGNATURE "rusEFI 2020.08.14.prometheus_469.1326217652" diff --git a/firmware/controllers/generated/signature_proteus_f4.h b/firmware/controllers/generated/signature_proteus_f4.h index 8c9a58b8c3..811b936ff0 100644 --- a/firmware/controllers/generated/signature_proteus_f4.h +++ b/firmware/controllers/generated/signature_proteus_f4.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD proteus_f4 #define SIGNATURE_DATE 2020.08.14 -#define SIGNATURE_HASH 93496240 -#define TS_SIGNATURE "rusEFI 2020.08.14.proteus_f4.93496240" +#define SIGNATURE_HASH 1731637713 +#define TS_SIGNATURE "rusEFI 2020.08.14.proteus_f4.1731637713" diff --git a/firmware/controllers/generated/signature_proteus_f7.h b/firmware/controllers/generated/signature_proteus_f7.h index 40d232ea4a..ea00a8f0a8 100644 --- a/firmware/controllers/generated/signature_proteus_f7.h +++ b/firmware/controllers/generated/signature_proteus_f7.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD proteus_f7 #define SIGNATURE_DATE 2020.08.14 -#define SIGNATURE_HASH 93496240 -#define TS_SIGNATURE "rusEFI 2020.08.14.proteus_f7.93496240" +#define SIGNATURE_HASH 1731637713 +#define TS_SIGNATURE "rusEFI 2020.08.14.proteus_f7.1731637713" diff --git a/firmware/tunerstudio/generated/cache.zip b/firmware/tunerstudio/generated/cache.zip index 1cfe3b46c1d4a9ac6d80f01a83230897a765a1c4..8b1ebc5f39ab3e713475b5a0f24d97c8b45c84c3 100644 GIT binary patch delta 248655 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 delta 249175 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 - +