From 4a8aad36e0e9ec2353bf99dcdbe49969f8d4c63a Mon Sep 17 00:00:00 2001 From: Test User Date: Thu, 22 Jan 2026 17:45:59 -0600 Subject: [PATCH] Add new toggle options for Torque Interceptor, Radar Interceptor, No MRCC, No FSC, and Manual Transmission --- common/params_keys.h | 7 ++++ selfdrive/ui/layouts/settings/toggles.py | 35 +++++++++++++++++++ selfdrive/ui/mici/layouts/settings/toggles.py | 15 ++++++++ 3 files changed, 57 insertions(+) diff --git a/common/params_keys.h b/common/params_keys.h index 00df3ffe1..800731ac8 100644 --- a/common/params_keys.h +++ b/common/params_keys.h @@ -144,6 +144,7 @@ inline static std::unordered_map keys = { {"UptimeOffroad", {PERSISTENT, FLOAT, "0.0"}}, {"UptimeOnroad", {PERSISTENT, FLOAT, "0.0"}}, {"Version", {PERSISTENT, STRING}}, +<<<<<<< HEAD // StarPilot variables {"AccelerationPath", {PERSISTENT, BOOL, "1", "0", 2}}, @@ -642,4 +643,10 @@ inline static std::unordered_map keys = { {"WheelIcon", {PERSISTENT, STRING, "stock", "stock", 0}}, {"WheelSpeed", {PERSISTENT, BOOL, "0", "0", 2}}, {"WheelToDownload", {CLEAR_ON_MANAGER_START, STRING, "", ""}}, + {"TorqueInterceptorEnabled", {PERSISTENT, BOOL}}, + {"RadarInterceptorEnabled", {PERSISTENT, BOOL}}, + {"NoMRCC", {PERSISTENT, BOOL}}, + {"NoFSC", {PERSISTENT, BOOL}}, + {"BlendedACC", {PERSISTENT, BOOL}}, + {"ManualTransmission", {PERSISTENT, BOOL}}, }; diff --git a/selfdrive/ui/layouts/settings/toggles.py b/selfdrive/ui/layouts/settings/toggles.py index 08800c698..77c0dea4d 100644 --- a/selfdrive/ui/layouts/settings/toggles.py +++ b/selfdrive/ui/layouts/settings/toggles.py @@ -32,6 +32,11 @@ DESCRIPTIONS = { "IsRHD": tr_noop("Use right-hand-drive driver monitoring. This follows the auto-detected side until changed manually."), "IsMetric": tr_noop("Display speed in km/h instead of mph."), "RecordAudio": tr_noop("Record and store microphone audio while driving. The audio will be included in the dashcam video in comma connect."), + "TorqueInterceptorEnabled": tr_noop("Enable the torque interceptor to control the steering wheel."), + "RadarInterceptorEnabled": tr_noop("Enable if you have installed the radar Iterceptor."), + "NoMRCC": tr_noop("Enable if your car does not have stock MRCC."), + "NoFSC": tr_noop("Enable if your car does not have stock FSC."), + "ManualTransmission": tr_noop("Enable if your car has a manual transmission."), } @@ -103,6 +108,36 @@ class TogglesLayout(Widget): "metric.png", False, ), + "TorqueInterceptorEnabled": ( + lambda: tr("Enable Torque Interceptor"), + DESCRIPTIONS["TorqueInterceptorEnabled"], + "chffr_wheel.png", + True, + ), + "RadarInterceptorEnabled": ( + lambda: tr("Enable Radar Interceptor"), + DESCRIPTIONS["RadarInterceptorEnabled"], + "chffr_wheel.png", + True, + ), + "NoMRCC": ( + lambda: tr("Disable Stock MRCC"), + DESCRIPTIONS["NoMRCC"], + "chffr_wheel.png", + True, + ), + "NoFSC": ( + lambda: tr("Disable Stock FSC"), + DESCRIPTIONS["NoFSC"], + "chffr_wheel.png", + True, + ), + "ManualTransmission": ( + lambda: tr("Manual Transmission"), + DESCRIPTIONS["ManualTransmission"], + "chffr_wheel.png", + True, + ), } self._long_personality_setting = multiple_button_item( diff --git a/selfdrive/ui/mici/layouts/settings/toggles.py b/selfdrive/ui/mici/layouts/settings/toggles.py index 77134c7c9..74333c97c 100644 --- a/selfdrive/ui/mici/layouts/settings/toggles.py +++ b/selfdrive/ui/mici/layouts/settings/toggles.py @@ -28,6 +28,11 @@ class TogglesLayoutMici(NavScroller): record_front = BigParamControl("record & upload driver camera", "RecordFront", toggle_callback=restart_needed_callback) record_mic = BigParamControl("record & upload mic audio", "RecordAudio", toggle_callback=restart_needed_callback) enable_openpilot = BigParamControl("enable openpilot", "OpenpilotEnabledToggle", toggle_callback=restart_needed_callback) + enable_torque_interceptor = BigParamControl("torque interceptor", "TorqueInterceptorEnabled", toggle_callback=restart_needed_callback) + enable_radar_interceptor = BigParamControl("radar interceptor", "RadarInterceptorEnabled", toggle_callback=restart_needed_callback) + enable_no_mrcc = BigParamControl("no stock MRCC", "NoMRCC", toggle_callback=restart_needed_callback) + enable_no_fsc = BigParamControl("no stock FSC", "NoFSC", toggle_callback=restart_needed_callback) + enable_manual_transmission = BigParamControl("manual transmission", "ManualTransmission", toggle_callback=restart_needed_callback) self._scroller.add_widgets([ self._personality_toggle, @@ -40,6 +45,11 @@ class TogglesLayoutMici(NavScroller): record_front, record_mic, enable_openpilot, + enable_torque_interceptor, + enable_radar_interceptor, + enable_no_mrcc, + enable_no_fsc, + enable_manual_transmission, ]) # Toggle lists @@ -53,6 +63,11 @@ class TogglesLayoutMici(NavScroller): ("RecordFront", record_front), ("RecordAudio", record_mic), ("OpenpilotEnabledToggle", enable_openpilot), + ("TorqueInterceptorEnabled", enable_torque_interceptor), + ("RadarInterceptorEnabled", enable_radar_interceptor), + ("NoMRCC", enable_no_mrcc), + ("NoFSC", enable_no_fsc), + ("ManualTransmission", enable_manual_transmission), ) enable_openpilot.set_enabled(lambda: not ui_state.engaged)