From 6b8aa569e0f5eb2f3eb10edfff7f5ac2cd8c5afb Mon Sep 17 00:00:00 2001 From: rusEfi Date: Sat, 29 Nov 2014 10:03:49 -0600 Subject: [PATCH] auto-sync --- firmware/controllers/algo/auto_generated_enums.cpp | 4 ++-- firmware/controllers/algo/io_pins.h | 2 +- firmware/controllers/core/le_functions.h | 2 ++ firmware/controllers/engine_controller.cpp | 7 +++++++ firmware/controllers/settings.cpp | 2 +- firmware/hw_layer/io_pins.c | 2 +- firmware/rusefi.cpp | 2 +- 7 files changed, 15 insertions(+), 6 deletions(-) diff --git a/firmware/controllers/algo/auto_generated_enums.cpp b/firmware/controllers/algo/auto_generated_enums.cpp index b9ec12551c..7e705d8770 100644 --- a/firmware/controllers/algo/auto_generated_enums.cpp +++ b/firmware/controllers/algo/auto_generated_enums.cpp @@ -37,8 +37,8 @@ case GPIO_7: return "GPIO_7"; case FAN_RELAY: return "FAN_RELAY"; -case AC_RElAY: - return "AC_RElAY"; +case AC_RELAY: + return "AC_RELAY"; case INJECTOR_8_OUTPUT: return "INJECTOR_8_OUTPUT"; case GPIO_6: diff --git a/firmware/controllers/algo/io_pins.h b/firmware/controllers/algo/io_pins.h index ed955e5420..85dfc2e403 100644 --- a/firmware/controllers/algo/io_pins.h +++ b/firmware/controllers/algo/io_pins.h @@ -124,7 +124,7 @@ typedef enum { FUEL_PUMP_RELAY, FAN_RELAY, O2_HEATER, - AC_RElAY, + AC_RELAY, SPI_CS_1, SPI_CS_2, diff --git a/firmware/controllers/core/le_functions.h b/firmware/controllers/core/le_functions.h index d534af2f9b..6b6d5101a6 100644 --- a/firmware/controllers/core/le_functions.h +++ b/firmware/controllers/core/le_functions.h @@ -18,6 +18,8 @@ // todo: the delay should probably be configurable? #define FUEL_PUMP_LOGIC "time_since_boot 4 < rpm 0 > OR" +#define AC_RELAY_LOGIC "ac_on_switch" + /** * In human language that's * (fan and (coolant > fan_off_setting)) OR (coolant > fan_on_setting) diff --git a/firmware/controllers/engine_controller.cpp b/firmware/controllers/engine_controller.cpp index 1fdcc37694..068b4cc371 100644 --- a/firmware/controllers/engine_controller.cpp +++ b/firmware/controllers/engine_controller.cpp @@ -61,6 +61,7 @@ static LECalculator calc; static LEElement mainPool[LE_ELEMENT_POOL_SIZE]; static LEElementPool lePool(mainPool, LE_ELEMENT_POOL_SIZE); +static LEElement * acRelayLogic; static LEElement * fuelPumpLogic; static LEElement * radiatorFanLogic; @@ -242,6 +243,10 @@ static void onEvenyGeneralMilliseconds(Engine *engine) { } #endif + if (boardConfiguration->acRelayPin != GPIO_UNASSIGNED) { + setPinState(AC_RELAY, acRelayLogic, engine); + } + updateErrorCodes(); // todo: migrate this to flex logic @@ -408,6 +413,8 @@ void initEngineContoller(Engine *engine) { fuelPumpLogic = lePool.parseExpression(FUEL_PUMP_LOGIC); #endif + acRelayLogic = lePool.parseExpression(AC_RELAY_LOGIC); + addConsoleAction("analoginfo", printAnalogInfo); for (int i = 0; i < LE_COMMAND_COUNT; i++) { diff --git a/firmware/controllers/settings.cpp b/firmware/controllers/settings.cpp index d185d90420..d552bfe257 100644 --- a/firmware/controllers/settings.cpp +++ b/firmware/controllers/settings.cpp @@ -332,7 +332,7 @@ static void printTemperatureInfo(void) { scheduleMsg(&logger, "fan=%s @ %s", boolToString(getOutputPinValue(FAN_RELAY)), hwPortname(boardConfiguration->fanPin)); - scheduleMsg(&logger, "A/C relay=%s @ %s", boolToString(getOutputPinValue(AC_RElAY)), + scheduleMsg(&logger, "A/C relay=%s @ %s", boolToString(getOutputPinValue(AC_RELAY)), hwPortname(boardConfiguration->acRelayPin)); diff --git a/firmware/hw_layer/io_pins.c b/firmware/hw_layer/io_pins.c index 64039c5651..6b19ff8190 100644 --- a/firmware/hw_layer/io_pins.c +++ b/firmware/hw_layer/io_pins.c @@ -156,7 +156,7 @@ void initOutputPins(void) { outputPinRegisterExt2("fan relay", FAN_RELAY, boardConfiguration->fanPin, &DEFAULT_OUTPUT); outputPinRegisterExt2("o2 heater", O2_HEATER, boardConfiguration->o2heaterPin, &DEFAULT_OUTPUT); outputPinRegisterExt2("trg_err", LED_TRIGGER_ERROR, boardConfiguration->triggerErrorPin, &boardConfiguration->triggerErrorPinMode); - outputPinRegisterExt2("A/C relay", AC_RElAY, boardConfiguration->acRelayPin, &boardConfiguration->acRelayPinMode); + outputPinRegisterExt2("A/C relay", AC_RELAY, boardConfiguration->acRelayPin, &boardConfiguration->acRelayPinMode); initialLedsBlink(); diff --git a/firmware/rusefi.cpp b/firmware/rusefi.cpp index 289e70ddb8..4bbb3602a0 100644 --- a/firmware/rusefi.cpp +++ b/firmware/rusefi.cpp @@ -265,5 +265,5 @@ int getRusEfiVersion(void) { return 1; // this is here to make the compiler happy about the unused array if (UNUSED_CCM_SIZE == 0) return 1; // this is here to make the compiler happy about the unused array - return 20141126; + return 20141129; }