From fb3d06aebfa19ceedc3619f50158fed13e7feadd Mon Sep 17 00:00:00 2001 From: rusEfi Date: Wed, 27 Feb 2019 09:57:03 -0500 Subject: [PATCH] ETB --- firmware/config/engines/custom_engine.cpp | 14 ++++++++++++++ firmware/controllers/electronic_throttle.cpp | 5 +++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/firmware/config/engines/custom_engine.cpp b/firmware/config/engines/custom_engine.cpp index ea2401e18e..1ab9acdef1 100644 --- a/firmware/config/engines/custom_engine.cpp +++ b/firmware/config/engines/custom_engine.cpp @@ -20,6 +20,7 @@ #if EFI_PROD_CODE || defined(__DOXYGEN__) #include "can_hw.h" #include "scheduler.h" +#include "electronic_throttle.h" #endif /* EFI_PROD_CODE */ EXTERN_ENGINE; @@ -261,9 +262,22 @@ void setFrankensoBoardTestConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { void setEtbTestConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { setCustomEngineConfiguration(PASS_ENGINE_PARAMETER_SIGNATURE); + boardConfiguration->ignitionPins[0] = GPIO_UNASSIGNED; boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED; boardConfiguration->ignitionPins[2] = GPIO_UNASSIGNED; boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED; + /** + * remember that some H-bridges require 5v control lines, not just 3v logic outputs we have on stm32 + */ + + CONFIGB(etbControlPin1) = GPIOE_14; +#if EFI_PROD_CODE || defined(__DOXYGEN__) + setDefaultEtbParameters(PASS_ENGINE_PARAMETER_SIGNATURE); +#endif + + engineConfiguration->tpsAdcChannel = EFI_ADC_2; // PA2 + engineConfiguration->throttlePedalPositionAdcChannel = EFI_ADC_9; // PB1 + } #endif /* CONFIG_ENGINES_CUSTOM_ENGINE_CPP_ */ diff --git a/firmware/controllers/electronic_throttle.cpp b/firmware/controllers/electronic_throttle.cpp index 6ac33b66ca..59e22b7765 100644 --- a/firmware/controllers/electronic_throttle.cpp +++ b/firmware/controllers/electronic_throttle.cpp @@ -249,12 +249,13 @@ void setEtbOffset(int value) { showEthInfo(); } -void setDefaultEtbParameters(void) { +void setDefaultEtbParameters(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->throttlePedalUpVoltage = 0; // that's voltage, not ADC like with TPS engineConfiguration->throttlePedalWOTVoltage = 6; // that's voltage, not ADC like with TPS engineConfiguration->etb.pFactor = 1; - engineConfiguration->etb.iFactor = 0.5; + engineConfiguration->etb.iFactor = 0.05; + engineConfiguration->etb.dFactor = 0.0; engineConfiguration->etb.periodMs = 100; engineConfiguration->etbFreq = 300;