From 44367399040f9abea8dfb66f5ff0cb70eec84072 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 | 6 ++++ selfdrive/ui/layouts/settings/toggles.py | 35 +++++++++++++++++++ selfdrive/ui/mici/layouts/settings/toggles.py | 15 ++++++++ 3 files changed, 56 insertions(+) diff --git a/common/params_keys.h b/common/params_keys.h index d6104e7497..1c7efe5cc4 100644 --- a/common/params_keys.h +++ b/common/params_keys.h @@ -129,4 +129,10 @@ inline static std::unordered_map keys = { {"UptimeOffroad", {PERSISTENT, FLOAT, "0.0"}}, {"UptimeOnroad", {PERSISTENT, FLOAT, "0.0"}}, {"Version", {PERSISTENT, 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 7fae2dfd24..78859d70a8 100644 --- a/selfdrive/ui/layouts/settings/toggles.py +++ b/selfdrive/ui/layouts/settings/toggles.py @@ -31,6 +31,11 @@ DESCRIPTIONS = { 'RecordFront': tr_noop("Upload data from the driver facing camera and help improve the driver monitoring algorithm."), "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."), } @@ -90,6 +95,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 c16504fac8..0772694513 100644 --- a/selfdrive/ui/mici/layouts/settings/toggles.py +++ b/selfdrive/ui/mici/layouts/settings/toggles.py @@ -25,6 +25,11 @@ class TogglesLayoutMici(NavWidget): 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 = Scroller([ self._personality_toggle, @@ -35,6 +40,11 @@ class TogglesLayoutMici(NavWidget): record_front, record_mic, enable_openpilot, + enable_torque_interceptor, + enable_radar_interceptor, + enable_no_mrcc, + enable_no_fsc, + enable_manual_transmission, ], snap_items=False) # Toggle lists @@ -46,6 +56,11 @@ class TogglesLayoutMici(NavWidget): ("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)