From 73ba5aca895e9facc9ee49a2785c0f5cd402ca77 Mon Sep 17 00:00:00 2001 From: rusEfi Date: Mon, 26 Nov 2018 22:17:16 -0500 Subject: [PATCH] ETB CLI progress --- firmware/controllers/electronic_throttle.cpp | 18 ++++++++++-------- firmware/controllers/electronic_throttle.h | 1 + firmware/controllers/settings.cpp | 12 ++++++++++-- 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/firmware/controllers/electronic_throttle.cpp b/firmware/controllers/electronic_throttle.cpp index f3ed3a1445..7f80ffbdff 100644 --- a/firmware/controllers/electronic_throttle.cpp +++ b/firmware/controllers/electronic_throttle.cpp @@ -213,25 +213,27 @@ static void showEthInfo(void) { pid.showPidStatus(&logger, "ETB"); } -static void applyPidSettings(void) { - pid.updateFactors(engineConfiguration->etb.pFactor, engineConfiguration->etb.iFactor, 0); -} - void setEtbPFactor(float value) { engineConfiguration->etb.pFactor = value; - applyPidSettings(); + pid.reset(); showEthInfo(); } void setEtbIFactor(float value) { engineConfiguration->etb.iFactor = value; - applyPidSettings(); + pid.reset(); showEthInfo(); } void setEtbDFactor(float value) { engineConfiguration->etb.dFactor = value; - applyPidSettings(); + pid.reset(); + showEthInfo(); +} + +void setEtbOffset(int value) { + engineConfiguration->etb.offset = value; + pid.reset(); showEthInfo(); } @@ -341,7 +343,7 @@ void initElectronicThrottle(void) { addConsoleActionI("set_etbat_period", setAutoPeriod); addConsoleActionI("set_etbat_offset", setAutoOffset); - applyPidSettings(); + pid.reset(); chThdCreateStatic(etbTreadStack, sizeof(etbTreadStack), NORMALPRIO, (tfunc_t) etbThread, NULL); } diff --git a/firmware/controllers/electronic_throttle.h b/firmware/controllers/electronic_throttle.h index bd8df2aef9..7eec30bc1e 100644 --- a/firmware/controllers/electronic_throttle.h +++ b/firmware/controllers/electronic_throttle.h @@ -14,6 +14,7 @@ void setDefaultEtbParameters(void); void setEtbPFactor(float value); void setEtbIFactor(float value); void setEtbDFactor(float value); +void setEtbOffset(int value); bool isETBRestartNeeded(void); void stopETBPins(void); void startETBPins(void); diff --git a/firmware/controllers/settings.cpp b/firmware/controllers/settings.cpp index 153eb79fd1..51286e4b74 100644 --- a/firmware/controllers/settings.cpp +++ b/firmware/controllers/settings.cpp @@ -1165,11 +1165,14 @@ command_f_s commandsF[] = {{"mock_iat_voltage", setMockIatVoltage}, {"idle_p", setIdlePFactor}, {"idle_i", setIdleIFactor}, {"idle_d", setIdleDFactor}, +#endif /* EFI_IDLE_CONTROL */ +#endif /* EFI_PROD_CODE */ + +#if EFI_ELECTRONIC_THROTTLE_BODY {"etb_p", setEtbPFactor}, {"etb_i", setEtbIFactor}, {"etb_d", setEtbDFactor}, -#endif /* EFI_IDLE_CONTROL */ -#endif /* EFI_PROD_CODE */ +#endif /* EFI_ELECTRONIC_THROTTLE_BODY */ // {"", }, // {"", }, @@ -1223,6 +1226,11 @@ command_i_s commandsI[] = {{"ignition_mode", setIgnitionMode}, {"idle_dt", setIdleDT}, #endif /* EFI_IDLE_CONTROL */ #endif /* EFI_PROD_CODE */ + +#if EFI_ELECTRONIC_THROTTLE_BODY + {"etb_o", setEtbOffset}, +#endif /* EFI_ELECTRONIC_THROTTLE_BODY */ + // {"", }, // {"", }, // {"", },