Skip to content

Commit f7bf589

Browse files
committed
bench test buttons for fuel pump on/off #219
1 parent 572e106 commit f7bf589

File tree

6 files changed

+31
-11
lines changed

6 files changed

+31
-11
lines changed

firmware/CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ Release template (copy/paste this for new release):
3636
- Add mode for CLT/IAT sensors that are installed "high side" instead of typical "low side" #116
3737
- Automatic supply voltage compensation for VVT solenoids, giving more stable control as battery voltage changes #209
3838
- Configurable ignition timing limits, adding safety particularly for engines running wasted spark with a large cam #211
39+
- Improved injection, ignition bench test UI and functionality: More gauges, fuel pump on/off buttons for injector testing, and configurable duration/count #219
3940

4041
### Fixed
4142
- Improved bench test resolution (more usable for testing injectors, dwell, etc)

firmware/controllers/actuators/fuel_pump.cpp

+5-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ void FuelPumpController::onSlowCallback() {
1818
engineTurnedRecently = engine->triggerCentral.engineMovedRecently();
1919
#endif //EFI_SHAFT_POSITION_INPUT
2020

21-
isFuelPumpOn = isPrime || engineTurnedRecently;
21+
isFuelPumpOn = isPrime || engineTurnedRecently || m_forceState;
2222

2323
enginePins.fuelPumpRelay.setValue(isFuelPumpOn);
2424
}
@@ -30,3 +30,7 @@ void FuelPumpController::onIgnitionStateChanged(bool ignitionOnParam) {
3030
m_ignOnTimer.reset();
3131
}
3232
}
33+
34+
void FuelPumpController::forcePumpState(bool state) {
35+
m_forceState = state;
36+
}

firmware/controllers/actuators/fuel_pump.h

+3
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ class FuelPumpController : public EngineModule, public fuel_pump_control_s {
1313
void onSlowCallback() override;
1414
void onIgnitionStateChanged(bool ignitionOn) override;
1515

16+
void forcePumpState(bool state);
17+
1618
private:
1719
Timer m_ignOnTimer;
20+
bool m_forceState = false;
1821
};

firmware/controllers/algo/engine_types.h

+5-4
Original file line numberDiff line numberDiff line change
@@ -543,20 +543,21 @@ typedef enum {
543543
} ts_command_e;
544544

545545
typedef enum {
546-
BENCH_MAIN_RELAY, // 0
547-
BENCH_FUEL_PUMP,
546+
BENCH_MAIN_RELAY,
548547
BENCH_STARTER_ENABLE_RELAY,
549548
BENCH_STARTER_DISABLE_RELAY,
550549
BENCH_FAN_RELAY,
551-
BENCH_FAN_RELAY_2, // 5
550+
BENCH_FAN_RELAY_2,
552551
BENCH_AC_COMPRESSOR_RELAY,
553552
BENCH_CHECK_ENGINE_LIGHT,
554-
BENCH_IDLE_VALVE, // 8
553+
BENCH_IDLE_VALVE,
555554
BENCH_HPFP_VALVE,
556555
BENCH_GPPWM1_VALVE,
557556
BENCH_GPPWM2_VALVE,
558557
BENCH_GPPWM3_VALVE,
559558
BENCH_GPPWM4_VALVE,
560559
BENCH_SECOND_IDLE_VALVE,
561560
BENCH_CANCEL,
561+
BENCH_FUEL_PUMP_ON,
562+
BENCH_FUEL_PUMP_OFF,
562563
} bench_mode_e;

firmware/controllers/bench_test.cpp

+6-4
Original file line numberDiff line numberDiff line change
@@ -291,10 +291,6 @@ static void handleBenchCategory(uint16_t index) {
291291
case BENCH_HPFP_VALVE:
292292
hpfpValveBench();
293293
return;
294-
case BENCH_FUEL_PUMP:
295-
// cmd_test_fuel_pump
296-
fuelPumpBench();
297-
return;
298294
case BENCH_STARTER_ENABLE_RELAY:
299295
starterRelayBench();
300296
return;
@@ -320,6 +316,12 @@ static void handleBenchCategory(uint16_t index) {
320316
case BENCH_CANCEL:
321317
cancelBenchTest();
322318
return;
319+
case BENCH_FUEL_PUMP_ON:
320+
engine->module<FuelPumpController>()->forcePumpState(true);
321+
return;
322+
case BENCH_FUEL_PUMP_OFF:
323+
engine->module<FuelPumpController>()->forcePumpState(false);
324+
return;
323325
default:
324326
firmwareError(ObdCode::OBD_PCM_Processor_Fault, "Unexpected bench function %d", index);
325327
}

firmware/tunerstudio/rusefi.input

+11-2
Original file line numberDiff line numberDiff line change
@@ -1999,6 +1999,9 @@ cmd_test_inj12 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_INJECTOR_CATEGORY
19991999

20002000
cmd_test_cancel = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_CANCEL_16_hex@@"
20012001

2002+
cmd_fuel_pump_on = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_FUEL_PUMP_ON_16_hex@@"
2003+
cmd_fuel_pump_off = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_FUEL_PUMP_OFF_16_hex@@"
2004+
20022005
cmd_test_sol1 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SOLENOID_CATEGORY_16_hex@@\x00\x01"
20032006
cmd_test_sol2 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SOLENOID_CATEGORY_16_hex@@\x00\x02"
20042007
cmd_test_sol3 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SOLENOID_CATEGORY_16_hex@@\x00\x03"
@@ -2007,7 +2010,6 @@ cmd_test_sol5 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SOLENOID_CATEGORY_
20072010
cmd_test_sol6 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SOLENOID_CATEGORY_16_hex@@\x00\x06"
20082011

20092012
cmd_test_main_relay = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_MAIN_RELAY_16_hex@@"
2010-
cmd_test_fuel_pump = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_FUEL_PUMP_16_hex@@"
20112013
cmd_test_starter_relay = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_STARTER_ENABLE_RELAY_16_hex@@"
20122014
cmd_test_starter_disable_relay = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_STARTER_DISABLE_RELAY_16_hex@@"
20132015
cmd_test_ac_relay = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_AC_COMPRESSOR_RELAY_16_hex@@"
@@ -4044,7 +4046,8 @@ dialog = tcuControls, "Transmission Settings"
40444046

40454047
dialog = testMisc, "Misc"
40464048
commandButton = "Main Relay", cmd_test_main_relay@@if_ts_show_main_relay
4047-
commandButton = "Fuel Pump", cmd_test_fuel_pump
4049+
commandButton = "Fuel pump on", cmd_fuel_pump_on
4050+
commandButton = "Fuel pump off", cmd_fuel_pump_off
40484051
commandButton = "Cooling Fan", cmd_test_fan_1
40494052
commandButton = "Cooling Fan 2", cmd_test_fan_2
40504053
commandButton = "A/C Relay", cmd_test_ac_relay
@@ -4086,7 +4089,13 @@ dialog = tcuControls, "Transmission Settings"
40864089
field = "Iterations", benchTestCount
40874090
field = "ON time", benchTestOnTime
40884091
field = "OFF time", benchTestOffTime
4092+
field = ""
40894093
commandButton = "Abort test", cmd_test_cancel
4094+
field = ""
4095+
field = "Use these buttons to run the"
4096+
field = "fuel pump for testing injectors"
4097+
commandButton = "Fuel pump on", cmd_fuel_pump_on
4098+
commandButton = "Fuel pump off", cmd_fuel_pump_off
40904099
gauge = testBenchIterGauge
40914100

40924101
dialog = injTest_r, "Reference gauges", yAxis

0 commit comments

Comments
 (0)