diff --git a/firmware/console/binary/tunerstudio_outputs.h b/firmware/console/binary/tunerstudio_outputs.h index e0f82b41b0..6d94ffad55 100644 --- a/firmware/console/binary/tunerstudio_outputs.h +++ b/firmware/console/binary/tunerstudio_outputs.h @@ -240,6 +240,7 @@ struct TunerStudioOutputChannels { // Offset 246: bits uint8_t sd_logging_internal : 1; // bit 0 uint8_t sd_msd : 1; // bit 1 + uint8_t isFan2On : 1; // bit 2 int8_t tcuCurrentGear; // 247 diff --git a/firmware/console/status_loop.cpp b/firmware/console/status_loop.cpp index 27ea3dd308..9b57488461 100644 --- a/firmware/console/status_loop.cpp +++ b/firmware/console/status_loop.cpp @@ -691,6 +691,7 @@ void updateTunerStudioState(TunerStudioOutputChannels *tsOutputChannels DECLARE_ tsOutputChannels->isFuelPumpOn = enginePins.fuelPumpRelay.getLogicValue(); tsOutputChannels->isFanOn = enginePins.fanRelay.getLogicValue(); + tsOutputChannels->isFan2On = enginePins.fanRelay2.getLogicValue(); tsOutputChannels->isO2HeaterOn = enginePins.o2heater.getLogicValue(); tsOutputChannels->isIgnitionEnabledIndicator = ENGINE(limpManager).allowIgnition(); tsOutputChannels->isInjectionEnabledIndicator = ENGINE(limpManager).allowInjection(); diff --git a/firmware/controllers/bench_test.cpp b/firmware/controllers/bench_test.cpp index 884f94ea6b..8b10e2df91 100644 --- a/firmware/controllers/bench_test.cpp +++ b/firmware/controllers/bench_test.cpp @@ -320,7 +320,7 @@ static void handleBenchCategory(uint16_t index) { case CMD_TS_BENCH_FAN_RELAY: fanBench(); return; - case CMD_TS_BENCH_AC_FAN_RELAY: + case CMD_TS_BENCH_FAN_RELAY_2: fan2Bench(); return; default: diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index da8314323b..6aa287abb0 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -1867,7 +1867,7 @@ end_struct #define CMD_TS_BENCH_STARTER_ENABLE_RELAY 2 #define CMD_TS_BENCH_STARTER_DISABLE_RELAY 3 #define CMD_TS_BENCH_FAN_RELAY 4 -#define CMD_TS_BENCH_AC_FAN_RELAY 5 +#define CMD_TS_BENCH_FAN_RELAY_2 5 #define CMD_TS_BENCH_AC_COMPRESSOR_RELAY 6 #define CMD_TS_BENCH_CHECK_ENGINE_LIGHT 7 #define CMD_TS_BENCH_IDLE_VALVE 8 diff --git a/firmware/tunerstudio/rusefi.input b/firmware/tunerstudio/rusefi.input index 18eecb2fc2..2d986d6d14 100644 --- a/firmware/tunerstudio/rusefi.input +++ b/firmware/tunerstudio/rusefi.input @@ -367,6 +367,7 @@ enable2ndByteCanID = false tuneCrc16 = scalar, U16, 244, "crc16", 1, 0 sd_logging_internal = bits, U08, 246, [0:0], "true", "false" sd_msd = bits, U08, 246, [1:1], "true", "false" + ind_fan_2 = bits, U08, 246, [2:2], "true", "false" ; Transmission tcuCurrentGear = scalar, S08, 247, "gear", 1, 0 @@ -1195,7 +1196,8 @@ gaugeCategory = DynoView indicator = { ind_hasFatalError }, "Config Error", "Config Error", white, black, red, black ; minor info - indicator = { ind_fan}, "fan off", "fan on", white, black, green, black + indicator = { ind_fan }, "fan off", "fan on", white, black, green, black + indicator = { ind_fan_2 }, "fan 2 off", "fan 2 on", white, black, green, black indicator = { isCylinderCleanupActivated}, "no cyl cleanup", "cyl cleanup", white, black, yellow, black indicator = { ind_fuel_pump}, "pump off", "pump on", white, black, green, black indicator = { clutchUpState }, "Clutch Up", "clutch Up", white, black, red, black @@ -1690,8 +1692,8 @@ cmd_test_fuel_pump = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_BENCH_CATEG cmd_test_starter_relay = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_BENCH_CATEGORY_16_hex@@@@CMD_TS_BENCH_STARTER_ENABLE_RELAY_16_hex@@" cmd_test_starter_disable_relay = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_BENCH_CATEGORY_16_hex@@@@CMD_TS_BENCH_STARTER_DISABLE_RELAY_16_hex@@" cmd_test_ac_relay = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_BENCH_CATEGORY_16_hex@@@@CMD_TS_BENCH_AC_COMPRESSOR_RELAY_16_hex@@" -cmd_test_radiator_fan = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_BENCH_CATEGORY_16_hex@@@@CMD_TS_BENCH_FAN_RELAY_16_hex@@" -cmd_test_ac_radiator_fan = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_BENCH_CATEGORY_16_hex@@@@CMD_TS_BENCH_AC_FAN_RELAY_16_hex@@" +cmd_test_fan_1 = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_BENCH_CATEGORY_16_hex@@@@CMD_TS_BENCH_FAN_RELAY_16_hex@@" +cmd_test_fan_2 = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_BENCH_CATEGORY_16_hex@@@@CMD_TS_BENCH_FAN_RELAY_2_16_hex@@" cmd_test_check_engine_light = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_BENCH_CATEGORY_16_hex@@@@CMD_TS_BENCH_CHECK_ENGINE_LIGHT_16_hex@@" cmd_test_idle_valve = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_BENCH_CATEGORY_16_hex@@@@CMD_TS_BENCH_IDLE_VALVE_16_hex@@" cmd_test_hpfp_valve = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_BENCH_CATEGORY_16_hex@@@@CMD_TS_BENCH_HPFP_VALVE_16_hex@@" @@ -2728,6 +2730,14 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@\x00\x31\x00\x00" field = "Enable with AC", enableFan2WithAc field = "Disable when engine stopped", disableFan2WhenStopped + dialog = fanTest, "", xAxis + commandButton = "Test Fan 1", cmd_test_fan_1 + commandButton = "Test Fan 2", cmd_test_fan_2 + + indicatorPanel = fanIndicators, 2 + indicator = { ind_fan }, "fan 1 off", "fan 1 on", white, black, green, black + indicator = { ind_fan_2 }, "fan 2 off", "fan 2 on", white, black, green, black + dialog = acSettings, "A/C Settings" field = "A/C switch", acSwitch field = "A/C switch mode", acSwitchMode @@ -2740,6 +2750,8 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@\x00\x31\x00\x00" dialog = fanSetting, "Fan Settings" panel = fan1Settings panel = fan2Settings + panel = fanTest + panel = fanIndicators dialog = fuelPump, "Fuel Pump" field = "Pin", fuelPumpPin @@ -3464,8 +3476,8 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@\x00\x31\x00\x00" ; commandButton = "Come To Pit", cmd_call_from_pit commandButton = "Main Relay", cmd_test_main_relay@@if_ts_show_main_relay commandButton = "Fuel Pump", cmd_test_fuel_pump - commandButton = "Radiator Fan", cmd_test_radiator_fan - commandButton = "A/C Fan", cmd_test_ac_radiator_fan + commandButton = "Cooling Fan", cmd_test_fan_1 + commandButton = "Cooling Fan 2", cmd_test_fan_2 commandButton = "A/C Relay", cmd_test_ac_relay commandButton = "Check Engine", cmd_test_check_engine_light commandButton = "Idle Air Valve", cmd_test_idle_valve