diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index f08f8f99c2..e2e173f18d 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -342,7 +342,8 @@ void prepareVoidConfiguration(engine_configuration_s *engineConfiguration) { setDefaultAlternatorParameters(); #endif #if EFI_ELECTRONIC_THROTTLE_BODY || defined(__DOXYGEN__) - setDefaultEtbParameters(); + setDefaultEtbParameters(PASS_ENGINE_PARAMETER_SIGNATURE); + setDefaultEtbBiasCurve(PASS_ENGINE_PARAMETER_SIGNATURE); #endif #if EFI_IDLE_CONTROL || defined(__DOXYGEN__) setDefaultIdleParameters(); diff --git a/firmware/controllers/electronic_throttle.cpp b/firmware/controllers/electronic_throttle.cpp index e8e85e8da9..14d097c1ac 100644 --- a/firmware/controllers/electronic_throttle.cpp +++ b/firmware/controllers/electronic_throttle.cpp @@ -321,6 +321,26 @@ static void setAutoOffset(int offset) { autoTune.reset(); } +void setDefaultEtbBiasCurve(DECLARE_ENGINE_PARAMETER_SIGNATURE) { + engineConfiguration->etbBiasBins[0] = 0; + engineConfiguration->etbBiasBins[1] = 5; + engineConfiguration->etbBiasBins[2] = 7; + engineConfiguration->etbBiasBins[3] = 8; + engineConfiguration->etbBiasBins[4] = 11; + engineConfiguration->etbBiasBins[5] = 98; + engineConfiguration->etbBiasBins[6] = 99; + engineConfiguration->etbBiasBins[7] = 100; + + engineConfiguration->etbBiasValues[0] = -100 / 255.0f * 100; + engineConfiguration->etbBiasValues[1] = -95 / 255.0f * 100; + engineConfiguration->etbBiasValues[2] = -80 / 255.0f * 100; + engineConfiguration->etbBiasValues[3] = 0 / 255.0f * 100; + engineConfiguration->etbBiasValues[4] = 115 / 255.0f * 100; + engineConfiguration->etbBiasValues[5] = 142 / 255.0f * 100; + engineConfiguration->etbBiasValues[6] = 142 / 255.0f * 100; + engineConfiguration->etbBiasValues[7] = 142 / 255.0f * 100; +} + void initElectronicThrottle(void) { addConsoleAction("ethinfo", showEthInfo); if (!hasPedalPositionSensor()) { diff --git a/firmware/controllers/electronic_throttle.h b/firmware/controllers/electronic_throttle.h index 7eec30bc1e..b1b18bc201 100644 --- a/firmware/controllers/electronic_throttle.h +++ b/firmware/controllers/electronic_throttle.h @@ -10,7 +10,8 @@ #include "engine.h" void initElectronicThrottle(void); -void setDefaultEtbParameters(void); +void setDefaultEtbBiasCurve(DECLARE_ENGINE_PARAMETER_SIGNATURE); +void setDefaultEtbParameters(DECLARE_ENGINE_PARAMETER_SIGNATURE); void setEtbPFactor(float value); void setEtbIFactor(float value); void setEtbDFactor(float value); diff --git a/firmware/controllers/engine_controller.cpp b/firmware/controllers/engine_controller.cpp index 34b987c8da..a14bb871ad 100644 --- a/firmware/controllers/engine_controller.cpp +++ b/firmware/controllers/engine_controller.cpp @@ -736,5 +736,5 @@ int getRusEfiVersion(void) { if (initBootloader() != 0) return 123; #endif /* EFI_BOOTLOADER_INCLUDE_CODE */ - return 20181208; + return 20181209; } diff --git a/firmware/flash_erase.bat b/firmware/flash_erase.bat index 15ccfb40a0..3bc90f224c 100644 --- a/firmware/flash_erase.bat +++ b/firmware/flash_erase.bat @@ -1,7 +1,7 @@ rem st-link_cli -c SWD ur -ME rem 0x100000 would erase both code and configuration rem use 0x080000 if you want to erase only configuratio -echo I am flash_erase_new_board.bat +echo I am flash_erase.bat rem weird, it used to be much nicer with openocd 0.8.0, file location was not broken? rem maybe https://sourceforge.net/p/openocd/tickets/105/ ? @@ -16,7 +16,7 @@ if not exist openocd/openocd.exe exit -1 rem newer discovery boards echo Invoking openocd... -openocd\openocd.exe -f openocd/stm32f429disc1.cfg -c init -c targets -c "halt" -c "flash erase_address 0x08000000 0x0100000" -c shutdown +openocd\openocd.exe -f openocd/stm32f4discovery.cfg -c init -c targets -c "halt" -c "flash erase_address 0x08000000 0x0100000" -c shutdown echo Just invoked openocd! diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index 6a8375e129..f05abc5470 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -928,7 +928,7 @@ tChargeMode_e tChargeMode; uint8_t[ETB_BIAS_CURVE_LENGTH] etbBiasBins;target TPS value, 0 to 100%;"target TPS position", 1, 0.0, 0, 100.0, 0 - float[ETB_BIAS_CURVE_LENGTH] etbBiasValues;PWM bias, 0 to 100%;"ETB duty cycle bias", 1, 0.0, 0, 100.0, 2 + float[ETB_BIAS_CURVE_LENGTH] etbBiasValues;PWM bias, 0 to 100%;"ETB duty cycle bias", 1, 0.0, -100, 100.0, 2 int[581] unusedEnd; diff --git a/firmware/svnversion.h b/firmware/svnversion.h index d2ae12e500..6e89b1a49b 100644 --- a/firmware/svnversion.h +++ b/firmware/svnversion.h @@ -1,5 +1,5 @@ // This file was generated by Version2Header -// Wed Nov 21 21:00:21 EST 2018 +// Sun Dec 09 13:33:16 EST 2018 #ifndef VCS_VERSION -#define VCS_VERSION "15987" +#define VCS_VERSION "16057" #endif diff --git a/firmware/tunerstudio/rusefi.input b/firmware/tunerstudio/rusefi.input index b43c558dad..5107533231 100644 --- a/firmware/tunerstudio/rusefi.input +++ b/firmware/tunerstudio/rusefi.input @@ -430,6 +430,14 @@ fileVersion = { 20171101 } yBins = crankingFuelCoef gauge = CLTGauge + curve = etbTpsBiasCurve, "Electronic TB Bias Curve" + columnLabel = "TPS", "duty bias" + xAxis = 0, 100, 10 + yAxis = 0, 100, 10 + xBins = etbBiasBins, TPSValue + yBins = etbBiasValues + gauge = TPSGauge + curve = crankingTpsCurve, "Cranking TPS Multiplier" columnLabel = "TPS", "Multiplier" xAxis = 0, 100, 10 @@ -998,7 +1006,8 @@ menuDialog = main subMenu = std_separator subMenu = fanSetting, "Fan Settings" subMenu = malfunction, "MIL Settings" - subMenu = etbDialog, "Electronic Thtottle Body (alpha version)" + subMenu = etbDialog, "Electronic Thtottle Body (beta version)" + subMenu = etbTpsBiasCurve, "Electronic Thtottle Body Bias Curve" subMenu = std_separator subMenu = std_realtime, "&Realtime Display", 0 @@ -2153,7 +2162,7 @@ cmd_stop_engine = "w\x00\x99\x00\x00" topicHelp = "veTableDialogHelp" panel = veTableMap, South - dialog = etbDialog, "Electronic Thtottle Body (alpha)" + dialog = etbDialog, "Electronic Thtottle Body (beta)" field = "verbose", isVerboseETB field = "Throttle Pedal Up", throttlePedalUpVoltage field = "Throttle Pedal Wide Open", throttlePedalWOTVoltage diff --git a/java_tools/ConfigDefinition.jar b/java_tools/ConfigDefinition.jar index 78664eea51..0a015ee03d 100644 Binary files a/java_tools/ConfigDefinition.jar and b/java_tools/ConfigDefinition.jar differ diff --git a/java_tools/configuration_definition/src/com/rusefi/TypesHelper.java b/java_tools/configuration_definition/src/com/rusefi/TypesHelper.java index ae1b1b53c6..8de108a59d 100644 --- a/java_tools/configuration_definition/src/com/rusefi/TypesHelper.java +++ b/java_tools/configuration_definition/src/com/rusefi/TypesHelper.java @@ -36,7 +36,7 @@ public class TypesHelper { if (UINT_16_T.equals(type)) return "U16"; if (UINT8_T.equals(type)) - return "U8"; + return "U08"; System.out.println("No TS type convesion for " + type); return type; }