diff --git a/firmware/config/engines/dodge_neon.cpp b/firmware/config/engines/dodge_neon.cpp index d58b1615cb..79ebb70d17 100644 --- a/firmware/config/engines/dodge_neon.cpp +++ b/firmware/config/engines/dodge_neon.cpp @@ -364,6 +364,10 @@ void setDodgeNeonNGCEngineConfiguration(engine_configuration_s *engineConfigurat engineConfiguration->vehicleSpeedSensorInputPin = GPIOA_8; engineConfiguration->hasVehicleSpeedSensor = true; + engineConfiguration->fanOnTemperature = 85; + engineConfiguration->fanOffTemperature = 80; + + // engineConfiguration->isCanEnabled = true; boardConfiguration->canTxPin = GPIOB_6; boardConfiguration->canRxPin = GPIOB_12; diff --git a/firmware/console/tunerstudio/tunerstudio_configuration.h b/firmware/console/tunerstudio/tunerstudio_configuration.h index 7cc30f9ba0..606d71a979 100644 --- a/firmware/console/tunerstudio/tunerstudio_configuration.h +++ b/firmware/console/tunerstudio/tunerstudio_configuration.h @@ -46,7 +46,7 @@ typedef struct { /** * This is the raw value we take from the fuel map or base fuel algorithm, before the corrections */ - float baseFuel; + float baseFuel; // 48 float tCharge; // 52 float inj_adv; // 56 float sparkDwell; // 60 diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index 11bd272814..14867e4648 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -251,7 +251,7 @@ void setDefaultConfiguration(engine_configuration_s *engineConfiguration, board_ engineConfiguration->globalTriggerAngleOffset = 0; engineConfiguration->injectionOffset = 0; engineConfiguration->ignitionOffset = 0; - engineConfiguration->overrideCrankingIgnition = TRUE; + engineConfiguration->overrideCrankingIgnition = true; engineConfiguration->analogChartFrequency = 20; engineConfiguration->algorithm = LM_MAF; @@ -268,7 +268,7 @@ void setDefaultConfiguration(engine_configuration_s *engineConfiguration, board_ engineConfiguration->canNbcType = CAN_BUS_NBC_BMW; engineConfiguration->canSleepPeriod = 50; - engineConfiguration->canReadEnabled = TRUE; + engineConfiguration->canReadEnabled = true; engineConfiguration->canWriteEnabled = false; setOperationMode(engineConfiguration, FOUR_STROKE_CAM_SENSOR); diff --git a/firmware/controllers/algo/engine_configuration.h b/firmware/controllers/algo/engine_configuration.h index 062215420a..caa823bc94 100644 --- a/firmware/controllers/algo/engine_configuration.h +++ b/firmware/controllers/algo/engine_configuration.h @@ -400,10 +400,12 @@ typedef struct { float vbattDividerCoeff; /** * Cooling fan turn-on temperature threshold, in Celsuis + * offset 952 */ float fanOnTemperature; /** * Cooling fan turn-off temperature threshold, in Celsuis + * offset 956 */ float fanOffTemperature; diff --git a/firmware/controllers/injector_central.cpp b/firmware/controllers/injector_central.cpp index 6469e22826..4dcbae2962 100644 --- a/firmware/controllers/injector_central.cpp +++ b/firmware/controllers/injector_central.cpp @@ -185,7 +185,10 @@ static void sparkbench2(const char *delayStr, const char *indexStr, const char * pinbench(delayStr, onTimeStr, offTimeStr, countStr, p, b); } -// sparkbench 5 400 4 +/** + * sparkbench 5 400 2 + * 5 ms ON, 400 ms OFF, two times + */ static void sparkbench(const char * onTimeStr, const char *offTimeStr, const char *countStr) { sparkbench2("0", "1", onTimeStr, offTimeStr, countStr); } diff --git a/firmware/controllers/settings.cpp b/firmware/controllers/settings.cpp index 2a824bde56..844ed776be 100644 --- a/firmware/controllers/settings.cpp +++ b/firmware/controllers/settings.cpp @@ -671,6 +671,8 @@ static void setSpiMode(int index, bool mode) { static void enableOrDisable(const char *param, bool isEnabled) { if (strEqualCaseInsensitive(param, "fastadc")) { boardConfiguration->isFastAdcEnabled = isEnabled; + } else if (strEqualCaseInsensitive(param, "can")) { + engineConfiguration->isCanEnabled = isEnabled; } else if (strEqualCaseInsensitive(param, "can_read")) { engineConfiguration->canReadEnabled = isEnabled; } else if (strEqualCaseInsensitive(param, "can_write")) { diff --git a/firmware/hw_layer/vehicle_speed.cpp b/firmware/hw_layer/vehicle_speed.cpp index 63c52b1b2d..9ab69184a6 100644 --- a/firmware/hw_layer/vehicle_speed.cpp +++ b/firmware/hw_layer/vehicle_speed.cpp @@ -29,7 +29,7 @@ float getVehicleSpeed(void) { if (nowNt - lastSignalTimeNt > US2NT(US_PER_SECOND_LL)) return 0; // previous signal time is too long ago - we are stopped - return engineConfiguration->vehicleSpeedCoef * US_PER_SECOND_LL / vssDiff; + return engineConfiguration->vehicleSpeedCoef * US2NT(US_PER_SECOND_LL) / vssDiff; } static void vsAnaWidthCallback(void) { diff --git a/firmware/tunerstudio/rusefi.ini b/firmware/tunerstudio/rusefi.ini index 2d2536330d..c7a7508252 100644 --- a/firmware/tunerstudio/rusefi.ini +++ b/firmware/tunerstudio/rusefi.ini @@ -438,6 +438,7 @@ fileVersion = { 20141225 } tCharge = scalar, F32, 52, "T", 1, 0.0; ign_adv = scalar, F32, 56, "deg", 1, 0.0; sparkDwell = scalar, F32, 60, "MAP", 1, 0.0; + ; actual total Ms time per engine cycle with all corrections pulseWidth = scalar, F32, 64, "ms", 1, 0.0; warmUpEnrich = scalar, F32, 68, "%", 1, 0.0; @@ -589,6 +590,7 @@ fileVersion = { 20141225 } atmPresCGauge = atmPres, "atmo pressu", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 mapCGauge = MAP, "MAP", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 pulseWidthGauge = pulseWidth, "Pulse Width", "mSec", 0, 25.5, 1.0, 1.2, 20, 25, 3, 1 + baseFuelGauge = baseFuel, "Base Width", "mSec", 0, 25.5, 1.0, 1.2, 20, 25, 3, 1 crankingFuelGauge = crankingFuel, "crank Width", "mSec", 0, 25.5, 1.0, 1.2, 20, 25, 3, 1 ignadvGauge = ign_adv, "Ignition Advance 1", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 ; warmupEnrichGauge = warmupEnrich, "Warmup Enrichment", "%", 100, 150, -1, -1, 101, 105, 0, 0