diff --git a/firmware/controllers/settings.cpp b/firmware/controllers/settings.cpp index 75759036d2..96cc84eb4f 100644 --- a/firmware/controllers/settings.cpp +++ b/firmware/controllers/settings.cpp @@ -1267,6 +1267,7 @@ const command_i_s commandsI[] = {{"ignition_mode", setIgnitionMode}, {"bor", setBor}, #if EFI_CAN_SUPPORT {"can_mode", setCanType}, + {"can_vss", setCanVss}, #endif /* EFI_CAN_SUPPORT */ #if EFI_IDLE_CONTROL {"idle_position", setIdleValvePosition}, diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index 4293717e5c..1002b7a4bb 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -799,8 +799,8 @@ custom maf_sensor_type_e 4 bits, S32, @OFFSET@, [0:7], @@maf_sensor_type_e_enum@ bit enableLaunchRetard bit enableLaunchBoost bit launchDisableBySpeed + bit enableCanVss bit enableInnovateLC2 - bit unusedBit_251_8 bit unusedBit_251_9 bit unusedBit_251_10 bit unusedBit_251_11 @@ -1240,7 +1240,10 @@ uint8_t[4] unusuedsw; uint8_t[IAC_PID_MULT_SIZE] iacPidMultLoadBins;;"Load", 1, 0.0, 0, 500.0, 2 uint8_t[IAC_PID_MULT_SIZE] iacPidMultRpmBins;;"RPM", @@RPM_1_BYTE_PACKING_MULT@@, 0, 0.0, 12000.0, 0 - int[465] mainUnusedEnd; + custom can_vss_nbc_e 4 bits, U32, @OFFSET@, [0:7], "BMW_e46", "W202" + can_vss_nbc_e canVssNbcType;set can_vss X + + int[464] mainUnusedEnd; ! end of engine_configuration_s end_struct diff --git a/firmware/tunerstudio/rusefi.input b/firmware/tunerstudio/rusefi.input index 2d66234590..685249990b 100644 --- a/firmware/tunerstudio/rusefi.input +++ b/firmware/tunerstudio/rusefi.input @@ -2362,15 +2362,22 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00" panel = alternator panel = startStopDialog - - dialog = speedSensorLeft + dialog = speedSensorAnalog field = "Input pin", vehicleSpeedSensorInputPin field = "revolution to speed mult", vehicleSpeedCoef + dialog = speedSensorCan + field = "Vss Car Type", canVssNbcType, { enableCanVss } + + dialog = speedSensorLeft, "Speed sensor config", yAxis + panel = speedSensorCan, { enableCanVss } + panel = speedSensorAnalog, { enableCanVss == 0 } + field = "Enable CANbus VSS values", enableCanVss, { canReadEnabled } + dialog = speedSensor, "Speed sensor", xAxis panel = speedSensorLeft gauge = VSSGauge - + ; Engine->Other inputs dialog = analogInputSettings, "Analog Input Settings" field = "!ECU reboot needed to apply these settings"