From b2484dd38ecabab77fe54d2f73fcec56e0da8c1b Mon Sep 17 00:00:00 2001 From: rusEfi Date: Wed, 4 Mar 2015 21:08:26 -0600 Subject: [PATCH] auto-sync --- firmware/config/engines/dodge_neon.cpp | 2 ++ firmware/config/stm32f4ems/efifeatures.h | 2 ++ firmware/controllers/algo/engine_configuration.cpp | 2 ++ .../algo/engine_configuration_generated_structures.h | 9 ++++++--- firmware/controllers/alternatorController.cpp | 8 +++++--- firmware/controllers/engine_controller.cpp | 5 +++++ firmware/controllers/settings.cpp | 2 ++ firmware/rusefi_config.ini | 1 + firmware/tunerstudio/rusefi.ini | 3 ++- 9 files changed, 27 insertions(+), 7 deletions(-) diff --git a/firmware/config/engines/dodge_neon.cpp b/firmware/config/engines/dodge_neon.cpp index d9e3a9af7c..34570432e8 100644 --- a/firmware/config/engines/dodge_neon.cpp +++ b/firmware/config/engines/dodge_neon.cpp @@ -389,6 +389,8 @@ void setDodgeNeonNGCEngineConfiguration(DECLARE_ENGINE_PARAMETER_F) { boardConfiguration->tunerStudioSerialSpeed = 9600; engineConfiguration->algorithm = LM_SPEED_DENSITY; + boardConfiguration->alternatorControlPin = GPIOD_5; + // engineConfiguration->isCanEnabled = true; boardConfiguration->canTxPin = GPIOB_6; boardConfiguration->canRxPin = GPIOB_12; diff --git a/firmware/config/stm32f4ems/efifeatures.h b/firmware/config/stm32f4ems/efifeatures.h index d7a3b5ba80..c1c65d28fe 100644 --- a/firmware/config/stm32f4ems/efifeatures.h +++ b/firmware/config/stm32f4ems/efifeatures.h @@ -54,6 +54,8 @@ */ #define EFI_CLI_SUPPORT TRUE +#define EFI_ALTERNATOR_CONTROL TRUE + #define EFI_SIGNAL_EXECUTOR_SLEEP FALSE #define EFI_SIGNAL_EXECUTOR_ONE_TIMER TRUE #define EFI_SIGNAL_EXECUTOR_HW_TIMER FALSE diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index c590ba75ae..bcecf342e4 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -533,6 +533,8 @@ void setDefaultConfiguration(DECLARE_ENGINE_PARAMETER_F) { boardConfiguration->isFastAdcEnabled = true; boardConfiguration->isEngineControlEnabled = true; + boardConfiguration->isVerboseAlternator = true; + boardConfiguration->tunerStudioSerialSpeed = TS_DEFAULT_SPEED; } diff --git a/firmware/controllers/algo/engine_configuration_generated_structures.h b/firmware/controllers/algo/engine_configuration_generated_structures.h index 368375906a..79ba51f7cf 100644 --- a/firmware/controllers/algo/engine_configuration_generated_structures.h +++ b/firmware/controllers/algo/engine_configuration_generated_structures.h @@ -1,4 +1,4 @@ -// this section was generated by config_definition.jar on Fri Feb 27 21:32:08 EST 2015 +// this section was generated by config_definition.jar on Wed Mar 04 21:22:11 EST 2015 // begin #include "rusefi_types.h" typedef struct { @@ -437,6 +437,9 @@ typedef struct { /** offset 372 bit 6 */ bool_t isHip9011Enabled : 1; + /** + offset 372 bit 7 */ + bool_t isVerboseAlternator : 1; /** * offset 376 */ @@ -635,7 +638,7 @@ typedef struct { int16_t directSelfStimulation; /** * todo: extract these two fields into a structure - * todo: we need two sets of TPS parameters - modern ETBs have to sensors + * todo: we need two sets of TPS parameters - modern ETBs have two sensors * offset 338 */ int16_t tpsMin; @@ -1172,4 +1175,4 @@ typedef struct { } engine_configuration_s; // end -// this section was generated by config_definition.jar on Fri Feb 27 21:32:08 EST 2015 +// this section was generated by config_definition.jar on Wed Mar 04 21:22:11 EST 2015 diff --git a/firmware/controllers/alternatorController.cpp b/firmware/controllers/alternatorController.cpp index 38ee6f114c..240e2e40bb 100644 --- a/firmware/controllers/alternatorController.cpp +++ b/firmware/controllers/alternatorController.cpp @@ -35,7 +35,9 @@ static msg_t AltCtrlThread(int param) { chThdSleepMilliseconds(100); float result = altPid.getValue(14, getVBatt(engineConfiguration), 1); - scheduleMsg(logger, "alt duty: %f", result); + if (boardConfiguration->isVerboseAlternator) { + scheduleMsg(logger, "alt duty: %f", result); + } alternatorControl.setSimplePwmDutyCycle(result / 100); } @@ -57,8 +59,8 @@ void initAlternatorCtrl(Logging *sharedLogger) { startSimplePwmExt(&alternatorControl, "Alternator control", boardConfiguration->alternatorControlPin, &alternatorPin, ALTERNATOR_VALVE_PWM_FREQUENCY, 0.1, applyPinState); - chThdCreateStatic(alternatorControlThreadStack, sizeof(alternatorControlThreadStack), LOWPRIO, (tfunc_t) AltCtrlThread, NULL); - + chThdCreateStatic(alternatorControlThreadStack, sizeof(alternatorControlThreadStack), LOWPRIO, + (tfunc_t) AltCtrlThread, NULL); addConsoleActionF("alt_pid", setAltPid); } diff --git a/firmware/controllers/engine_controller.cpp b/firmware/controllers/engine_controller.cpp index fb44b4eecd..b009813a0f 100644 --- a/firmware/controllers/engine_controller.cpp +++ b/firmware/controllers/engine_controller.cpp @@ -47,6 +47,7 @@ #include "engine.h" #include "algo.h" #include "LocalVersionHolder.h" +#include "alternatorController.h" #if HAL_USE_ADC || defined(__DOXYGEN__) #include "AdcConfiguration.h" @@ -462,6 +463,10 @@ void initEngineContoller(Logging *sharedLogger, Engine *engine) { initMalfunctionCentral(); +#if EFI_ALTERNATOR_CONTROL || defined(__DOXYGEN__) + initAlternatorCtrl(sharedLogger); +#endif + #if EFI_ELECTRONIC_THROTTLE_BODY || defined(__DOXYGEN__) initElectronicThrottle(); #endif /* EFI_ELECTRONIC_THROTTLE_BODY */ diff --git a/firmware/controllers/settings.cpp b/firmware/controllers/settings.cpp index 14f95560ff..422abc0cd0 100644 --- a/firmware/controllers/settings.cpp +++ b/firmware/controllers/settings.cpp @@ -772,6 +772,8 @@ static void enableOrDisable(const char *param, bool isEnabled) { boardConfiguration->isFastAdcEnabled = isEnabled; } else if (strEqualCaseInsensitive(param, "joystick")) { engineConfiguration->isJoystickEnabled = isEnabled; + } else if (strEqualCaseInsensitive(param, "altdebug")) { + boardConfiguration->isVerboseAlternator = isEnabled; } else if (strEqualCaseInsensitive(param, "sd")) { boardConfiguration->isSdCardEnabled = isEnabled; } else if (strEqualCaseInsensitive(param, "can")) { diff --git a/firmware/rusefi_config.ini b/firmware/rusefi_config.ini index 67f7f09803..182bdb19ef 100644 --- a/firmware/rusefi_config.ini +++ b/firmware/rusefi_config.ini @@ -332,6 +332,7 @@ bit is_enabled_spi_2 bit isFastAdcEnabled bit isEngineControlEnabled bit isHip9011Enabled + bit isVerboseAlternator brain_input_pin_e[LOGIC_ANALYZER_CHANNEL_COUNT iterate] logicAnalyzerPins; uint8_t[LOGIC_ANALYZER_CHANNEL_COUNT] logicAnalyzerMode;default or inverted input diff --git a/firmware/tunerstudio/rusefi.ini b/firmware/tunerstudio/rusefi.ini index cbca617606..155a9d2913 100644 --- a/firmware/tunerstudio/rusefi.ini +++ b/firmware/tunerstudio/rusefi.ini @@ -37,7 +37,7 @@ enable2ndByteCanID = false ; see PAGE_0_SIZE in C source code ; CONFIG_DEFINITION_START -; this section was generated by ConfigDefinition.jar on Fri Feb 27 21:32:10 EST 2015 +; this section was generated by ConfigDefinition.jar on Wed Mar 04 21:22:13 EST 2015 pageSize = 14008 page = 1 @@ -248,6 +248,7 @@ page = 1 isFastAdcEnabled = bits, U32, 1244, [4:4], "false", "true" isEngineControlEnabled = bits, U32, 1244, [5:5], "false", "true" isHip9011Enabled = bits, U32, 1244, [6:6], "false", "true" + isVerboseAlternator = bits, U32, 1244, [7:7], "false", "true" logicAnalyzerPins1 = bits, U32, 1248, [0:6], "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "GPIOA_5", "INVALID", "INVALID", "GPIOA_8", "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", "GPIOC_6", "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", "GPIOE_5", "INVALID", "GPIOE_7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "NONE", "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" logicAnalyzerPins2 = bits, U32, 1252, [0:6], "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "GPIOA_5", "INVALID", "INVALID", "GPIOA_8", "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", "GPIOC_6", "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", "GPIOE_5", "INVALID", "GPIOE_7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "NONE", "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" logicAnalyzerPins3 = bits, U32, 1256, [0:6], "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "GPIOA_5", "INVALID", "INVALID", "GPIOA_8", "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", "GPIOC_6", "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", "GPIOE_5", "INVALID", "GPIOE_7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "NONE", "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"