Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
rusefi committed Jul 29, 2018
1 parent a7bb960 commit 36ba17a
Show file tree
Hide file tree
Showing 10 changed files with 29 additions and 11 deletions.
1 change: 1 addition & 0 deletions firmware/controllers/algo/engine.cpp
Expand Up @@ -115,6 +115,7 @@ void Engine::reset() {
sensorChartMode = SC_OFF;
actualLastInjection = 0;
fsioTimingAdjustment = 0;
fsioIdleTargetRPMAdjustment = 0;
isAlternatorControlEnabled = false;
callFromPitStopEndTime = 0;
rpmHardLimitTimestamp = 0;
Expand Down
1 change: 1 addition & 0 deletions firmware/controllers/algo/engine.h
Expand Up @@ -380,6 +380,7 @@ class Engine {
bool isRunningPwmTest;

float fsioTimingAdjustment;
float fsioIdleTargetRPMAdjustment;

float servoValues[SERVO_COUNT];

Expand Down
@@ -1,4 +1,4 @@
// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Thu Jul 26 15:39:48 EDT 2018
// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun Jul 29 17:54:43 EDT 2018
// begin
#ifndef ENGINE_CONFIGURATION_GENERATED_H_
#define ENGINE_CONFIGURATION_GENERATED_H_
Expand Down Expand Up @@ -1341,7 +1341,7 @@ typedef struct {
bool useFSIO12ForServo5 : 1;
/**
offset 1472 bit 26 */
bool unused_bit_1472_26 : 1;
bool useFSIO15ForIdleRpmAdjustment : 1;
/**
offset 1472 bit 27 */
bool unused_bit_1472_27 : 1;
Expand Down Expand Up @@ -2390,4 +2390,4 @@ typedef struct {

#endif
// end
// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Thu Jul 26 15:39:48 EDT 2018
// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun Jul 29 17:54:43 EDT 2018
4 changes: 2 additions & 2 deletions firmware/controllers/algo/rusefi_generated.h
Expand Up @@ -918,8 +918,8 @@
#define useFSIO11ForServo4_offset_hex 5c0
#define useFSIO12ForServo5_offset 1472
#define useFSIO12ForServo5_offset_hex 5c0
#define unused_bit_1472_26_offset 1472
#define unused_bit_1472_26_offset_hex 5c0
#define useFSIO15ForIdleRpmAdjustment_offset 1472
#define useFSIO15ForIdleRpmAdjustment_offset_hex 5c0
#define unused_bit_1472_27_offset 1472
#define unused_bit_1472_27_offset_hex 5c0
#define hipOutputChannel_offset 1476
Expand Down
12 changes: 12 additions & 0 deletions firmware/controllers/core/fsio_impl.cpp
Expand Up @@ -25,6 +25,8 @@
#define NO_PWM 0


// see useFSIO15ForIdleRpmAdjustment
#define MAGIC_OFFSET_FOR_IDLE_TARGET_RPM 14
// see useFSIO16ForTimingAdjustment
#define MAGIC_OFFSET_FOR_TIMING_FSIO 15

Expand Down Expand Up @@ -436,6 +438,16 @@ void runFsio(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
if (boardConfiguration->fanPin != GPIO_UNASSIGNED) {
setPinState("fan", &enginePins.fanRelay, radiatorFanLogic);
}

if (engineConfiguration->useFSIO15ForIdleRpmAdjustment) {
LEElement * element = fsioLogics[MAGIC_OFFSET_FOR_IDLE_TARGET_RPM];
if (element == NULL) {
warning(CUSTOM_FSIO_INVALID_EXPRESSION, "invalid expression for %s", "RPM targer");
} else {
engine->fsioIdleTargetRPMAdjustment = calc.getValue2(engine->fsioIdleTargetRPMAdjustment, element PASS_ENGINE_PARAMETER_SUFFIX);
}

}
if (engineConfiguration->useFSIO16ForTimingAdjustment) {
LEElement * element = fsioLogics[MAGIC_OFFSET_FOR_TIMING_FSIO];

Expand Down
2 changes: 2 additions & 0 deletions firmware/controllers/idle_thread.cpp
Expand Up @@ -211,6 +211,8 @@ static percent_t automaticIdleController() {
} else {
targetRpm = interpolate2d("cltRpm", clt, CONFIG(cltIdleRpmBins), CONFIG(cltIdleRpm), CLT_CURVE_SIZE);
}
targetRpm += engine->fsioIdleTargetRPMAdjustment;


// check if within the dead zone
int rpm = getRpmE(engine);
Expand Down
2 changes: 1 addition & 1 deletion firmware/integration/rusefi_config.txt
Expand Up @@ -664,7 +664,7 @@ bit hasFrequencyReportingMapSensor;
bit useFSIO10ForServo3
bit useFSIO11ForServo4
bit useFSIO12ForServo5
bit unused_bit_1472_26;
bit useFSIO15ForIdleRpmAdjustment;
bit unused_bit_1472_27;
adc_channel_e hipOutputChannel;

Expand Down
5 changes: 3 additions & 2 deletions firmware/tunerstudio/rusefi.ini
Expand Up @@ -63,7 +63,7 @@ enable2ndByteCanID = false

; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Thu Jul 26 15:39:48 EDT 2018
; this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun Jul 29 17:54:43 EDT 2018

pageSize = 20000
page = 1
Expand Down Expand Up @@ -477,7 +477,7 @@ page = 1
useFSIO10ForServo3 = bits, U32, 1472, [23:23], "false", "true"
useFSIO11ForServo4 = bits, U32, 1472, [24:24], "false", "true"
useFSIO12ForServo5 = bits, U32, 1472, [25:25], "false", "true"
unused_bit_1472_26 = bits, U32, 1472, [26:26], "false", "true"
useFSIO15ForIdleRpmAdjustment= bits, U32, 1472, [26:26], "false", "true"
unused_bit_1472_27 = bits, U32, 1472, [27:27], "false", "true"
hipOutputChannel = bits, U32, 1476, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
idleMode = bits, U32, 1480, [0:0], "Automatic", "Manual"
Expand Down Expand Up @@ -2893,6 +2893,7 @@ cmd_stop_engine = "w\x00\x99\x00\x00"
field = "#12", fsioFormulas12
field = "#13", fsioFormulas13
field = "#14", fsioFormulas14
field = "use FSIO #15 for idle RPM adjustment", useFSIO15ForIdleRpmAdjustment
field = "#15", fsioFormulas15
field = "use FSIO #16 for timing adjustment", useFSIO16ForTimingAdjustment
field = "#16", fsioFormulas16
Expand Down
1 change: 1 addition & 0 deletions firmware/tunerstudio/rusefi.input
Expand Up @@ -2052,6 +2052,7 @@ cmd_stop_engine = "w\x00\x99\x00\x00"
field = "#12", fsioFormulas12
field = "#13", fsioFormulas13
field = "#14", fsioFormulas14
field = "use FSIO #15 for idle RPM adjustment", useFSIO15ForIdleRpmAdjustment
field = "#15", fsioFormulas15
field = "use FSIO #16 for timing adjustment", useFSIO16ForTimingAdjustment
field = "#16", fsioFormulas16
Expand Down
6 changes: 3 additions & 3 deletions java_console/models/src/com/rusefi/config/Fields.java
@@ -1,6 +1,6 @@
package com.rusefi.config;

// this file was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Thu Jul 26 15:39:48 EDT 2018
// this file was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun Jul 29 17:54:43 EDT 2018
public class Fields {
public static final int LE_COMMAND_LENGTH = 200;
public static final int BLOCKING_FACTOR = 400;
Expand Down Expand Up @@ -629,7 +629,7 @@ public class Fields {
public static final int useFSIO10ForServo3_offset = 1472;
public static final int useFSIO11ForServo4_offset = 1472;
public static final int useFSIO12ForServo5_offset = 1472;
public static final int unused_bit_1472_26_offset = 1472;
public static final int useFSIO15ForIdleRpmAdjustment_offset = 1472;
public static final int unused_bit_1472_27_offset = 1472;
public static final int hipOutputChannel_offset = 1476;
public static final int idleMode_offset = 1480;
Expand Down Expand Up @@ -1581,7 +1581,7 @@ public class Fields {
public static final Field USEFSIO10FORSERVO3 = Field.create("USEFSIO10FORSERVO3", 1472, FieldType.BIT, 23);
public static final Field USEFSIO11FORSERVO4 = Field.create("USEFSIO11FORSERVO4", 1472, FieldType.BIT, 24);
public static final Field USEFSIO12FORSERVO5 = Field.create("USEFSIO12FORSERVO5", 1472, FieldType.BIT, 25);
public static final Field UNUSED_BIT_1472_26 = Field.create("UNUSED_BIT_1472_26", 1472, FieldType.BIT, 26);
public static final Field USEFSIO15FORIDLERPMADJUSTMENT = Field.create("USEFSIO15FORIDLERPMADJUSTMENT", 1472, FieldType.BIT, 26);
public static final Field UNUSED_BIT_1472_27 = Field.create("UNUSED_BIT_1472_27", 1472, FieldType.BIT, 27);
public static final Field HIPOUTPUTCHANNEL = Field.create("HIPOUTPUTCHANNEL", 1476, FieldType.INT, adc_channel_e);
public static final Field IDLEMODE = Field.create("IDLEMODE", 1480, FieldType.INT);
Expand Down

0 comments on commit 36ba17a

Please sign in to comment.