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 138823347c..1d101b001d 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 kineris_gen_config.bat integration/rusefi_config.txt Wed Apr 22 18:25:40 EDT 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kineris_gen_config.bat integration/rusefi_config.txt Thu Apr 23 15:57:04 EDT 2020 // by class com.rusefi.output.CHeaderConsumer // begin #ifndef CONFIG_BOARDS_KINETIS_CONFIG_CONTROLLERS_ALGO_ENGINE_CONFIGURATION_GENERATED_STRUCTURES_H @@ -647,7 +647,7 @@ struct engine_configuration_s { bool cj125isUrDivided : 1; /** offset 76 bit 16 */ - bool useTLE8888_hall_mode : 1; + bool issue_294_unused : 1; /** offset 76 bit 17 */ bool useTLE8888_cranking_hack : 1; @@ -2576,7 +2576,11 @@ struct engine_configuration_s { /** * offset 2416 */ - int unusedSomethingWasHere; + tle8888_mode_e tle8888mode; + /** + * offset 2417 + */ + uint8_t unusedSomethingWasHere[3]; /** * offset 2420 */ @@ -3351,4 +3355,4 @@ typedef struct persistent_config_s persistent_config_s; #endif // end -// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kineris_gen_config.bat integration/rusefi_config.txt Wed Apr 22 18:25:40 EDT 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kineris_gen_config.bat integration/rusefi_config.txt Thu Apr 23 15:57:04 EDT 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 5d5d913017..ff3fd1e92f 100644 --- a/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h +++ b/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h @@ -1403,6 +1403,8 @@ #define issue_294_30_offset_hex 4c #define issue_294_31_offset 76 #define issue_294_31_offset_hex 4c +#define issue_294_unused_offset 76 +#define issue_294_unused_offset_hex 4c #define isTunerStudioEnabled_offset 1476 #define isTunerStudioEnabled_offset_hex 5c4 #define isVerboseAlternator_offset 744 @@ -1975,6 +1977,8 @@ #define tle8888_cs_offset_hex c21 #define tle8888_csPinMode_offset 3106 #define tle8888_csPinMode_offset_hex c22 +#define tle8888mode_offset 2416 +#define tle8888mode_offset_hex 970 #define tle8888spiDevice_offset 4000 #define tle8888spiDevice_offset_hex fa0 #define todoClutchDownPinInverted_offset 976 @@ -2243,8 +2247,8 @@ #define unusedHere_offset_hex 2f9 #define unusedOldBiquad_offset 2332 #define unusedOldBiquad_offset_hex 91c -#define unusedSomethingWasHere_offset 2416 -#define unusedSomethingWasHere_offset_hex 970 +#define unusedSomethingWasHere_offset 2417 +#define unusedSomethingWasHere_offset_hex 971 #define unusedSpiPadding4_offset 2593 #define unusedSpiPadding4_offset_hex a21 #define unusedSpiPadding5_offset 2713 @@ -2323,8 +2327,6 @@ #define useStepperIdle_offset_hex 2e8 #define useTLE8888_cranking_hack_offset 76 #define useTLE8888_cranking_hack_offset_hex 4c -#define useTLE8888_hall_mode_offset 76 -#define useTLE8888_hall_mode_offset_hex 4c #define useTpicAdvancedMode_offset 744 #define useTpicAdvancedMode_offset_hex 2e8 #define useTPSAdvanceTable_offset 1476 diff --git a/firmware/config/engines/mazda_miata_vvt.cpp b/firmware/config/engines/mazda_miata_vvt.cpp index d8617635df..3262728ee4 100644 --- a/firmware/config/engines/mazda_miata_vvt.cpp +++ b/firmware/config/engines/mazda_miata_vvt.cpp @@ -501,7 +501,11 @@ static void setMiataNB2_MRE_common(DECLARE_CONFIG_PARAMETER_SIGNATURE) { engineConfiguration->camInputs[0] = GPIOA_5; engineConfiguration->useOnlyRisingEdgeForTrigger = false; - engineConfiguration->useTLE8888_hall_mode = true; + /** + * By default "auto detection mode for VR sensor signals" is used + * We know that for short & strange Hall (?) signals like Miata NB2 crank sensor this does not work well above certain RPM. + */ + engineConfiguration->tle8888mode = TL_MANUAL; // GPIOD_6: "13 - GP Out 6" - selected to +12v engineConfiguration->alternatorControlPin = GPIOD_6; diff --git a/firmware/controllers/algo/rusefi_enums.h b/firmware/controllers/algo/rusefi_enums.h index 977c1ff249..53f940e486 100644 --- a/firmware/controllers/algo/rusefi_enums.h +++ b/firmware/controllers/algo/rusefi_enums.h @@ -430,6 +430,15 @@ typedef enum { } display_mode_e; +typedef enum __attribute__ ((__packed__)){ + TL_DEFAULT = 0, + TL_1 = 1, + TL_HALL = 2, + TL_MANUAL = 3, + +} tle8888_mode_e; + + typedef enum { LF_NATIVE = 0, /** diff --git a/firmware/controllers/generated/engine_configuration_generated_structures.h b/firmware/controllers/generated/engine_configuration_generated_structures.h index 93e92953ab..e61b21bc89 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.bat integration\rusefi_config.txt Wed Apr 22 19:50:25 EDT 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Thu Apr 23 15:56:48 EDT 2020 // by class com.rusefi.output.CHeaderConsumer // begin #ifndef CONTROLLERS_GENERATED_ENGINE_CONFIGURATION_GENERATED_STRUCTURES_H @@ -647,7 +647,7 @@ struct engine_configuration_s { bool cj125isUrDivided : 1; /** offset 76 bit 16 */ - bool useTLE8888_hall_mode : 1; + bool issue_294_unused : 1; /** offset 76 bit 17 */ bool useTLE8888_cranking_hack : 1; @@ -2576,7 +2576,11 @@ struct engine_configuration_s { /** * offset 2416 */ - int unusedSomethingWasHere; + tle8888_mode_e tle8888mode; + /** + * offset 2417 + */ + uint8_t unusedSomethingWasHere[3]; /** * offset 2420 */ @@ -3351,4 +3355,4 @@ typedef struct persistent_config_s persistent_config_s; #endif // end -// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Wed Apr 22 19:50:25 EDT 2020 +// this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Thu Apr 23 15:56:48 EDT 2020 diff --git a/firmware/controllers/generated/rusefi_generated.h b/firmware/controllers/generated/rusefi_generated.h index f5519e3038..f6c644753c 100644 --- a/firmware/controllers/generated/rusefi_generated.h +++ b/firmware/controllers/generated/rusefi_generated.h @@ -1403,6 +1403,8 @@ #define issue_294_30_offset_hex 4c #define issue_294_31_offset 76 #define issue_294_31_offset_hex 4c +#define issue_294_unused_offset 76 +#define issue_294_unused_offset_hex 4c #define isTunerStudioEnabled_offset 1476 #define isTunerStudioEnabled_offset_hex 5c4 #define isVerboseAlternator_offset 744 @@ -1975,6 +1977,8 @@ #define tle8888_cs_offset_hex c21 #define tle8888_csPinMode_offset 3106 #define tle8888_csPinMode_offset_hex c22 +#define tle8888mode_offset 2416 +#define tle8888mode_offset_hex 970 #define tle8888spiDevice_offset 4000 #define tle8888spiDevice_offset_hex fa0 #define todoClutchDownPinInverted_offset 976 @@ -2243,8 +2247,8 @@ #define unusedHere_offset_hex 2f9 #define unusedOldBiquad_offset 2332 #define unusedOldBiquad_offset_hex 91c -#define unusedSomethingWasHere_offset 2416 -#define unusedSomethingWasHere_offset_hex 970 +#define unusedSomethingWasHere_offset 2417 +#define unusedSomethingWasHere_offset_hex 971 #define unusedSpiPadding4_offset 2593 #define unusedSpiPadding4_offset_hex a21 #define unusedSpiPadding5_offset 2713 @@ -2323,8 +2327,6 @@ #define useStepperIdle_offset_hex 2e8 #define useTLE8888_cranking_hack_offset 76 #define useTLE8888_cranking_hack_offset_hex 4c -#define useTLE8888_hall_mode_offset 76 -#define useTLE8888_hall_mode_offset_hex 4c #define useTpicAdvancedMode_offset 744 #define useTpicAdvancedMode_offset_hex 2e8 #define useTPSAdvanceTable_offset 1476 diff --git a/firmware/hw_layer/drivers/gpio/tle8888.c b/firmware/hw_layer/drivers/gpio/tle8888.c index 49cf72ab44..ccbbf66b94 100644 --- a/firmware/hw_layer/drivers/gpio/tle8888.c +++ b/firmware/hw_layer/drivers/gpio/tle8888.c @@ -62,6 +62,7 @@ typedef enum { TLE8888_FAILED } tle8888_drv_state; +// tle8888_mode_e #define MODE_MANUAL 0x02 #define MODE_HALL 0x03 @@ -511,12 +512,8 @@ int startupConfiguration(struct tle8888_priv *chip) { /* enable outputs */ tle8888_spi_rw(chip, CMD_OE_SET, NULL); - if (cfg->hallMode) { - /** - * By default "auto detection mode for VR sensor signals" is used - * We know that for short Hall signals like Miata NB2 crank sensor this does not work well above certain RPM. - */ - tle8888_spi_rw(chip, CMD_VRSCONFIG1(MODE_MANUAL << 2), NULL); + if (cfg->mode > 0) { + tle8888_spi_rw(chip, CMD_VRSCONFIG1(cfg->mode << 2), NULL); } return 0; } diff --git a/firmware/hw_layer/drivers/gpio/tle8888.h b/firmware/hw_layer/drivers/gpio/tle8888.h index 4a00c3b835..82813abc42 100644 --- a/firmware/hw_layer/drivers/gpio/tle8888.h +++ b/firmware/hw_layer/drivers/gpio/tle8888.h @@ -50,7 +50,7 @@ struct tle8888_config { /* ...used to drive output (starts from 1, as in DS, coders gonna hate) */ int output; } direct_io[TLE8888_DIRECT_MISC]; - bool hallMode; + tle8888_mode_e mode; }; #ifdef __cplusplus diff --git a/firmware/hw_layer/smart_gpio.cpp b/firmware/hw_layer/smart_gpio.cpp index ff25f11b70..c4b2766efa 100644 --- a/firmware/hw_layer/smart_gpio.cpp +++ b/firmware/hw_layer/smart_gpio.cpp @@ -131,7 +131,7 @@ struct tle8888_config tle8888_cfg = { [3] = {.port = NULL, .pad = 0, .output = 12}, */ }, - .hallMode = false, + .mode = TL_DEFAULT, }; #endif @@ -178,7 +178,7 @@ void initSmartGpio() { tle8888_cfg.spi_config.sspad = getHwPin("tle8888 CS", engineConfiguration->tle8888_cs); tle8888_cfg.spi_bus = getSpiDevice(engineConfiguration->tle8888spiDevice); - tle8888_cfg.hallMode = engineConfiguration->useTLE8888_hall_mode; + tle8888_cfg.mode = engineConfiguration->tle8888mode; /* spi_bus == null checked in _add function */ ret = tle8888_add(0, &tle8888_cfg); diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index 6a5cd53fac..ea34c6d0ff 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -370,7 +370,7 @@ bit etb_use_two_wires;+TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT u bit isDoubleSolenoidIdle; bit showSdCardWarning; bit cj125isUrDivided;+Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed. -bit useTLE8888_hall_mode; +bit issue_294_unused; bit useTLE8888_cranking_hack; bit useInstantRpmForIdle; bit absoluteFuelPressure;+If your fuel regulator does not have vacuum line @@ -1093,7 +1093,10 @@ float[MAP_ACCEL_TAPER] mapAccelTaperMult;;"mult", 1, 0, 0.0, 300, uint8_t[20] unusedOldBiquad float[CLT_TIMING_CURVE_SIZE] cltTimingBins;CLT-based timing correction;"C", 1, 0, -100.0, 250.0, 1 float[CLT_TIMING_CURVE_SIZE] cltTimingExtra;;"degree", 1, 0, -400.0, 400.0, 0 - int unusedSomethingWasHere; +custom tle8888_mode_e 1 bits, U08, @OFFSET@, [0:7], "Default", "mode1", "Hall", "Manual" +tle8888_mode_e tle8888mode; + + uint8_t[3] unusedSomethingWasHere; float autoTuneCltThreshold; float autoTuneTpsRocThreshold; float autoTuneTpsQuietPeriod; diff --git a/firmware/tunerstudio/rusefi.ini b/firmware/tunerstudio/rusefi.ini index 1e014aea26..bbcbf9055b 100644 --- a/firmware/tunerstudio/rusefi.ini +++ b/firmware/tunerstudio/rusefi.ini @@ -89,7 +89,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.bat integration\rusefi_config.txt Thu Apr 23 15:29:49 EDT 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Thu Apr 23 15:56:48 EDT 2020 pageSize = 20000 page = 1 @@ -114,7 +114,7 @@ page = 1 isDoubleSolenoidIdle = bits, U32, 76, [13:13], "false", "true" showSdCardWarning = bits, U32, 76, [14:14], "false", "true" cj125isUrDivided = bits, U32, 76, [15:15], "false", "true" - useTLE8888_hall_mode = bits, U32, 76, [16:16], "false", "true" + issue_294_unused = bits, U32, 76, [16:16], "false", "true" useTLE8888_cranking_hack= bits, U32, 76, [17:17], "false", "true" useInstantRpmForIdle = bits, U32, 76, [18:18], "false", "true" absoluteFuelPressure = bits, U32, 76, [19:19], "false", "true" @@ -845,7 +845,8 @@ page = 1 ;no TS info - skipping unusedOldBiquad offset 2332 cltTimingBins = array, F32, 2352, [8], "C", 1, 0, -100.0, 250.0, 1 cltTimingExtra = array, F32, 2384, [8], "degree", 1, 0, -400.0, 400.0, 0 -;no TS info - skipping unusedSomethingWasHere offset 2416 + tle8888mode = bits, U08, 2416, [0:7], "Default", "mode1", "Hall", "Manual" +;no TS info - skipping unusedSomethingWasHere offset 2417 ;no TS info - skipping autoTuneCltThreshold offset 2420 ;no TS info - skipping autoTuneTpsRocThreshold offset 2424 ;no TS info - skipping autoTuneTpsQuietPeriod offset 2428 @@ -3623,7 +3624,7 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00" dialog = tle8888, "TLE8888", yAxis field = "TLE8888 Chip Select", tle8888_cs field = "TLE8888 SPI", tle8888spiDevice - field = "useTLE8888_hall_mode", useTLE8888_hall_mode + field = "Mode", tle8888mode field = "useTLE8888 cranking reset hack", useTLE8888_cranking_hack commandButton = "Reinit", cmd_tle8888_init diff --git a/firmware/tunerstudio/rusefi.input b/firmware/tunerstudio/rusefi.input index d23c5476d5..c0d50dd69b 100644 --- a/firmware/tunerstudio/rusefi.input +++ b/firmware/tunerstudio/rusefi.input @@ -2455,7 +2455,7 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00" dialog = tle8888, "TLE8888", yAxis field = "TLE8888 Chip Select", tle8888_cs @@if_ts_show_spi field = "TLE8888 SPI", tle8888spiDevice @@if_ts_show_spi - field = "useTLE8888_hall_mode", useTLE8888_hall_mode + field = "Mode", tle8888mode field = "useTLE8888 cranking reset hack", useTLE8888_cranking_hack commandButton = "Reinit", cmd_tle8888_init diff --git a/firmware/tunerstudio/rusefi_frankenso.ini b/firmware/tunerstudio/rusefi_frankenso.ini index 821fb1e89a..d68a33e097 100644 --- a/firmware/tunerstudio/rusefi_frankenso.ini +++ b/firmware/tunerstudio/rusefi_frankenso.ini @@ -89,7 +89,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.bat integration\rusefi_config.txt Thu Apr 23 15:29:56 EDT 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Thu Apr 23 15:56:55 EDT 2020 pageSize = 20000 page = 1 @@ -114,7 +114,7 @@ page = 1 isDoubleSolenoidIdle = bits, U32, 76, [13:13], "false", "true" showSdCardWarning = bits, U32, 76, [14:14], "false", "true" cj125isUrDivided = bits, U32, 76, [15:15], "false", "true" - useTLE8888_hall_mode = bits, U32, 76, [16:16], "false", "true" + issue_294_unused = bits, U32, 76, [16:16], "false", "true" useTLE8888_cranking_hack= bits, U32, 76, [17:17], "false", "true" useInstantRpmForIdle = bits, U32, 76, [18:18], "false", "true" absoluteFuelPressure = bits, U32, 76, [19:19], "false", "true" @@ -845,7 +845,8 @@ page = 1 ;no TS info - skipping unusedOldBiquad offset 2332 cltTimingBins = array, F32, 2352, [8], "C", 1, 0, -100.0, 250.0, 1 cltTimingExtra = array, F32, 2384, [8], "degree", 1, 0, -400.0, 400.0, 0 -;no TS info - skipping unusedSomethingWasHere offset 2416 + tle8888mode = bits, U08, 2416, [0:7], "Default", "mode1", "Hall", "Manual" +;no TS info - skipping unusedSomethingWasHere offset 2417 ;no TS info - skipping autoTuneCltThreshold offset 2420 ;no TS info - skipping autoTuneTpsRocThreshold offset 2424 ;no TS info - skipping autoTuneTpsQuietPeriod offset 2428 @@ -3623,7 +3624,7 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00" dialog = tle8888, "TLE8888", yAxis field = "TLE8888 Chip Select", tle8888_cs field = "TLE8888 SPI", tle8888spiDevice - field = "useTLE8888_hall_mode", useTLE8888_hall_mode + field = "Mode", tle8888mode field = "useTLE8888 cranking reset hack", useTLE8888_cranking_hack commandButton = "Reinit", cmd_tle8888_init diff --git a/firmware/tunerstudio/rusefi_kinetis.ini b/firmware/tunerstudio/rusefi_kinetis.ini index ff7d3f2d37..dfa7e53d88 100644 --- a/firmware/tunerstudio/rusefi_kinetis.ini +++ b/firmware/tunerstudio/rusefi_kinetis.ini @@ -89,7 +89,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 kineris_gen_config.bat integration/rusefi_config.txt Wed Apr 22 18:25:40 EDT 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on kineris_gen_config.bat integration/rusefi_config.txt Thu Apr 23 15:57:04 EDT 2020 pageSize = 20000 page = 1 @@ -114,7 +114,7 @@ page = 1 isDoubleSolenoidIdle = bits, U32, 76, [13:13], "false", "true" showSdCardWarning = bits, U32, 76, [14:14], "false", "true" cj125isUrDivided = bits, U32, 76, [15:15], "false", "true" - useTLE8888_hall_mode = bits, U32, 76, [16:16], "false", "true" + issue_294_unused = bits, U32, 76, [16:16], "false", "true" useTLE8888_cranking_hack= bits, U32, 76, [17:17], "false", "true" useInstantRpmForIdle = bits, U32, 76, [18:18], "false", "true" absoluteFuelPressure = bits, U32, 76, [19:19], "false", "true" @@ -845,7 +845,8 @@ page = 1 ;no TS info - skipping unusedOldBiquad offset 2332 cltTimingBins = array, F32, 2352, [8], "C", 1, 0, -100.0, 250.0, 1 cltTimingExtra = array, F32, 2384, [8], "degree", 1, 0, -400.0, 400.0, 0 -;no TS info - skipping unusedSomethingWasHere offset 2416 + tle8888mode = bits, U08, 2416, [0:7], "Default", "mode1", "Hall", "Manual" +;no TS info - skipping unusedSomethingWasHere offset 2417 ;no TS info - skipping autoTuneCltThreshold offset 2420 ;no TS info - skipping autoTuneTpsRocThreshold offset 2424 ;no TS info - skipping autoTuneTpsQuietPeriod offset 2428 @@ -1759,8 +1760,8 @@ fileVersion = { 20200310 } curve = etbTpsBiasCurve, "Electronic TB Bias Curve" columnLabel = "TPS", "duty bias" - xAxis = 0, 100, 10 - yAxis = 0, 100, 10 + xAxis = 0, 50, 11 + yAxis = -40, 40, 9 xBins = etbBiasBins, TPSValue yBins = etbBiasValues gauge = TPSGauge @@ -2534,6 +2535,8 @@ menuDialog = main subMenu = std_separator subMenu = connection, "Connection" + subMenu = tle8888, "TLE8888" + subMenu = allPins1, "Full pinout 1/2" subMenu = allPins2, "Full pinout 2/2" subMenu = std_separator @@ -2892,12 +2895,19 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00" field = "TPS low value detection threshold", tpsErrorDetectionTooLow, {tps1_1AdcChannel != 16} field = "TPS high value detection threshold", tpsErrorDetectionTooHigh, {tps1_1AdcChannel != 16} - dialog = pedalSensor, "Accelerator pedal" + dialog = pedalSensorLeft, "Accelerator pedal" field = "Accelerator position sensor", throttlePedalPositionAdcChannel + field = "Up voltage", throttlePedalUpVoltage + field = "Down (WOT) voltage", throttlePedalWOTVoltage field = "Accelerator position 2nd sensor", throttlePedalPositionSecondAdcChannel - field = "Up voltage", throttlePedalUpVoltage - field = "Down (WOT) voltage", throttlePedalWOTVoltage + dialog = pedalGauges + gauge = pedalPositionGauge + gauge = rawPpsPrimaryGauge + + dialog = pedalSensor, "Accelerator pedal", border + panel = pedalSensorLeft, West + panel = pedalGauges, East dialog = mc33Dialog, "GDI Dreams" field = mc33816_cs, mc33816_cs @@ -3615,7 +3625,7 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00" dialog = tle8888, "TLE8888", yAxis field = "TLE8888 Chip Select", tle8888_cs field = "TLE8888 SPI", tle8888spiDevice - field = "useTLE8888_hall_mode", useTLE8888_hall_mode + field = "Mode", tle8888mode field = "useTLE8888 cranking reset hack", useTLE8888_cranking_hack commandButton = "Reinit", cmd_tle8888_init @@ -3626,7 +3636,6 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00" panel = auxSerial panel = sdCard panel = gpsReceiver - panel = tle8888 dialog = joystickPanel, "Joystick" field = "joustick center button", joystickCenterPin @@ -3902,44 +3911,37 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00" field = "pFactor", etb_pFactor, {throttlePedalPositionAdcChannel != 16} field = "iFactor", etb_iFactor, {throttlePedalPositionAdcChannel != 16} field = "dFactor", etb_dFactor, {throttlePedalPositionAdcChannel != 16} - field = "offset", etb_offset, {throttlePedalPositionAdcChannel != 16} field = "control period", etb_periodMs, {throttlePedalPositionAdcChannel != 16} field = "pid min", etb_minValue, {throttlePedalPositionAdcChannel != 16} field = "pid max", etb_maxValue, {throttlePedalPositionAdcChannel != 16} field = "iTermMin", etb_iTermMin, {throttlePedalPositionAdcChannel != 16} field = "iTermMax", etb_iTermMax, {throttlePedalPositionAdcChannel != 16} + dialog = etbIdleDialog, "ETB Idle" + field = "use ETB for idle", useETBforIdleControl + field = "ETB idle maximum angle", etbIdleThrottleRange dialog = etbDialogLeft field = "https://rusefi.com/s/etb" field = "Detailed status in console", isVerboseETB field = "Pause ETB control", pauseEtbControl - field = "Throttle Pedal Up", throttlePedalUpVoltage - field = "Throttle Pedal Wide Open", throttlePedalWOTVoltage field = etbCalibrationOnStart, etbCalibrationOnStart - field = "TPS#2 min", tps2Min, { tps2_1AdcChannel != 16 } - field = "TPS#2 max", tps2Max, { tps2_1AdcChannel != 16 } ; we need the term about stepper idle in here, because there's a bug in TS that you can't have different visibility ; criteria for the same panel when used in multiple places panel = hbridgeHardware, { throttlePedalPositionAdcChannel != 16 || useStepperIdle && useHbridges } - panel = etbPidDialog + + dialog = etbAutotune, "PID Autotune" + field = "!Set debug mode below to 'ETB Autotune' to show results" + field = "Debug mode", debugMode + commandButton = "ETB PID Autotune", cmd_etb_autotune dialog = etbDialogRight - field = "!https://rusefi.com/s/debugmode" - field = "Neutral Position", etbNeutralPosition - field = "Debug mode", debugMode - field = "use ETB for idle", useETBforIdleControl - field = "ETB idle maximum angle", etbIdleThrottleRange - field = "Press buttons to calibrate sensors" - field = "You would have to remove air filter to move throttle manually" - commandButton = "TPS#1 closed position", cmd_calibrate_tps_1_closed - commandButton = "TPS#1 wide open position", cmd_calibrate_tps_1_wot - field = "Not many vehicles have two throttle bodies but some do" - commandButton = "TPS#2 closed position", cmd_calibrate_tps_2_closed - commandButton = "TPS#2 wide open position", cmd_calibrate_tps_2_wot - commandButton = "Pedal Up", cmd_calibrate_pedal_up - commandButton = "Pedal Down", cmd_calibrate_pedal_down - commandButton = "ETB PID Autotune", cmd_etb_autotune + panel = etbIdleDialog + panel = etbPidDialog + panel = etbAutotune + + ; Neutral position handling not yet implemented! + ;field = "Neutral Position", etbNeutralPosition dialog = etbDialog, "Electronic Throttle Body (beta)", border topicHelp = "etbHelp" diff --git a/firmware/tunerstudio/rusefi_microrusefi.ini b/firmware/tunerstudio/rusefi_microrusefi.ini index e1f6d47b51..06b2a5c518 100644 --- a/firmware/tunerstudio/rusefi_microrusefi.ini +++ b/firmware/tunerstudio/rusefi_microrusefi.ini @@ -89,7 +89,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.bat integration\rusefi_config.txt Thu Apr 23 15:29:53 EDT 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Thu Apr 23 15:56:52 EDT 2020 pageSize = 20000 page = 1 @@ -114,7 +114,7 @@ page = 1 isDoubleSolenoidIdle = bits, U32, 76, [13:13], "false", "true" showSdCardWarning = bits, U32, 76, [14:14], "false", "true" cj125isUrDivided = bits, U32, 76, [15:15], "false", "true" - useTLE8888_hall_mode = bits, U32, 76, [16:16], "false", "true" + issue_294_unused = bits, U32, 76, [16:16], "false", "true" useTLE8888_cranking_hack= bits, U32, 76, [17:17], "false", "true" useInstantRpmForIdle = bits, U32, 76, [18:18], "false", "true" absoluteFuelPressure = bits, U32, 76, [19:19], "false", "true" @@ -845,7 +845,8 @@ page = 1 ;no TS info - skipping unusedOldBiquad offset 2332 cltTimingBins = array, F32, 2352, [8], "C", 1, 0, -100.0, 250.0, 1 cltTimingExtra = array, F32, 2384, [8], "degree", 1, 0, -400.0, 400.0, 0 -;no TS info - skipping unusedSomethingWasHere offset 2416 + tle8888mode = bits, U08, 2416, [0:7], "Default", "mode1", "Hall", "Manual" +;no TS info - skipping unusedSomethingWasHere offset 2417 ;no TS info - skipping autoTuneCltThreshold offset 2420 ;no TS info - skipping autoTuneTpsRocThreshold offset 2424 ;no TS info - skipping autoTuneTpsQuietPeriod offset 2428 @@ -3586,7 +3587,7 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00" field = "D7 pin", HD44780_db7 dialog = tle8888, "TLE8888", yAxis - field = "useTLE8888_hall_mode", useTLE8888_hall_mode + field = "Mode", tle8888mode field = "useTLE8888 cranking reset hack", useTLE8888_cranking_hack commandButton = "Reinit", cmd_tle8888_init diff --git a/firmware/tunerstudio/rusefi_prometheus.ini b/firmware/tunerstudio/rusefi_prometheus.ini index e047436052..085aa05893 100644 --- a/firmware/tunerstudio/rusefi_prometheus.ini +++ b/firmware/tunerstudio/rusefi_prometheus.ini @@ -89,7 +89,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.bat integration\rusefi_config.txt Thu Apr 23 15:29:59 EDT 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Thu Apr 23 15:56:58 EDT 2020 pageSize = 20000 page = 1 @@ -114,7 +114,7 @@ page = 1 isDoubleSolenoidIdle = bits, U32, 76, [13:13], "false", "true" showSdCardWarning = bits, U32, 76, [14:14], "false", "true" cj125isUrDivided = bits, U32, 76, [15:15], "false", "true" - useTLE8888_hall_mode = bits, U32, 76, [16:16], "false", "true" + issue_294_unused = bits, U32, 76, [16:16], "false", "true" useTLE8888_cranking_hack= bits, U32, 76, [17:17], "false", "true" useInstantRpmForIdle = bits, U32, 76, [18:18], "false", "true" absoluteFuelPressure = bits, U32, 76, [19:19], "false", "true" @@ -845,7 +845,8 @@ page = 1 ;no TS info - skipping unusedOldBiquad offset 2332 cltTimingBins = array, F32, 2352, [8], "C", 1, 0, -100.0, 250.0, 1 cltTimingExtra = array, F32, 2384, [8], "degree", 1, 0, -400.0, 400.0, 0 -;no TS info - skipping unusedSomethingWasHere offset 2416 + tle8888mode = bits, U08, 2416, [0:7], "Default", "mode1", "Hall", "Manual" +;no TS info - skipping unusedSomethingWasHere offset 2417 ;no TS info - skipping autoTuneCltThreshold offset 2420 ;no TS info - skipping autoTuneTpsRocThreshold offset 2424 ;no TS info - skipping autoTuneTpsQuietPeriod offset 2428 @@ -3619,7 +3620,7 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00" dialog = tle8888, "TLE8888", yAxis field = "TLE8888 Chip Select", tle8888_cs field = "TLE8888 SPI", tle8888spiDevice - field = "useTLE8888_hall_mode", useTLE8888_hall_mode + field = "Mode", tle8888mode field = "useTLE8888 cranking reset hack", useTLE8888_cranking_hack commandButton = "Reinit", cmd_tle8888_init diff --git a/firmware/tunerstudio/rusefi_proteus.ini b/firmware/tunerstudio/rusefi_proteus.ini index 9d1c344ab2..bac378208c 100644 --- a/firmware/tunerstudio/rusefi_proteus.ini +++ b/firmware/tunerstudio/rusefi_proteus.ini @@ -89,7 +89,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.bat integration\rusefi_config.txt Thu Apr 23 15:30:03 EDT 2020 +; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Thu Apr 23 15:57:01 EDT 2020 pageSize = 20000 page = 1 @@ -114,7 +114,7 @@ page = 1 isDoubleSolenoidIdle = bits, U32, 76, [13:13], "false", "true" showSdCardWarning = bits, U32, 76, [14:14], "false", "true" cj125isUrDivided = bits, U32, 76, [15:15], "false", "true" - useTLE8888_hall_mode = bits, U32, 76, [16:16], "false", "true" + issue_294_unused = bits, U32, 76, [16:16], "false", "true" useTLE8888_cranking_hack= bits, U32, 76, [17:17], "false", "true" useInstantRpmForIdle = bits, U32, 76, [18:18], "false", "true" absoluteFuelPressure = bits, U32, 76, [19:19], "false", "true" @@ -845,7 +845,8 @@ page = 1 ;no TS info - skipping unusedOldBiquad offset 2332 cltTimingBins = array, F32, 2352, [8], "C", 1, 0, -100.0, 250.0, 1 cltTimingExtra = array, F32, 2384, [8], "degree", 1, 0, -400.0, 400.0, 0 -;no TS info - skipping unusedSomethingWasHere offset 2416 + tle8888mode = bits, U08, 2416, [0:7], "Default", "mode1", "Hall", "Manual" +;no TS info - skipping unusedSomethingWasHere offset 2417 ;no TS info - skipping autoTuneCltThreshold offset 2420 ;no TS info - skipping autoTuneTpsRocThreshold offset 2424 ;no TS info - skipping autoTuneTpsQuietPeriod offset 2428 @@ -3594,7 +3595,7 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00" field = "D7 pin", HD44780_db7 dialog = tle8888, "TLE8888", yAxis - field = "useTLE8888_hall_mode", useTLE8888_hall_mode + field = "Mode", tle8888mode field = "useTLE8888 cranking reset hack", useTLE8888_cranking_hack commandButton = "Reinit", cmd_tle8888_init diff --git a/java_console/models/src/com/rusefi/config/generated/Fields.java b/java_console/models/src/com/rusefi/config/generated/Fields.java index 28e1df9790..ddc1c6d4dc 100644 --- a/java_console/models/src/com/rusefi/config/generated/Fields.java +++ b/java_console/models/src/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.bat integration\rusefi_config.txt Wed Apr 22 18:25:23 EDT 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Thu Apr 23 15:56:48 EDT 2020 // by class com.rusefi.output.FileJavaFieldsConsumer import com.rusefi.config.*; @@ -930,6 +930,7 @@ public class Fields { public static final int issue_294_29_offset = 76; public static final int issue_294_30_offset = 76; public static final int issue_294_31_offset = 76; + public static final int issue_294_unused_offset = 76; public static final int isTunerStudioEnabled_offset = 1476; public static final int isVerboseAlternator_offset = 744; public static final int isVerboseAuxPid1_offset = 76; @@ -1300,6 +1301,8 @@ public class Fields { public static final int tle6240spiDevice_offset = 4004; public static final int tle8888_cs_offset = 3105; public static final int tle8888_csPinMode_offset = 3106; + public static final int tle8888mode_offset = 2416; + public static final int tle8888mode_offset_hex = 970; public static final int tle8888spiDevice_offset = 4000; public static final int todoClutchDownPinInverted_offset = 976; public static final int todoClutchUpPinInverted_offset = 976; @@ -1479,8 +1482,8 @@ public class Fields { public static final int unusedFlexFuelSensor_offset = 3100; public static final int unusedHere_offset = 761; public static final int unusedOldBiquad_offset = 2332; - public static final int unusedSomethingWasHere_offset = 2416; - public static final int unusedSomethingWasHere_offset_hex = 970; + public static final int unusedSomethingWasHere_offset = 2417; + public static final int unusedSomethingWasHere_offset_hex = 971; public static final int unusedSpiPadding4_offset = 2593; public static final int unusedSpiPadding5_offset = 2713; public static final int unusedSpiPadding7_offset = 4005; @@ -1520,7 +1523,6 @@ public class Fields { public static final int useSerialPort_offset = 744; public static final int useStepperIdle_offset = 744; public static final int useTLE8888_cranking_hack_offset = 76; - public static final int useTLE8888_hall_mode_offset = 76; public static final int useTpicAdvancedMode_offset = 744; public static final int useTPSAdvanceTable_offset = 1476; public static final int useTPSBasedVeTable_offset = 744; @@ -1573,7 +1575,7 @@ public class Fields { public static final Field ISDOUBLESOLENOIDIDLE = Field.create("ISDOUBLESOLENOIDIDLE", 76, FieldType.BIT, 13); public static final Field SHOWSDCARDWARNING = Field.create("SHOWSDCARDWARNING", 76, FieldType.BIT, 14); public static final Field CJ125ISURDIVIDED = Field.create("CJ125ISURDIVIDED", 76, FieldType.BIT, 15); - public static final Field USETLE8888_HALL_MODE = Field.create("USETLE8888_HALL_MODE", 76, FieldType.BIT, 16); + public static final Field ISSUE_294_UNUSED = Field.create("ISSUE_294_UNUSED", 76, FieldType.BIT, 16); public static final Field USETLE8888_CRANKING_HACK = Field.create("USETLE8888_CRANKING_HACK", 76, FieldType.BIT, 17); public static final Field USEINSTANTRPMFORIDLE = Field.create("USEINSTANTRPMFORIDLE", 76, FieldType.BIT, 18); public static final Field ABSOLUTEFUELPRESSURE = Field.create("ABSOLUTEFUELPRESSURE", 76, FieldType.BIT, 19); @@ -2290,7 +2292,7 @@ public class Fields { public static final Field STORAGEMODE = Field.create("STORAGEMODE", 2260, FieldType.INT, mass_storage_e); public static final String[] vvt_mode_e = {"First half", "Second half", "2GZ", "Miata NB2", "mode4", "mode5", "mode6", "mode7"}; public static final Field VVTMODE = Field.create("VVTMODE", 2328, FieldType.INT, vvt_mode_e); - public static final Field UNUSEDSOMETHINGWASHERE = Field.create("UNUSEDSOMETHINGWASHERE", 2416, FieldType.INT); + public static final Field TLE8888MODE = Field.create("TLE8888MODE", 2416, FieldType.INT8); public static final Field AUTOTUNECLTTHRESHOLD = Field.create("AUTOTUNECLTTHRESHOLD", 2420, FieldType.FLOAT); public static final Field AUTOTUNETPSROCTHRESHOLD = Field.create("AUTOTUNETPSROCTHRESHOLD", 2424, FieldType.FLOAT); public static final Field AUTOTUNETPSQUIETPERIOD = Field.create("AUTOTUNETPSQUIETPERIOD", 2428, FieldType.FLOAT); @@ -2510,7 +2512,7 @@ public class Fields { ISDOUBLESOLENOIDIDLE, SHOWSDCARDWARNING, CJ125ISURDIVIDED, - USETLE8888_HALL_MODE, + ISSUE_294_UNUSED, USETLE8888_CRANKING_HACK, USEINSTANTRPMFORIDLE, ABSOLUTEFUELPRESSURE, @@ -3211,7 +3213,7 @@ public class Fields { ALTERNATORPWMFREQUENCY, STORAGEMODE, VVTMODE, - UNUSEDSOMETHINGWASHERE, + TLE8888MODE, AUTOTUNECLTTHRESHOLD, AUTOTUNETPSROCTHRESHOLD, AUTOTUNETPSQUIETPERIOD,