diff --git a/CHANGELOGS.md b/CHANGELOGS.md index 2fc99ab8d0..7aefc587a9 100644 --- a/CHANGELOGS.md +++ b/CHANGELOGS.md @@ -28,6 +28,9 @@ sunnypilot - 0.9.8.0 (2024-xx-xx) * UPDATED: Driving Model Selector v5 * NEW❗: Driving Model additions * Notre Dame (July 01, 2024) - NDv3 +* UPDATED: Neural Network Lateral Control (NNLC) + * NEW❗: Remove Lateral Jerk Response (Alpha) + * FIXED: Hotfix for "lazy" steering performance in tighter curves thanks to twilsonco! * UPDATED: Toyota: Continued support for Smart DSU (SDSU) and Radar CAN Filter * In response to the official deprecation of support for Smart DSU (SDSU) and Radar CAN Filter in the upstream ([commaai/openpilot#32777](https://github.com/commaai/openpilot/pull/32777)), sunnypilot will continue maintaining software support for Smart DSU (SDSU) and Radar CAN Filter * UPDATED: Continued support for Mapbox navigation @@ -45,6 +48,10 @@ sunnypilot - 0.9.8.0 (2024-xx-xx) * NEW❗: Time to Lead Car * Displays the time to reach the position previously occupied by the lead car * NEW❗: Display Distance, Speed, and Time to Lead Car simultaneously +* Ford F-150 2022-23 support +* Ford F-150 Lightning 2021-23 support +* Ford Mustang Mach-E 2021-23 support +* Hyundai Kona Electric Non-SCC 2019 support thanks to NikitaNekrasov! * Kia Ceed Plug-in Hybrid Non-SCC 2022 support thanks to TerminatorNL! sunnypilot - 0.9.7.1 (2024-06-13) @@ -82,6 +89,8 @@ sunnypilot - 0.9.7.1 (2024-06-13) * Force sunnypilot in the offroad state even when the car is on * When Forced Offroad mode is on, allows changing offroad-only settings even when the car is turned on * To engage/disengage Force Offroad, go to Settings -> Device panel +* NEW❗: Ford CAN-FD longitudinal + * NEW❗: Parse speed limit sign recognition from camera for certain supported platforms * UPDATED: Auto Lane Change Timer -> Auto Lane Change by Blinker * NEW❗: New "Off" option to disable lane change by blinker * UPDATED: Pause Lateral Below Speed with Blinker @@ -89,6 +98,8 @@ sunnypilot - 0.9.7.1 (2024-06-13) * Pause lateral actuation with blinker when traveling below the desired speed selected. Default is 20 MPH or 32 km/h. * UPDATED: Hyundai CAN Longitudinal * Auto-enable radar tracks on platforms with applicable Mando radar +* UPDATED: Hyundai CAN-FD Radar-based SCC + * Longitudinal support for CAN-FD Radar-based SCC cars * UPDATED: Hyundai CAN-FD Camera-based SCC * NEW❗: Parse lead info for camera-based SCC platforms with longitudinal support * Improve lead tracking when using openpilot longitudinal diff --git a/README.md b/README.md index 5986adbe33..f8941ed699 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,7 @@ Join the official sunnypilot Discord server to stay up to date with all the late To use sunnypilot in a car, you need the following: * A supported device to run this software * a [comma three](https://comma.ai/shop/products/three), or + * a comma two (only with older versions below 0.8.13) * This software * One of [the 250+ supported cars](https://github.com/commaai/openpilot/blob/master/docs/CARS.md). We support Honda, Toyota, Hyundai, Nissan, Kia, Chrysler, Lexus, Acura, Audi, VW, Ford and more. If your car is not supported but has adaptive cruise control and lane-keeping assist, it's likely able to run sunnypilot. * A [car harness](https://comma.ai/shop/products/car-harness) to connect to your car @@ -114,12 +115,40 @@ Please refer to [Recommended Branches](#-recommended-branches) to find your pref Requires further assistance with software installation? Join the [sunnypilot Discord server](https://discord.sunnypilot.com) and message us in the `#installation-help` channel. +comma two +------ + +1. [Factory reset/uninstall](https://github.com/commaai/openpilot/wiki/FAQ#how-can-i-reset-the-device) the previous software if you have another software/fork installed. +2. After factory reset/uninstall and upon reboot, select `Custom Software` when given the option. +3. Input the installation URL per [Recommended Branches](#-recommended-branches). Example: ```https://smiskol.com/fork/sunnyhaibin/0.8.12-4-prod``` +4. Complete the rest of the installation following the onscreen instructions. + +Requires further assistance with software installation? Join the [sunnypilot Discord server](https://discord.sunnypilot.com) and message us in the `#installation-help` channel. + + + +
+ SSH (More Versatile) +
+ +Prerequisites: [How to SSH](https://github.com/commaai/openpilot/wiki/SSH) + +If you are looking to install sunnypilot via SSH, run the following command in an SSH terminal after connecting to your device: + comma three: ------ * [`release-c3`](https://github.com/sunnyhaibin/openpilot/tree/release-c3): ``` - cd /data && rm -rf ./openpilot && git clone -b release-c3 --recurse-submodules https://github.com/sunnyhaibin/sunnypilot.git openpilot && cd openpilot && sudo reboot + cd /data; rm -rf ./openpilot; git clone -b release-c3 --recurse-submodules https://github.com/sunnyhaibin/sunnypilot.git openpilot; cd openpilot; sudo reboot + ``` + +comma two: +------ +* [`0.8.12-prod-personal-hkg`](https://github.com/sunnyhaibin/openpilot/tree/0.8.12-prod-personal-hkg): + + ``` + cd /data; rm -rf ./openpilot; git clone -b 0.8.12-prod-personal-hkg --recurse-submodules https://github.com/sunnyhaibin/sunnypilot.git openpilot; cd openpilot; sudo reboot ``` After running the command to install the desired branch, your comma device should reboot. @@ -194,7 +223,7 @@ The goal of Modified Assistive Driving Safety (MADS) is to enhance the user driv * `SET-` button enables ACC/SCC * `CANCEL` button only disables ACC/SCC * `CRUISE (MAIN)` must be `ON` to use ACC/SCC -* `CRUISE (MAIN)` button disables sunnypilot completely when `OFF` **(strictly enforced in panda safety code)** +* `CRUISE (MAIN)` button disables ACC/SCC completely when `OFF` **(strictly enforced in panda safety code)** ### Disengage Lateral ALC on Brake Press Mode toggle Dedicated toggle to handle Lateral state on brake pedal press and release: @@ -326,7 +355,7 @@ Example: --- -How-To instructions can be found in [HOW-TOS.md](HOW-TOS.md). +How-To instructions can be found in [HOW-TOS.md](https://github.com/sunnyhaibin/openpilot/blob/(!)README/HOW-TOS.md).
diff --git a/cereal/custom.capnp b/cereal/custom.capnp index 0c32edcf1d..423009f502 100644 --- a/cereal/custom.capnp +++ b/cereal/custom.capnp @@ -16,6 +16,7 @@ enum LongitudinalPersonalitySP { moderate @1; standard @2; relaxed @3; + overtake @4; } enum AccelerationPersonality { @@ -44,6 +45,7 @@ struct ControlsStateSP @0x81c2f05a394cf4af { personality @8 :LongitudinalPersonalitySP; dynamicPersonality @9 :Bool; accelPersonality @10 :AccelerationPersonality; + overtakingAccelerationAssist @11 :Bool; lateralControlState :union { indiState @1 :LateralINDIState; diff --git a/common/params.cc b/common/params.cc index 39abb8ed28..e2db085932 100644 --- a/common/params.cc +++ b/common/params.cc @@ -232,6 +232,7 @@ std::unordered_map keys = { {"CustomMapboxTokenSk", PERSISTENT | BACKUP}, {"CustomOffsets", PERSISTENT | BACKUP}, {"CustomStockLong", PERSISTENT | BACKUP}, + {"CustomStockLongPlanner", PERSISTENT | BACKUP}, {"CustomTorqueLateral", PERSISTENT | BACKUP}, {"DevUIInfo", PERSISTENT | BACKUP}, {"DisableOnroadUploads", PERSISTENT | BACKUP}, @@ -263,6 +264,7 @@ std::unordered_map keys = { {"HideVEgoUi", PERSISTENT | BACKUP}, {"HkgCustomLongTuning", PERSISTENT | BACKUP}, {"HkgSmoothStop", PERSISTENT | BACKUP}, + {"HyundaiCruiseMainDefault", PERSISTENT | BACKUP}, {"HotspotOnBoot", PERSISTENT}, {"HotspotOnBootConfirmed", PERSISTENT}, {"LastCarModel", PERSISTENT | BACKUP}, @@ -281,6 +283,7 @@ std::unordered_map keys = { {"NavModelUrl", PERSISTENT | BACKUP}, {"NNFF", PERSISTENT | BACKUP}, {"NNFFCarModel", PERSISTENT | BACKUP}, + {"NNFFNoLateralJerk", PERSISTENT | BACKUP}, {"OnroadScreenOff", PERSISTENT | BACKUP}, {"OnroadScreenOffBrightness", PERSISTENT | BACKUP}, {"OnroadScreenOffEvent", PERSISTENT | BACKUP}, @@ -291,8 +294,11 @@ std::unordered_map keys = { {"OsmLocationUrl", PERSISTENT}, {"OsmWayTest", PERSISTENT}, {"OsmDownloadedDate", PERSISTENT}, + {"OvertakingAccelerationAssist", PERSISTENT}, {"PathOffset", PERSISTENT | BACKUP}, {"PauseLateralSpeed", PERSISTENT | BACKUP}, + {"PCMVCruiseOverride", PERSISTENT | BACKUP}, + {"PCMVCruiseOverrideSpeed", PERSISTENT | BACKUP}, {"QuietDrive", PERSISTENT | BACKUP}, {"RoadEdge", PERSISTENT | BACKUP}, {"ReverseAccChange", PERSISTENT | BACKUP}, @@ -317,6 +323,7 @@ std::unordered_map keys = { {"TermsVersionSunnypilot", PERSISTENT}, {"TorqueDeadzoneDeg", PERSISTENT | BACKUP}, {"TorqueFriction", PERSISTENT | BACKUP}, + {"TorqueLateralJerk", PERSISTENT | BACKUP}, {"TorqueMaxLatAccel", PERSISTENT | BACKUP}, {"TorquedOverride", PERSISTENT | BACKUP}, {"ToyotaAutoHold", PERSISTENT | BACKUP}, diff --git a/release/files_pc b/release/files_pc new file mode 100644 index 0000000000..f2bf090f2c --- /dev/null +++ b/release/files_pc @@ -0,0 +1,4 @@ +third_party/libyuv/x86_64/** +third_party/snpe/x86_64/** +third_party/snpe/x86_64-linux-clang/** +third_party/acados/x86_64/** diff --git a/release/files_tici b/release/files_tici new file mode 100644 index 0000000000..18860e20af --- /dev/null +++ b/release/files_tici @@ -0,0 +1,15 @@ +third_party/libyuv/larch64/** +third_party/snpe/larch64** +third_party/snpe/aarch64-ubuntu-gcc7.5/* +third_party/acados/larch64/** + +system/camerad/cameras/camera_qcom2.cc +system/camerad/cameras/camera_qcom2.h +system/camerad/cameras/camera_util.cc +system/camerad/cameras/camera_util.h +system/camerad/cameras/process_raw.cl + +system/qcomgpsd/* + +selfdrive/ui/qt/spinner_larch64 +selfdrive/ui/qt/text_larch64 diff --git a/selfdrive/car/__init__.py b/selfdrive/car/__init__.py index ba3805b01f..a772d9c16a 100644 --- a/selfdrive/car/__init__.py +++ b/selfdrive/car/__init__.py @@ -218,7 +218,7 @@ def create_gas_interceptor_command(packer, gas_amount, idx): values["GAS_COMMAND"] = gas_amount * 255. values["GAS_COMMAND2"] = gas_amount * 255. - dat = packer.make_can_msg("GAS_COMMAND", 0, values)[2] + dat = packer.make_can_msg("GAS_COMMAND", 0, values)[1] checksum = crc8_pedal(dat[:-1]) values["CHECKSUM_PEDAL"] = checksum diff --git a/selfdrive/car/ford/carcontroller.py b/selfdrive/car/ford/carcontroller.py index d090adf694..e9f59817c9 100644 --- a/selfdrive/car/ford/carcontroller.py +++ b/selfdrive/car/ford/carcontroller.py @@ -3,7 +3,7 @@ from opendbc.can.packer import CANPacker from openpilot.common.numpy_fast import clip from openpilot.selfdrive.car import apply_std_steer_angle_limits from openpilot.selfdrive.car.ford import fordcan -from openpilot.selfdrive.car.ford.values import CarControllerParams, FordFlags +from openpilot.selfdrive.car.ford.values import CarControllerParams, FordFlags, FordFlagsSP from openpilot.selfdrive.car.interfaces import CarControllerBase LongCtrlState = car.CarControl.Actuators.LongControlState @@ -35,6 +35,9 @@ class CarController(CarControllerBase): self.lkas_enabled_last = False self.steer_alert_last = False self.lead_distance_bars_last = None + self.path_angle = 0. + self.path_offset = 0. + self.curvature_rate = 0. def update(self, CC, CS, now_nanos): can_sends = [] @@ -74,7 +77,10 @@ class CarController(CarControllerBase): # TODO: extended mode mode = 1 if CC.latActive else 0 counter = (self.frame // CarControllerParams.STEER_STEP) % 0x10 - can_sends.append(fordcan.create_lat_ctl2_msg(self.packer, self.CAN, mode, 0., 0., -apply_curvature, 0., counter)) + if self.CP.spFlags & FordFlagsSP.SP_ENHANCED_LAT_CONTROL.value: + can_sends.append(fordcan.create_lat_ctl2_msg(self.packer, self.CAN, mode, self.path_offset, self.path_angle, -apply_curvature, self.curvature_rate, counter)) + else: + can_sends.append(fordcan.create_lat_ctl2_msg(self.packer, self.CAN, mode, 0., 0., -apply_curvature, 0., counter)) else: can_sends.append(fordcan.create_lat_ctl_msg(self.packer, self.CAN, CC.latActive, 0., 0., -apply_curvature, 0.)) diff --git a/selfdrive/car/ford/carstate.py b/selfdrive/car/ford/carstate.py index e52454f81d..3b841c5bf9 100644 --- a/selfdrive/car/ford/carstate.py +++ b/selfdrive/car/ford/carstate.py @@ -24,6 +24,7 @@ class CarState(CarStateBase): self.lkas_enabled = None self.prev_lkas_enabled = None + self.v_limit = 0 self.button_states = {button.event_type: False for button in BUTTONS} @@ -72,6 +73,10 @@ class CarState(CarStateBase): ret.cruiseState.nonAdaptive = cp.vl["Cluster_Info1_FD1"]["AccEnbl_B_RqDrv"] == 0 ret.cruiseState.standstill = cp.vl["EngBrakeData"]["AccStopMde_D_Rq"] == 3 ret.accFaulted = cp.vl["EngBrakeData"]["CcStat_D_Actl"] in (1, 2) + + if self.CP.flags & FordFlags.CANFD: + ret.cruiseState.speedLimit = self.update_traffic_signals(cp_cam) + if not self.CP.openpilotLongitudinalControl: ret.accFaulted = ret.accFaulted or cp_cam.vl["ACCDATA"]["CmbbDeny_B_Actl"] == 1 @@ -129,6 +134,16 @@ class CarState(CarStateBase): return ret + def update_traffic_signals(self, cp_cam): + # TODO: Check if CAN platforms have the same signals + if self.CP.flags & FordFlags.CANFD: + self.v_limit = cp_cam.vl["Traffic_RecognitnData"]["TsrVLim1MsgTxt_D_Rq"] + v_limit_unit = cp_cam.vl["Traffic_RecognitnData"]["TsrVlUnitMsgTxt_D_Rq"] + + speed_factor = CV.MPH_TO_MS if v_limit_unit == 2 else CV.KPH_TO_MS if v_limit_unit == 1 else 0 + + return self.v_limit * speed_factor if self.v_limit not in (0, 255) else 0 + @staticmethod def get_can_parser(CP): messages = [ @@ -185,6 +200,11 @@ class CarState(CarStateBase): ("IPMA_Data", 1), ] + if CP.flags & FordFlags.CANFD: + messages += [ + ("Traffic_RecognitnData", 1), + ] + if CP.enableBsm and CP.flags & FordFlags.CANFD: messages += [ ("Side_Detect_L_Stat", 5), diff --git a/selfdrive/car/ford/interface.py b/selfdrive/car/ford/interface.py index a3bbd7ecf5..5461590679 100644 --- a/selfdrive/car/ford/interface.py +++ b/selfdrive/car/ford/interface.py @@ -3,7 +3,8 @@ from panda import Panda from openpilot.common.conversions import Conversions as CV from openpilot.selfdrive.car import create_button_events, get_safety_config from openpilot.selfdrive.car.ford.fordcan import CanBus -from openpilot.selfdrive.car.ford.values import Ecu, FordFlags +from openpilot.common.params import Params +from openpilot.selfdrive.car.ford.values import Ecu, FordFlags, FordFlagsSP from openpilot.selfdrive.car.interfaces import CarInterfaceBase ButtonType = car.CarState.ButtonEvent.Type @@ -18,13 +19,15 @@ class CarInterface(CarInterfaceBase): @staticmethod def _get_params(ret, candidate, fingerprint, car_fw, experimental_long, docs): ret.carName = "ford" - ret.dashcamOnly = bool(ret.flags & FordFlags.CANFD) ret.radarUnavailable = True ret.steerControlType = car.CarParams.SteerControlType.angle ret.steerActuatorDelay = 0.2 ret.steerLimitTimer = 1.0 + if Params().get("DongleId", encoding='utf8') in ("4fde83db16dc0802", "112e4d6e0cad05e1", "e36b272d5679115f", "24574459dd7fb3e0", "83a4e056c7072678"): + ret.spFlags |= FordFlagsSP.SP_ENHANCED_LAT_CONTROL.value + CAN = CanBus(fingerprint=fingerprint) cfgs = [get_safety_config(car.CarParams.SafetyModel.ford)] if CAN.main >= 4: @@ -51,6 +54,13 @@ class CarInterface(CarInterfaceBase): if config_tja != 0xFF or config_lca != 0xFF: ret.dashcamOnly = True + if ret.spFlags & FordFlagsSP.SP_ENHANCED_LAT_CONTROL: + ret.safetyConfigs[-1].safetyParam |= Panda.FLAG_FORD_ENHANCED_LAT_CONTROL + + ret.longitudinalTuning.kpBP = [0.] + ret.longitudinalTuning.kpV = [0.5] + ret.longitudinalTuning.kiV = [0.] + # Auto Transmission: 0x732 ECU or Gear_Shift_by_Wire_FD1 found_ecus = [fw.ecu for fw in car_fw] if Ecu.shiftByWire in found_ecus or 0x5A in fingerprint[CAN.main] or docs: diff --git a/selfdrive/car/ford/radar_interface.py b/selfdrive/car/ford/radar_interface.py index 209bbebae3..7218fc54b6 100644 --- a/selfdrive/car/ford/radar_interface.py +++ b/selfdrive/car/ford/radar_interface.py @@ -11,6 +11,7 @@ DELPHI_ESR_RADAR_MSGS = list(range(0x500, 0x540)) DELPHI_MRR_RADAR_START_ADDR = 0x120 DELPHI_MRR_RADAR_MSG_COUNT = 64 +STEER_ASSIST_DATA_MSGS = 0x3d7 def _create_delphi_esr_radar_can_parser(CP) -> CANParser: msg_n = len(DELPHI_ESR_RADAR_MSGS) @@ -28,6 +29,9 @@ def _create_delphi_mrr_radar_can_parser(CP) -> CANParser: return CANParser(RADAR.DELPHI_MRR, messages, CanBus(CP).radar) +def _create_steer_assist_data(CP) -> CANParser: + messages = [("Steer_Assist_Data", 20)] + return CANParser(RADAR.STEER_ASSIST_DATA, messages, CanBus(CP).camera) class RadarInterface(RadarInterfaceBase): def __init__(self, CP): @@ -45,6 +49,10 @@ class RadarInterface(RadarInterfaceBase): elif self.radar == RADAR.DELPHI_MRR: self.rcp = _create_delphi_mrr_radar_can_parser(CP) self.trigger_msg = DELPHI_MRR_RADAR_START_ADDR + DELPHI_MRR_RADAR_MSG_COUNT - 1 + elif self.radar == RADAR.STEER_ASSIST_DATA: + self.rcp = _create_steer_assist_data(CP) + self.trigger_msg = STEER_ASSIST_DATA_MSGS + else: raise ValueError(f"Unsupported radar: {self.radar}") @@ -68,11 +76,67 @@ class RadarInterface(RadarInterfaceBase): self._update_delphi_esr() elif self.radar == RADAR.DELPHI_MRR: self._update_delphi_mrr() + elif self.radar == RADAR.STEER_ASSIST_DATA: + self._update_steer_assist_data() ret.points = list(self.pts.values()) self.updated_messages.clear() return ret + def _update_steer_assist_data(self): + msg = self.rcp.vl["Steer_Assist_Data"] + updated_msg = self.updated_messages + + dRel = msg['CmbbObjDistLong_L_Actl'] + confidence = msg['CmbbObjConfdnc_D_Stat'] + new_track = False + + # if dRel < 1022: + if confidence > 0: + if 0 not in self.pts: + self.pts[0] = car.RadarData.RadarPoint.new_message() + self.pts[0].trackId = self.track_id + self.vRelCol[0] = collections.deque(maxlen=20) + self.track_id += 1 + new_track = True + + yRel = msg['CmbbObjDistLat_L_Actl'] + vRel = msg['CmbbObjRelLong_V_Actl'] + yvRel = msg['CmbbObjRelLat_V_Actl'] + calc = 0 + if not new_track: + # if this is a newly created track - we don't have historical data so skip it + # if we are on the same track + # Let's see if we are moving: + # positive gap - lead is moving faster than us + # negative gap - lead is moving slower than us + dDiff = dRel - self.pts[0].dRel + if (abs(vRel) < 1.0e-2): + self.vRelCol[0].append(dDiff) + vRel = sum(self.vRelCol[0]) + calc = 1 + else: + if len(self.vRelCol[0]) > 0: + self.vRelCol[0].clear() + + if abs(self.pts[0].vRel - vRel) > 2 or abs(self.pts[0].dRel - dRel) > 5: + self.pts[0].trackId = self.track_id + if len(self.vRelCol[0]) > 0: + self.vRelCol[0].clear() + self.track_id += 1 + + self.pts[0].dRel = dRel # from front of car + self.pts[0].yRel = yRel # in car frame's y axis, left is positive + self.pts[0].vRel = vRel + self.pts[0].aRel = float('nan') + self.pts[0].yvRel = yvRel + self.pts[0].measured = True + else: + if 0 in self.pts: + del self.pts[0] + del self.vRelCol[0] + + def _update_delphi_esr(self): for ii in sorted(self.updated_messages): cpt = self.rcp.vl[ii] diff --git a/selfdrive/car/ford/values.py b/selfdrive/car/ford/values.py index 04bd592e22..7af6ec607f 100644 --- a/selfdrive/car/ford/values.py +++ b/selfdrive/car/ford/values.py @@ -48,9 +48,14 @@ class FordFlags(IntFlag): CANFD = 1 +class FordFlagsSP(IntFlag): + SP_ENHANCED_LAT_CONTROL = 1 + + class RADAR: DELPHI_ESR = 'ford_fusion_2018_adas' DELPHI_MRR = 'FORD_CADS' + STEER_ASSIST_DATA = 'ford_lincoln_base_pt' class Footnote(Enum): @@ -91,7 +96,7 @@ class FordPlatformConfig(PlatformConfig): @dataclass class FordCANFDPlatformConfig(FordPlatformConfig): - dbc_dict: DbcDict = field(default_factory=lambda: dbc_dict('ford_lincoln_base_pt', None)) + dbc_dict: DbcDict = field(default_factory=lambda: dbc_dict('ford_lincoln_base_pt', RADAR.STEER_ASSIST_DATA)) def init(self): super().init() diff --git a/selfdrive/car/gm/carcontroller.py b/selfdrive/car/gm/carcontroller.py index 350b9a7d9b..7b02e2500f 100644 --- a/selfdrive/car/gm/carcontroller.py +++ b/selfdrive/car/gm/carcontroller.py @@ -1,4 +1,6 @@ from cereal import car +import cereal.messaging as messaging +from openpilot.common.params import Params from openpilot.common.conversions import Conversions as CV from openpilot.common.numpy_fast import interp from opendbc.can.packer import CANPacker @@ -6,6 +8,7 @@ from openpilot.selfdrive.car import DT_CTRL, apply_driver_steer_torque_limits from openpilot.selfdrive.car.gm import gmcan from openpilot.selfdrive.car.gm.values import DBC, CanBus, CarControllerParams, CruiseButtons from openpilot.selfdrive.car.interfaces import CarControllerBase +from selfdrive.controls.lib.drive_helpers import GM_V_CRUISE_MIN VisualAlert = car.CarControl.HUDControl.VisualAlert NetworkLocation = car.CarParams.NetworkLocation @@ -37,6 +40,36 @@ class CarController(CarControllerBase): self.packer_obj = CANPacker(DBC[self.CP.carFingerprint]['radar']) self.packer_ch = CANPacker(DBC[self.CP.carFingerprint]['chassis']) + self.sm = messaging.SubMaster(['longitudinalPlanSP']) + self.param_s = Params() + self.is_metric = self.param_s.get_bool("IsMetric") + self.speed_limit_control_enabled = False + self.last_speed_limit_sign_tap = False + self.last_speed_limit_sign_tap_prev = False + self.speed_limit = 0. + self.speed_limit_offset = 0 + self.timer = 0 + self.final_speed_kph = 0 + self.init_speed = 0 + self.current_speed = 0 + self.v_set_dis = 0 + self.v_cruise_min = 0 + self.button_type = 0 + self.button_select = 0 + self.button_count = 0 + self.target_speed = 0 + self.t_interval = 7 + self.slc_active_stock = False + self.sl_force_active_timer = 0 + self.v_tsc_state = 0 + self.slc_state = 0 + self.m_tsc_state = 0 + self.cruise_button = None + self.speed_diff = 0 + self.v_tsc = 0 + self.m_tsc = 0 + self.steady_speed = 0 + def update(self, CC, CS, now_nanos): actuators = CC.actuators hud_control = CC.hudControl @@ -45,9 +78,40 @@ class CarController(CarControllerBase): if hud_v_cruise > 70: hud_v_cruise = 0 + if not self.CP.pcmCruiseSpeed: + self.sm.update(0) + + if self.sm.updated['longitudinalPlanSP']: + self.v_tsc_state = self.sm['longitudinalPlanSP'].visionTurnControllerState + self.slc_state = self.sm['longitudinalPlanSP'].speedLimitControlState + self.m_tsc_state = self.sm['longitudinalPlanSP'].turnSpeedControlState + self.speed_limit = self.sm['longitudinalPlanSP'].speedLimit + self.speed_limit_offset = self.sm['longitudinalPlanSP'].speedLimitOffset + self.v_tsc = self.sm['longitudinalPlanSP'].visionTurnSpeed + self.m_tsc = self.sm['longitudinalPlanSP'].turnSpeed + + if self.frame % 200 == 0: + self.speed_limit_control_enabled = self.param_s.get_bool("EnableSlc") + self.is_metric = self.param_s.get_bool("IsMetric") + self.last_speed_limit_sign_tap = self.param_s.get_bool("LastSpeedLimitSignTap") + self.v_cruise_min = GM_V_CRUISE_MIN[self.is_metric] * (CV.KPH_TO_MPH if not self.is_metric else 1) + # Send CAN commands. can_sends = [] + if not self.CP.pcmCruiseSpeed: + if not self.last_speed_limit_sign_tap_prev and self.last_speed_limit_sign_tap: + self.sl_force_active_timer = self.frame + self.param_s.put_bool_nonblocking("LastSpeedLimitSignTap", False) + self.last_speed_limit_sign_tap_prev = self.last_speed_limit_sign_tap + + sl_force_active = self.speed_limit_control_enabled and (self.frame < (self.sl_force_active_timer * DT_CTRL + 2.0)) + sl_inactive = not sl_force_active and (not self.speed_limit_control_enabled or (True if self.slc_state == 0 else False)) + sl_temp_inactive = not sl_force_active and (self.speed_limit_control_enabled and (True if self.slc_state == 1 else False)) + slc_active = not sl_inactive and not sl_temp_inactive + + self.slc_active_stock = slc_active + # Steering (Active: 50Hz, inactive: 10Hz) steer_step = self.params.STEER_STEP if CC.latActive else self.params.INACTIVE_STEER_STEP @@ -148,6 +212,15 @@ class CarController(CarControllerBase): self.last_button_frame = self.frame can_sends.append(gmcan.create_buttons(self.packer_pt, CanBus.CAMERA, CS.buttons_counter, CruiseButtons.CANCEL)) + if not (CC.cruiseControl.cancel or CC.cruiseControl.resume) and not self.CP.pcmCruiseSpeed and CS.out.cruiseState.enabled: + self.cruise_button = self.get_cruise_buttons(CS, CC.vCruise) + if self.cruise_button is not None: + send_freq = 1 + if not (self.v_tsc_state != 0 or self.m_tsc_state > 1) and abs(self.target_speed - self.v_set_dis) <= 2: + send_freq = 3 + if self.frame % 12 < 6: # thanks to mochi86420 for the magic numbers + can_sends.extend([gmcan.create_buttons(self.packer_pt, CanBus.CAMERA, (CS.buttons_counter + 2) % 4, self.cruise_button)] * 3) + if self.CP.networkLocation == NetworkLocation.fwdCamera: # Silence "Take Steering" alert sent by camera, forward PSCMStatus with HandsOffSWlDetectionStatus=1 if self.frame % 10 == 0: @@ -161,3 +234,120 @@ class CarController(CarControllerBase): self.frame += 1 return new_actuators, can_sends + + # multikyd methods, sunnyhaibin logic + def get_cruise_buttons_status(self, CS): + if not CS.out.cruiseState.enabled or CS.cruise_buttons != CruiseButtons.UNPRESS: + self.timer = 40 + elif self.timer: + self.timer -= 1 + else: + return 1 + return 0 + + def get_target_speed(self, v_cruise_kph_prev): + v_cruise_kph = v_cruise_kph_prev + if self.slc_state > 1: + v_cruise_kph = (self.speed_limit + self.speed_limit_offset) * CV.MS_TO_KPH + if not self.slc_active_stock: + v_cruise_kph = v_cruise_kph_prev + return v_cruise_kph + + def get_button_type(self, button_type): + self.type_status = "type_" + str(button_type) + self.button_picker = getattr(self, self.type_status, lambda: "default") + return self.button_picker() + + def reset_button(self): + if self.button_type != 3: + self.button_type = 0 + + def type_default(self): + self.button_type = 0 + return None + + def type_0(self): + self.button_count = 0 + self.target_speed = self.init_speed + self.speed_diff = self.target_speed - self.v_set_dis + if self.target_speed > self.v_set_dis: + self.button_type = 1 + elif self.target_speed < self.v_set_dis and self.v_set_dis > self.v_cruise_min: + self.button_type = 2 + return None + + def type_1(self): + cruise_button = CruiseButtons.RES_ACCEL + self.button_count += 1 + if self.target_speed <= self.v_set_dis: + self.button_count = 0 + self.button_type = 3 + elif self.button_count > 5: + self.button_count = 0 + self.button_type = 3 + return cruise_button + + def type_2(self): + cruise_button = CruiseButtons.DECEL_SET + self.button_count += 1 + if self.target_speed >= self.v_set_dis or self.v_set_dis <= self.v_cruise_min: + self.button_count = 0 + self.button_type = 3 + elif self.button_count > 5: + self.button_count = 0 + self.button_type = 3 + return cruise_button + + def type_3(self): + cruise_button = CruiseButtons.UNPRESS + self.button_count += 1 + if self.button_count > self.t_interval: + self.button_type = 0 + return cruise_button + + def get_curve_speed(self, target_speed_kph, v_cruise_kph_prev): + if self.v_tsc_state != 0: + vision_v_cruise_kph = self.v_tsc * CV.MS_TO_KPH + if int(vision_v_cruise_kph) == int(v_cruise_kph_prev): + vision_v_cruise_kph = 255 + else: + vision_v_cruise_kph = 255 + if self.m_tsc_state > 1: + map_v_cruise_kph = self.m_tsc * CV.MS_TO_KPH + if int(map_v_cruise_kph) == 0.0: + map_v_cruise_kph = 255 + else: + map_v_cruise_kph = 255 + curve_speed = self.curve_speed_hysteresis(min(vision_v_cruise_kph, map_v_cruise_kph) + 2 * CV.MPH_TO_KPH) + return min(target_speed_kph, curve_speed) + + def get_button_control(self, CS, final_speed, v_cruise_kph_prev): + self.init_speed = round(min(final_speed, v_cruise_kph_prev) * (CV.KPH_TO_MPH if not self.is_metric else 1)) + self.v_set_dis = round(CS.out.cruiseState.speed * (CV.MS_TO_MPH if not self.is_metric else CV.MS_TO_KPH)) + cruise_button = self.get_button_type(self.button_type) + return cruise_button + + def curve_speed_hysteresis(self, cur_speed: float, hyst=(0.75 * CV.MPH_TO_KPH)): + if cur_speed > self.steady_speed: + self.steady_speed = cur_speed + elif cur_speed < self.steady_speed - hyst: + self.steady_speed = cur_speed + return self.steady_speed + + def get_cruise_buttons(self, CS, v_cruise_kph_prev): + cruise_button = None + if not self.get_cruise_buttons_status(CS): + pass + elif CS.out.cruiseState.enabled: + set_speed_kph = self.get_target_speed(v_cruise_kph_prev) + if self.slc_state > 1: + target_speed_kph = set_speed_kph + else: + target_speed_kph = min(v_cruise_kph_prev, set_speed_kph) + if self.v_tsc_state != 0 or self.m_tsc_state > 1: + self.final_speed_kph = self.get_curve_speed(target_speed_kph, v_cruise_kph_prev) + else: + self.final_speed_kph = target_speed_kph + + cruise_button = self.get_button_control(CS, self.final_speed_kph, v_cruise_kph_prev) # MPH/KPH based button presses + return cruise_button diff --git a/selfdrive/car/gm/interface.py b/selfdrive/car/gm/interface.py index 6ca796755e..35e4654597 100755 --- a/selfdrive/car/gm/interface.py +++ b/selfdrive/car/gm/interface.py @@ -119,6 +119,7 @@ class CarInterface(CarInterfaceBase): ret.pcmCruise = False ret.openpilotLongitudinalControl = True ret.safetyConfigs[0].safetyParam |= Panda.FLAG_GM_HW_CAM_LONG + ret.customStockLongAvailable = True else: # ASCM, OBD-II harness ret.openpilotLongitudinalControl = True @@ -240,7 +241,7 @@ class CarInterface(CarInterfaceBase): else: self.CS.madsEnabled = False - if not self.CP.pcmCruise or (self.CP.pcmCruise and self.CP.minEnableSpeed > 0): + if not self.CP.pcmCruise or (self.CP.pcmCruise and self.CP.minEnableSpeed > 0) or not self.CP.pcmCruiseSpeed: if any(b.type == ButtonType.cancel for b in self.CS.button_events): self.CS.madsEnabled, self.CS.accEnabled = self.get_sp_cancel_cruise_state(self.CS.madsEnabled) if self.get_sp_pedal_disengage(ret): @@ -281,6 +282,10 @@ class CarInterface(CarInterfaceBase): if ret.vEgo < self.CP.minSteerSpeed and self.CS.madsEnabled: events.add(EventName.belowSteerSpeed) + ret.customStockLong = self.CS.update_custom_stock_long(self.CC.cruise_button, self.CC.final_speed_kph, + self.CC.target_speed, self.CC.v_set_dis, + self.CC.speed_diff, self.CC.button_type) + ret.events = events.to_msg() return ret diff --git a/selfdrive/car/hyundai/carcontroller.py b/selfdrive/car/hyundai/carcontroller.py index d1c2a8e42d..849f2fced3 100644 --- a/selfdrive/car/hyundai/carcontroller.py +++ b/selfdrive/car/hyundai/carcontroller.py @@ -62,7 +62,7 @@ class CarController(CarControllerBase): self.lat_disengage_init = False self.lat_active_last = False - sub_services = ['longitudinalPlanSP'] + sub_services = ['longitudinalPlan', 'longitudinalPlanSP'] if CP.openpilotLongitudinalControl: sub_services.append('radarState') # TODO: Always true, prep for future conditional refactoring @@ -94,7 +94,10 @@ class CarController(CarControllerBase): self.v_tsc = 0 self.m_tsc = 0 self.steady_speed = 0 + self.speeds = 0 + self.v_target_plan = 0 self.hkg_can_smooth_stop = self.param_s.get_bool("HkgSmoothStop") + self.custom_stock_planner_speed = self.param_s.get_bool("CustomStockLongPlanner") self.lead_distance = 0 self.jerk = 0.0 @@ -126,6 +129,10 @@ class CarController(CarControllerBase): self.sm.update(0) if not self.CP.pcmCruiseSpeed: + if self.sm.updated['longitudinalPlan']: + _speeds = self.sm['longitudinalPlan'].speeds + self.speeds = _speeds[-1] if len(_speeds) else 0 + if self.sm.updated['longitudinalPlanSP']: self.v_tsc_state = self.sm['longitudinalPlanSP'].visionTurnControllerState self.slc_state = self.sm['longitudinalPlanSP'].speedLimitControlState @@ -135,14 +142,21 @@ class CarController(CarControllerBase): self.v_tsc = self.sm['longitudinalPlanSP'].visionTurnSpeed self.m_tsc = self.sm['longitudinalPlanSP'].turnSpeed + if self.frame % 200 == 0: + self.custom_stock_planner_speed = self.param_s.get_bool("CustomStockLongPlanner") self.v_cruise_min = HYUNDAI_V_CRUISE_MIN[CS.params_list.is_metric] * (CV.KPH_TO_MPH if not CS.params_list.is_metric else 1) + self.v_target_plan = min(CC.vCruise * CV.KPH_TO_MS, self.speeds) actuators = CC.actuators hud_control = CC.hudControl # steering torque + if self.CP.spFlags & HyundaiFlagsSP.SP_UPSTREAM_TACO.value: + self.params = CarControllerParams(self.CP, CS.out.vEgoRaw) new_steer = int(round(actuators.steer * self.params.STEER_MAX)) apply_steer = apply_driver_steer_torque_limits(new_steer, self.apply_steer_last, CS.out.steeringTorque, self.params) + if self.CP.spFlags & HyundaiFlagsSP.SP_UPSTREAM_TACO.value: + apply_steer = clip(apply_steer, -self.params.STEER_MAX, self.params.STEER_MAX) # >90 degree steering fault prevention self.angle_limit_counter, apply_steer_req = common_fault_avoidance(abs(CS.out.steeringAngleDeg) >= MAX_ANGLE, CC.latActive, @@ -203,7 +217,7 @@ class CarController(CarControllerBase): if self.frame % 100 == 0 and not ((self.CP.flags & HyundaiFlags.CANFD_CAMERA_SCC.value) or escc) and \ self.CP.carFingerprint not in CAMERA_SCC_CAR and self.CP.openpilotLongitudinalControl: # for longitudinal control, either radar or ADAS driving ECU - addr, bus = 0x7d0, 0 + addr, bus = 0x7d0, self.CAN.ECAN if self.CP.carFingerprint in CANFD_CAR else 0 if self.CP.flags & HyundaiFlags.CANFD_HDA2.value: addr, bus = 0x730, self.CAN.ECAN can_sends.append(make_tester_present_msg(addr, bus, suppress_response=True)) @@ -241,6 +255,8 @@ class CarController(CarControllerBase): if self.CP.openpilotLongitudinalControl: if hda2: can_sends.extend(hyundaicanfd.create_adrv_messages(self.packer, self.CAN, self.frame)) + else: + can_sends.extend(hyundaicanfd.create_fca_warning_light(self.packer, self.CAN, self.frame)) if self.frame % 2 == 0: can_sends.append(hyundaicanfd.create_acc_control(self.packer, self.CAN, CS, CC.enabled and CS.out.cruiseState.enabled, self.accel_last, accel, stopping, CC.cruiseControl.override, set_speed_in_units, hud_control, self.jerk_u, self.jerk_l)) @@ -463,6 +479,8 @@ class CarController(CarControllerBase): target_speed_kph = set_speed_kph else: target_speed_kph = min(v_cruise_kph_prev, set_speed_kph) + if self.custom_stock_planner_speed: + target_speed_kph = self.curve_speed_hysteresis(self.v_target_plan * CV.MS_TO_KPH) if self.v_tsc_state != 0 or self.m_tsc_state > 1: self.final_speed_kph = self.get_curve_speed(target_speed_kph, v_cruise_kph_prev) else: diff --git a/selfdrive/car/hyundai/fingerprints.py b/selfdrive/car/hyundai/fingerprints.py index 05b916daf9..749fbadc65 100644 --- a/selfdrive/car/hyundai/fingerprints.py +++ b/selfdrive/car/hyundai/fingerprints.py @@ -1171,6 +1171,17 @@ FW_VERSIONS = { b'\xf1\x006T6J0_C2\x00\x006T6K1051\x00\x00TOS4N20NS2\x00\x00\x00\x00', ], }, + CAR.HYUNDAI_KONA_EV_NON_SCC: { + (Ecu.abs, 0x7d1, None): [ + b'\xf1\x00OS IEB \x02 212 \x11\x13 58520-K4000', + ], + (Ecu.eps, 0x7d4, None): [ + b'\xf1\x00OS MDPS C 1.00 1.04 56310K4000\x00 4OEDC104', + ], + (Ecu.fwdCamera, 0x7c4, None): [ + b'\xf1\x00OSE LKAS AT USA LHD 1.00 1.00 95740-K4100 W40', + ], + }, CAR.KIA_CEED_PHEV_2022_NON_SCC: { (Ecu.eps, 0x7D4, None): [ b'\xf1\x00CD MDPS C 1.00 1.01 56310-XX000 4CPHC101', diff --git a/selfdrive/car/hyundai/hyundaicanfd.py b/selfdrive/car/hyundai/hyundaicanfd.py index e32e462f1b..69ea0c6317 100644 --- a/selfdrive/car/hyundai/hyundaicanfd.py +++ b/selfdrive/car/hyundai/hyundaicanfd.py @@ -172,6 +172,20 @@ def create_spas_messages(packer, CAN, frame, left_blink, right_blink): return ret +def create_fca_warning_light(packer, CAN, frame): + ret = [] + if frame % 2 == 0: + values = { + 'AEB_SETTING': 0x1, # show AEB disabled icon + 'SET_ME_2': 0x2, + 'SET_ME_FF': 0xff, + 'SET_ME_FC': 0xfc, + 'SET_ME_9': 0x9, + } + ret.append(packer.make_can_msg("ADRV_0x160", CAN.ECAN, values)) + return ret + + def create_adrv_messages(packer, CAN, frame): # messages needed to car happy after disabling # the ADAS Driving ECU to do longitudinal control @@ -182,15 +196,7 @@ def create_adrv_messages(packer, CAN, frame): } ret.append(packer.make_can_msg("ADRV_0x51", CAN.ACAN, values)) - if frame % 2 == 0: - values = { - 'AEB_SETTING': 0x1, # show AEB disabled icon - 'SET_ME_2': 0x2, - 'SET_ME_FF': 0xff, - 'SET_ME_FC': 0xfc, - 'SET_ME_9': 0x9, - } - ret.append(packer.make_can_msg("ADRV_0x160", CAN.ECAN, values)) + ret.extend(create_fca_warning_light(packer, CAN, frame)) if frame % 5 == 0: values = { diff --git a/selfdrive/car/hyundai/interface.py b/selfdrive/car/hyundai/interface.py index 20dace7228..1ac7e8cf03 100644 --- a/selfdrive/car/hyundai/interface.py +++ b/selfdrive/car/hyundai/interface.py @@ -91,7 +91,7 @@ class CarInterface(CarInterfaceBase): # *** longitudinal control *** if candidate in CANFD_CAR: - ret.experimentalLongitudinalAvailable = candidate not in (CANFD_UNSUPPORTED_LONGITUDINAL_CAR | CANFD_RADAR_SCC_CAR | NON_SCC_CAR) + ret.experimentalLongitudinalAvailable = candidate not in (CANFD_UNSUPPORTED_LONGITUDINAL_CAR | NON_SCC_CAR) if ret.flags & HyundaiFlags.CANFD_CAMERA_SCC and not hda2: ret.spFlags |= HyundaiFlagsSP.SP_CAMERA_SCC_LEAD.value else: @@ -102,12 +102,16 @@ class CarInterface(CarInterfaceBase): ret.pcmCruise = not ret.openpilotLongitudinalControl ret.stoppingControl = True - ret.startingState = True - ret.vEgoStarting = 0.1 - ret.startAccel = 1.6 + ret.vEgoStarting = 0.5 + ret.startAccel = 1.0 ret.stopAccel = -1.0 ret.longitudinalActuatorDelay = 0.5 + if ret.flags & (HyundaiFlags.HYBRID | HyundaiFlags.EV): + ret.startingState = False + else: + ret.startingState = True + if DBC[ret.carFingerprint]["radar"] is None: if ret.spFlags & (HyundaiFlagsSP.SP_ENHANCED_SCC | HyundaiFlagsSP.SP_CAMERA_SCC_LEAD): ret.radarUnavailable = False @@ -118,6 +122,8 @@ class CarInterface(CarInterfaceBase): if 0x1fa in fingerprint[CAN.ECAN]: ret.spFlags |= HyundaiFlagsSP.SP_NAV_MSG.value + if Params().get("DongleId", encoding='utf8') in ("012c95f06918eca4", "68d6a96e703c00c9", "11c1f1909ca37bca"): + ret.spFlags |= HyundaiFlagsSP.SP_UPSTREAM_TACO.value else: ret.enableBsm = 0x58b in fingerprint[0] @@ -143,6 +149,8 @@ class CarInterface(CarInterfaceBase): ret.safetyConfigs[-1].safetyParam |= Panda.FLAG_HYUNDAI_CANFD_ALT_BUTTONS if ret.flags & HyundaiFlags.CANFD_CAMERA_SCC: ret.safetyConfigs[-1].safetyParam |= Panda.FLAG_HYUNDAI_CAMERA_SCC + if ret.spFlags & HyundaiFlagsSP.SP_UPSTREAM_TACO: + ret.safetyConfigs[-1].safetyParam |= Panda.FLAG_HYUNDAI_UPSTREAM_TACO else: if candidate in LEGACY_SAFETY_MODE_CAR: # these cars require a special panda safety mode due to missing counters and checksums in the messages @@ -168,7 +176,8 @@ class CarInterface(CarInterfaceBase): elif ret.flags & HyundaiFlags.EV: ret.safetyConfigs[-1].safetyParam |= Panda.FLAG_HYUNDAI_EV_GAS - if candidate in (CAR.HYUNDAI_KONA, CAR.HYUNDAI_KONA_EV, CAR.HYUNDAI_KONA_HEV, CAR.HYUNDAI_KONA_EV_2022, CAR.HYUNDAI_KONA_NON_SCC): + if candidate in (CAR.HYUNDAI_KONA, CAR.HYUNDAI_KONA_EV, CAR.HYUNDAI_KONA_HEV, CAR.HYUNDAI_KONA_EV_2022, + CAR.HYUNDAI_KONA_NON_SCC, CAR.HYUNDAI_KONA_EV_NON_SCC): ret.flags |= HyundaiFlags.ALT_LIMITS.value ret.safetyConfigs[-1].safetyParam |= Panda.FLAG_HYUNDAI_ALT_LIMITS @@ -187,7 +196,7 @@ class CarInterface(CarInterfaceBase): def init(CP, logcan, sendcan): if CP.openpilotLongitudinalControl and not ((CP.flags & HyundaiFlags.CANFD_CAMERA_SCC.value) or (CP.spFlags & HyundaiFlagsSP.SP_ENHANCED_SCC)) and \ CP.carFingerprint not in CAMERA_SCC_CAR: - addr, bus = 0x7d0, 0 + addr, bus = 0x7d0, CanBus(CP).ECAN if CP.carFingerprint in CANFD_CAR else 0 if CP.flags & HyundaiFlags.CANFD_HDA2.value: addr, bus = 0x730, CanBus(CP).ECAN disable_ecu(logcan, sendcan, bus=bus, addr=addr, com_cont_req=b'\x28\x83\x01') @@ -203,6 +212,10 @@ class CarInterface(CarInterfaceBase): enable_radar_tracks(logcan, sendcan, bus=0, addr=0x7d0, config_data_id=b'\x01\x42') def _update(self, c): + if not self.CS.control_initialized: + can_cruise_main_default = self.CP.spFlags & HyundaiFlagsSP.SP_CAN_LFA_BTN and not self.CP.flags & HyundaiFlags.CANFD and self.CS.params_list.hyundai_cruise_main_default + self.CS.mainEnabled = True if can_cruise_main_default or self.CP.carFingerprint in CANFD_CAR else False + ret = self.CS.update(self.cp, self.cp_cam) self.CS.button_events = [ diff --git a/selfdrive/car/hyundai/values.py b/selfdrive/car/hyundai/values.py index 45ecb4c712..99f83ccade 100644 --- a/selfdrive/car/hyundai/values.py +++ b/selfdrive/car/hyundai/values.py @@ -3,7 +3,7 @@ from dataclasses import dataclass, field from enum import Enum, IntFlag from cereal import car -from panda.python import uds +from panda.python import uds, Panda from openpilot.common.conversions import Conversions as CV from openpilot.selfdrive.car import CarSpecs, DbcDict, PlatformConfig, Platforms, dbc_dict from openpilot.selfdrive.car.docs_definitions import CarFootnote, CarHarness, CarDocs, CarParts, Column @@ -16,7 +16,7 @@ class CarControllerParams: ACCEL_MIN = -3.5 # m/s ACCEL_MAX = 2.0 # m/s - def __init__(self, CP): + def __init__(self, CP, vEgoRaw=100.): self.STEER_DELTA_UP = 3 self.STEER_DELTA_DOWN = 7 self.STEER_DRIVER_ALLOWANCE = 50 @@ -26,12 +26,13 @@ class CarControllerParams: self.STEER_STEP = 1 # 100 Hz if CP.carFingerprint in CANFD_CAR: - self.STEER_MAX = 270 - self.STEER_DRIVER_ALLOWANCE = 250 + upstream_taco = CP.safetyConfigs[-1].safetyParam & Panda.FLAG_HYUNDAI_UPSTREAM_TACO + self.STEER_MAX = 270 if not upstream_taco else 384 if vEgoRaw < 11. else 330 + self.STEER_DRIVER_ALLOWANCE = 250 if not upstream_taco else 350 self.STEER_DRIVER_MULTIPLIER = 2 - self.STEER_THRESHOLD = 250 - self.STEER_DELTA_UP = 2 - self.STEER_DELTA_DOWN = 3 + self.STEER_THRESHOLD = 250 if not upstream_taco else 350 + self.STEER_DELTA_UP = 2 if not upstream_taco else 10 if vEgoRaw < 11. else 2 + self.STEER_DELTA_DOWN = 3 if not upstream_taco else 10 if vEgoRaw < 11. else 3 # To determine the limit for your car, find the maximum value that the stock LKAS will request. # If the max stock LKAS request is <384, add your car to this list. @@ -108,6 +109,7 @@ class HyundaiFlagsSP(IntFlag): SP_CAMERA_SCC_LEAD = 2 ** 6 SP_LKAS12 = 2 ** 7 SP_RADAR_TRACKS = 2 ** 8 + SP_UPSTREAM_TACO = 2 ** 9 class Footnote(Enum): @@ -574,6 +576,12 @@ class CAR(Platforms): HYUNDAI_KONA.specs, spFlags=HyundaiFlagsSP.SP_NON_SCC | HyundaiFlagsSP.SP_NON_SCC_FCA, ) + HYUNDAI_KONA_EV_NON_SCC = HyundaiPlatformConfig( + [HyundaiCarDocs("Hyundai Kona Electric Non-SCC 2019", "No Smart Cruise Control (SCC)", car_parts=CarParts.common([CarHarness.hyundai_g]))], + HYUNDAI_KONA.specs, + flags=HyundaiFlags.EV, + spFlags=HyundaiFlagsSP.SP_NON_SCC | HyundaiFlagsSP.SP_NON_SCC_FCA, + ) KIA_CEED_PHEV_2022_NON_SCC = HyundaiPlatformConfig( [HyundaiCarDocs("Kia Ceed PHEV Non-SCC 2022", "No Smart Cruise Control (SCC)", car_parts=CarParts.common([CarHarness.hyundai_i]))], CarSpecs(mass=1650, wheelbase=2.65, steerRatio=13.75, tireStiffnessFactor=0.5), diff --git a/selfdrive/car/interfaces.py b/selfdrive/car/interfaces.py index 25e8b40a72..aca6398701 100644 --- a/selfdrive/car/interfaces.py +++ b/selfdrive/car/interfaces.py @@ -408,7 +408,7 @@ class CarInterfaceBase(ABC): @staticmethod def sp_configure_custom_torque_tune(ret, params): - ret.lateralTuning.torque.friction = float(params.get("TorqueFriction", encoding="utf8")) * 0.01 + ret.lateralTuning.torque.friction = float(params.get("TorqueFriction", encoding="utf8")) * 0.001 ret.lateralTuning.torque.latAccelFactor = float(params.get("TorqueMaxLatAccel", encoding="utf8")) * 0.01 return ret diff --git a/selfdrive/car/param_manager.py b/selfdrive/car/param_manager.py index c7df87b9b7..6f393bd2d2 100644 --- a/selfdrive/car/param_manager.py +++ b/selfdrive/car/param_manager.py @@ -11,6 +11,7 @@ class ParamManager: "experimental_mode": False, "is_metric": False, "last_speed_limit_sign_tap": False, + "hyundai_cruise_main_default": False, "mads_main_toggle": False, "pause_lateral_speed": 0, "reverse_acc_change": False, @@ -37,6 +38,7 @@ class ParamManager: "experimental_mode": params.get_bool("ExperimentalMode"), "is_metric": params.get_bool("IsMetric"), "last_speed_limit_sign_tap": params.get_bool("LastSpeedLimitSignTap"), + "hyundai_cruise_main_default": params.get_bool("HyundaiCruiseMainDefault"), "mads_main_toggle": params.get_bool("MadsCruiseMain"), "pause_lateral_speed": int(params.get("PauseLateralSpeed", encoding="utf8")), "reverse_acc_change": params.get_bool("ReverseAccChange"), diff --git a/selfdrive/car/subaru/values.py b/selfdrive/car/subaru/values.py index d0112748ab..8d33a2d965 100644 --- a/selfdrive/car/subaru/values.py +++ b/selfdrive/car/subaru/values.py @@ -21,7 +21,7 @@ class CarControllerParams: self.STEER_DRIVER_FACTOR = 1 # from dbc if CP.flags & SubaruFlags.GLOBAL_GEN2: - self.STEER_MAX = 1000 + self.STEER_MAX = 1600 self.STEER_DELTA_UP = 40 self.STEER_DELTA_DOWN = 40 elif CP.carFingerprint == CAR.SUBARU_IMPREZA_2020: diff --git a/selfdrive/car/sunnypilot_carname.json b/selfdrive/car/sunnypilot_carname.json index 9a04ea9f1e..16ff623e23 100644 --- a/selfdrive/car/sunnypilot_carname.json +++ b/selfdrive/car/sunnypilot_carname.json @@ -29,6 +29,9 @@ "Ford Escape Plug-in Hybrid 2020-22": "FORD_ESCAPE_MK4", "Ford Explorer 2020-23": "FORD_EXPLORER_MK6", "Ford Explorer Hybrid 2020-23": "FORD_EXPLORER_MK6", + "Ford F-150 2022-23": "FORD_F_150_MK14", + "Ford F-150 Hybrid 2022-23": "FORD_F_150_MK14", + "Ford F-150 Lightning 2021-23": "FORD_F_150_LIGHTNING_MK1", "Ford Focus 2018": "FORD_FOCUS_MK4", "Ford Focus Hybrid 2018": "FORD_FOCUS_MK4", "Ford Kuga 2020-22": "FORD_ESCAPE_MK4", @@ -38,6 +41,8 @@ "Ford Maverick 2023-24": "FORD_MAVERICK_MK1", "Ford Maverick Hybrid 2022": "FORD_MAVERICK_MK1", "Ford Maverick Hybrid 2023-24": "FORD_MAVERICK_MK1", + "Ford Mustang Mach-E 2021-23": "FORD_MUSTANG_MACH_E_MK1", + "Ford Ranger 2024": "FORD_RANGER_MK2", "Genesis G70 2018": "GENESIS_G70", "Genesis G70 2019-21": "GENESIS_G70_2020", "Genesis G70 2022-23": "GENESIS_G70_2020", @@ -101,6 +106,7 @@ "Hyundai Kona Electric 2018-21": "HYUNDAI_KONA_EV", "Hyundai Kona Electric 2022-23": "HYUNDAI_KONA_EV_2022", "Hyundai Kona Electric (with HDA II, Korea only) 2023": "HYUNDAI_KONA_EV_2ND_GEN", + "Hyundai Kona Electric Non-SCC 2019": "HYUNDAI_KONA_EV_NON_SCC", "Hyundai Kona Hybrid 2020": "HYUNDAI_KONA_HEV", "Hyundai Kona Non-SCC 2019": "HYUNDAI_KONA_NON_SCC", "Hyundai Palisade 2020-22": "HYUNDAI_PALISADE", diff --git a/selfdrive/car/tests/routes.py b/selfdrive/car/tests/routes.py index 4cf32513c8..e8daec9077 100755 --- a/selfdrive/car/tests/routes.py +++ b/selfdrive/car/tests/routes.py @@ -17,7 +17,6 @@ from openpilot.selfdrive.car.body.values import CAR as COMMA # TODO: add routes for these cars non_tested_cars = [ - FORD.FORD_F_150_MK14, GM.CADILLAC_ATS, GM.HOLDEN_ASTRA, GM.CHEVROLET_MALIBU, @@ -54,6 +53,7 @@ routes = [ CarTestRoute("e886087f430e7fe7|2023-06-16--23-06-36", FORD.FORD_FOCUS_MK4), CarTestRoute("bd37e43731e5964b|2023-04-30--10-42-26", FORD.FORD_MAVERICK_MK1), CarTestRoute("112e4d6e0cad05e1|2023-11-14--08-21-43", FORD.FORD_F_150_LIGHTNING_MK1), + CarTestRoute("24574459dd7fb3e0|2023-11-06--06-23-44", FORD.FORD_F_150_MK14), CarTestRoute("83a4e056c7072678|2023-11-13--16-51-33", FORD.FORD_MUSTANG_MACH_E_MK1), CarTestRoute("37998aa0fade36ab/00000000--48f927c4f5", FORD.FORD_RANGER_MK2), #TestRoute("f1b4c567731f4a1b|2018-04-30--10-15-35", FORD.FUSION), diff --git a/selfdrive/car/torque_data/substitute.toml b/selfdrive/car/torque_data/substitute.toml index 921846667b..7fb8ec7f3f 100644 --- a/selfdrive/car/torque_data/substitute.toml +++ b/selfdrive/car/torque_data/substitute.toml @@ -86,6 +86,7 @@ legend = ["LAT_ACCEL_FACTOR", "MAX_LAT_ACCEL_MEASURED", "FRICTION"] "KIA_FORTE_2021_NON_SCC" = "HYUNDAI_SONATA" "KIA_SELTOS_2023_NON_SCC" = "HYUNDAI_SONATA" "HYUNDAI_KONA_NON_SCC" = "HYUNDAI_KONA_EV" +"HYUNDAI_KONA_EV_NON_SCC" = "HYUNDAI_KONA_EV" "HYUNDAI_ELANTRA_2022_NON_SCC" = "HYUNDAI_ELANTRA_2021" "GENESIS_G70_2021_NON_SCC" = "HYUNDAI_SONATA" "KIA_CEED_PHEV_2022_NON_SCC" = "HYUNDAI_SONATA" diff --git a/selfdrive/controls/controlsd.py b/selfdrive/controls/controlsd.py index 519fddaf6a..79d65ffc28 100755 --- a/selfdrive/controls/controlsd.py +++ b/selfdrive/controls/controlsd.py @@ -174,10 +174,13 @@ class Controls: self.live_torque = self.params.get_bool("LiveTorque") self.torqued_override = self.params.get_bool("TorquedOverride") + self.custom_stock_planner_speed = self.params.get_bool("CustomStockLongPlanner") self.enable_mads = self.params.get_bool("EnableMads") self.mads_disengage_lateral_on_brake = self.params.get_bool("DisengageLateralOnBrake") self.mads_ndlob = self.enable_mads and not self.mads_disengage_lateral_on_brake + self.pcm_v_cruise_override = self.params.get_bool("PCMVCruiseOverride") + self.pcm_v_cruise_override_speed = int(self.params.get("PCMVCruiseOverrideSpeed", encoding="utf-8")) self.process_not_running = False self.custom_model_metadata = CustomModelMetadata(params=self.params, init_only=True) @@ -185,6 +188,7 @@ class Controls: self.custom_model_metadata.capabilities & ModelCapabilities.LateralPlannerSolution self.dynamic_personality = self.params.get_bool("DynamicPersonality") + self.overtaking_accel = self.params.get_bool("OvertakingAccelerationAssist") self.accel_personality = self.read_accel_personality_param() @@ -489,7 +493,9 @@ class Controls: def state_transition(self, CS): """Compute conditional state transitions and execute actions on state transitions""" - self.v_cruise_helper.update_v_cruise(CS, self.enabled_long, self.is_metric, self.reverse_acc_change, self.sm['longitudinalPlanSP']) + # sp - PCM speed override + sp_override_speed = self.pcm_v_cruise_override_speed if self.pcm_v_cruise_override else False + self.v_cruise_helper.update_v_cruise(CS, self.enabled_long, self.is_metric, self.reverse_acc_change, sp_override_speed, self.sm['longitudinalPlanSP']) # decrement the soft disable timer at every step, as it's reset on # entrance in SOFT_DISABLING state @@ -638,9 +644,14 @@ class Controls: self.LoC.reset() if not self.joystick_mode: + speeds = long_plan.speeds + resume = False + if len(speeds): + resume = self.enabled_long and CS.standstill and speeds[-1] > 0.1 and self.CP.carName == "hyundai" + # accel PID loop pid_accel_limits = self.CI.get_pid_accel_limits(self.CP, CS.vEgo, self.v_cruise_helper.v_cruise_kph * CV.KPH_TO_MS) - actuators.accel = self.LoC.update(CC.longActive, CS, long_plan.aTarget, long_plan.shouldStop, pid_accel_limits) + actuators.accel = self.LoC.update(CC.longActive, CS, long_plan.aTarget, long_plan.shouldStop, pid_accel_limits, resume) # Steering PID loop and lateral MPC if self.model_use_lateral_planner: @@ -806,11 +817,21 @@ class Controls: # Curvature & Steering angle lp = self.sm['liveParameters'] - lp_mono_time_svs = 'lateralPlanDEPRECATED' if self.model_use_lateral_planner else 'modelV2' + dh = 'lateralPlanDEPRECATED' if self.model_use_lateral_planner else 'modelV2' steer_angle_without_offset = math.radians(CS.steeringAngleDeg - lp.angleOffsetDeg) curvature = -self.VM.calc_curvature(steer_angle_without_offset, CS.vEgo, lp.roll) + lc_svs = self.sm[dh] + long_plan = self.sm['longitudinalPlan'].hasLead + dm_state = self.sm['driverMonitoringState'] + overtaking_accel_allowed = ((lc_svs.laneChangeDirection == LaneChangeDirection.right and dm_state.isRHD) or + (lc_svs.laneChangeDirection == LaneChangeDirection.left and not dm_state.isRHD)) and \ + (lc_svs.laneChangeState in (LaneChangeState.preLaneChange, LaneChangeState.laneChangeStarting)) + overtaking_accel_engaged = self.overtaking_accel and overtaking_accel_allowed and \ + CS.vEgo > (60 * CV.KPH_TO_MS) if self.is_metric else (40 * CV.MPH_TO_MS) and long_plan.hasLead and \ + long_plan.aTarget > -0.2 and not (CS.leftBlinker and CS.rightBlinker) + # controlsState dat = messaging.new_message('controlsState') dat.valid = CS.canValid @@ -825,7 +846,7 @@ class Controls: controlsState.alertSound = current_alert.audible_alert controlsState.longitudinalPlanMonoTime = self.sm.logMonoTime['longitudinalPlan'] - controlsState.lateralPlanMonoTime = self.sm.logMonoTime[lp_mono_time_svs] + controlsState.lateralPlanMonoTime = self.sm.logMonoTime[dh] controlsState.enabled = not (CS.brakePressed and (not self.CS_prev.brakePressed or not CS.standstill)) and (self.enabled or CS.cruiseState.enabled) and CS.gearShifter not in [GearShifter.park, GearShifter.reverse] controlsState.active = not (CS.brakePressed and (not self.CS_prev.brakePressed or not CS.standstill)) and (self.active or CS.cruiseState.enabled) controlsState.curvature = curvature @@ -863,6 +884,7 @@ class Controls: controlsStateSP.personality = self.personality controlsStateSP.dynamicPersonality = self.dynamic_personality controlsStateSP.accelPersonality = self.accel_personality + controlsStateSP.overtakingAccelerationAssist = overtaking_accel_engaged if self.enable_nnff and lat_tuning == 'torque': controlsStateSP.lateralControlState.torqueState = self.LaC.pid_long_sp @@ -920,7 +942,8 @@ class Controls: def params_thread(self, evt): while not evt.is_set(): self.is_metric = self.params.get_bool("IsMetric") - self.experimental_mode = self.params.get_bool("ExperimentalMode") and self.CP.openpilotLongitudinalControl + self.experimental_mode = self.params.get_bool("ExperimentalMode") and (self.CP.openpilotLongitudinalControl or + (not self.CP.pcmCruiseSpeed and self.custom_stock_planner_speed)) self.personality = self.read_personality_param() self.dynamic_personality = self.params.get_bool("DynamicPersonality") self.accel_personality = self.read_accel_personality_param() @@ -929,9 +952,11 @@ class Controls: self.reverse_acc_change = self.params.get_bool("ReverseAccChange") self.dynamic_experimental_control = self.params.get_bool("DynamicExperimentalControl") + self.overtaking_accel = self.params.get_bool("OvertakingAccelerationAssist") if self.sm.frame % int(2.5 / DT_CTRL) == 0: self.live_torque = self.params.get_bool("LiveTorque") + self.custom_stock_planner_speed = self.params.get_bool("CustomStockLongPlanner") time.sleep(0.1) def controlsd_thread(self): diff --git a/selfdrive/controls/lib/drive_helpers.py b/selfdrive/controls/lib/drive_helpers.py index 2f191b4a55..3374347a3e 100644 --- a/selfdrive/controls/lib/drive_helpers.py +++ b/selfdrive/controls/lib/drive_helpers.py @@ -65,6 +65,10 @@ VOLKSWAGEN_V_CRUISE_MIN = { True: 30, False: int(20 * CV.MPH_TO_KPH), } +GM_V_CRUISE_MIN = { + True: 30, + False: int(20 * CV.MPH_TO_KPH), +} SpeedLimitControlState = custom.LongitudinalPlanSP.SpeedLimitControlState @@ -84,11 +88,16 @@ class VCruiseHelper: self.slc_state_prev = SpeedLimitControlState.inactive self.slc_speed_limit_offsetted = 0 + # sp: PCM speed override + self.sp_override_v_cruise_kph = V_CRUISE_UNSET + self.sp_override_cruise_speed_last = V_CRUISE_UNSET + self.sp_override_enabled_last = False + @property def v_cruise_initialized(self): return self.v_cruise_kph != V_CRUISE_UNSET - def update_v_cruise(self, CS, enabled, is_metric, reverse_acc, long_plan_sp): + def update_v_cruise(self, CS, enabled, is_metric, reverse_acc, sp_override_speed, long_plan_sp): self.v_cruise_kph_last = self.v_cruise_kph self.slc_state = long_plan_sp.speedLimitControlState @@ -103,9 +112,28 @@ class VCruiseHelper: self.v_cruise_cluster_kph = self.v_cruise_kph self.update_button_timers(CS, enabled) else: - self.v_cruise_kph = CS.cruiseState.speed * CV.MS_TO_KPH - self.v_cruise_cluster_kph = CS.cruiseState.speedCluster * CV.MS_TO_KPH + if enabled and sp_override_speed and CS.cruiseState.speed * CV.MS_TO_KPH < sp_override_speed: + if self.sp_override_v_cruise_kph == V_CRUISE_UNSET: + self.sp_override_v_cruise_kph = max(CS.vEgo * CV.MS_TO_KPH, V_CRUISE_MIN) + else: + self.sp_override_v_cruise_kph = V_CRUISE_UNSET + + # when we have an override_speed, use it + if self.sp_override_v_cruise_kph != V_CRUISE_UNSET: + self.v_cruise_kph = self.sp_override_v_cruise_kph + self.v_cruise_cluster_kph = self.sp_override_v_cruise_kph + else: + self.v_cruise_kph = CS.cruiseState.speed * CV.MS_TO_KPH + self.v_cruise_cluster_kph = CS.cruiseState.speedCluster * CV.MS_TO_KPH + + #print("sp_override_v_cruise_kph:", self.sp_override_v_cruise_kph) + #print("v_cruise_kph:", self.v_cruise_kph) + #print("v_cruise_cluster_kph:", self.v_cruise_cluster_kph) + + self.sp_override_cruise_speed_last = CS.cruiseState.speed + self.sp_override_enabled_last = enabled else: + self.sp_override_v_cruise_kph = V_CRUISE_UNSET self.v_cruise_kph = V_CRUISE_UNSET self.v_cruise_cluster_kph = V_CRUISE_UNSET @@ -202,6 +230,8 @@ class VCruiseHelper: initial = MAZDA_V_CRUISE_MIN[is_metric] elif self.CP.carName == "volkswagen": initial = VOLKSWAGEN_V_CRUISE_MIN[is_metric] + elif self.CP.carName == "gm": + initial = GM_V_CRUISE_MIN[is_metric] # 250kph or above probably means we never had a set speed if any(b.type in resume_buttons for b in CS.buttonEvents) and self.v_cruise_kph_last < 250: @@ -234,6 +264,8 @@ class VCruiseHelper: self.v_cruise_min = MAZDA_V_CRUISE_MIN[is_metric] elif self.CP.carName == "volkswagen": self.v_cruise_min = VOLKSWAGEN_V_CRUISE_MIN[is_metric] + elif self.CP.carName == "gm": + self.v_cruise_min = GM_V_CRUISE_MIN[is_metric] self.is_metric_prev = is_metric diff --git a/selfdrive/controls/lib/latcontrol_torque.py b/selfdrive/controls/lib/latcontrol_torque.py index d4763f6c1d..d4594a6a81 100644 --- a/selfdrive/controls/lib/latcontrol_torque.py +++ b/selfdrive/controls/lib/latcontrol_torque.py @@ -83,7 +83,8 @@ class LatControlTorque(LatControl): self.torqued_override = self.param_s.get_bool("TorquedOverride") self._frame = 0 - self.use_lateral_jerk = False # TODO: make this a parameter in the UI + self.use_lateral_jerk = self.param_s.get_bool("TorqueLateralJerk") # TODO: make this a parameter in the UI + self.nnff_no_lateral_jerk = self.param_s.get_bool("NNFFNoLateralJerk") # TODO: make this a parameter in the UI # Twilsonco's Lateral Neural Network Feedforward self.use_nn = CI.has_lateral_torque_nn @@ -140,11 +141,13 @@ class LatControlTorque(LatControl): if self._frame % 250 == 0: self._frame = 0 self.torqued_override = self.param_s.get_bool("TorquedOverride") + self.use_lateral_jerk = self.param_s.get_bool("TorqueLateralJerk") + self.nnff_no_lateral_jerk = self.param_s.get_bool("NNFFNoLateralJerk") if not self.torqued_override: return self.torque_params.latAccelFactor = float(self.param_s.get("TorqueMaxLatAccel", encoding="utf8")) * 0.01 - self.torque_params.friction = float(self.param_s.get("TorqueFriction", encoding="utf8")) * 0.01 + self.torque_params.friction = float(self.param_s.get("TorqueFriction", encoding="utf8")) * 0.001 @property def pid_long_sp(self): @@ -197,7 +200,7 @@ class LatControlTorque(LatControl): predicted_lateral_jerk = get_predicted_lateral_jerk(model_data.acceleration.y, self.t_diffs) desired_lateral_jerk = (interp(self.desired_lat_jerk_time, ModelConstants.T_IDXS, model_data.acceleration.y) - desired_lateral_accel) / self.desired_lat_jerk_time lookahead_lateral_jerk = get_lookahead_value(predicted_lateral_jerk[LAT_PLAN_MIN_IDX:friction_upper_idx], desired_lateral_jerk) - if self.use_steering_angle or lookahead_lateral_jerk == 0.0: + if self.nnff_no_lateral_jerk or self.use_steering_angle or lookahead_lateral_jerk == 0.0: lookahead_lateral_jerk = 0.0 actual_lateral_jerk = 0.0 self.lat_accel_friction_factor = 1.0 @@ -206,6 +209,7 @@ class LatControlTorque(LatControl): if self.use_nn and model_good: # update past data + pitch = 0 roll = params.roll if len(llk.calibratedOrientationNED.value) > 1: pitch = self.pitch.update(llk.calibratedOrientationNED.value[1]) @@ -231,7 +235,14 @@ class LatControlTorque(LatControl): + past_rolls + future_rolls torque_from_setpoint = self.torque_from_nn(nnff_setpoint_input) torque_from_measurement = self.torque_from_nn(nnff_measurement_input) + pid_log.error = torque_from_setpoint - torque_from_measurement + error_blend_factor = interp(abs(desired_lateral_accel), [1.0, 2.0], [0.0, 1.0]) + if error_blend_factor > 0.0: # blend in stronger error response when in high lat accel + nnff_error_input = [CS.vEgo, setpoint - measurement, lateral_jerk_setpoint - lateral_jerk_measurement, 0.0] + torque_from_error = self.torque_from_nn(nnff_error_input) + if sign(pid_log.error) == sign(torque_from_error) and abs(pid_log.error) < abs(torque_from_error): + pid_log.error = pid_log.error * (1.0 - error_blend_factor) + torque_from_error * error_blend_factor # compute feedforward (same as nn setpoint output) error = setpoint - measurement diff --git a/selfdrive/controls/lib/longcontrol.py b/selfdrive/controls/lib/longcontrol.py index e3cd4bb654..1a9e7c2fb7 100644 --- a/selfdrive/controls/lib/longcontrol.py +++ b/selfdrive/controls/lib/longcontrol.py @@ -11,11 +11,11 @@ LongCtrlState = car.CarControl.Actuators.LongControlState def long_control_state_trans(CP, active, long_control_state, v_ego, - should_stop, brake_pressed, cruise_standstill): + should_stop, brake_pressed, cruise_standstill, resume): # Ignore cruise standstill if car has a gas interceptor cruise_standstill = cruise_standstill and not CP.enableGasInterceptorDEPRECATED - stopping_condition = should_stop - starting_condition = (not should_stop and + stopping_condition = should_stop and not resume + starting_condition = ((not should_stop or resume) and not cruise_standstill and not brake_pressed) started_condition = v_ego > CP.vEgoStarting @@ -58,14 +58,14 @@ class LongControl: def reset(self): self.pid.reset() - def update(self, active, CS, a_target, should_stop, accel_limits): + def update(self, active, CS, a_target, should_stop, accel_limits, resume): """Update longitudinal control. This updates the state machine and runs a PID loop""" self.pid.neg_limit = accel_limits[0] self.pid.pos_limit = accel_limits[1] self.long_control_state = long_control_state_trans(self.CP, active, self.long_control_state, CS.vEgo, should_stop, CS.brakePressed, - CS.cruiseState.standstill) + CS.cruiseState.standstill, resume) if self.long_control_state == LongCtrlState.off: self.reset() output_accel = 0. diff --git a/selfdrive/controls/lib/longitudinal_mpc_lib/long_mpc.py b/selfdrive/controls/lib/longitudinal_mpc_lib/long_mpc.py index e520c3bcb2..9542a10078 100755 --- a/selfdrive/controls/lib/longitudinal_mpc_lib/long_mpc.py +++ b/selfdrive/controls/lib/longitudinal_mpc_lib/long_mpc.py @@ -3,8 +3,7 @@ import os import time import numpy as np from cereal import custom -from openpilot.common.numpy_fast import clip, interp -from openpilot.common.conversions import Conversions as CV +from openpilot.common.numpy_fast import clip from openpilot.common.realtime import DT_MDL from openpilot.common.swaglog import cloudlog # WARNING: imports outside of constants will not trigger a rebuild @@ -67,6 +66,8 @@ def get_jerk_factor(personality=custom.LongitudinalPersonalitySP.standard): return 0.8 elif personality==custom.LongitudinalPersonalitySP.aggressive: return 0.65 + elif personality==custom.LongitudinalPersonalitySP.overtake: + return 0.1 else: raise NotImplementedError("Longitudinal personality not supported") @@ -80,6 +81,8 @@ def get_T_FOLLOW(personality=custom.LongitudinalPersonalitySP.standard): return 1.25 elif personality==custom.LongitudinalPersonalitySP.aggressive: return 1.0 + elif personality==custom.LongitudinalPersonalitySP.overtake: + return 0.5 else: raise NotImplementedError("Longitudinal personality not supported") @@ -101,61 +104,6 @@ def get_dynamic_personality(v_ego, personality=custom.LongitudinalPersonalitySP. raise NotImplementedError("Dynamic personality not supported") return np.interp(v_ego, x_vel, y_dist) -# multiplier for A_CHANGE_COST = 200. -def get_a_change_cost_multiplier(v_ego, v_lead0, v_lead1, personality=custom.LongitudinalPersonalitySP.standard): - if personality==custom.LongitudinalPersonalitySP.relaxed: - a_change_cost_multiplier_follow_distance = 1.0 - elif personality==custom.LongitudinalPersonalitySP.standard: - a_change_cost_multiplier_follow_distance = 0.5 - elif personality==custom.LongitudinalPersonalitySP.moderate: - a_change_cost_multiplier_follow_distance = 0.5 - elif personality==custom.LongitudinalPersonalitySP.aggressive: - a_change_cost_multiplier_follow_distance = 0.1 - else: - raise NotImplementedError("Longitudinal personality not supported") - - # stolen from @KRKeegan - # values used for interpolation - # start with a small a_change_multiplier_values during interpolation to allow for faster change in accel - A_CHANGE_COST_MULTIPLIER_BP = [0., 10.] # vEgo, in m/s - A_CHANGE_COST_MULTIPLIER_V = [.05, 1.] # multiplier values - - # when lead is pulling away, and speed is between 0 and 10 m/s, interpolate a_change_cost_multiplier_v_ego - a_change_cost_multiplier_v_ego = 1. - if (v_lead0 - v_ego > 1e-3) and (v_lead1 - v_ego > 1e-3): - a_change_cost_multiplier_v_ego = interp(v_ego, A_CHANGE_COST_MULTIPLIER_BP, A_CHANGE_COST_MULTIPLIER_V) - - # get the minimum between a_change_multiplier based on driving personality, and a_change_multiplier based - # on v_ego - a_change_multiplier = min(a_change_cost_multiplier_follow_distance, a_change_cost_multiplier_v_ego) - - # and pass it on as the final result - return a_change_multiplier - -# multiplier for DANGER_ZONE_COST = 100. -def get_danger_zone_cost_multiplier(personality=custom.LongitudinalPersonalitySP.standard): - if personality==custom.LongitudinalPersonalitySP.relaxed: - return 1.6 - elif personality==custom.LongitudinalPersonalitySP.standard: - return 1.3 - elif personality==custom.LongitudinalPersonalitySP.moderate: - return 1.3 - elif personality==custom.LongitudinalPersonalitySP.aggressive: - return 1.0 - else: - raise NotImplementedError("Longitudinal personality not supported") - -#def get_STOP_DISTANCE(personality=custom.LongitudinalPersonalitySP.standard): -# if personality==log.LongitudinalPersonality.relaxed: -# return 6.0 -# elif personality==log.LongitudinalPersonality.standard: -# return 5.5 -# elif personality==log.LongitudinalPersonality.aggressive: -# return 4.5 -# else: -# raise NotImplementedError("dynamic stop distance not supported") - - def get_stopped_equivalence_factor(v_lead): return (v_lead**2) / (2 * COMFORT_BRAKE) @@ -354,16 +302,12 @@ class LongitudinalMpc: for i in range(N): self.solver.cost_set(i, 'Zl', Zl) - def set_weights(self, prev_accel_constraint=True, v_lead0 = 0., v_lead1 = 0., personality=custom.LongitudinalPersonalitySP.standard): - v_ego = self.x0[1] + def set_weights(self, prev_accel_constraint=True, personality=custom.LongitudinalPersonalitySP.standard): jerk_factor = get_jerk_factor(personality) - a_change_cost_multiplier = get_a_change_cost_multiplier(v_ego, v_lead0, v_lead1, personality) - danger_zone_cost_multiplier = get_danger_zone_cost_multiplier(personality) if self.mode == 'acc': a_change_cost = A_CHANGE_COST if prev_accel_constraint else 0 - cost_weights = [X_EGO_OBSTACLE_COST, X_EGO_COST, V_EGO_COST, A_EGO_COST, jerk_factor * a_change_cost_multiplier \ - * a_change_cost, jerk_factor * J_EGO_COST] - constraint_cost_weights = [LIMIT_COST, LIMIT_COST, LIMIT_COST, DANGER_ZONE_COST * danger_zone_cost_multiplier] + cost_weights = [X_EGO_OBSTACLE_COST, X_EGO_COST, V_EGO_COST, A_EGO_COST, jerk_factor * a_change_cost, jerk_factor * J_EGO_COST] + constraint_cost_weights = [LIMIT_COST, LIMIT_COST, LIMIT_COST, DANGER_ZONE_COST] elif self.mode == 'blended': a_change_cost = 40.0 if prev_accel_constraint else 0 cost_weights = [0., 0.1, 0.2, 5.0, a_change_cost, 1.0] @@ -417,16 +361,16 @@ class LongitudinalMpc: self.cruise_min_a = min_a self.max_a = max_a - def update(self, radarstate, v_cruise, prev_accel_constraint, x, v, a, j, personality=custom.LongitudinalPersonalitySP.standard, dynamic_personality=False): + def update(self, radarstate, v_cruise, x, v, a, j, personality=custom.LongitudinalPersonalitySP.standard, + dynamic_personality=False, overtaking_acceleration_assist=False): v_ego = self.x0[1] t_follow = get_dynamic_personality(v_ego, personality) if dynamic_personality else get_T_FOLLOW(personality) + t_follow = get_T_FOLLOW(custom.LongitudinalPersonalitySP.overtake) if overtaking_acceleration_assist else t_follow self.status = radarstate.leadOne.status or radarstate.leadTwo.status lead_xv_0 = self.process_lead(radarstate.leadOne) lead_xv_1 = self.process_lead(radarstate.leadTwo) - self.set_weights(prev_accel_constraint=prev_accel_constraint, v_lead0=lead_xv_0[0, 1], v_lead1=lead_xv_1[0, 1], personality=personality) - # To estimate a safe distance from a moving lead, we calculate how much stopping # distance that lead needs as a minimum. We can add that to the current distance # and then treat that as a stopped car/obstacle at this new distance. diff --git a/selfdrive/controls/lib/longitudinal_planner.py b/selfdrive/controls/lib/longitudinal_planner.py index 04df561c14..9933dbf861 100755 --- a/selfdrive/controls/lib/longitudinal_planner.py +++ b/selfdrive/controls/lib/longitudinal_planner.py @@ -3,7 +3,7 @@ import math import numpy as np from openpilot.common.numpy_fast import clip, interp from openpilot.common.params import Params -from cereal import car, custom +from cereal import car, log, custom import cereal.messaging as messaging from openpilot.common.conversions import Conversions as CV @@ -83,7 +83,8 @@ class LongitudinalPlanner: self.dt = dt self.a_desired = init_a - self.v_desired_filter = FirstOrderFilter(init_v, 2.0, self.dt) + v_ego_sec = 0.6 if CP.carName == "hyundai" else 2.0 + self.v_desired_filter = FirstOrderFilter(init_v, v_ego_sec, self.dt) self.v_model_error = 0.0 self.v_desired_trajectory = np.zeros(CONTROL_N) @@ -157,8 +158,10 @@ class LongitudinalPlanner: accel_limits = [ACCEL_MIN, ACCEL_MAX] accel_limits_turns = [ACCEL_MIN, ACCEL_MAX] + overtaking_accel_engaged = sm['controlsStateSP'].overtakingAccelerationAssist # override accel using Accel Controller - if self.accel_controller.is_enabled(accel_personality=sm['controlsStateSP'].accelPersonality): + if self.accel_controller.is_enabled(accel_personality=custom.AccelerationPersonality.sport if overtaking_accel_engaged else + sm['controlsStateSP'].accelPersonality): # get min, max from accel controller min_limit, max_limit = self.accel_controller.get_accel_limits(v_ego, accel_limits) if self.mpc.mode == 'acc': @@ -193,11 +196,12 @@ class LongitudinalPlanner: accel_limits_turns[0] = min(accel_limits_turns[0], self.a_desired + 0.05) accel_limits_turns[1] = max(accel_limits_turns[1], self.a_desired - 0.05) - self.mpc.set_weights(prev_accel_constraint, personality=sm['controlsStateSP'].personality) + self.mpc.set_weights(prev_accel_constraint, personality=custom.LongitudinalPersonalitySP.overtake if overtaking_accel_engaged else sm['controlsStateSP'].personality) self.mpc.set_accel_limits(accel_limits_turns[0], accel_limits_turns[1]) self.mpc.set_cur_state(self.v_desired_filter.x, self.a_desired) x, v, a, j = self.parse_model(sm['modelV2'], self.v_model_error) - self.mpc.update(sm['radarState'], v_cruise, prev_accel_constraint, x, v, a, j, personality=sm['controlsStateSP'].personality, dynamic_personality=sm['controlsStateSP'].dynamicPersonality) + self.mpc.update(sm['radarState'], v_cruise, x, v, a, j, personality=sm['controlsStateSP'].personality, + dynamic_personality=sm['controlsStateSP'].dynamicPersonality, overtaking_acceleration_assist=overtaking_accel_engaged) self.v_desired_trajectory = np.interp(CONTROL_N_T_IDX, T_IDXS_MPC, self.mpc.v_solution) self.a_desired_trajectory = np.interp(CONTROL_N_T_IDX, T_IDXS_MPC, self.mpc.a_solution) diff --git a/selfdrive/controls/plannerd.py b/selfdrive/controls/plannerd.py index 6c51b38b13..daef841c19 100755 --- a/selfdrive/controls/plannerd.py +++ b/selfdrive/controls/plannerd.py @@ -32,7 +32,7 @@ def plannerd_thread(): pm = messaging.PubMaster(['longitudinalPlan', 'longitudinalPlanSP'] + lateral_planner_svs) sm = messaging.SubMaster(['carControl', 'carState', 'controlsState', 'radarState', 'modelV2', 'longitudinalPlan', 'navInstruction', 'longitudinalPlanSP', - 'liveMapDataSP', 'e2eLongStateSP', 'controlsStateSP'] + lateral_planner_svs, + 'liveMapDataSP', 'e2eLongStateSP', 'controlsStateSP', 'driverMonitoringState'] + lateral_planner_svs, poll='modelV2', ignore_avg_freq=['radarState']) while True: diff --git a/selfdrive/locationd/torqued.py b/selfdrive/locationd/torqued.py index ce8a7935c8..1c972b2ba2 100755 --- a/selfdrive/locationd/torqued.py +++ b/selfdrive/locationd/torqued.py @@ -83,7 +83,7 @@ class TorqueEstimator(ParameterEstimator): params = Params() if params.get_bool("EnforceTorqueLateral"): if params.get_bool("CustomTorqueLateral"): - self.offline_friction = float(params.get("TorqueFriction", encoding="utf8")) * 0.01 + self.offline_friction = float(params.get("TorqueFriction", encoding="utf8")) * 0.001 self.offline_latAccelFactor = float(params.get("TorqueMaxLatAccel", encoding="utf8")) * 0.01 if params.get_bool("LiveTorqueRelaxed"): self.min_bucket_points = np.array([0, 200, 300, 500, 500, 300, 200, 0]) / (10 if decimated else 1) diff --git a/selfdrive/ui/qt/api.cc b/selfdrive/ui/qt/api.cc index 80019f406e..2e7c39ea6a 100644 --- a/selfdrive/ui/qt/api.cc +++ b/selfdrive/ui/qt/api.cc @@ -145,4 +145,4 @@ void HttpRequest::requestFinished() { QNetworkAccessManager *HttpRequest::nam() { static QNetworkAccessManager *networkAccessManager = new QNetworkAccessManager(qApp); return networkAccessManager; -} +} \ No newline at end of file diff --git a/selfdrive/ui/qt/api.h b/selfdrive/ui/qt/api.h index f0e21f56a8..0e5d2abbad 100644 --- a/selfdrive/ui/qt/api.h +++ b/selfdrive/ui/qt/api.h @@ -24,7 +24,7 @@ class HttpRequest : public QObject { Q_OBJECT public: - enum class Method {GET, DELETE, POST, PUT}; + enum class Method { GET, DELETE, POST, PUT }; explicit HttpRequest(QObject* parent, bool create_jwt = true, int timeout = 20000); virtual void sendRequest(const QString &requestURL, Method method); @@ -47,4 +47,4 @@ protected: protected slots: void requestTimeout(); void requestFinished(); -}; +}; \ No newline at end of file diff --git a/selfdrive/ui/qt/home.cc b/selfdrive/ui/qt/home.cc index 68ab992095..c0e9efaf90 100644 --- a/selfdrive/ui/qt/home.cc +++ b/selfdrive/ui/qt/home.cc @@ -86,7 +86,8 @@ void HomeWindow::mousePressEvent(QMouseEvent* e) { } void HomeWindow::mouseDoubleClickEvent(QMouseEvent* e) { - HomeWindow::mousePressEvent(e); + // By removing the static call to HomeWindow::mousePressEvent, we can now rely on child classes to handle the event + mousePressEvent(e); const SubMaster &sm = *(uiState()->sm); if (sm["carParams"].getCarParams().getNotCar()) { if (onroad->isVisible()) { diff --git a/selfdrive/ui/qt/home.h b/selfdrive/ui/qt/home.h index e903dad47d..a0da870dbf 100644 --- a/selfdrive/ui/qt/home.h +++ b/selfdrive/ui/qt/home.h @@ -47,7 +47,7 @@ protected: void mouseDoubleClickEvent(QMouseEvent* e) override; Sidebar *sidebar; - OffroadHome *home; + OffroadHome* home; OnroadWindow *onroad; BodyWindow *body; DriverViewWindow *driver_view; @@ -55,4 +55,4 @@ protected: protected slots: virtual void updateState(const UIState &s); -}; +}; \ No newline at end of file diff --git a/selfdrive/ui/qt/offroad/settings.cc b/selfdrive/ui/qt/offroad/settings.cc index 040b074784..7c821339a1 100644 --- a/selfdrive/ui/qt/offroad/settings.cc +++ b/selfdrive/ui/qt/offroad/settings.cc @@ -16,7 +16,7 @@ #include "selfdrive/ui/qt/widgets/ssh_keys.h" #ifdef SUNNYPILOT #include "selfdrive/ui/sunnypilot/sunnypilot_main.h" -#endif +#endif TogglesPanel::TogglesPanel(SettingsWindow *parent) : ListWidget(parent) { RETURN_IF_SUNNYPILOT diff --git a/selfdrive/ui/qt/offroad/settings.h b/selfdrive/ui/qt/offroad/settings.h index dcc07aa2f2..975cb82e92 100644 --- a/selfdrive/ui/qt/offroad/settings.h +++ b/selfdrive/ui/qt/offroad/settings.h @@ -91,6 +91,7 @@ protected: virtual void updateToggles(); }; + class SoftwarePanel : public ListWidget { Q_OBJECT public: diff --git a/selfdrive/ui/qt/offroad/software_settings.cc b/selfdrive/ui/qt/offroad/software_settings.cc index 47b4a22682..a3f2a8549a 100644 --- a/selfdrive/ui/qt/offroad/software_settings.cc +++ b/selfdrive/ui/qt/offroad/software_settings.cc @@ -26,7 +26,7 @@ void SoftwarePanel::checkForUpdates() { - std::system("pkill -SIGUSR1 -f system.updated.updated"); + std::system("pkill -SIGUSR1 -f updated"); } SoftwarePanel::SoftwarePanel(QWidget* parent) : ListWidget(parent) { @@ -45,7 +45,7 @@ SoftwarePanel::SoftwarePanel(QWidget* parent) : ListWidget(parent) { if (downloadBtn->text() == tr("CHECK")) { checkForUpdates(); } else { - std::system("pkill -SIGHUP -f system.updated.updated"); + std::system("pkill -SIGHUP -f updated"); } }); addItem(downloadBtn); @@ -162,4 +162,4 @@ void SoftwarePanel::updateLabels() { installBtn->setDescription(QString::fromStdString(params.get("UpdaterNewReleaseNotes"))); update(); -} +} \ No newline at end of file diff --git a/selfdrive/ui/qt/offroad_home.cc b/selfdrive/ui/qt/offroad_home.cc index e9d54a4efb..212037a395 100644 --- a/selfdrive/ui/qt/offroad_home.cc +++ b/selfdrive/ui/qt/offroad_home.cc @@ -2,6 +2,7 @@ #include #include +#include #include "selfdrive/ui/qt/offroad/experimental_mode.h" #include "selfdrive/ui/qt/util.h" diff --git a/selfdrive/ui/qt/offroad_home.h b/selfdrive/ui/qt/offroad_home.h index 5796c60f52..58366bb0da 100644 --- a/selfdrive/ui/qt/offroad_home.h +++ b/selfdrive/ui/qt/offroad_home.h @@ -1,12 +1,19 @@ #pragma once +#include +#include +#include +#include #include +#include #include #include "common/params.h" +#include "selfdrive/ui/qt/offroad/driverview.h" #include "selfdrive/ui/qt/body.h" #include "selfdrive/ui/qt/onroad/onroad_home.h" #include "selfdrive/ui/qt/widgets/offroad_alerts.h" +#include "selfdrive/ui/ui.h" #ifdef SUNNYPILOT #include "selfdrive/ui/sunnypilot/qt/widgets/controls.h" diff --git a/selfdrive/ui/qt/onroad/annotated_camera.cc b/selfdrive/ui/qt/onroad/annotated_camera.cc index 484075b3e2..216b897f31 100644 --- a/selfdrive/ui/qt/onroad/annotated_camera.cc +++ b/selfdrive/ui/qt/onroad/annotated_camera.cc @@ -385,4 +385,4 @@ void AnnotatedCameraWidget::showEvent(QShowEvent *event) { ui_update_params(uiState()); prev_draw_t = millis_since_boot(); -} +} \ No newline at end of file diff --git a/selfdrive/ui/qt/onroad/annotated_camera.h b/selfdrive/ui/qt/onroad/annotated_camera.h index 465ba23e04..c92c53af46 100644 --- a/selfdrive/ui/qt/onroad/annotated_camera.h +++ b/selfdrive/ui/qt/onroad/annotated_camera.h @@ -50,4 +50,4 @@ protected: double prev_draw_t = 0; FirstOrderFilter fps_filter; -}; +}; \ No newline at end of file diff --git a/selfdrive/ui/qt/onroad/buttons.cc b/selfdrive/ui/qt/onroad/buttons.cc index 92bcea11b5..862c478e81 100644 --- a/selfdrive/ui/qt/onroad/buttons.cc +++ b/selfdrive/ui/qt/onroad/buttons.cc @@ -26,7 +26,8 @@ ExperimentalButton::ExperimentalButton(QWidget *parent) : experimental_mode(fals void ExperimentalButton::changeMode() { const auto cp = (*uiState()->sm)["carParams"].getCarParams(); - bool can_change = hasLongitudinalControl(cp) && params.getBool("ExperimentalModeConfirmed"); + bool can_change = (hasLongitudinalControl(cp) || (!cp.getPcmCruiseSpeed() && params.getBool("CustomStockLongPlanner"))) + && params.getBool("ExperimentalModeConfirmed"); if (can_change) { params.putBool("ExperimentalMode", !experimental_mode); } diff --git a/selfdrive/ui/qt/onroad/buttons.h b/selfdrive/ui/qt/onroad/buttons.h index e999480d5c..6d30c1ac91 100644 --- a/selfdrive/ui/qt/onroad/buttons.h +++ b/selfdrive/ui/qt/onroad/buttons.h @@ -31,4 +31,4 @@ private: QPixmap experimental_img; }; -void drawIcon(QPainter &p, const QPoint ¢er, const QPixmap &img, const QBrush &bg, float opacity); +void drawIcon(QPainter &p, const QPoint ¢er, const QPixmap &img, const QBrush &bg, float opacity); \ No newline at end of file diff --git a/selfdrive/ui/qt/onroad/onroad_home.cc b/selfdrive/ui/qt/onroad/onroad_home.cc index e93ded6cc2..1b3f9ac8ab 100644 --- a/selfdrive/ui/qt/onroad/onroad_home.cc +++ b/selfdrive/ui/qt/onroad/onroad_home.cc @@ -66,4 +66,4 @@ void OnroadWindow::offroadTransition(bool offroad) { void OnroadWindow::paintEvent(QPaintEvent *event) { QPainter p(this); p.fillRect(rect(), QColor(bg.red(), bg.green(), bg.blue(), 255)); -} +} \ No newline at end of file diff --git a/selfdrive/ui/qt/onroad/onroad_home.h b/selfdrive/ui/qt/onroad/onroad_home.h index 4ac37678fa..aee33b9001 100644 --- a/selfdrive/ui/qt/onroad/onroad_home.h +++ b/selfdrive/ui/qt/onroad/onroad_home.h @@ -26,4 +26,4 @@ protected: protected slots: virtual void offroadTransition(bool offroad); virtual void updateState(const UIState &s); -}; +}; \ No newline at end of file diff --git a/selfdrive/ui/qt/request_repeater.h b/selfdrive/ui/qt/request_repeater.h index 32e714b1cb..1b3e96574d 100644 --- a/selfdrive/ui/qt/request_repeater.h +++ b/selfdrive/ui/qt/request_repeater.h @@ -20,4 +20,4 @@ private: Params params; QTimer *timer; QString prevResp; -}; +}; \ No newline at end of file diff --git a/selfdrive/ui/qt/sidebar.h b/selfdrive/ui/qt/sidebar.h index 62a5486809..eecc439abf 100644 --- a/selfdrive/ui/qt/sidebar.h +++ b/selfdrive/ui/qt/sidebar.h @@ -65,4 +65,4 @@ protected: private: std::unique_ptr pm; -}; +}; \ No newline at end of file diff --git a/selfdrive/ui/qt/text.cc b/selfdrive/ui/qt/text.cc index 21ec5eedcf..7b14368589 100644 --- a/selfdrive/ui/qt/text.cc +++ b/selfdrive/ui/qt/text.cc @@ -61,4 +61,4 @@ int main(int argc, char *argv[]) { )"); return a.exec(); -} +} \ No newline at end of file diff --git a/selfdrive/ui/qt/util.h b/selfdrive/ui/qt/util.h index 20443db468..94b83f0ab3 100644 --- a/selfdrive/ui/qt/util.h +++ b/selfdrive/ui/qt/util.h @@ -59,4 +59,4 @@ private: QFileSystemWatcher *watcher; QHash params_hash; Params params; -}; +}; \ No newline at end of file diff --git a/selfdrive/ui/qt/widgets/ssh_keys.h b/selfdrive/ui/qt/widgets/ssh_keys.h index 2834164702..80e0f9a729 100644 --- a/selfdrive/ui/qt/widgets/ssh_keys.h +++ b/selfdrive/ui/qt/widgets/ssh_keys.h @@ -35,4 +35,4 @@ private: void refresh(); void getUserKeys(const QString &username); -}; +}; \ No newline at end of file diff --git a/selfdrive/ui/sunnypilot/SConscript b/selfdrive/ui/sunnypilot/SConscript index 945c9ccdb2..f32dec7d98 100644 --- a/selfdrive/ui/sunnypilot/SConscript +++ b/selfdrive/ui/sunnypilot/SConscript @@ -30,7 +30,7 @@ sp_maps_widgets_src = [ ] sp_qt_util = [ - # "#selfdrive/ui/sunnypilot/qt/api.cc", + # "#selfdrive/ui/sunnypilot/qt/api.cc", "#selfdrive/ui/sunnypilot/qt/util.cc", ] diff --git a/selfdrive/ui/sunnypilot/qt/api.cc b/selfdrive/ui/sunnypilot/qt/api.cc index fcf925fd1a..125f23a755 100644 --- a/selfdrive/ui/sunnypilot/qt/api.cc +++ b/selfdrive/ui/sunnypilot/qt/api.cc @@ -33,6 +33,7 @@ Last updated: July 29, 2024 #include #include +#include #include #include diff --git a/selfdrive/ui/sunnypilot/qt/api.h b/selfdrive/ui/sunnypilot/qt/api.h index b8e835dc91..d437859513 100644 --- a/selfdrive/ui/sunnypilot/qt/api.h +++ b/selfdrive/ui/sunnypilot/qt/api.h @@ -26,6 +26,11 @@ Last updated: July 29, 2024 #pragma once +#include +#include +#include +#include + #include "selfdrive/ui/qt/api.h" #include "selfdrive/ui/sunnypilot/qt/util.h" #include "common/util.h" diff --git a/selfdrive/ui/sunnypilot/qt/home.cc b/selfdrive/ui/sunnypilot/qt/home.cc index 61abbff7dc..fea0913fe8 100644 --- a/selfdrive/ui/sunnypilot/qt/home.cc +++ b/selfdrive/ui/sunnypilot/qt/home.cc @@ -28,10 +28,13 @@ Last updated: July 29, 2024 #include #include +#include +#include #include #include "selfdrive/ui/qt/offroad/experimental_mode.h" #include "selfdrive/ui/qt/util.h" +#include "selfdrive/ui/qt/widgets/prime.h" // HomeWindowSP: the container for the offroad and onroad UIs HomeWindowSP::HomeWindowSP(QWidget* parent) : HomeWindow(parent){ diff --git a/selfdrive/ui/sunnypilot/qt/home.h b/selfdrive/ui/sunnypilot/qt/home.h index 8bb44d81b4..eb1b94407d 100644 --- a/selfdrive/ui/sunnypilot/qt/home.h +++ b/selfdrive/ui/sunnypilot/qt/home.h @@ -27,9 +27,14 @@ Last updated: July 29, 2024 #pragma once #include +#include +#include +#include +#include #include #include "common/params.h" +#include "selfdrive/ui/qt/offroad/driverview.h" #include "selfdrive/ui/qt/body.h" #include "selfdrive/ui/qt/widgets/offroad_alerts.h" #include "selfdrive/ui/sunnypilot/ui.h" @@ -37,6 +42,7 @@ Last updated: July 29, 2024 #ifdef SUNNYPILOT #include "selfdrive/ui/sunnypilot/qt/sidebar.h" +#include "selfdrive/ui/sunnypilot/qt/onroad/onroad_home.h" #define OnroadWindow OnroadWindowSP #else #include "selfdrive/ui/qt/sidebar.h" diff --git a/selfdrive/ui/sunnypilot/qt/offroad/settings/device_panel.cc b/selfdrive/ui/sunnypilot/qt/offroad/settings/device_panel.cc index 99964c4681..4b13436abe 100644 --- a/selfdrive/ui/sunnypilot/qt/offroad/settings/device_panel.cc +++ b/selfdrive/ui/sunnypilot/qt/offroad/settings/device_panel.cc @@ -30,6 +30,7 @@ Last updated: July 29, 2024 #include #include +#include "common/watchdog.h" #include "selfdrive/ui/qt/qt_window.h" #include "selfdrive/ui/qt/widgets/prime.h" diff --git a/selfdrive/ui/sunnypilot/qt/offroad/settings/monitoring_settings.h b/selfdrive/ui/sunnypilot/qt/offroad/settings/monitoring_settings.h index 091b2fd9f5..bbea81c0b9 100644 --- a/selfdrive/ui/sunnypilot/qt/offroad/settings/monitoring_settings.h +++ b/selfdrive/ui/sunnypilot/qt/offroad/settings/monitoring_settings.h @@ -28,9 +28,11 @@ Last updated: July 29, 2024 #include #include +#include #include #include "selfdrive/ui/sunnypilot/qt/widgets/controls.h" +#include "selfdrive/ui/sunnypilot/qt/widgets/scrollview.h" class MonitoringPanel : public QFrame { Q_OBJECT diff --git a/selfdrive/ui/sunnypilot/qt/offroad/settings/settings.cc b/selfdrive/ui/sunnypilot/qt/offroad/settings/settings.cc index f99b90fb57..bcf4c79b31 100644 --- a/selfdrive/ui/sunnypilot/qt/offroad/settings/settings.cc +++ b/selfdrive/ui/sunnypilot/qt/offroad/settings/settings.cc @@ -57,6 +57,12 @@ TogglesPanelSP::TogglesPanelSP(SettingsWindow *parent) : TogglesPanel(parent) { tr("When enabled, sunnypilot will attempt to control stock longitudinal control with ACC button presses.\nThis feature must be used along with SLC, and/or V-TSC, and/or M-TSC."), "../assets/offroad/icon_blank.png", }, + { + "CustomStockLongPlanner", + tr("Use Planner Speed"), + "", + "../assets/offroad/icon_blank.png", + }, { "ExperimentalMode", tr("Experimental Mode"), @@ -223,6 +229,7 @@ void TogglesPanelSP::updateToggles() { auto custom_stock_long_toggle = toggles["CustomStockLong"]; auto dec_toggle = toggles["DynamicExperimentalControl"]; auto dynamic_personality_toggle = toggles["DynamicPersonality"]; + auto custom_stock_long_planner = toggles["CustomStockLongPlanner"]; const QString e2e_description = QString("%1
" "

%2


" "%3
" @@ -261,16 +268,22 @@ void TogglesPanelSP::updateToggles() { accel_personality_setting->setEnabled(true); op_long_toggle->setEnabled(true); custom_stock_long_toggle->setEnabled(false); + custom_stock_long_planner->setEnabled(false); params.remove("CustomStockLong"); dec_toggle->setEnabled(true); dynamic_personality_toggle->setEnabled(true); } else if (custom_stock_long_toggle->isToggled()) { op_long_toggle->setEnabled(false); - experimental_mode_toggle->setEnabled(false); - long_personality_setting->setEnabled(false); - accel_personality_setting->setEnabled(false); + experimental_mode_toggle->setEnabled(custom_stock_long_planner->isToggled()); + experimental_mode_toggle->setDescription(e2e_description); + custom_stock_long_planner->setEnabled(true); + long_personality_setting->setEnabled(custom_stock_long_planner->isToggled()); + accel_personality_setting->setEnabled(custom_stock_long_planner->isToggled()); + dec_toggle->setEnabled(experimental_mode_toggle->isToggled()); + if (!custom_stock_long_planner->isToggled()) { + params.remove("ExperimentalMode"); + } params.remove("ExperimentalLongitudinalEnabled"); - params.remove("ExperimentalMode"); } else { // no long for now experimental_mode_toggle->setEnabled(false); @@ -295,6 +308,7 @@ void TogglesPanelSP::updateToggles() { custom_stock_long_toggle->setEnabled(CP.getCustomStockLongAvailable()); dec_toggle->setEnabled(false); dynamic_personality_toggle->setEnabled(false); + custom_stock_long_planner->setEnabled(false); params.remove("DynamicExperimentalControl"); params.remove("DynamicPersonality"); } @@ -302,6 +316,7 @@ void TogglesPanelSP::updateToggles() { experimental_mode_toggle->refresh(); op_long_toggle->refresh(); custom_stock_long_toggle->refresh(); + custom_stock_long_planner->refresh(); dec_toggle->refresh(); dynamic_personality_toggle->refresh(); } else { @@ -310,6 +325,7 @@ void TogglesPanelSP::updateToggles() { custom_stock_long_toggle->setVisible(false); dec_toggle->setVisible(false); dynamic_personality_toggle->setVisible(false); + custom_stock_long_planner->setVisible(false); } } diff --git a/selfdrive/ui/sunnypilot/qt/offroad/settings/sunnypilot_settings.cc b/selfdrive/ui/sunnypilot/qt/offroad/settings/sunnypilot_settings.cc index c363e78844..93c0c6b21f 100644 --- a/selfdrive/ui/sunnypilot/qt/offroad/settings/sunnypilot_settings.cc +++ b/selfdrive/ui/sunnypilot/qt/offroad/settings/sunnypilot_settings.cc @@ -49,6 +49,12 @@ SunnypilotPanel::SunnypilotPanel(QWidget *parent) : QFrame(parent) { tr("While in Auto Lane, switch to Laneless for current/future curves."), "../assets/offroad/icon_blank.png", }, + { + "OvertakingAccelerationAssist", + tr("Overtaking Acceleration Assist"), + tr("Overtaking Acceleration Assist will operate when the turn signal indicator is turned on to the left (left-hand drive) or turned on to the right (right-hand drive) while Smart Cruise Control is operating."), + "../assets/offroad/icon_blank.png", + }, { "EnableSlc", tr("Speed Limit Control (SLC)"), @@ -91,12 +97,24 @@ SunnypilotPanel::SunnypilotPanel(QWidget *parent) : QFrame(parent) { "", "../assets/offroad/icon_blank.png", }, + { + "NNFFNoLateralJerk", + tr("NNLC: Remove Lateral Jerk Response (Alpha)"), + tr("When NNLC is active, enable this to disables the use of lateral jerk in steering torque calculations, focusing solely on lateral acceleration for a simplified control response."), + "../assets/offroad/icon_blank.png", + }, { "EnforceTorqueLateral", tr("Enforce Torque Lateral Control"), tr("Enable this to enforce sunnypilot to steer with Torque lateral control."), "../assets/offroad/icon_blank.png", }, + { + "TorqueLateralJerk", + tr("Lateral Jerk with Torque Lateral Control (Alpha)"), + tr("Utilizes limited lateral jerk control for improved steering response, leveraging stock torque lateral controller capabilities. Designed to mimic NNLC behavior without training models or data collection."), + "../assets/offroad/icon_blank.png", + }, { "LiveTorque", tr("Enable Self-Tune"), @@ -298,7 +316,7 @@ SunnypilotPanel::SunnypilotPanel(QWidget *parent) : QFrame(parent) { list->addItem(dlp_settings); } - if (param == "VisionCurveLaneless") { + if (param == "OvertakingAccelerationAssist") { list->addItem(laneChangeSettingsLayout); list->addItem(horizontal_line()); @@ -345,6 +363,17 @@ SunnypilotPanel::SunnypilotPanel(QWidget *parent) : QFrame(parent) { } }); + connect(toggles["EnforceTorqueLateral"], &ToggleControlSP::toggleFlipped, [=](bool state) { + if (state) { + toggles["NNFF"]->setEnabled(false); + params.putBool("NNFF", false); + toggles["NNFF"]->refresh(); + } else { + toggles["NNFF"]->setEnabled(true); + toggles["NNFF"]->refresh(); + } + }); + // trigger updateToggles() when toggleFlipped for (const auto& updateToggleName : updateTogglesNames) { if (toggles.find(updateToggleName) != toggles.end()) { @@ -366,6 +395,7 @@ SunnypilotPanel::SunnypilotPanel(QWidget *parent) : QFrame(parent) { toggles["EnableMads"]->setConfirmation(true, false); toggles["EndToEndLongAlertLight"]->setConfirmation(true, false); toggles["CustomOffsets"]->showDescription(); + toggles["OvertakingAccelerationAssist"]->setConfirmation(true, false); connect(toggles["EnableMads"], &ToggleControlSP::toggleFlipped, mads_settings, &MadsSettings::updateToggles); connect(toggles["EnableMads"], &ToggleControlSP::toggleFlipped, [=](bool state) { @@ -577,7 +607,7 @@ void SunnypilotPanel::updateToggles() { } // toggle names to update when EnforceTorqueLateral is flipped - std::vector torqueLateralGroup{"CustomTorqueLateral", "LiveTorque", "LiveTorqueRelaxed", "TorquedOverride"}; + std::vector torqueLateralGroup{"CustomTorqueLateral", "TorqueLateralJerk", "LiveTorque", "LiveTorqueRelaxed", "TorquedOverride"}; for (const auto& torqueLateralToggle : torqueLateralGroup) { if (toggles.find(torqueLateralToggle) != toggles.end()) { if (nnff_toggle->isToggled()) { @@ -594,6 +624,24 @@ void SunnypilotPanel::updateToggles() { } } + // toggle names to update when EnforceTorqueLateral is flipped + std::vector nnffGroup{"NNFFNoLateralJerk"}; + for (const auto& nnffToggle : nnffGroup) { + if (toggles.find(nnffToggle) != toggles.end()) { + if (enforce_torque_lateral->isToggled()) { + toggles[nnffToggle]->setVisible(false); + toggles[nnffToggle]->setEnabled(false); + } + } + } + + for (const auto& nnffToggle : nnffGroup) { + if (toggles.find(nnffToggle) != toggles.end()) { + toggles[nnffToggle]->setVisible(nnff_toggle->isToggled()); + toggles[nnffToggle]->setEnabled(nnff_toggle->isToggled()); + } + } + if (enforce_torque_lateral->isToggled()) { live_torque_relaxed->setVisible(live_torque->isToggled()); torqued_override->setVisible(custom_torque_lateral->isToggled()); @@ -622,13 +670,14 @@ TorqueFriction::TorqueFriction() : OptionControlSP( tr("FRICTION"), tr("Adjust Friction for the Torque Lateral Controller. Live: Override self-tune values; Offline: Override self-tune offline values at car restart."), "../assets/offroad/icon_blank.png", - {0, 50}) { + {0, 500}, + 5) { refresh(); } void TorqueFriction::refresh() { - float torqueFrictionVal = QString::fromStdString(params.get("TorqueFriction")).toInt() * 0.01; + float torqueFrictionVal = QString::fromStdString(params.get("TorqueFriction")).toInt() * 0.001; setTitle("FRICTION - " + (params.getBool("TorquedOverride") ? tr("Real-time and Offline") : tr("Offline Only"))); setLabel(QString::number(torqueFrictionVal)); } diff --git a/selfdrive/ui/sunnypilot/qt/offroad/settings/sunnypilot_settings.h b/selfdrive/ui/sunnypilot/qt/offroad/settings/sunnypilot_settings.h index b87854492c..802a61356b 100644 --- a/selfdrive/ui/sunnypilot/qt/offroad/settings/sunnypilot_settings.h +++ b/selfdrive/ui/sunnypilot/qt/offroad/settings/sunnypilot_settings.h @@ -29,6 +29,7 @@ Last updated: July 29, 2024 #include #include +#include "common/model.h" #include "selfdrive/ui/sunnypilot/ui.h" #include "selfdrive/ui/sunnypilot/qt/offroad/settings/sunnypilot/custom_offsets_settings.h" #include "selfdrive/ui/sunnypilot/qt/offroad/settings/sunnypilot/lane_change_settings.h" diff --git a/selfdrive/ui/sunnypilot/qt/offroad/settings/vehicle_settings.cc b/selfdrive/ui/sunnypilot/qt/offroad/settings/vehicle_settings.cc index 6a78d5f71a..6bed185a58 100644 --- a/selfdrive/ui/sunnypilot/qt/offroad/settings/vehicle_settings.cc +++ b/selfdrive/ui/sunnypilot/qt/offroad/settings/vehicle_settings.cc @@ -110,6 +110,13 @@ SPVehiclesTogglesPanel::SPVehiclesTogglesPanel(VehiclePanel *parent) : ListWidge hkgCustomLongTuning->setConfirmation(true, false); addItem(hkgCustomLongTuning); + hyundaiCruiseMainDefault = new ParamControlSP( + "HyundaiCruiseMainDefault", + tr("HKG CAN: Enable Cruise Main By Default"), + tr("Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS"), + "../assets/offroad/icon_blank.png"); + addItem(hyundaiCruiseMainDefault); + // Subaru addItem(new LabelControlSP(tr("Subaru"))); auto subaruManualParkingBrakeSng = new ParamControlSP( @@ -207,6 +214,7 @@ SPVehiclesTogglesPanel::SPVehiclesTogglesPanel(VehiclePanel *parent) : ListWidge connect(uiStateSP(), &UIStateSP::offroadTransition, [=](bool offroad) { is_onroad = !offroad; hkgCustomLongTuning->setEnabled(offroad); + hyundaiCruiseMainDefault->setEnabled(offroad); toyotaTss2LongTune->setEnabled(offroad); toyotaAbh->setEnabled(offroad); toyotaEnhancedBsm->setEnabled(offroad); @@ -237,6 +245,17 @@ void SPVehiclesTogglesPanel::updateToggles() { capnp::FlatArrayMessageReader cmsg(aligned_buf.align(cp_bytes.data(), cp_bytes.size())); cereal::CarParams::Reader CP = cmsg.getRoot(); + // Hyundai/Kia/Genesis + { + if (CP.getCarName() == "hyundai") { + if ((CP.getSpFlags() & 2) and !(CP.getFlags() & 8192)) { + hyundaiCruiseMainDefault->setEnabled(true); + } else { + hyundaiCruiseMainDefault->setEnabled(false); + } + } + } + // Toyota: Enhanced Blind Spot Monitor { if (CP.getCarName() == "toyota") { diff --git a/selfdrive/ui/sunnypilot/qt/offroad/settings/vehicle_settings.h b/selfdrive/ui/sunnypilot/qt/offroad/settings/vehicle_settings.h index ddf61f6e76..c5488bcd53 100644 --- a/selfdrive/ui/sunnypilot/qt/offroad/settings/vehicle_settings.h +++ b/selfdrive/ui/sunnypilot/qt/offroad/settings/vehicle_settings.h @@ -28,8 +28,10 @@ Last updated: July 29, 2024 #include +#include "common/watchdog.h" #include "selfdrive/ui/sunnypilot/ui.h" #include "selfdrive/ui/sunnypilot/qt/widgets/controls.h" +#include "selfdrive/ui/sunnypilot/qt/widgets/scrollview.h" class VehiclePanel : public QWidget { Q_OBJECT @@ -67,6 +69,7 @@ private: Params params; bool is_onroad = false; + ParamControlSP *hyundaiCruiseMainDefault; ParamControlSP *stockLongToyota; ParamControlSP *toyotaEnhancedBsm; diff --git a/selfdrive/ui/sunnypilot/qt/offroad_home.cc b/selfdrive/ui/sunnypilot/qt/offroad_home.cc index e0791bd11e..caf17fb020 100644 --- a/selfdrive/ui/sunnypilot/qt/offroad_home.cc +++ b/selfdrive/ui/sunnypilot/qt/offroad_home.cc @@ -30,6 +30,7 @@ Last updated: July 29, 2024 #include "selfdrive/ui/qt/offroad/experimental_mode.h" #include "selfdrive/ui/qt/widgets/prime.h" +#include #include "selfdrive/ui/sunnypilot/sunnypilot_main.h" #ifdef ENABLE_MAPS diff --git a/selfdrive/ui/sunnypilot/qt/offroad_home.h b/selfdrive/ui/sunnypilot/qt/offroad_home.h index a7c1a36ef2..1f607a9b3a 100644 --- a/selfdrive/ui/sunnypilot/qt/offroad_home.h +++ b/selfdrive/ui/sunnypilot/qt/offroad_home.h @@ -31,6 +31,7 @@ Last updated: July 29, 2024 #include "selfdrive/ui/qt/maps/map_settings.h" #endif + class OffroadHomeSP : public OffroadHome { Q_OBJECT diff --git a/selfdrive/ui/sunnypilot/qt/onroad/annotated_camera.cc b/selfdrive/ui/sunnypilot/qt/onroad/annotated_camera.cc index 142400b8c3..2d89a8068e 100644 --- a/selfdrive/ui/sunnypilot/qt/onroad/annotated_camera.cc +++ b/selfdrive/ui/sunnypilot/qt/onroad/annotated_camera.cc @@ -1290,46 +1290,25 @@ void AnnotatedCameraWidgetSP::drawDriverState(QPainter &painter, const UIStateSP } void AnnotatedCameraWidgetSP::rocketFuel(QPainter &p) { + UIState *s = uiState(); + float accel = (*s->sm)["carControl"].getCarControl().getActuators().getAccel(); + int widgetHeight = rect().height(); + float halfHeightAbs = std::abs(accel) * widgetHeight / 2.0f; + const float scannerWidth = 15; + QRect scannerRect; - static const int ct_n = 1; - static float ct; - - int rect_w = rect().width(); - int rect_h = rect().height(); - - const int n = 15 + 1; //Add one off screen due to timing issues - static float t[n]; - int dim_n = (sin(ct / 5) + 1) * (n - 0.01); - t[dim_n] = 1.0; - t[(int)(ct/ct_n)] = 1.0; - - UIStateSP *s = uiStateSP(); - float vc_accel0 = (*s->sm)["carState"].getCarState().getAEgo(); - static float vc_accel; - vc_accel = vc_accel + (vc_accel0 - vc_accel) / 5; - float hha = 0; - if (vc_accel > 0) { - hha = 0.85 - 0.1 / vc_accel; // only extend up to 85% + if (accel > 0) { p.setBrush(QColor(0, 245, 0, 200)); - } - if (vc_accel < 0) { - hha = 0.85 + 0.1 / vc_accel; // only extend up to 85% - p.setBrush(QColor(245, 0, 0, 200)); - } - if (hha < 0) { - hha = 0; - } - hha = hha * rect_h; - float wp = 28; - if (vc_accel > 0) { - QRect ra = QRect(rect_w - wp, rect_h / 2 - hha / 2, wp, hha / 2); - p.drawRect(ra); + scannerRect = QRect(0, widgetHeight / 2 - halfHeightAbs, scannerWidth, halfHeightAbs); } else { - QRect ra = QRect(rect_w - wp, rect_h / 2, wp, hha / 2); - p.drawRect(ra); + p.setBrush(QColor(245, 0, 0, 200)); + scannerRect = QRect(0, widgetHeight / 2, scannerWidth, halfHeightAbs); } + + p.drawRect(scannerRect); } + void AnnotatedCameraWidgetSP::drawLead(QPainter &painter, const cereal::RadarState::LeadData::Reader &lead_data, const QPointF &vd, int num, const cereal::CarState::Reader &car_data, int chevron_data) { painter.save(); diff --git a/selfdrive/ui/sunnypilot/qt/onroad/onroad_home.cc b/selfdrive/ui/sunnypilot/qt/onroad/onroad_home.cc index a7acf4865c..0c407c64d0 100644 --- a/selfdrive/ui/sunnypilot/qt/onroad/onroad_home.cc +++ b/selfdrive/ui/sunnypilot/qt/onroad/onroad_home.cc @@ -26,6 +26,8 @@ Last updated: July 29, 2024 #include "selfdrive/ui/sunnypilot/qt/onroad/onroad_home.h" +#include +#include #ifdef ENABLE_MAPS #include "selfdrive/ui/sunnypilot/qt/maps/map_helpers.h" diff --git a/selfdrive/ui/sunnypilot/qt/onroad/onroad_home.h b/selfdrive/ui/sunnypilot/qt/onroad/onroad_home.h index 121c0ba75d..f66c520323 100644 --- a/selfdrive/ui/sunnypilot/qt/onroad/onroad_home.h +++ b/selfdrive/ui/sunnypilot/qt/onroad/onroad_home.h @@ -29,6 +29,9 @@ Last updated: July 29, 2024 #include "selfdrive/ui/qt/onroad/onroad_home.h" #include "common/params.h" +#include "selfdrive/ui/qt/onroad/alerts.h" +// #include "selfdrive/ui/sunnypilot/qt/onroad/annotated_camera.h" + class OnroadWindowSP : public OnroadWindow { Q_OBJECT @@ -59,6 +62,7 @@ private: void createMapWidget(); void createOnroadSettingsWidget(); void mousePressEvent(QMouseEvent* e) override; + // AnnotatedCameraWidgetSP *nvg; QWidget *map = nullptr; QWidget *onroad_settings = nullptr; diff --git a/selfdrive/ui/sunnypilot/qt/onroad/onroad_settings.cc b/selfdrive/ui/sunnypilot/qt/onroad/onroad_settings.cc index e886e4b43e..2058ce68af 100644 --- a/selfdrive/ui/sunnypilot/qt/onroad/onroad_settings.cc +++ b/selfdrive/ui/sunnypilot/qt/onroad/onroad_settings.cc @@ -193,7 +193,7 @@ void OnroadSettings::changeDynamicPersonality() { void OnroadSettings::changeDynamicExperimentalControl() { UISceneSP &scene = uiStateSP()->scene; const auto cp = (*uiStateSP()->sm)["carParams"].getCarParams(); - bool can_change = hasLongitudinalControl(cp); + bool can_change = hasLongitudinalControl(cp) || (!cp.getPcmCruiseSpeed() && params.getBool("CustomStockLongPlanner")); if (can_change) { scene.dynamic_experimental_control = !scene.dynamic_experimental_control; params.putBool("DynamicExperimentalControl", scene.dynamic_experimental_control); diff --git a/selfdrive/ui/sunnypilot/qt/onroad/onroad_settings_panel.cc b/selfdrive/ui/sunnypilot/qt/onroad/onroad_settings_panel.cc index 47a6f06235..e5aefdcd57 100644 --- a/selfdrive/ui/sunnypilot/qt/onroad/onroad_settings_panel.cc +++ b/selfdrive/ui/sunnypilot/qt/onroad/onroad_settings_panel.cc @@ -26,6 +26,7 @@ Last updated: July 29, 2024 #include "selfdrive/ui/sunnypilot/qt/onroad/onroad_settings_panel.h" +#include #include #include "selfdrive/ui/sunnypilot/qt/onroad/onroad_settings.h" diff --git a/selfdrive/ui/sunnypilot/qt/sidebar.cc b/selfdrive/ui/sunnypilot/qt/sidebar.cc index 67447a57e6..6e0a60a4b9 100644 --- a/selfdrive/ui/sunnypilot/qt/sidebar.cc +++ b/selfdrive/ui/sunnypilot/qt/sidebar.cc @@ -34,6 +34,7 @@ Last updated: July 29, 2024 #include "selfdrive/ui/sunnypilot/qt/util.h" #include "common/params.h" + SidebarSP::SidebarSP(QWidget *parent) : Sidebar(parent) { // Because I know that stock sidebar makes this connection, I will disconnect it and connect it to the new updateState function QObject::disconnect(uiState(), &UIState::uiUpdate, this, &Sidebar::updateState); @@ -122,6 +123,7 @@ void SidebarSP::updateState(const UIStateSP &s) { setProperty("sunnylinkStatus", QVariant::fromValue(sunnylinkStatus)); } + void SidebarSP::DrawSidebar(QPainter &p){ Sidebar::DrawSidebar(p); // metrics diff --git a/selfdrive/ui/sunnypilot/qt/sidebar.h b/selfdrive/ui/sunnypilot/qt/sidebar.h index 69de76f7a0..bc5a166823 100644 --- a/selfdrive/ui/sunnypilot/qt/sidebar.h +++ b/selfdrive/ui/sunnypilot/qt/sidebar.h @@ -28,6 +28,8 @@ Last updated: July 29, 2024 #include +#include +#include #include "selfdrive/ui/qt/sidebar.h" #include "selfdrive/ui/sunnypilot/ui.h" diff --git a/selfdrive/ui/sunnypilot/qt/ui_scene.h b/selfdrive/ui/sunnypilot/qt/ui_scene.h index e590c94046..8fd67fb692 100644 --- a/selfdrive/ui/sunnypilot/qt/ui_scene.h +++ b/selfdrive/ui/sunnypilot/qt/ui_scene.h @@ -25,6 +25,7 @@ Last updated: July 29, 2024 ***/ #pragma once +#include "selfdrive/ui/ui.h" const float DRIVING_PATH_WIDE = 0.9; const float DRIVING_PATH_NARROW = 0.25; diff --git a/selfdrive/ui/sunnypilot/qt/widgets/controls.h b/selfdrive/ui/sunnypilot/qt/widgets/controls.h index c7784a36c8..41ff731754 100644 --- a/selfdrive/ui/sunnypilot/qt/widgets/controls.h +++ b/selfdrive/ui/sunnypilot/qt/widgets/controls.h @@ -31,6 +31,13 @@ Last updated: July 29, 2024 #include #include +#include +#include +#include +#include +#include +#include + #include "common/params.h" #include "selfdrive/ui/qt/widgets/controls.h" #include "selfdrive/ui/qt/widgets/input.h" diff --git a/selfdrive/ui/sunnypilot/sunnypilot_main.h b/selfdrive/ui/sunnypilot/sunnypilot_main.h index a1732da764..01eb6cd405 100644 --- a/selfdrive/ui/sunnypilot/sunnypilot_main.h +++ b/selfdrive/ui/sunnypilot/sunnypilot_main.h @@ -36,6 +36,7 @@ Last updated: July 29, 2024 #include "selfdrive/ui/sunnypilot/qt/offroad/settings/software_settings.h" #include "selfdrive/ui/sunnypilot/qt/offroad/settings/sunnylink_settings.h" + inline void ReplaceWidget(QWidget* old_widget, QWidget* new_widget) { if (old_widget && old_widget->parentWidget() && old_widget->parentWidget()->layout()) { old_widget->parentWidget()->layout()->replaceWidget(old_widget, new_widget); diff --git a/selfdrive/ui/sunnypilot/ui.cc b/selfdrive/ui/sunnypilot/ui.cc index ce490431d1..b9c2c10ad3 100644 --- a/selfdrive/ui/sunnypilot/ui.cc +++ b/selfdrive/ui/sunnypilot/ui.cc @@ -34,6 +34,7 @@ Last updated: July 29, 2024 #include "common/transformations/orientation.hpp" #include "common/params.h" +#include "common/swaglog.h" #include "common/util.h" #include "common/watchdog.h" #include "selfdrive/ui/sunnypilot/qt/network/sunnylink/models/role_model.h" diff --git a/selfdrive/ui/sunnypilot/ui.h b/selfdrive/ui/sunnypilot/ui.h index 434b334f75..f7a48836c9 100644 --- a/selfdrive/ui/sunnypilot/ui.h +++ b/selfdrive/ui/sunnypilot/ui.h @@ -33,9 +33,11 @@ Last updated: July 29, 2024 #include "selfdrive/ui/ui.h" #include "cereal/messaging/messaging.h" +#include "common/timing.h" #include "qt/network/sunnylink/models/role_model.h" #include "qt/network/sunnylink/models/sponsor_role_model.h" #include "qt/network/sunnylink/models/user_model.h" +#include "selfdrive/ui/sunnypilot/qt/ui_scene.h" #include "system/hardware/hw.h" const int UI_ROAD_NAME_MARGIN_X = 14; diff --git a/selfdrive/ui/translations/main_ar.ts b/selfdrive/ui/translations/main_ar.ts index d8146723a4..b93077deb3 100644 --- a/selfdrive/ui/translations/main_ar.ts +++ b/selfdrive/ui/translations/main_ar.ts @@ -87,6 +87,89 @@ من أجل "%1" + + AdvancedNetworkingSP + + Back + السابق + + + Enable Tethering + تمكين الربط + + + Retain hotspot/tethering state + + + + Enabling this toggle will retain the hotspot/tethering toggle state across reboots. + + + + Tethering Password + كلمة مرور الربط + + + EDIT + تعديل + + + Enter new tethering password + أدخل كلمة مرور الربط الجديدة + + + IP Address + عنوان IP + + + Enable Roaming + تمكين التجوال + + + APN Setting + إعدادات APN + + + Enter APN + إدخال APN + + + leave blank for automatic configuration + اتركه فارغاً من أجل التكوين التلقائي + + + Cellular Metered + محدود بالاتصال الخلوي + + + Prevent large data uploads when on a metered connection + منع تحميل البيانات الكبيرة عندما يكون الاتصال محدوداً + + + Hidden Network + شبكة مخفية + + + CONNECT + الاتصال + + + Enter SSID + أدخل SSID + + + Enter password + أدخل كلمة المرور + + + for "%1" + من أجل "%1" + + + Ngrok Service + + + AnnotatedCameraWidget @@ -103,11 +186,127 @@ SPEED - SPEED + SPEED LIMIT - LIMIT + LIMIT + + + + AnnotatedCameraWidgetSP + + km/h + كم/س + + + mph + ميل/س + + + blended + + + + acc + + + + MAX + MAX + + + SPEED + SPEED + + + LIMIT + LIMIT + + + + AutoLaneChangeTimer + + Auto Lane Change by Blinker + + + + Set a timer to delay the auto lane change operation when the blinker is used. No nudge on the steering wheel is required to auto lane change if a timer is set. Default is Nudge. +Please use caution when using this feature. Only use the blinker when traffic and road conditions permit. + + + + s + + + + Off + + + + Nudge + + + + Nudgeless + + + + + BackupSettings + + Settings backed up for sunnylink Device ID: + + + + Settings updated successfully, but no additional data was returned by the server. + + + + OOPS! We made a booboo. + + + + Please try again later. + + + + Settings restored. Confirm to restart the interface. + + + + No settings found to restore. + + + + + BrightnessControl + + Brightness + + + + Manually adjusts the global brightness of the screen. + + + + Auto + + + + + CameraOffset + + Camera Offset - Laneful Only + + + + Hack to trick vehicle to be left or right biased in its lane. Decreasing the value will make the car keep more left, increasing will make it keep more right. Changes take effect immediately. Default: +4 cm + + + + cm + @@ -121,11 +320,18 @@ إلغاء + + CustomOffsetsSettings + + Back + السابق + + DeclinePage You must accept the Terms and Conditions in order to use openpilot. - يجب عليك قبول الشروط والأحكام من أجل استخدام openpilot. + يجب عليك قبول الشروط والأحكام من أجل استخدام openpilot. Back @@ -135,6 +341,10 @@ Decline, uninstall %1 رفض، إلغاء التثبيت %1 + + You must accept the Terms and Conditions in order to use sunnypilot. + + DestinationWidget @@ -247,7 +457,7 @@ openpilot requires the device to be mounted within 4° left or right and within 5° up or 9° down. openpilot is continuously calibrating, resetting is rarely required. - يحتاج openpilot أن يتم ضبط الجهاز ضمن حدود 4 درجات يميناً أو يساراً و5 درجات نحو الأعلى أو 9 نحو الأسفل. يقوم openpilot بالمعايرة باستمرار، ونادراً ما يحتاج إلى عملية إعادة الضبط. + يحتاج openpilot أن يتم ضبط الجهاز ضمن حدود 4 درجات يميناً أو يساراً و5 درجات نحو الأعلى أو 9 نحو الأسفل. يقوم openpilot بالمعايرة باستمرار، ونادراً ما يحتاج إلى عملية إعادة الضبط. Your device is pointed %1° %2 and %3° %4. @@ -305,6 +515,155 @@ PAIR إقران + + sunnypilot requires the device to be mounted within 4° left or right and within 5° up or 9° down. sunnypilot is continuously calibrating, resetting is rarely required. + + + + + DevicePanelSP + + TOGGLE + + + + Enable or disable PIN requirement for Fleet Manager access. + + + + Are you sure you want to turn off PIN requirement? + + + + Turn Off + + + + Error Troubleshoot + + + + VIEW + عرض + + + Display error from the tmux session when an error has occurred from a system process. + + + + Reset Access Tokens for Map Services + + + + RESET + إعادة الضبط + + + Reset self-service access tokens for Mapbox, Amap, and Google Maps. + + + + Are you sure you want to reset access tokens for all map services? + + + + Reset + إعادة الضبط + + + Reset sunnypilot Settings + + + + Are you sure you want to reset all sunnypilot settings? + + + + Toggle Onroad/Offroad + + + + OFF + + + + Are you sure you want to unforce offroad? + + + + Unforce + + + + Are you sure you want to force offroad? + + + + Force + + + + Disengage to Force Offroad + + + + Unforce Offroad + + + + Force Offroad + + + + Fleet Manager PIN: + + + + + DisplayPanel + + Driving Screen Off: Non-Critical Events + + + + When <b>Driving Screen Off Timer</b> is not set to <b>"Always On"</b>: + + + + Enabled: Wake the brightness of the screen to display all events. + + + + Disabled: Wake the brightness of the screen to display critical events. + + + + + DriveStats + + Drives + + + + Hours + + + + ALL TIME + + + + PAST WEEK + + + + KM + + + + Miles + + DriverViewWindow @@ -349,6 +708,79 @@ جارٍ التثبيت... + + LaneChangeSettings + + Back + السابق + + + Pause Lateral Below Speed with Blinker + + + + Enable this toggle to pause lateral actuation with blinker when traveling below the desired speed selected below. + + + + Auto Lane Change: Delay with Blind Spot + + + + Toggle to enable a delay timer for seamless lane changes when blind spot monitoring (BSM) detects a obstructing vehicle, ensuring safe maneuvering. + + + + Block Lane Change: Road Edge Detection + + + + Enable this toggle to block lane change when road edge is detected on the stalk actuated side. + + + + + MadsSettings + + Enable ACC+MADS with RES+/SET- + + + + Engage both M.A.D.S. and ACC with a single press of RES+ or SET- button. + + + + Note: Once M.A.D.S. is engaged via this mode, it will remain engaged until it is manually disabled via the M.A.D.S. button or car shut off. + + + + Toggle M.A.D.S. with Cruise Main + + + + Allows M.A.D.S. engagement/disengagement with "Cruise Main" cruise control button from the steering wheel. + + + + Remain Active + + + + Pause Steering + + + + Steering Mode After Braking + + + + Choose how Automatic Lane Centering (ALC) behaves after the brake pedal is manually pressed in sunnypilot. + +Remain Active: ALC will remain active even after the brake pedal is pressed. +Pause Steering: ALC will be paused after the brake pedal is manually pressed. + + + MapETA @@ -390,6 +822,63 @@ بانتظار الطريق + + MapWindowSP + + Map Loading + تحميل الخريطة + + + Waiting for GPS + بانتظار GPS + + + Waiting for route + بانتظار الطريق + + + + MaxTimeOffroad + + Max Time Offroad + + + + Device is automatically turned off after a set time when the engine is turned off (off-road) after driving (on-road). + + + + s + + + + m + م + + + hr + س + + + Always On + + + + Immediate + + + + + MonitoringPanel + + Enable Hands on Wheel Monitoring + + + + Monitor and alert when driver is not keeping the hands on the steering wheel. + + + MultiOptionDialog @@ -420,6 +909,33 @@ كلمة مرور خاطئة + + NetworkingSP + + Scan + + + + Scanning... + + + + Advanced + متقدم + + + Enter password + أدخل كلمة المرور + + + for "%1" + من أجل "%1" + + + Wrong password + كلمة مرور خاطئة + + OffroadAlert @@ -472,6 +988,16 @@ openpilot detected a change in the device's mounting position. Ensure the device is fully seated in the mount and the mount is firmly secured to the windshield. لقد اكتشف openpilot تغييراً في موقع تركيب الجهاز. تأكد من تثبيت الجهاز بشكل كامل في موقعه وتثبيته بإحكام على الزجاج الأمامي. + + OpenStreetMap database is out of date. New maps must be downloaded if you wish to continue using OpenStreetMap data for Enhanced Speed Control and road name display. + +%1 + + + + sunnypilot is now in Forced Offroad mode. sunnypilot won't start until Forced Offroad mode is disabled. Go to "Settings" -> "Device" -> "Unforce Offroad" to exit Force Offroad mode. + + OffroadHome @@ -511,6 +1037,186 @@ إعادة التشغيل + + OnroadScreenOff + + Driving Screen Off Timer + + + + Turn off the device screen or reduce brightness to protect the screen after driving starts. It automatically brightens or turns on when a touch or event occurs. + + + + s + + + + min + د + + + Always On + + + + + OnroadScreenOffBrightness + + Driving Screen Off Brightness (%) + + + + When using the Driving Screen Off feature, the brightness is reduced according to the automatic brightness ratio. + + + + Dark + + + + + OnroadSettings + + ONROAD OPTIONS + + + + <b>ONROAD SETTINGS | SUNNYPILOT</b> + + + + + OsmPanel + + Mapd Version + + + + Offline Maps ETA + + + + Time Elapsed + + + + Downloaded Maps + + + + DELETE + + + + This will delete ALL downloaded maps + +Are you sure you want to delete all the maps? + + + + Yes, delete all the maps. + + + + Database Update + + + + CHECK + التحقق + + + Country + + + + SELECT + اختيار + + + Fetching Country list... + + + + State + + + + Fetching State list... + + + + All + + + + REFRESH + + + + UPDATE + تحديث + + + Download starting... + + + + Error: Invalid download. Retry. + + + + Download complete! + + + + + +Warning: You are on a metered connection! + + + + This will start the download process and it might take a while to complete. + + + + Continue on Metered + + + + Start Download + + + + m + + + + s + + + + Calculating... + + + + Downloaded + + + + Calculating ETA... + + + + Ready + + + + Time remaining: + + + PairingPopup @@ -541,6 +1247,51 @@ إلغاء + + ParamControlSP + + Enable + تمكين + + + Cancel + إلغاء + + + + PathOffset + + Path Offset + + + + Hack to trick the model path to be left or right biased of the lane. Decreasing the value will shift the model more left, increasing will shift the model more right. Changes take effect immediately. + + + + cm + + + + + PauseLateralSpeed + + Pause lateral actuation with blinker when traveling below the desired speed selected. Default is 20 MPH or 32 km/h. + + + + Default + + + + km/h + كم/س + + + mph + ميل/س + + PrimeAdWidget @@ -595,7 +1346,7 @@ openpilot - openpilot + openpilot %n minute(s) ago @@ -650,6 +1401,30 @@ now الآن + + sunnypilot + + + + Update downloaded. Ready to reboot. + + + + Update: Check and Download Update + + + + Reboot: Reboot Device + + + + Update + + + + Updating... + + Reset @@ -692,6 +1467,151 @@ This may take up to a minute. تم تفعيل إعادة ضبط النظام. اضغط على تأكيد لمسح جميع المحتويات والإعدادات. اضغط على إلغاء لاستئناف التمهيد. + + SPVehiclesTogglesPanel + + Hyundai/Kia/Genesis + + + + HKG: Custom Tuning for New Longitudinal API + + + + HKG CAN: Enable Cruise Main By Default + + + + Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS + + + + Subaru + + + + Manual Parking Brake: Stop and Go (Beta) + + + + Experimental feature to enable stop and go for Subaru Global models with manual handbrake. Models with electric parking brake should keep this disabled. Thanks to martinl for this implementation! + + + + Toyota/Lexus + + + + Enable Stock Toyota Longitudinal Control + + + + sunnypilot will <b>not</b> take over control of gas and brakes. Stock Toyota longitudinal control will be used. + + + + Allow M.A.D.S. toggling w/ LKAS Button (Beta) + + + + Allows M.A.D.S. engagement/disengagement with "LKAS" button from the steering wheel. + + + + Note: Enabling this toggle may have unexpected behavior with steering control. It is the driver's responsibility to observe their environment and make decisions accordingly. + + + + Toyota TSS2 Longitudinal: Custom Tuning + + + + Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation. + + + + Enable Automatic Brake Hold (AHB) + + + + WARNING: Only for Toyota/Lexus vehicles with TSS2/LSS2. USE AT YOUR OWN RISK. + + + + When you stop the vehicle completely by depressing the brake pedal, sunnypilot will activate Auto Brake Hold. + + + + Changing this setting takes effect when the car is powered off. + + + + Enable Enhanced Blind Spot Monitor + + + + Enable Toyota Stop and Go Hack + + + + sunnypilot will allow some Toyota/Lexus cars to auto resume during stop and go traffic. This feature is only applicable to certain models. Use at your own risk. + + + + Enable Toyota Door Auto Locking + + + + sunnypilot will attempt to lock the doors when drive above 10 km/h (6.2 mph). +Reboot Required. + + + + Enable Toyota Door Auto Unlocking + + + + sunnypilot will attempt to unlock the doors when shift to gear P. +Reboot Required. + + + + Volkswagen + + + + Enable CC Only support + + + + sunnypilot supports Volkswagen MQB CC only platforms with this toggle enabled. Only enable this toggle if your car does not have ACC from the factory. + + + + Start the car to check car compatibility + + + + This platform is already supported, therefore no need to enable this toggle + + + + This platform is not supported + + + + This platform can be supported + + + + sunnypilot will use debugging CAN messages to receive unfiltered BSM signals, allowing detection of more objects. + + + + Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2. + + + SettingsWindow @@ -715,6 +1635,61 @@ This may take up to a minute. البرنامج + + SettingsWindowSP + + × + × + + + Device + الجهاز + + + Network + الشبكة + + + sunnylink + + + + Toggles + المثبتتات + + + Software + البرنامج + + + sunnypilot + + + + OSM + + + + Monitoring + + + + Visuals + + + + Display + + + + Trips + + + + Vehicle + + + Setup @@ -908,6 +1883,100 @@ This may take up to a minute. 5G + + SidebarSP + + TEMP + درجة الحرارة + + + HIGH + مرتفع + + + GOOD + جيد + + + OK + موافق + + + DISABLED + + + + OFFLINE + غير متصل + + + REGIST... + + + + ONLINE + متصل + + + ERROR + خطأ + + + SUNNYLINK + + + + + SlcSettings + + Auto + + + + User Confirm + + + + Engage Mode + + + + Default + + + + Fixed + + + + Percentage + + + + Limit Offset + + + + Set speed limit slightly higher than actual speed limit for a more natural drive. + + + + This platform defaults to <b>Auto</b> mode. <b>User Confirm</b> mode is not supported on this platform. + + + + Select the desired mode to set the cruising speed to the speed limit: + + + + Auto: Automatic speed adjustment on motorways based on speed limit data. + + + + User Confirm: Inform the driver to change set speed of Adaptive Cruise Control to help the driver stay within the speed limit. + + + SoftwarePanel @@ -983,6 +2052,233 @@ This may take up to a minute. أحدث نسخة، آخر تحقق %1 + + SoftwarePanelSP + + Driving Model + + + + SELECT + اختيار + + + PENDING + + + + Downloading Driving model + + + + (CACHED) + + + + Driving model + + + + downloaded + + + + Downloading Navigation model + + + + Navigation model + + + + Downloading Metadata model + + + + Metadata model + + + + Downloads have failed, please try swapping the model! + + + + Failed: + + + + Fetching models... + + + + Select a Driving Model + + + + Download has started in the background. + + + + We STRONGLY suggest you to reset calibration. Would you like to do that now? + + + + Reset Calibration + إعادة ضبط المعايرة + + + Warning: You are on a metered connection! + + + + Continue + متابعة + + + on Metered + + + + + SpeedLimitPolicySettings + + Speed Limit Source Policy + + + + Nav + + + + Only + + + + Map + + + + Car + + + + First + + + + Select the precedence order of sources. Utilized by Speed Limit Control and Speed Limit Warning + + + + Nav Only: Data from Mapbox active navigation only. + + + + Map Only: Data from OpenStreetMap only. + + + + Car Only: Data from the car's built-in sources (if available). + + + + Nav First: Nav -> Map -> Car + + + + Map First: Map -> Nav -> Car + + + + Car First: Car -> Nav -> Map + + + + + SpeedLimitValueOffset + + km/h + كم/س + + + mph + ميل/س + + + + SpeedLimitWarningSettings + + Off + + + + Display + + + + Chime + + + + Speed Limit Warning + + + + Warning with speed limit flash + + + + When Speed Limit Warning is enabled, the speed limit sign will alert the driver when the cruising speed is faster than then speed limit plus the offset. + + + + Default + + + + Fixed + + + + Percentage + + + + Warning Offset + + + + Select the desired offset to warn the driver when the vehicle is driving faster than the speed limit. + + + + Off: When the cruising speed is faster than the speed limit plus the offset, there will be no warning. + + + + Display: The speed on the speed limit sign turns red to alert the driver when the cruising speed is faster than the speed limit plus the offset. + + + + Chime: The speed on the speed limit sign turns red and chimes to alert the driver when the cruising speed is faster than the speed limit plus the offset. + + + + + SpeedLimitWarningValueOffset + + N/A + غير متاح + + + km/h + كم/س + + + mph + ميل/س + + SshControl @@ -1029,6 +2325,415 @@ This may take up to a minute. تمكين SSH + + SunnylinkPanel + + Enable sunnylink + + + + Device ID + + + + N/A + غير متاح + + + This is the master switch, it will allow you to cutoff any sunnylink requests should you want to do that. + + + + 🎉Welcome back! We're excited to see you've enabled sunnylink again! 🚀 + + + + 👋Not going to lie, it's sad to see you disabled sunnylink 😢, but we'll be here when you're ready to come back 🎉. + + + + Sponsor Status + + + + SPONSOR + + + + Become a sponsor of sunnypilot to get early access to sunnylink features when they become available. + + + + Pair GitHub Account + + + + PAIR + إقران + + + Pair your GitHub account to grant your device sponsor benefits, including API access on sunnylink. + + + + sunnylink Dongle ID not found. This may be due to weak internet connection or sunnylink registration issue. Please reboot and try again. + + + + Manage Settings + + + + Backup Settings + + + + Are you sure you want to backup sunnypilot settings? + + + + Back Up + + + + Restore Settings + + + + Are you sure you want to restore the last backed up sunnypilot settings? + + + + Restore + + + + THANKS + + + + Not Sponsor + + + + Paired + + + + Not Paired + + + + Backing up... + + + + Restoring... + + + + + SunnylinkSponsorPopup + + Scan the QR code to login to your GitHub account + + + + Follow the prompts to complete the pairing process + + + + Re-enter the "sunnylink" panel to verify sponsorship status + + + + If sponsorship status was not updated, please contact a moderator on Discord at https://discord.gg/sunnypilot + + + + Scan the QR code to visit sunnyhaibin's GitHub Sponsors page + + + + Choose your sponsorship tier and confirm your support + + + + Join our community on Discord at https://discord.gg/sunnypilot and reach out to a moderator to confirm your sponsor status + + + + Pair your GitHub account + + + + Early Access: Become a sunnypilot Sponsor + + + + + SunnypilotPanel + + Enable M.A.D.S. + + + + Enable the beloved M.A.D.S. feature. Disable toggle to revert back to stock openpilot engagement/disengagement. + + + + Laneless for Curves in "Auto" Mode + + + + While in Auto Lane, switch to Laneless for current/future curves. + + + + Speed Limit Control (SLC) + + + + When you engage ACC, you will be prompted to set the cruising speed to the speed limit of the road adjusted by the Offset and Source Policy specified, or the current driving speed. The maximum cruising speed will always be the MAX set speed. + + + + Enable Vision-based Turn Speed Control (V-TSC) + + + + Use vision path predictions to estimate the appropriate speed to drive through turns ahead. + + + + Enable Map Data Turn Speed Control (M-TSC) (Beta) + + + + Use curvature information from map data to define speed limits to take turns ahead. + + + + ACC +/-: Long Press Reverse + + + + Change the ACC +/- buttons behavior with cruise speed change in sunnypilot. + + + + Disabled (Stock): Short=1, Long = 5 (imperial) / 10 (metric) + + + + Enabled: Short = 5 (imperial) / 10 (metric), Long=1 + + + + Custom Offsets + + + + Neural Network Lateral Control (NNLC) + + + + NNLC: Remove Lateral Jerk Response (Alpha) + + + + When NNLC is active, enable this to disables the use of lateral jerk in steering torque calculations, focusing solely on lateral acceleration for a simplified control response. + + + + Enforce Torque Lateral Control + + + + Enable this to enforce sunnypilot to steer with Torque lateral control. + + + + Lateral Jerk with Torque Lateral Control (Alpha) + + + + Utilizes limited lateral jerk control for improved steering response, leveraging stock torque lateral controller capabilities. Designed to mimic NNLC behavior without training models or data collection. + + + + Enable Self-Tune + + + + Enables self-tune for Torque lateral control for platforms that do not use Torque lateral control by default. + + + + Less Restrict Settings for Self-Tune (Beta) + + + + Less strict settings when using Self-Tune. This allows torqued to be more forgiving when learning values. + + + + Enable Custom Tuning + + + + Enables custom tuning for Torque lateral control. Modifying FRICTION and LAT_ACCEL_FACTOR below will override the offline values indicated in the YAML files within "selfdrive/torque_data". The values will also be used live when "Override Self-Tune" toggle is enabled. + + + + Manual Real-Time Tuning + + + + Enforces the torque lateral controller to use the fixed values instead of the learned values from Self-Tune. Enabling this toggle overrides Self-Tune values. + + + + Quiet Drive 🤫 + + + + sunnypilot will display alerts but only play the most important warning sounds. This feature can be toggled while the car is on. + + + + Green Traffic Light Chime (Beta) + + + + A chime will play when the traffic light you are waiting for turns green and you have no vehicle in front of you. If you are waiting behind another vehicle, the chime will play once the vehicle advances unless ACC is engaged. + + + + Note: This chime is only designed as a notification. It is the driver's responsibility to observe their environment and make decisions accordingly. + + + + Lead Vehicle Departure Alert + + + + Enable this will notify when the leading vehicle drives away. + + + + Customize M.A.D.S. + + + + Customize Lane Change + + + + Customize Offsets + + + + Customize Speed Limit Control + + + + Customize Warning + + + + Customize Source + + + + Laneful + + + + Laneless + + + + Auto + + + + Dynamic Lane Profile + + + + Speed Limit Assist + + + + Real-time and Offline + + + + Offline Only + + + + Dynamic Lane Profile is not available with the current Driving Model + + + + Custom Offsets is not available with the current Driving Model + + + + NNLC is currently not available on this platform. + + + + Match: "Exact" is ideal, but "Fuzzy" is fine too. Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server if there are any issues: + + + + Start the car to check car compatibility + + + + NNLC Not Loaded + + + + NNLC Loaded + + + + Fuzzy + + + + Exact + + + + Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server and donate logs to get NNLC loaded for your car: + + + + Match + + + + Formerly known as <b>"NNFF"</b>, this replaces the lateral <b>"torque"</b> controller, with one using a neural network trained on each car's (actually, each separate EPS firmware) driving data for increased controls accuracy. + + + + Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server with feedback, or to provide log data for your car if your car is currently unsupported: + + + + Add custom offsets to Camera and Path in sunnypilot. + + + + Default is Laneless. In Auto mode, sunnnypilot dynamically chooses between Laneline or Laneless model based on lane recognition confidence level on road and certain conditions. + + + TermsPage @@ -1048,15 +2753,30 @@ This may take up to a minute. أوافق + + TermsPageSP + + Terms & Conditions + الشروط والأحكام + + + Decline + رفض + + + Scroll to accept + قم بالتمرير للقبول + + TogglesPanel Enable openpilot - تمكين openpilot + تمكين openpilot Use the openpilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. - استخدم نظام openpilot من أجل الضبط التكيفي للسرعة والحفاظ على مساعدة السائق للبقاء في المسار. انتباهك مطلوب في جميع الأوقات مع استخدام هذه الميزة. يعمل هذا التغيير في الإعدادات عند إيقاف تشغيل السيارة. + استخدم نظام openpilot من أجل الضبط التكيفي للسرعة والحفاظ على مساعدة السائق للبقاء في المسار. انتباهك مطلوب في جميع الأوقات مع استخدام هذه الميزة. يعمل هذا التغيير في الإعدادات عند إيقاف تشغيل السيارة. Enable Lane Departure Warnings @@ -1092,19 +2812,19 @@ This may take up to a minute. Show ETA in 24h Format - إظهار الوقت المقدر للوصول بصيغة 24 ساعة + إظهار الوقت المقدر للوصول بصيغة 24 ساعة Use 24h format instead of am/pm - استخدام صيغة 24 ساعة بدلاً من صباحاً/مساء + استخدام صيغة 24 ساعة بدلاً من صباحاً/مساء Show Map on Left Side of UI - عرض الخريطة على الجانب الأيسر من واجهة المستخدم + عرض الخريطة على الجانب الأيسر من واجهة المستخدم Show map on left side when in split screen view. - عرض الخريطة عل الجانب الأيسر عندما تكون وضعية العرض بطريقة الشاشة المنقسمة. + عرض الخريطة عل الجانب الأيسر عندما تكون وضعية العرض بطريقة الشاشة المنقسمة. openpilot Longitudinal Control (Alpha) @@ -1186,6 +2906,256 @@ This may take up to a minute. Enable driver monitoring even when openpilot is not engaged. + + Enable sunnypilot + + + + Use the sunnypilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. + + + + + TogglesPanelSP + + Enable sunnypilot + + + + Use the sunnypilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. + + + + openpilot Longitudinal Control (Alpha) + التحكم الطولي openpilot (ألفا) + + + WARNING: sunnypilot longitudinal control is in alpha for this car and will disable Automatic Emergency Braking (AEB). + + + + On this car, sunnypilot defaults to the car's built-in ACC instead of openpilot's longitudinal control. Enable this to switch to sunnypilot longitudinal control. Enabling Experimental mode is recommended when enabling sunnypilot longitudinal control alpha. + + + + Custom Stock Longitudinal Control + + + + When enabled, sunnypilot will attempt to control stock longitudinal control with ACC button presses. +This feature must be used along with SLC, and/or V-TSC, and/or M-TSC. + + + + Use Planner Speed + + + + Experimental Mode + الوضع التجريبي + + + Enable Dynamic Experimental Control + + + + Enable toggle to allow the model to determine when to use sunnypilot ACC or sunnypilot End to End Longitudinal. + + + + Enable Dynamic Personality + + + + Enable this to allow sunnypilot to dynamically adjust following distance and reaction based on your "Driving Personality" setting. Instead of predefined settings for each personality, every personality now adapts dynamically according to your speed and the distance to the lead car. + + + + Disengage on Accelerator Pedal + فك الارتباط عن دواسة الوقود + + + When enabled, pressing the accelerator pedal will disengage openpilot. + عند تمكين هذه الميزة، فإن الضغط على دواسة الوقود سيؤدي إلى فك ارتباط openpilot. + + + Enable Lane Departure Warnings + قم بتمكين تحذيرات مغادرة المسار + + + Receive alerts to steer back into the lane when your vehicle drifts over a detected lane line without a turn signal activated while driving over 31 mph (50 km/h). + تلقي التنبيهات من أجل الالتفاف للعودة إلى المسار عندما تنحرف سيارتك فوق الخط المحدد للمسار دون تشغيل إشارة الانعطاف عند القيادة لمسافة تزيد عن 31 ميل/سا (50 كم/سا). + + + Always-On Driver Monitoring + + + + Enable driver monitoring even when sunnypilot is not engaged. + + + + Record and Upload Driver Camera + تسجيل وتحميل كاميرا السائق + + + Upload data from the driver facing camera and help improve the driver monitoring algorithm. + تحميل البيانات من الكاميرا المواجهة للسائق، والمساعدة في تحسين خوارزمية مراقبة السائق. + + + Disable Onroad Uploads + + + + Disable uploads completely when onroad. Necessary to avoid high data usage when connected to Wi-Fi hotspot. Turn on this feature if you are looking to utilize map-based features, such as Speed Limit Control (SLC) and Map-based Turn Speed Control (MTSC). + + + + Use Metric System + استخدام النظام المتري + + + Display speed in km/h instead of mph. + عرض السرعة بواحدات كم/سا بدلاً من ميل/سا. + + + Show ETA in 24h Format + إظهار الوقت المقدر للوصول بصيغة 24 ساعة + + + Use 24h format instead of am/pm + استخدام صيغة 24 ساعة بدلاً من صباحاً/مساء + + + Show Map on Left Side of UI + عرض الخريطة على الجانب الأيسر من واجهة المستخدم + + + Show map on left side when in split screen view. + عرض الخريطة عل الجانب الأيسر عندما تكون وضعية العرض بطريقة الشاشة المنقسمة. + + + Aggressive + الهجومي + + + Moderate + + + + Standard + القياسي + + + Relaxed + الراحة + + + Driving Personality + شخصية القيادة + + + Standard is recommended. In moderate/aggressive mode, sunnypilot will follow lead cars closer and be more aggressive with the gas and brake. In relaxed mode sunnypilot will stay further away from lead cars. On supported cars, you can cycle through these personalities with your steering wheel distance button. + + + + Sport + + + + Normal + + + + Eco + + + + Stock + + + + Acceleration Personality + + + + Normal is recommended. In sport mode, sunnypilot will provide aggressive acceleration for a dynamic driving experience. In eco mode, sunnypilot will apply smoother and more relaxed acceleration. On supported cars, you can cycle through these acceleration personality within Onroad Settings on the driving screen. + + + + openpilot defaults to driving in <b>chill mode</b>. Experimental mode enables <b>alpha-level features</b> that aren't ready for chill mode. Experimental features are listed below: + يتم وضع openpilot بشكل قياسي في <b>وضعية الراحة</b>. يمكن الوضع التجريبي <b>ميزات المستوى ألفا</b> التي لا تكون جاهزة في وضع الراحة: + + + End-to-End Longitudinal Control + التحكم الطولي من طرف إلى طرف + + + Let the driving model control the gas and brakes. sunnypilot will drive as it thinks a human would, including stopping for red lights and stop signs. Since the driving model decides the speed to drive, the set speed will only act as an upper bound. This is an alpha quality feature; mistakes should be expected. + + + + New Driving Visualization + تصور القيادة الديد + + + The driving visualization will transition to the road-facing wide-angle camera at low speeds to better show some turns. The Experimental mode logo will also be shown in the top right corner. + + + + Experimental mode is currently unavailable on this car since the car's stock ACC is used for longitudinal control. + الوضع التجريبي غير متوفر حالياً في هذه السيارة نظراً لاستخدام رصيد التحكم التكيفي بالسرعة من أجل التحكم الطولي. + + + openpilot longitudinal control may come in a future update. + قد يتم الحصول على التحكم الطولي في openpilot في عمليات التحديث المستقبلية. + + + An alpha version of sunnypilot longitudinal control can be tested, along with Experimental mode, on non-release branches. + + + + Enable the sunnypilot longitudinal control (alpha) toggle to allow Experimental mode. + + + + + TorqueFriction + + FRICTION + + + + Adjust Friction for the Torque Lateral Controller. <b>Live</b>: Override self-tune values; <b>Offline</b>: Override self-tune offline values at car restart. + + + + Real-time and Offline + + + + Offline Only + + + + + TorqueMaxLatAccel + + LAT_ACCEL_FACTOR + + + + Adjust Max Lateral Acceleration for the Torque Lateral Controller. <b>Live</b>: Override self-tune values; <b>Offline</b>: Override self-tune offline values at car restart. + + + + Real-time and Offline + + + + Offline Only + + Updater @@ -1222,6 +3192,168 @@ This may take up to a minute. فشل التحديث + + VehiclePanel + + Updating this setting takes effect when the car is powered off. + + + + Select your car + + + + + VisualsPanel + + Display Braking Status + + + + Enable this will turn the current speed value to red while the brake is used. + + + + Display Stand Still Timer + + + + Enable this will display time spent at a stop (i.e., at a stop lights, stop signs, traffic congestions). + + + + Display DM Camera in Reverse Gear + + + + Show Driver Monitoring camera while the car is in reverse gear. + + + + OSM: Show debug UI elements + + + + OSM: Show UI elements that aid debugging. + + + + Display Feature Status + + + + Display the statuses of certain features on the driving screen. + + + + Enable Onroad Settings + + + + Display the Onroad Settings button on the driving screen to adjust feature options on the driving screen, without navigating into the settings menu. + + + + Speedometer: Display True Speed + + + + Display the true vehicle current speed from wheel speed sensors. + + + + Speedometer: Hide from Onroad Screen + + + + Display End-to-end Longitudinal Status (Beta) + + + + Enable this will display an icon that appears when the End-to-end model decides to start or stop. + + + + Navigation: Display in Full Screen + + + + Enable this will display the built-in navigation in full screen.<br>To switch back to driving view, <font color='yellow'>tap on the border edge</font>. + + + + Map: Display 3D Buildings + + + + Parse and display 3D buildings on map. Thanks to jakethesnake420 for this implementation. + + + + Off + + + + 5 Metrics + + + + 10 Metrics + + + + Developer UI + + + + Display real-time parameters and metrics from various sources. + + + + Distance + + + + Speed + + + + Time + + + + All + + + + Display Metrics Below Chevron + + + + Display useful metrics below the chevron that tracks the lead car (only applicable to cars with openpilot longitudinal control). + + + + RAM + + + + CPU + + + + GPU + + + + Max + + + + Display Temperature on Sidebar + + + WiFiPromptWidget @@ -1268,4 +3400,27 @@ This may take up to a minute. نسيان + + WifiUISP + + Scanning for networks... + يتم البحث عن شبكات... + + + CONNECTING... + يتم الاتصال... + + + FORGET + نسيان هذه الشبكة + + + Forget Wi-Fi Network "%1"? + هل تريد نسيان شبكة الواي فاي "%1"؟ + + + Forget + نسيان + + diff --git a/selfdrive/ui/translations/main_de.ts b/selfdrive/ui/translations/main_de.ts index 010aa4d304..94beacb9b4 100644 --- a/selfdrive/ui/translations/main_de.ts +++ b/selfdrive/ui/translations/main_de.ts @@ -87,6 +87,89 @@ für "%1" + + AdvancedNetworkingSP + + Back + Zurück + + + Enable Tethering + Tethering aktivieren + + + Retain hotspot/tethering state + + + + Enabling this toggle will retain the hotspot/tethering toggle state across reboots. + + + + Tethering Password + Tethering Passwort + + + EDIT + ÄNDERN + + + Enter new tethering password + Neues tethering Passwort eingeben + + + IP Address + IP Adresse + + + Enable Roaming + Roaming aktivieren + + + APN Setting + APN Einstellungen + + + Enter APN + APN eingeben + + + leave blank for automatic configuration + für automatische Konfiguration leer lassen + + + Cellular Metered + Getaktete Verbindung + + + Prevent large data uploads when on a metered connection + Hochladen großer Dateien über getaktete Verbindungen unterbinden + + + Hidden Network + + + + CONNECT + CONNECT + + + Enter SSID + SSID eingeben + + + Enter password + Passwort eingeben + + + for "%1" + für "%1" + + + Ngrok Service + + + AnnotatedCameraWidget @@ -103,11 +186,127 @@ SPEED - Geschwindigkeit + Geschwindigkeit LIMIT - LIMIT + LIMIT + + + + AnnotatedCameraWidgetSP + + km/h + km/h + + + mph + mph + + + blended + + + + acc + + + + MAX + MAX + + + SPEED + Geschwindigkeit + + + LIMIT + LIMIT + + + + AutoLaneChangeTimer + + Auto Lane Change by Blinker + + + + Set a timer to delay the auto lane change operation when the blinker is used. No nudge on the steering wheel is required to auto lane change if a timer is set. Default is Nudge. +Please use caution when using this feature. Only use the blinker when traffic and road conditions permit. + + + + s + + + + Off + + + + Nudge + + + + Nudgeless + + + + + BackupSettings + + Settings backed up for sunnylink Device ID: + + + + Settings updated successfully, but no additional data was returned by the server. + + + + OOPS! We made a booboo. + + + + Please try again later. + + + + Settings restored. Confirm to restart the interface. + + + + No settings found to restore. + + + + + BrightnessControl + + Brightness + + + + Manually adjusts the global brightness of the screen. + + + + Auto + + + + + CameraOffset + + Camera Offset - Laneful Only + + + + Hack to trick vehicle to be left or right biased in its lane. Decreasing the value will make the car keep more left, increasing will make it keep more right. Changes take effect immediately. Default: +4 cm + + + + cm + @@ -121,11 +320,18 @@ Abbrechen + + CustomOffsetsSettings + + Back + Zurück + + DeclinePage You must accept the Terms and Conditions in order to use openpilot. - Du musst die Nutzungsbedingungen akzeptieren, um Openpilot zu benutzen. + Du musst die Nutzungsbedingungen akzeptieren, um Openpilot zu benutzen. Back @@ -135,6 +341,10 @@ Decline, uninstall %1 Ablehnen, deinstallieren %1 + + You must accept the Terms and Conditions in order to use sunnypilot. + + DestinationWidget @@ -247,7 +457,7 @@ openpilot requires the device to be mounted within 4° left or right and within 5° up or 9° down. openpilot is continuously calibrating, resetting is rarely required. - Damit Openpilot funktioniert, darf die Installationsposition nicht mehr als 4° nach rechts/links, 5° nach oben und 9° nach unten abweichen. Openpilot kalibriert sich durchgehend, ein Zurücksetzen ist selten notwendig. + Damit Openpilot funktioniert, darf die Installationsposition nicht mehr als 4° nach rechts/links, 5° nach oben und 9° nach unten abweichen. Openpilot kalibriert sich durchgehend, ein Zurücksetzen ist selten notwendig. Your device is pointed %1° %2 and %3° %4. @@ -305,6 +515,155 @@ PAIR + + sunnypilot requires the device to be mounted within 4° left or right and within 5° up or 9° down. sunnypilot is continuously calibrating, resetting is rarely required. + + + + + DevicePanelSP + + TOGGLE + + + + Enable or disable PIN requirement for Fleet Manager access. + + + + Are you sure you want to turn off PIN requirement? + + + + Turn Off + + + + Error Troubleshoot + + + + VIEW + ANSEHEN + + + Display error from the tmux session when an error has occurred from a system process. + + + + Reset Access Tokens for Map Services + + + + RESET + RESET + + + Reset self-service access tokens for Mapbox, Amap, and Google Maps. + + + + Are you sure you want to reset access tokens for all map services? + + + + Reset + Zurücksetzen + + + Reset sunnypilot Settings + + + + Are you sure you want to reset all sunnypilot settings? + + + + Toggle Onroad/Offroad + + + + OFF + + + + Are you sure you want to unforce offroad? + + + + Unforce + + + + Are you sure you want to force offroad? + + + + Force + + + + Disengage to Force Offroad + + + + Unforce Offroad + + + + Force Offroad + + + + Fleet Manager PIN: + + + + + DisplayPanel + + Driving Screen Off: Non-Critical Events + + + + When <b>Driving Screen Off Timer</b> is not set to <b>"Always On"</b>: + + + + Enabled: Wake the brightness of the screen to display all events. + + + + Disabled: Wake the brightness of the screen to display critical events. + + + + + DriveStats + + Drives + + + + Hours + + + + ALL TIME + + + + PAST WEEK + + + + KM + + + + Miles + + DriverViewWindow @@ -345,6 +704,79 @@ Installiere... + + LaneChangeSettings + + Back + Zurück + + + Pause Lateral Below Speed with Blinker + + + + Enable this toggle to pause lateral actuation with blinker when traveling below the desired speed selected below. + + + + Auto Lane Change: Delay with Blind Spot + + + + Toggle to enable a delay timer for seamless lane changes when blind spot monitoring (BSM) detects a obstructing vehicle, ensuring safe maneuvering. + + + + Block Lane Change: Road Edge Detection + + + + Enable this toggle to block lane change when road edge is detected on the stalk actuated side. + + + + + MadsSettings + + Enable ACC+MADS with RES+/SET- + + + + Engage both M.A.D.S. and ACC with a single press of RES+ or SET- button. + + + + Note: Once M.A.D.S. is engaged via this mode, it will remain engaged until it is manually disabled via the M.A.D.S. button or car shut off. + + + + Toggle M.A.D.S. with Cruise Main + + + + Allows M.A.D.S. engagement/disengagement with "Cruise Main" cruise control button from the steering wheel. + + + + Remain Active + + + + Pause Steering + + + + Steering Mode After Braking + + + + Choose how Automatic Lane Centering (ALC) behaves after the brake pedal is manually pressed in sunnypilot. + +Remain Active: ALC will remain active even after the brake pedal is pressed. +Pause Steering: ALC will be paused after the brake pedal is manually pressed. + + + MapETA @@ -386,6 +818,63 @@ + + MapWindowSP + + Map Loading + Karte wird geladen + + + Waiting for GPS + Warten auf GPS + + + Waiting for route + + + + + MaxTimeOffroad + + Max Time Offroad + + + + Device is automatically turned off after a set time when the engine is turned off (off-road) after driving (on-road). + + + + s + + + + m + m + + + hr + std + + + Always On + + + + Immediate + + + + + MonitoringPanel + + Enable Hands on Wheel Monitoring + + + + Monitor and alert when driver is not keeping the hands on the steering wheel. + + + MultiOptionDialog @@ -416,6 +905,33 @@ Falsches Passwort + + NetworkingSP + + Scan + + + + Scanning... + + + + Advanced + Erweitert + + + Enter password + Passwort eingeben + + + for "%1" + für "%1" + + + Wrong password + Falsches Passwort + + OffroadAlert @@ -467,6 +983,16 @@ Device temperature too high. System cooling down before starting. Current internal component temperature: %1 + + OpenStreetMap database is out of date. New maps must be downloaded if you wish to continue using OpenStreetMap data for Enhanced Speed Control and road name display. + +%1 + + + + sunnypilot is now in Forced Offroad mode. sunnypilot won't start until Forced Offroad mode is disabled. Go to "Settings" -> "Device" -> "Unforce Offroad" to exit Force Offroad mode. + + OffroadHome @@ -506,6 +1032,186 @@ + + OnroadScreenOff + + Driving Screen Off Timer + + + + Turn off the device screen or reduce brightness to protect the screen after driving starts. It automatically brightens or turns on when a touch or event occurs. + + + + s + + + + min + min + + + Always On + + + + + OnroadScreenOffBrightness + + Driving Screen Off Brightness (%) + + + + When using the Driving Screen Off feature, the brightness is reduced according to the automatic brightness ratio. + + + + Dark + + + + + OnroadSettings + + ONROAD OPTIONS + + + + <b>ONROAD SETTINGS | SUNNYPILOT</b> + + + + + OsmPanel + + Mapd Version + + + + Offline Maps ETA + + + + Time Elapsed + + + + Downloaded Maps + + + + DELETE + + + + This will delete ALL downloaded maps + +Are you sure you want to delete all the maps? + + + + Yes, delete all the maps. + + + + Database Update + + + + CHECK + ÜBERPRÜFEN + + + Country + + + + SELECT + AUSWÄHLEN + + + Fetching Country list... + + + + State + + + + Fetching State list... + + + + All + + + + REFRESH + + + + UPDATE + Aktualisieren + + + Download starting... + + + + Error: Invalid download. Retry. + + + + Download complete! + + + + + +Warning: You are on a metered connection! + + + + This will start the download process and it might take a while to complete. + + + + Continue on Metered + + + + Start Download + + + + m + + + + s + + + + Calculating... + + + + Downloaded + + + + Calculating ETA... + + + + Ready + + + + Time remaining: + + + PairingPopup @@ -536,6 +1242,51 @@ Aktivieren + + ParamControlSP + + Enable + Aktivieren + + + Cancel + Abbrechen + + + + PathOffset + + Path Offset + + + + Hack to trick the model path to be left or right biased of the lane. Decreasing the value will shift the model more left, increasing will shift the model more right. Changes take effect immediately. + + + + cm + + + + + PauseLateralSpeed + + Pause lateral actuation with blinker when traveling below the desired speed selected. Default is 20 MPH or 32 km/h. + + + + Default + + + + km/h + km/h + + + mph + mph + + PrimeAdWidget @@ -590,7 +1341,7 @@ openpilot - openpilot + openpilot %n minute(s) ago @@ -633,6 +1384,30 @@ now + + sunnypilot + + + + Update downloaded. Ready to reboot. + + + + Update: Check and Download Update + + + + Reboot: Reboot Device + + + + Update + + + + Updating... + + Reset @@ -674,6 +1449,151 @@ This may take up to a minute. + + SPVehiclesTogglesPanel + + Hyundai/Kia/Genesis + + + + HKG: Custom Tuning for New Longitudinal API + + + + HKG CAN: Enable Cruise Main By Default + + + + Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS + + + + Subaru + + + + Manual Parking Brake: Stop and Go (Beta) + + + + Experimental feature to enable stop and go for Subaru Global models with manual handbrake. Models with electric parking brake should keep this disabled. Thanks to martinl for this implementation! + + + + Toyota/Lexus + + + + Enable Stock Toyota Longitudinal Control + + + + sunnypilot will <b>not</b> take over control of gas and brakes. Stock Toyota longitudinal control will be used. + + + + Allow M.A.D.S. toggling w/ LKAS Button (Beta) + + + + Allows M.A.D.S. engagement/disengagement with "LKAS" button from the steering wheel. + + + + Note: Enabling this toggle may have unexpected behavior with steering control. It is the driver's responsibility to observe their environment and make decisions accordingly. + + + + Toyota TSS2 Longitudinal: Custom Tuning + + + + Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation. + + + + Enable Automatic Brake Hold (AHB) + + + + WARNING: Only for Toyota/Lexus vehicles with TSS2/LSS2. USE AT YOUR OWN RISK. + + + + When you stop the vehicle completely by depressing the brake pedal, sunnypilot will activate Auto Brake Hold. + + + + Changing this setting takes effect when the car is powered off. + + + + Enable Enhanced Blind Spot Monitor + + + + Enable Toyota Stop and Go Hack + + + + sunnypilot will allow some Toyota/Lexus cars to auto resume during stop and go traffic. This feature is only applicable to certain models. Use at your own risk. + + + + Enable Toyota Door Auto Locking + + + + sunnypilot will attempt to lock the doors when drive above 10 km/h (6.2 mph). +Reboot Required. + + + + Enable Toyota Door Auto Unlocking + + + + sunnypilot will attempt to unlock the doors when shift to gear P. +Reboot Required. + + + + Volkswagen + + + + Enable CC Only support + + + + sunnypilot supports Volkswagen MQB CC only platforms with this toggle enabled. Only enable this toggle if your car does not have ACC from the factory. + + + + Start the car to check car compatibility + + + + This platform is already supported, therefore no need to enable this toggle + + + + This platform is not supported + + + + This platform can be supported + + + + sunnypilot will use debugging CAN messages to receive unfiltered BSM signals, allowing detection of more objects. + + + + Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2. + + + SettingsWindow @@ -697,6 +1617,61 @@ This may take up to a minute. Software + + SettingsWindowSP + + × + x + + + Device + Gerät + + + Network + Netzwerk + + + sunnylink + + + + Toggles + Schalter + + + Software + Software + + + sunnypilot + + + + OSM + + + + Monitoring + + + + Visuals + + + + Display + + + + Trips + + + + Vehicle + + + Setup @@ -891,6 +1866,100 @@ This may take up to a minute. 5G + + SidebarSP + + TEMP + TEMP + + + HIGH + HOCH + + + GOOD + GUT + + + OK + OK + + + DISABLED + + + + OFFLINE + OFFLINE + + + REGIST... + + + + ONLINE + ONLINE + + + ERROR + FEHLER + + + SUNNYLINK + + + + + SlcSettings + + Auto + + + + User Confirm + + + + Engage Mode + + + + Default + + + + Fixed + + + + Percentage + + + + Limit Offset + + + + Set speed limit slightly higher than actual speed limit for a more natural drive. + + + + This platform defaults to <b>Auto</b> mode. <b>User Confirm</b> mode is not supported on this platform. + + + + Select the desired mode to set the cruising speed to the speed limit: + + + + Auto: Automatic speed adjustment on motorways based on speed limit data. + + + + User Confirm: Inform the driver to change set speed of Adaptive Cruise Control to help the driver stay within the speed limit. + + + SoftwarePanel @@ -967,6 +2036,233 @@ This may take up to a minute. + + SoftwarePanelSP + + Driving Model + + + + SELECT + AUSWÄHLEN + + + PENDING + + + + Downloading Driving model + + + + (CACHED) + + + + Driving model + + + + downloaded + + + + Downloading Navigation model + + + + Navigation model + + + + Downloading Metadata model + + + + Metadata model + + + + Downloads have failed, please try swapping the model! + + + + Failed: + + + + Fetching models... + + + + Select a Driving Model + + + + Download has started in the background. + + + + We STRONGLY suggest you to reset calibration. Would you like to do that now? + + + + Reset Calibration + Neu kalibrieren + + + Warning: You are on a metered connection! + + + + Continue + Fortsetzen + + + on Metered + + + + + SpeedLimitPolicySettings + + Speed Limit Source Policy + + + + Nav + + + + Only + + + + Map + + + + Car + + + + First + + + + Select the precedence order of sources. Utilized by Speed Limit Control and Speed Limit Warning + + + + Nav Only: Data from Mapbox active navigation only. + + + + Map Only: Data from OpenStreetMap only. + + + + Car Only: Data from the car's built-in sources (if available). + + + + Nav First: Nav -> Map -> Car + + + + Map First: Map -> Nav -> Car + + + + Car First: Car -> Nav -> Map + + + + + SpeedLimitValueOffset + + km/h + km/h + + + mph + mph + + + + SpeedLimitWarningSettings + + Off + + + + Display + + + + Chime + + + + Speed Limit Warning + + + + Warning with speed limit flash + + + + When Speed Limit Warning is enabled, the speed limit sign will alert the driver when the cruising speed is faster than then speed limit plus the offset. + + + + Default + + + + Fixed + + + + Percentage + + + + Warning Offset + + + + Select the desired offset to warn the driver when the vehicle is driving faster than the speed limit. + + + + Off: When the cruising speed is faster than the speed limit plus the offset, there will be no warning. + + + + Display: The speed on the speed limit sign turns red to alert the driver when the cruising speed is faster than the speed limit plus the offset. + + + + Chime: The speed on the speed limit sign turns red and chimes to alert the driver when the cruising speed is faster than the speed limit plus the offset. + + + + + SpeedLimitWarningValueOffset + + N/A + Nicht verfügbar + + + km/h + km/h + + + mph + mph + + SshControl @@ -1013,6 +2309,415 @@ This may take up to a minute. SSH aktivieren + + SunnylinkPanel + + Enable sunnylink + + + + Device ID + + + + N/A + Nicht verfügbar + + + This is the master switch, it will allow you to cutoff any sunnylink requests should you want to do that. + + + + 🎉Welcome back! We're excited to see you've enabled sunnylink again! 🚀 + + + + 👋Not going to lie, it's sad to see you disabled sunnylink 😢, but we'll be here when you're ready to come back 🎉. + + + + Sponsor Status + + + + SPONSOR + + + + Become a sponsor of sunnypilot to get early access to sunnylink features when they become available. + + + + Pair GitHub Account + + + + PAIR + + + + Pair your GitHub account to grant your device sponsor benefits, including API access on sunnylink. + + + + sunnylink Dongle ID not found. This may be due to weak internet connection or sunnylink registration issue. Please reboot and try again. + + + + Manage Settings + + + + Backup Settings + + + + Are you sure you want to backup sunnypilot settings? + + + + Back Up + + + + Restore Settings + + + + Are you sure you want to restore the last backed up sunnypilot settings? + + + + Restore + + + + THANKS + + + + Not Sponsor + + + + Paired + + + + Not Paired + + + + Backing up... + + + + Restoring... + + + + + SunnylinkSponsorPopup + + Scan the QR code to login to your GitHub account + + + + Follow the prompts to complete the pairing process + + + + Re-enter the "sunnylink" panel to verify sponsorship status + + + + If sponsorship status was not updated, please contact a moderator on Discord at https://discord.gg/sunnypilot + + + + Scan the QR code to visit sunnyhaibin's GitHub Sponsors page + + + + Choose your sponsorship tier and confirm your support + + + + Join our community on Discord at https://discord.gg/sunnypilot and reach out to a moderator to confirm your sponsor status + + + + Pair your GitHub account + + + + Early Access: Become a sunnypilot Sponsor + + + + + SunnypilotPanel + + Enable M.A.D.S. + + + + Enable the beloved M.A.D.S. feature. Disable toggle to revert back to stock openpilot engagement/disengagement. + + + + Laneless for Curves in "Auto" Mode + + + + While in Auto Lane, switch to Laneless for current/future curves. + + + + Speed Limit Control (SLC) + + + + When you engage ACC, you will be prompted to set the cruising speed to the speed limit of the road adjusted by the Offset and Source Policy specified, or the current driving speed. The maximum cruising speed will always be the MAX set speed. + + + + Enable Vision-based Turn Speed Control (V-TSC) + + + + Use vision path predictions to estimate the appropriate speed to drive through turns ahead. + + + + Enable Map Data Turn Speed Control (M-TSC) (Beta) + + + + Use curvature information from map data to define speed limits to take turns ahead. + + + + ACC +/-: Long Press Reverse + + + + Change the ACC +/- buttons behavior with cruise speed change in sunnypilot. + + + + Disabled (Stock): Short=1, Long = 5 (imperial) / 10 (metric) + + + + Enabled: Short = 5 (imperial) / 10 (metric), Long=1 + + + + Custom Offsets + + + + Neural Network Lateral Control (NNLC) + + + + NNLC: Remove Lateral Jerk Response (Alpha) + + + + When NNLC is active, enable this to disables the use of lateral jerk in steering torque calculations, focusing solely on lateral acceleration for a simplified control response. + + + + Enforce Torque Lateral Control + + + + Enable this to enforce sunnypilot to steer with Torque lateral control. + + + + Lateral Jerk with Torque Lateral Control (Alpha) + + + + Utilizes limited lateral jerk control for improved steering response, leveraging stock torque lateral controller capabilities. Designed to mimic NNLC behavior without training models or data collection. + + + + Enable Self-Tune + + + + Enables self-tune for Torque lateral control for platforms that do not use Torque lateral control by default. + + + + Less Restrict Settings for Self-Tune (Beta) + + + + Less strict settings when using Self-Tune. This allows torqued to be more forgiving when learning values. + + + + Enable Custom Tuning + + + + Enables custom tuning for Torque lateral control. Modifying FRICTION and LAT_ACCEL_FACTOR below will override the offline values indicated in the YAML files within "selfdrive/torque_data". The values will also be used live when "Override Self-Tune" toggle is enabled. + + + + Manual Real-Time Tuning + + + + Enforces the torque lateral controller to use the fixed values instead of the learned values from Self-Tune. Enabling this toggle overrides Self-Tune values. + + + + Quiet Drive 🤫 + + + + sunnypilot will display alerts but only play the most important warning sounds. This feature can be toggled while the car is on. + + + + Green Traffic Light Chime (Beta) + + + + A chime will play when the traffic light you are waiting for turns green and you have no vehicle in front of you. If you are waiting behind another vehicle, the chime will play once the vehicle advances unless ACC is engaged. + + + + Note: This chime is only designed as a notification. It is the driver's responsibility to observe their environment and make decisions accordingly. + + + + Lead Vehicle Departure Alert + + + + Enable this will notify when the leading vehicle drives away. + + + + Customize M.A.D.S. + + + + Customize Lane Change + + + + Customize Offsets + + + + Customize Speed Limit Control + + + + Customize Warning + + + + Customize Source + + + + Laneful + + + + Laneless + + + + Auto + + + + Dynamic Lane Profile + + + + Speed Limit Assist + + + + Real-time and Offline + + + + Offline Only + + + + Dynamic Lane Profile is not available with the current Driving Model + + + + Custom Offsets is not available with the current Driving Model + + + + NNLC is currently not available on this platform. + + + + Match: "Exact" is ideal, but "Fuzzy" is fine too. Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server if there are any issues: + + + + Start the car to check car compatibility + + + + NNLC Not Loaded + + + + NNLC Loaded + + + + Fuzzy + + + + Exact + + + + Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server and donate logs to get NNLC loaded for your car: + + + + Match + + + + Formerly known as <b>"NNFF"</b>, this replaces the lateral <b>"torque"</b> controller, with one using a neural network trained on each car's (actually, each separate EPS firmware) driving data for increased controls accuracy. + + + + Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server with feedback, or to provide log data for your car if your car is currently unsupported: + + + + Add custom offsets to Camera and Path in sunnypilot. + + + + Default is Laneless. In Auto mode, sunnnypilot dynamically chooses between Laneline or Laneless model based on lane recognition confidence level on road and certain conditions. + + + TermsPage @@ -1032,15 +2737,30 @@ This may take up to a minute. Zustimmen + + TermsPageSP + + Terms & Conditions + Benutzungsbedingungen + + + Decline + Ablehnen + + + Scroll to accept + Scrolle herunter um zu akzeptieren + + TogglesPanel Enable openpilot - Openpilot aktivieren + Openpilot aktivieren Use the openpilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. - Benutze das Openpilot System als adaptiven Tempomaten und Spurhalteassistenten. Deine Aufmerksamkeit ist jederzeit erforderlich, um diese Funktion zu nutzen. Diese Einstellung wird übernommen, wenn das Auto aus ist. + Benutze das Openpilot System als adaptiven Tempomaten und Spurhalteassistenten. Deine Aufmerksamkeit ist jederzeit erforderlich, um diese Funktion zu nutzen. Diese Einstellung wird übernommen, wenn das Auto aus ist. Enable Lane Departure Warnings @@ -1072,21 +2792,21 @@ This may take up to a minute. Use 24h format instead of am/pm - Benutze das 24Stunden Format anstatt am/pm + Benutze das 24Stunden Format anstatt am/pm Show Map on Left Side of UI Too long for UI - Zeige die Karte auf der linken Seite + Zeige die Karte auf der linken Seite Show map on left side when in split screen view. - Zeige die Karte auf der linken Seite der Benutzeroberfläche bei geteilten Bildschirm. + Zeige die Karte auf der linken Seite der Benutzeroberfläche bei geteilten Bildschirm. Show ETA in 24h Format Too long for UI - Zeige die Ankunftszeit im 24 Stunden Format + Zeige die Ankunftszeit im 24 Stunden Format Experimental Mode @@ -1172,6 +2892,256 @@ This may take up to a minute. Enable driver monitoring even when openpilot is not engaged. + + Enable sunnypilot + + + + Use the sunnypilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. + + + + + TogglesPanelSP + + Enable sunnypilot + + + + Use the sunnypilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. + + + + openpilot Longitudinal Control (Alpha) + + + + WARNING: sunnypilot longitudinal control is in alpha for this car and will disable Automatic Emergency Braking (AEB). + + + + On this car, sunnypilot defaults to the car's built-in ACC instead of openpilot's longitudinal control. Enable this to switch to sunnypilot longitudinal control. Enabling Experimental mode is recommended when enabling sunnypilot longitudinal control alpha. + + + + Custom Stock Longitudinal Control + + + + When enabled, sunnypilot will attempt to control stock longitudinal control with ACC button presses. +This feature must be used along with SLC, and/or V-TSC, and/or M-TSC. + + + + Use Planner Speed + + + + Experimental Mode + Experimenteller Modus + + + Enable Dynamic Experimental Control + + + + Enable toggle to allow the model to determine when to use sunnypilot ACC or sunnypilot End to End Longitudinal. + + + + Enable Dynamic Personality + + + + Enable this to allow sunnypilot to dynamically adjust following distance and reaction based on your "Driving Personality" setting. Instead of predefined settings for each personality, every personality now adapts dynamically according to your speed and the distance to the lead car. + + + + Disengage on Accelerator Pedal + Bei Gasbetätigung ausschalten + + + When enabled, pressing the accelerator pedal will disengage openpilot. + Wenn aktiviert, deaktiviert sich Openpilot sobald das Gaspedal betätigt wird. + + + Enable Lane Departure Warnings + Spurverlassenswarnungen aktivieren + + + Receive alerts to steer back into the lane when your vehicle drifts over a detected lane line without a turn signal activated while driving over 31 mph (50 km/h). + Erhalte Warnungen, zurück in die Spur zu lenken, wenn dein Auto über eine erkannte Fahrstreifenmarkierung ohne aktivierten Blinker mit mehr als 50 km/h fährt. + + + Always-On Driver Monitoring + + + + Enable driver monitoring even when sunnypilot is not engaged. + + + + Record and Upload Driver Camera + Fahrerkamera aufnehmen und hochladen + + + Upload data from the driver facing camera and help improve the driver monitoring algorithm. + Lade Daten der Fahreraufmerksamkeitsüberwachungskamera hoch, um die Fahreraufmerksamkeitsüberwachungsalgorithmen zu verbessern. + + + Disable Onroad Uploads + + + + Disable uploads completely when onroad. Necessary to avoid high data usage when connected to Wi-Fi hotspot. Turn on this feature if you are looking to utilize map-based features, such as Speed Limit Control (SLC) and Map-based Turn Speed Control (MTSC). + + + + Use Metric System + Benutze das metrische System + + + Display speed in km/h instead of mph. + Zeige die Geschwindigkeit in km/h anstatt von mph. + + + Show ETA in 24h Format + Zeige die Ankunftszeit im 24 Stunden Format + + + Use 24h format instead of am/pm + Benutze das 24Stunden Format anstatt am/pm + + + Show Map on Left Side of UI + Zeige die Karte auf der linken Seite + + + Show map on left side when in split screen view. + Zeige die Karte auf der linken Seite der Benutzeroberfläche bei geteilten Bildschirm. + + + Aggressive + + + + Moderate + + + + Standard + + + + Relaxed + + + + Driving Personality + + + + Standard is recommended. In moderate/aggressive mode, sunnypilot will follow lead cars closer and be more aggressive with the gas and brake. In relaxed mode sunnypilot will stay further away from lead cars. On supported cars, you can cycle through these personalities with your steering wheel distance button. + + + + Sport + + + + Normal + + + + Eco + + + + Stock + + + + Acceleration Personality + + + + Normal is recommended. In sport mode, sunnypilot will provide aggressive acceleration for a dynamic driving experience. In eco mode, sunnypilot will apply smoother and more relaxed acceleration. On supported cars, you can cycle through these acceleration personality within Onroad Settings on the driving screen. + + + + openpilot defaults to driving in <b>chill mode</b>. Experimental mode enables <b>alpha-level features</b> that aren't ready for chill mode. Experimental features are listed below: + Openpilot fährt standardmäßig im <b>entspannten Modus</b>. Der Experimentelle Modus aktiviert<b>Alpha-level Funktionen</b>, die noch nicht für den entspannten Modus bereit sind. Die experimentellen Funktionen sind die Folgenden: + + + End-to-End Longitudinal Control + + + + Let the driving model control the gas and brakes. sunnypilot will drive as it thinks a human would, including stopping for red lights and stop signs. Since the driving model decides the speed to drive, the set speed will only act as an upper bound. This is an alpha quality feature; mistakes should be expected. + + + + New Driving Visualization + Neue Fahrvisualisierung + + + The driving visualization will transition to the road-facing wide-angle camera at low speeds to better show some turns. The Experimental mode logo will also be shown in the top right corner. + + + + Experimental mode is currently unavailable on this car since the car's stock ACC is used for longitudinal control. + Der experimentelle Modus ist momentan für dieses Auto nicht verfügbar da es den eingebauten adaptiven Tempomaten des Autos benutzt. + + + openpilot longitudinal control may come in a future update. + + + + An alpha version of sunnypilot longitudinal control can be tested, along with Experimental mode, on non-release branches. + + + + Enable the sunnypilot longitudinal control (alpha) toggle to allow Experimental mode. + + + + + TorqueFriction + + FRICTION + + + + Adjust Friction for the Torque Lateral Controller. <b>Live</b>: Override self-tune values; <b>Offline</b>: Override self-tune offline values at car restart. + + + + Real-time and Offline + + + + Offline Only + + + + + TorqueMaxLatAccel + + LAT_ACCEL_FACTOR + + + + Adjust Max Lateral Acceleration for the Torque Lateral Controller. <b>Live</b>: Override self-tune values; <b>Offline</b>: Override self-tune offline values at car restart. + + + + Real-time and Offline + + + + Offline Only + + Updater @@ -1208,6 +3178,168 @@ This may take up to a minute. Aktualisierung fehlgeschlagen + + VehiclePanel + + Updating this setting takes effect when the car is powered off. + + + + Select your car + + + + + VisualsPanel + + Display Braking Status + + + + Enable this will turn the current speed value to red while the brake is used. + + + + Display Stand Still Timer + + + + Enable this will display time spent at a stop (i.e., at a stop lights, stop signs, traffic congestions). + + + + Display DM Camera in Reverse Gear + + + + Show Driver Monitoring camera while the car is in reverse gear. + + + + OSM: Show debug UI elements + + + + OSM: Show UI elements that aid debugging. + + + + Display Feature Status + + + + Display the statuses of certain features on the driving screen. + + + + Enable Onroad Settings + + + + Display the Onroad Settings button on the driving screen to adjust feature options on the driving screen, without navigating into the settings menu. + + + + Speedometer: Display True Speed + + + + Display the true vehicle current speed from wheel speed sensors. + + + + Speedometer: Hide from Onroad Screen + + + + Display End-to-end Longitudinal Status (Beta) + + + + Enable this will display an icon that appears when the End-to-end model decides to start or stop. + + + + Navigation: Display in Full Screen + + + + Enable this will display the built-in navigation in full screen.<br>To switch back to driving view, <font color='yellow'>tap on the border edge</font>. + + + + Map: Display 3D Buildings + + + + Parse and display 3D buildings on map. Thanks to jakethesnake420 for this implementation. + + + + Off + + + + 5 Metrics + + + + 10 Metrics + + + + Developer UI + + + + Display real-time parameters and metrics from various sources. + + + + Distance + + + + Speed + + + + Time + + + + All + + + + Display Metrics Below Chevron + + + + Display useful metrics below the chevron that tracks the lead car (only applicable to cars with openpilot longitudinal control). + + + + RAM + + + + CPU + + + + GPU + + + + Max + + + + Display Temperature on Sidebar + + + WiFiPromptWidget @@ -1254,4 +3386,27 @@ This may take up to a minute. Vergessen + + WifiUISP + + Scanning for networks... + Suche nach Netzwerken... + + + CONNECTING... + VERBINDEN... + + + FORGET + VERGESSEN + + + Forget Wi-Fi Network "%1"? + WLAN Netzwerk "%1" vergessen? + + + Forget + Vergessen + + diff --git a/selfdrive/ui/translations/main_es.ts b/selfdrive/ui/translations/main_es.ts index 4b0262e699..6ca8171520 100644 --- a/selfdrive/ui/translations/main_es.ts +++ b/selfdrive/ui/translations/main_es.ts @@ -207,6 +207,14 @@ LIMIT + + blended + + + + acc + + AutoLaneChangeTimer @@ -1445,14 +1453,6 @@ Esto puede tardar un minuto. Hyundai/Kia/Genesis - - HKG CAN: Smoother Stopping Performance (Beta) - - - - Smoother stopping behind a stopped car or desired stopping event. This is only applicable to HKG CAN platforms using openpilot longitudinal control. - - Subaru @@ -1563,6 +1563,34 @@ Reboot Required. Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2. + + HKG CAN: Enable Cruise Main By Default + + + + Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS + + + + HKG: Custom Tuning for New Longitudinal API + + + + Enable Automatic Brake Hold (AHB) + + + + WARNING: Only for Toyota/Lexus vehicles with TSS2/LSS2. USE AT YOUR OWN RISK. + + + + When you stop the vehicle completely by depressing the brake pedal, sunnypilot will activate Auto Brake Hold. + + + + Changing this setting takes effect when the car is powered off. + + SettingsWindow @@ -2669,6 +2697,22 @@ Reboot Required. Default is Laneless. In Auto mode, sunnnypilot dynamically chooses between Laneline or Laneless model based on lane recognition confidence level on road and certain conditions. + + NNLC: Remove Lateral Jerk Response (Alpha) + + + + When NNLC is active, enable this to disables the use of lateral jerk in steering torque calculations, focusing solely on lateral acceleration for a simplified control response. + + + + Lateral Jerk with Torque Lateral Control (Alpha) + + + + Utilizes limited lateral jerk control for improved steering response, leveraging stock torque lateral controller capabilities. Designed to mimic NNLC behavior without training models or data collection. + + TermsPage @@ -3034,6 +3078,10 @@ This feature must be used along with SLC, and/or V-TSC, and/or M-TSC. Enable the sunnypilot longitudinal control (alpha) toggle to allow Experimental mode. + + Use Planner Speed + + TorqueFriction diff --git a/selfdrive/ui/translations/main_fr.ts b/selfdrive/ui/translations/main_fr.ts index dde6adadd3..9f319b3d61 100644 --- a/selfdrive/ui/translations/main_fr.ts +++ b/selfdrive/ui/translations/main_fr.ts @@ -87,6 +87,89 @@ pour "%1" + + AdvancedNetworkingSP + + Back + Retour + + + Enable Tethering + Activer le partage de connexion + + + Retain hotspot/tethering state + + + + Enabling this toggle will retain the hotspot/tethering toggle state across reboots. + + + + Tethering Password + Mot de passe du partage de connexion + + + EDIT + MODIFIER + + + Enter new tethering password + Entrez le nouveau mot de passe du partage de connexion + + + IP Address + Adresse IP + + + Enable Roaming + Activer l'itinérance + + + APN Setting + Paramètre APN + + + Enter APN + Entrer le nom du point d'accès + + + leave blank for automatic configuration + laisser vide pour une configuration automatique + + + Cellular Metered + Connexion cellulaire limitée + + + Prevent large data uploads when on a metered connection + Éviter les transferts de données importants sur une connexion limitée + + + Hidden Network + Réseau Caché + + + CONNECT + CONNECTER + + + Enter SSID + Entrer le SSID + + + Enter password + Entrer le mot de passe + + + for "%1" + pour "%1" + + + Ngrok Service + + + AnnotatedCameraWidget @@ -103,11 +186,127 @@ SPEED - VITESSE + VITESSE LIMIT - LIMITE + LIMITE + + + + AnnotatedCameraWidgetSP + + km/h + km/h + + + mph + mi/h + + + blended + + + + acc + + + + MAX + MAX + + + SPEED + VITESSE + + + LIMIT + LIMITE + + + + AutoLaneChangeTimer + + Auto Lane Change by Blinker + + + + Set a timer to delay the auto lane change operation when the blinker is used. No nudge on the steering wheel is required to auto lane change if a timer is set. Default is Nudge. +Please use caution when using this feature. Only use the blinker when traffic and road conditions permit. + + + + s + + + + Off + + + + Nudge + + + + Nudgeless + + + + + BackupSettings + + Settings backed up for sunnylink Device ID: + + + + Settings updated successfully, but no additional data was returned by the server. + + + + OOPS! We made a booboo. + + + + Please try again later. + + + + Settings restored. Confirm to restart the interface. + + + + No settings found to restore. + + + + + BrightnessControl + + Brightness + + + + Manually adjusts the global brightness of the screen. + + + + Auto + + + + + CameraOffset + + Camera Offset - Laneful Only + + + + Hack to trick vehicle to be left or right biased in its lane. Decreasing the value will make the car keep more left, increasing will make it keep more right. Changes take effect immediately. Default: +4 cm + + + + cm + @@ -121,11 +320,18 @@ Annuler + + CustomOffsetsSettings + + Back + Retour + + DeclinePage You must accept the Terms and Conditions in order to use openpilot. - Vous devez accepter les conditions générales pour utiliser openpilot. + Vous devez accepter les conditions générales pour utiliser openpilot. Back @@ -135,6 +341,10 @@ Decline, uninstall %1 Refuser, désinstaller %1 + + You must accept the Terms and Conditions in order to use sunnypilot. + + DestinationWidget @@ -255,7 +465,7 @@ openpilot requires the device to be mounted within 4° left or right and within 5° up or 9° down. openpilot is continuously calibrating, resetting is rarely required. - openpilot nécessite que l'appareil soit monté à 4° à gauche ou à droite et à 5° vers le haut ou 9° vers le bas. openpilot se calibre en continu, la réinitialisation est rarement nécessaire. + openpilot nécessite que l'appareil soit monté à 4° à gauche ou à droite et à 5° vers le haut ou 9° vers le bas. openpilot se calibre en continu, la réinitialisation est rarement nécessaire. Your device is pointed %1° %2 and %3° %4. @@ -305,6 +515,155 @@ PAIR + + sunnypilot requires the device to be mounted within 4° left or right and within 5° up or 9° down. sunnypilot is continuously calibrating, resetting is rarely required. + + + + + DevicePanelSP + + TOGGLE + + + + Enable or disable PIN requirement for Fleet Manager access. + + + + Are you sure you want to turn off PIN requirement? + + + + Turn Off + + + + Error Troubleshoot + + + + VIEW + VOIR + + + Display error from the tmux session when an error has occurred from a system process. + + + + Reset Access Tokens for Map Services + + + + RESET + RÉINITIALISER + + + Reset self-service access tokens for Mapbox, Amap, and Google Maps. + + + + Are you sure you want to reset access tokens for all map services? + + + + Reset + Réinitialiser + + + Reset sunnypilot Settings + + + + Are you sure you want to reset all sunnypilot settings? + + + + Toggle Onroad/Offroad + + + + OFF + + + + Are you sure you want to unforce offroad? + + + + Unforce + + + + Are you sure you want to force offroad? + + + + Force + + + + Disengage to Force Offroad + + + + Unforce Offroad + + + + Force Offroad + + + + Fleet Manager PIN: + + + + + DisplayPanel + + Driving Screen Off: Non-Critical Events + + + + When <b>Driving Screen Off Timer</b> is not set to <b>"Always On"</b>: + + + + Enabled: Wake the brightness of the screen to display all events. + + + + Disabled: Wake the brightness of the screen to display critical events. + + + + + DriveStats + + Drives + + + + Hours + + + + ALL TIME + + + + PAST WEEK + + + + KM + + + + Miles + + DriverViewWindow @@ -345,6 +704,79 @@ Installation... + + LaneChangeSettings + + Back + Retour + + + Pause Lateral Below Speed with Blinker + + + + Enable this toggle to pause lateral actuation with blinker when traveling below the desired speed selected below. + + + + Auto Lane Change: Delay with Blind Spot + + + + Toggle to enable a delay timer for seamless lane changes when blind spot monitoring (BSM) detects a obstructing vehicle, ensuring safe maneuvering. + + + + Block Lane Change: Road Edge Detection + + + + Enable this toggle to block lane change when road edge is detected on the stalk actuated side. + + + + + MadsSettings + + Enable ACC+MADS with RES+/SET- + + + + Engage both M.A.D.S. and ACC with a single press of RES+ or SET- button. + + + + Note: Once M.A.D.S. is engaged via this mode, it will remain engaged until it is manually disabled via the M.A.D.S. button or car shut off. + + + + Toggle M.A.D.S. with Cruise Main + + + + Allows M.A.D.S. engagement/disengagement with "Cruise Main" cruise control button from the steering wheel. + + + + Remain Active + + + + Pause Steering + + + + Steering Mode After Braking + + + + Choose how Automatic Lane Centering (ALC) behaves after the brake pedal is manually pressed in sunnypilot. + +Remain Active: ALC will remain active even after the brake pedal is pressed. +Pause Steering: ALC will be paused after the brake pedal is manually pressed. + + + MapETA @@ -386,6 +818,63 @@ En attente d'un trajet + + MapWindowSP + + Map Loading + Chargement de la carte + + + Waiting for GPS + En attente du GPS + + + Waiting for route + En attente d'un trajet + + + + MaxTimeOffroad + + Max Time Offroad + + + + Device is automatically turned off after a set time when the engine is turned off (off-road) after driving (on-road). + + + + s + + + + m + m + + + hr + h + + + Always On + + + + Immediate + + + + + MonitoringPanel + + Enable Hands on Wheel Monitoring + + + + Monitor and alert when driver is not keeping the hands on the steering wheel. + + + MultiOptionDialog @@ -416,6 +905,33 @@ Mot de passe incorrect + + NetworkingSP + + Scan + + + + Scanning... + + + + Advanced + Avancé + + + Enter password + Entrer le mot de passe + + + for "%1" + pour "%1" + + + Wrong password + Mot de passe incorrect + + OffroadAlert @@ -468,6 +984,16 @@ openpilot detected a change in the device's mounting position. Ensure the device is fully seated in the mount and the mount is firmly secured to the windshield. openpilot a détecté un changement dans la position de montage de l'appareil. Assurez-vous que l'appareil est totalement inséré dans le support et que le support est fermement fixé au pare-brise. + + OpenStreetMap database is out of date. New maps must be downloaded if you wish to continue using OpenStreetMap data for Enhanced Speed Control and road name display. + +%1 + + + + sunnypilot is now in Forced Offroad mode. sunnypilot won't start until Forced Offroad mode is disabled. Go to "Settings" -> "Device" -> "Unforce Offroad" to exit Force Offroad mode. + + OffroadHome @@ -507,6 +1033,186 @@ + + OnroadScreenOff + + Driving Screen Off Timer + + + + Turn off the device screen or reduce brightness to protect the screen after driving starts. It automatically brightens or turns on when a touch or event occurs. + + + + s + + + + min + min + + + Always On + + + + + OnroadScreenOffBrightness + + Driving Screen Off Brightness (%) + + + + When using the Driving Screen Off feature, the brightness is reduced according to the automatic brightness ratio. + + + + Dark + + + + + OnroadSettings + + ONROAD OPTIONS + + + + <b>ONROAD SETTINGS | SUNNYPILOT</b> + + + + + OsmPanel + + Mapd Version + + + + Offline Maps ETA + + + + Time Elapsed + + + + Downloaded Maps + + + + DELETE + + + + This will delete ALL downloaded maps + +Are you sure you want to delete all the maps? + + + + Yes, delete all the maps. + + + + Database Update + + + + CHECK + VÉRIFIER + + + Country + + + + SELECT + SÉLECTIONNER + + + Fetching Country list... + + + + State + + + + Fetching State list... + + + + All + + + + REFRESH + + + + UPDATE + MISE À JOUR + + + Download starting... + + + + Error: Invalid download. Retry. + + + + Download complete! + + + + + +Warning: You are on a metered connection! + + + + This will start the download process and it might take a while to complete. + + + + Continue on Metered + + + + Start Download + + + + m + + + + s + + + + Calculating... + + + + Downloaded + + + + Calculating ETA... + + + + Ready + + + + Time remaining: + + + PairingPopup @@ -537,6 +1243,51 @@ Annuler + + ParamControlSP + + Enable + Activer + + + Cancel + Annuler + + + + PathOffset + + Path Offset + + + + Hack to trick the model path to be left or right biased of the lane. Decreasing the value will shift the model more left, increasing will shift the model more right. Changes take effect immediately. + + + + cm + + + + + PauseLateralSpeed + + Pause lateral actuation with blinker when traveling below the desired speed selected. Default is 20 MPH or 32 km/h. + + + + Default + + + + km/h + km/h + + + mph + mi/h + + PrimeAdWidget @@ -591,7 +1342,7 @@ openpilot - openpilot + openpilot %n minute(s) ago @@ -634,6 +1385,30 @@ now + + sunnypilot + + + + Update downloaded. Ready to reboot. + + + + Update: Check and Download Update + + + + Reboot: Reboot Device + + + + Update + + + + Updating... + + Reset @@ -676,6 +1451,151 @@ Cela peut prendre jusqu'à une minute. + + SPVehiclesTogglesPanel + + Hyundai/Kia/Genesis + + + + HKG: Custom Tuning for New Longitudinal API + + + + HKG CAN: Enable Cruise Main By Default + + + + Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS + + + + Subaru + + + + Manual Parking Brake: Stop and Go (Beta) + + + + Experimental feature to enable stop and go for Subaru Global models with manual handbrake. Models with electric parking brake should keep this disabled. Thanks to martinl for this implementation! + + + + Toyota/Lexus + + + + Enable Stock Toyota Longitudinal Control + + + + sunnypilot will <b>not</b> take over control of gas and brakes. Stock Toyota longitudinal control will be used. + + + + Allow M.A.D.S. toggling w/ LKAS Button (Beta) + + + + Allows M.A.D.S. engagement/disengagement with "LKAS" button from the steering wheel. + + + + Note: Enabling this toggle may have unexpected behavior with steering control. It is the driver's responsibility to observe their environment and make decisions accordingly. + + + + Toyota TSS2 Longitudinal: Custom Tuning + + + + Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation. + + + + Enable Automatic Brake Hold (AHB) + + + + WARNING: Only for Toyota/Lexus vehicles with TSS2/LSS2. USE AT YOUR OWN RISK. + + + + When you stop the vehicle completely by depressing the brake pedal, sunnypilot will activate Auto Brake Hold. + + + + Changing this setting takes effect when the car is powered off. + + + + Enable Enhanced Blind Spot Monitor + + + + Enable Toyota Stop and Go Hack + + + + sunnypilot will allow some Toyota/Lexus cars to auto resume during stop and go traffic. This feature is only applicable to certain models. Use at your own risk. + + + + Enable Toyota Door Auto Locking + + + + sunnypilot will attempt to lock the doors when drive above 10 km/h (6.2 mph). +Reboot Required. + + + + Enable Toyota Door Auto Unlocking + + + + sunnypilot will attempt to unlock the doors when shift to gear P. +Reboot Required. + + + + Volkswagen + + + + Enable CC Only support + + + + sunnypilot supports Volkswagen MQB CC only platforms with this toggle enabled. Only enable this toggle if your car does not have ACC from the factory. + + + + Start the car to check car compatibility + + + + This platform is already supported, therefore no need to enable this toggle + + + + This platform is not supported + + + + This platform can be supported + + + + sunnypilot will use debugging CAN messages to receive unfiltered BSM signals, allowing detection of more objects. + + + + Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2. + + + SettingsWindow @@ -699,6 +1619,61 @@ Cela peut prendre jusqu'à une minute. Logiciel + + SettingsWindowSP + + × + × + + + Device + Appareil + + + Network + Réseau + + + sunnylink + + + + Toggles + Options + + + Software + Logiciel + + + sunnypilot + + + + OSM + + + + Monitoring + + + + Visuals + + + + Display + + + + Trips + + + + Vehicle + + + Setup @@ -892,6 +1867,100 @@ Cela peut prendre jusqu'à une minute. 5G + + SidebarSP + + TEMP + TEMP + + + HIGH + HAUT + + + GOOD + BON + + + OK + OK + + + DISABLED + + + + OFFLINE + HORS LIGNE + + + REGIST... + + + + ONLINE + EN LIGNE + + + ERROR + ERREUR + + + SUNNYLINK + + + + + SlcSettings + + Auto + + + + User Confirm + + + + Engage Mode + + + + Default + + + + Fixed + + + + Percentage + + + + Limit Offset + + + + Set speed limit slightly higher than actual speed limit for a more natural drive. + + + + This platform defaults to <b>Auto</b> mode. <b>User Confirm</b> mode is not supported on this platform. + + + + Select the desired mode to set the cruising speed to the speed limit: + + + + Auto: Automatic speed adjustment on motorways based on speed limit data. + + + + User Confirm: Inform the driver to change set speed of Adaptive Cruise Control to help the driver stay within the speed limit. + + + SoftwarePanel @@ -967,6 +2036,233 @@ Cela peut prendre jusqu'à une minute. à jour, dernière vérification %1 + + SoftwarePanelSP + + Driving Model + + + + SELECT + SÉLECTIONNER + + + PENDING + + + + Downloading Driving model + + + + (CACHED) + + + + Driving model + + + + downloaded + + + + Downloading Navigation model + + + + Navigation model + + + + Downloading Metadata model + + + + Metadata model + + + + Downloads have failed, please try swapping the model! + + + + Failed: + + + + Fetching models... + + + + Select a Driving Model + + + + Download has started in the background. + + + + We STRONGLY suggest you to reset calibration. Would you like to do that now? + + + + Reset Calibration + Réinitialiser la calibration + + + Warning: You are on a metered connection! + + + + Continue + Continuer + + + on Metered + + + + + SpeedLimitPolicySettings + + Speed Limit Source Policy + + + + Nav + + + + Only + + + + Map + + + + Car + + + + First + + + + Select the precedence order of sources. Utilized by Speed Limit Control and Speed Limit Warning + + + + Nav Only: Data from Mapbox active navigation only. + + + + Map Only: Data from OpenStreetMap only. + + + + Car Only: Data from the car's built-in sources (if available). + + + + Nav First: Nav -> Map -> Car + + + + Map First: Map -> Nav -> Car + + + + Car First: Car -> Nav -> Map + + + + + SpeedLimitValueOffset + + km/h + km/h + + + mph + mi/h + + + + SpeedLimitWarningSettings + + Off + + + + Display + + + + Chime + + + + Speed Limit Warning + + + + Warning with speed limit flash + + + + When Speed Limit Warning is enabled, the speed limit sign will alert the driver when the cruising speed is faster than then speed limit plus the offset. + + + + Default + + + + Fixed + + + + Percentage + + + + Warning Offset + + + + Select the desired offset to warn the driver when the vehicle is driving faster than the speed limit. + + + + Off: When the cruising speed is faster than the speed limit plus the offset, there will be no warning. + + + + Display: The speed on the speed limit sign turns red to alert the driver when the cruising speed is faster than the speed limit plus the offset. + + + + Chime: The speed on the speed limit sign turns red and chimes to alert the driver when the cruising speed is faster than the speed limit plus the offset. + + + + + SpeedLimitWarningValueOffset + + N/A + N/A + + + km/h + km/h + + + mph + mi/h + + SshControl @@ -1013,6 +2309,415 @@ Cela peut prendre jusqu'à une minute. Activer SSH + + SunnylinkPanel + + Enable sunnylink + + + + Device ID + + + + N/A + N/A + + + This is the master switch, it will allow you to cutoff any sunnylink requests should you want to do that. + + + + 🎉Welcome back! We're excited to see you've enabled sunnylink again! 🚀 + + + + 👋Not going to lie, it's sad to see you disabled sunnylink 😢, but we'll be here when you're ready to come back 🎉. + + + + Sponsor Status + + + + SPONSOR + + + + Become a sponsor of sunnypilot to get early access to sunnylink features when they become available. + + + + Pair GitHub Account + + + + PAIR + + + + Pair your GitHub account to grant your device sponsor benefits, including API access on sunnylink. + + + + sunnylink Dongle ID not found. This may be due to weak internet connection or sunnylink registration issue. Please reboot and try again. + + + + Manage Settings + + + + Backup Settings + + + + Are you sure you want to backup sunnypilot settings? + + + + Back Up + + + + Restore Settings + + + + Are you sure you want to restore the last backed up sunnypilot settings? + + + + Restore + + + + THANKS + + + + Not Sponsor + + + + Paired + + + + Not Paired + + + + Backing up... + + + + Restoring... + + + + + SunnylinkSponsorPopup + + Scan the QR code to login to your GitHub account + + + + Follow the prompts to complete the pairing process + + + + Re-enter the "sunnylink" panel to verify sponsorship status + + + + If sponsorship status was not updated, please contact a moderator on Discord at https://discord.gg/sunnypilot + + + + Scan the QR code to visit sunnyhaibin's GitHub Sponsors page + + + + Choose your sponsorship tier and confirm your support + + + + Join our community on Discord at https://discord.gg/sunnypilot and reach out to a moderator to confirm your sponsor status + + + + Pair your GitHub account + + + + Early Access: Become a sunnypilot Sponsor + + + + + SunnypilotPanel + + Enable M.A.D.S. + + + + Enable the beloved M.A.D.S. feature. Disable toggle to revert back to stock openpilot engagement/disengagement. + + + + Laneless for Curves in "Auto" Mode + + + + While in Auto Lane, switch to Laneless for current/future curves. + + + + Speed Limit Control (SLC) + + + + When you engage ACC, you will be prompted to set the cruising speed to the speed limit of the road adjusted by the Offset and Source Policy specified, or the current driving speed. The maximum cruising speed will always be the MAX set speed. + + + + Enable Vision-based Turn Speed Control (V-TSC) + + + + Use vision path predictions to estimate the appropriate speed to drive through turns ahead. + + + + Enable Map Data Turn Speed Control (M-TSC) (Beta) + + + + Use curvature information from map data to define speed limits to take turns ahead. + + + + ACC +/-: Long Press Reverse + + + + Change the ACC +/- buttons behavior with cruise speed change in sunnypilot. + + + + Disabled (Stock): Short=1, Long = 5 (imperial) / 10 (metric) + + + + Enabled: Short = 5 (imperial) / 10 (metric), Long=1 + + + + Custom Offsets + + + + Neural Network Lateral Control (NNLC) + + + + NNLC: Remove Lateral Jerk Response (Alpha) + + + + When NNLC is active, enable this to disables the use of lateral jerk in steering torque calculations, focusing solely on lateral acceleration for a simplified control response. + + + + Enforce Torque Lateral Control + + + + Enable this to enforce sunnypilot to steer with Torque lateral control. + + + + Lateral Jerk with Torque Lateral Control (Alpha) + + + + Utilizes limited lateral jerk control for improved steering response, leveraging stock torque lateral controller capabilities. Designed to mimic NNLC behavior without training models or data collection. + + + + Enable Self-Tune + + + + Enables self-tune for Torque lateral control for platforms that do not use Torque lateral control by default. + + + + Less Restrict Settings for Self-Tune (Beta) + + + + Less strict settings when using Self-Tune. This allows torqued to be more forgiving when learning values. + + + + Enable Custom Tuning + + + + Enables custom tuning for Torque lateral control. Modifying FRICTION and LAT_ACCEL_FACTOR below will override the offline values indicated in the YAML files within "selfdrive/torque_data". The values will also be used live when "Override Self-Tune" toggle is enabled. + + + + Manual Real-Time Tuning + + + + Enforces the torque lateral controller to use the fixed values instead of the learned values from Self-Tune. Enabling this toggle overrides Self-Tune values. + + + + Quiet Drive 🤫 + + + + sunnypilot will display alerts but only play the most important warning sounds. This feature can be toggled while the car is on. + + + + Green Traffic Light Chime (Beta) + + + + A chime will play when the traffic light you are waiting for turns green and you have no vehicle in front of you. If you are waiting behind another vehicle, the chime will play once the vehicle advances unless ACC is engaged. + + + + Note: This chime is only designed as a notification. It is the driver's responsibility to observe their environment and make decisions accordingly. + + + + Lead Vehicle Departure Alert + + + + Enable this will notify when the leading vehicle drives away. + + + + Customize M.A.D.S. + + + + Customize Lane Change + + + + Customize Offsets + + + + Customize Speed Limit Control + + + + Customize Warning + + + + Customize Source + + + + Laneful + + + + Laneless + + + + Auto + + + + Dynamic Lane Profile + + + + Speed Limit Assist + + + + Real-time and Offline + + + + Offline Only + + + + Dynamic Lane Profile is not available with the current Driving Model + + + + Custom Offsets is not available with the current Driving Model + + + + NNLC is currently not available on this platform. + + + + Match: "Exact" is ideal, but "Fuzzy" is fine too. Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server if there are any issues: + + + + Start the car to check car compatibility + + + + NNLC Not Loaded + + + + NNLC Loaded + + + + Fuzzy + + + + Exact + + + + Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server and donate logs to get NNLC loaded for your car: + + + + Match + + + + Formerly known as <b>"NNFF"</b>, this replaces the lateral <b>"torque"</b> controller, with one using a neural network trained on each car's (actually, each separate EPS firmware) driving data for increased controls accuracy. + + + + Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server with feedback, or to provide log data for your car if your car is currently unsupported: + + + + Add custom offsets to Camera and Path in sunnypilot. + + + + Default is Laneless. In Auto mode, sunnnypilot dynamically chooses between Laneline or Laneless model based on lane recognition confidence level on road and certain conditions. + + + TermsPage @@ -1032,15 +2737,30 @@ Cela peut prendre jusqu'à une minute. Accepter + + TermsPageSP + + Terms & Conditions + Termes & Conditions + + + Decline + Refuser + + + Scroll to accept + Faire défiler pour accepter + + TogglesPanel Enable openpilot - Activer openpilot + Activer openpilot Use the openpilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. - Utilisez le système openpilot pour le régulateur de vitesse adaptatif et l'assistance au maintien de voie. Votre attention est requise en permanence pour utiliser cette fonctionnalité. La modification de ce paramètre prend effet lorsque la voiture est éteinte. + Utilisez le système openpilot pour le régulateur de vitesse adaptatif et l'assistance au maintien de voie. Votre attention est requise en permanence pour utiliser cette fonctionnalité. La modification de ce paramètre prend effet lorsque la voiture est éteinte. openpilot Longitudinal Control (Alpha) @@ -1092,19 +2812,19 @@ Cela peut prendre jusqu'à une minute. Show ETA in 24h Format - Afficher l'heure d'arrivée en format 24h + Afficher l'heure d'arrivée en format 24h Use 24h format instead of am/pm - Utiliser le format 24h plutôt que am/pm + Utiliser le format 24h plutôt que am/pm Show Map on Left Side of UI - Afficher la carte à gauche de l'interface + Afficher la carte à gauche de l'interface Show map on left side when in split screen view. - Afficher la carte à gauche en mode écran scindé. + Afficher la carte à gauche en mode écran scindé. Aggressive @@ -1170,6 +2890,256 @@ Cela peut prendre jusqu'à une minute. Enable driver monitoring even when openpilot is not engaged. + + Enable sunnypilot + + + + Use the sunnypilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. + + + + + TogglesPanelSP + + Enable sunnypilot + + + + Use the sunnypilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. + + + + openpilot Longitudinal Control (Alpha) + Contrôle longitudinal openpilot (Alpha) + + + WARNING: sunnypilot longitudinal control is in alpha for this car and will disable Automatic Emergency Braking (AEB). + + + + On this car, sunnypilot defaults to the car's built-in ACC instead of openpilot's longitudinal control. Enable this to switch to sunnypilot longitudinal control. Enabling Experimental mode is recommended when enabling sunnypilot longitudinal control alpha. + + + + Custom Stock Longitudinal Control + + + + When enabled, sunnypilot will attempt to control stock longitudinal control with ACC button presses. +This feature must be used along with SLC, and/or V-TSC, and/or M-TSC. + + + + Use Planner Speed + + + + Experimental Mode + Mode expérimental + + + Enable Dynamic Experimental Control + + + + Enable toggle to allow the model to determine when to use sunnypilot ACC or sunnypilot End to End Longitudinal. + + + + Enable Dynamic Personality + + + + Enable this to allow sunnypilot to dynamically adjust following distance and reaction based on your "Driving Personality" setting. Instead of predefined settings for each personality, every personality now adapts dynamically according to your speed and the distance to the lead car. + + + + Disengage on Accelerator Pedal + Désengager avec la pédale d'accélérateur + + + When enabled, pressing the accelerator pedal will disengage openpilot. + Lorsqu'il est activé, appuyer sur la pédale d'accélérateur désengagera openpilot. + + + Enable Lane Departure Warnings + Activer les avertissements de sortie de voie + + + Receive alerts to steer back into the lane when your vehicle drifts over a detected lane line without a turn signal activated while driving over 31 mph (50 km/h). + Recevez des alertes pour revenir dans la voie lorsque votre véhicule dérive au-delà d'une ligne de voie détectée sans clignotant activé en roulant à plus de 31 mph (50 km/h). + + + Always-On Driver Monitoring + + + + Enable driver monitoring even when sunnypilot is not engaged. + + + + Record and Upload Driver Camera + Enregistrer et télécharger la caméra conducteur + + + Upload data from the driver facing camera and help improve the driver monitoring algorithm. + Publiez les données de la caméra orientée vers le conducteur et aidez à améliorer l'algorithme de surveillance du conducteur. + + + Disable Onroad Uploads + + + + Disable uploads completely when onroad. Necessary to avoid high data usage when connected to Wi-Fi hotspot. Turn on this feature if you are looking to utilize map-based features, such as Speed Limit Control (SLC) and Map-based Turn Speed Control (MTSC). + + + + Use Metric System + Utiliser le système métrique + + + Display speed in km/h instead of mph. + Afficher la vitesse en km/h au lieu de mph. + + + Show ETA in 24h Format + Afficher l'heure d'arrivée en format 24h + + + Use 24h format instead of am/pm + Utiliser le format 24h plutôt que am/pm + + + Show Map on Left Side of UI + Afficher la carte à gauche de l'interface + + + Show map on left side when in split screen view. + Afficher la carte à gauche en mode écran scindé. + + + Aggressive + Aggressif + + + Moderate + + + + Standard + Standard + + + Relaxed + Détendu + + + Driving Personality + Personnalité de conduite + + + Standard is recommended. In moderate/aggressive mode, sunnypilot will follow lead cars closer and be more aggressive with the gas and brake. In relaxed mode sunnypilot will stay further away from lead cars. On supported cars, you can cycle through these personalities with your steering wheel distance button. + + + + Sport + + + + Normal + + + + Eco + + + + Stock + + + + Acceleration Personality + + + + Normal is recommended. In sport mode, sunnypilot will provide aggressive acceleration for a dynamic driving experience. In eco mode, sunnypilot will apply smoother and more relaxed acceleration. On supported cars, you can cycle through these acceleration personality within Onroad Settings on the driving screen. + + + + openpilot defaults to driving in <b>chill mode</b>. Experimental mode enables <b>alpha-level features</b> that aren't ready for chill mode. Experimental features are listed below: + Par défaut, openpilot conduit en <b>mode détente</b>. Le mode expérimental permet d'activer des <b>fonctionnalités alpha</b> qui ne sont pas prêtes pour le mode détente. Les fonctionnalités expérimentales sont listées ci-dessous : + + + End-to-End Longitudinal Control + Contrôle longitudinal de bout en bout + + + Let the driving model control the gas and brakes. sunnypilot will drive as it thinks a human would, including stopping for red lights and stop signs. Since the driving model decides the speed to drive, the set speed will only act as an upper bound. This is an alpha quality feature; mistakes should be expected. + + + + New Driving Visualization + Nouvelle visualisation de la conduite + + + The driving visualization will transition to the road-facing wide-angle camera at low speeds to better show some turns. The Experimental mode logo will also be shown in the top right corner. + La visualisation de la conduite passera sur la caméra grand angle dirigée vers la route à faible vitesse afin de mieux montrer certains virages. Le logo du mode expérimental s'affichera également dans le coin supérieur droit. + + + Experimental mode is currently unavailable on this car since the car's stock ACC is used for longitudinal control. + Le mode expérimental est actuellement indisponible pour cette voiture car le régulateur de vitesse adaptatif d'origine est utilisé pour le contrôle longitudinal. + + + openpilot longitudinal control may come in a future update. + Le contrôle longitudinal openpilot pourrait être disponible dans une future mise à jour. + + + An alpha version of sunnypilot longitudinal control can be tested, along with Experimental mode, on non-release branches. + + + + Enable the sunnypilot longitudinal control (alpha) toggle to allow Experimental mode. + + + + + TorqueFriction + + FRICTION + + + + Adjust Friction for the Torque Lateral Controller. <b>Live</b>: Override self-tune values; <b>Offline</b>: Override self-tune offline values at car restart. + + + + Real-time and Offline + + + + Offline Only + + + + + TorqueMaxLatAccel + + LAT_ACCEL_FACTOR + + + + Adjust Max Lateral Acceleration for the Torque Lateral Controller. <b>Live</b>: Override self-tune values; <b>Offline</b>: Override self-tune offline values at car restart. + + + + Real-time and Offline + + + + Offline Only + + Updater @@ -1206,6 +3176,168 @@ Cela peut prendre jusqu'à une minute. Échec de la mise à jour + + VehiclePanel + + Updating this setting takes effect when the car is powered off. + + + + Select your car + + + + + VisualsPanel + + Display Braking Status + + + + Enable this will turn the current speed value to red while the brake is used. + + + + Display Stand Still Timer + + + + Enable this will display time spent at a stop (i.e., at a stop lights, stop signs, traffic congestions). + + + + Display DM Camera in Reverse Gear + + + + Show Driver Monitoring camera while the car is in reverse gear. + + + + OSM: Show debug UI elements + + + + OSM: Show UI elements that aid debugging. + + + + Display Feature Status + + + + Display the statuses of certain features on the driving screen. + + + + Enable Onroad Settings + + + + Display the Onroad Settings button on the driving screen to adjust feature options on the driving screen, without navigating into the settings menu. + + + + Speedometer: Display True Speed + + + + Display the true vehicle current speed from wheel speed sensors. + + + + Speedometer: Hide from Onroad Screen + + + + Display End-to-end Longitudinal Status (Beta) + + + + Enable this will display an icon that appears when the End-to-end model decides to start or stop. + + + + Navigation: Display in Full Screen + + + + Enable this will display the built-in navigation in full screen.<br>To switch back to driving view, <font color='yellow'>tap on the border edge</font>. + + + + Map: Display 3D Buildings + + + + Parse and display 3D buildings on map. Thanks to jakethesnake420 for this implementation. + + + + Off + + + + 5 Metrics + + + + 10 Metrics + + + + Developer UI + + + + Display real-time parameters and metrics from various sources. + + + + Distance + + + + Speed + + + + Time + + + + All + + + + Display Metrics Below Chevron + + + + Display useful metrics below the chevron that tracks the lead car (only applicable to cars with openpilot longitudinal control). + + + + RAM + + + + CPU + + + + GPU + + + + Max + + + + Display Temperature on Sidebar + + + WiFiPromptWidget @@ -1252,4 +3384,27 @@ Cela peut prendre jusqu'à une minute. Oublier + + WifiUISP + + Scanning for networks... + Recherche de réseaux... + + + CONNECTING... + CONNEXION... + + + FORGET + OUBLIER + + + Forget Wi-Fi Network "%1"? + Oublier le réseau Wi-Fi "%1" ? + + + Forget + Oublier + + diff --git a/selfdrive/ui/translations/main_ja.ts b/selfdrive/ui/translations/main_ja.ts index e0fb60620b..b339e6de1c 100644 --- a/selfdrive/ui/translations/main_ja.ts +++ b/selfdrive/ui/translations/main_ja.ts @@ -87,6 +87,89 @@ ネットワーク名:%1 + + AdvancedNetworkingSP + + Back + 戻る + + + Enable Tethering + テザリングを有効化 + + + Retain hotspot/tethering state + + + + Enabling this toggle will retain the hotspot/tethering toggle state across reboots. + + + + Tethering Password + テザリングパスワード + + + EDIT + 編集 + + + Enter new tethering password + 新しいテザリングパスワードを入力 + + + IP Address + IP アドレス + + + Enable Roaming + ローミングを有効化 + + + APN Setting + APN 設定 + + + Enter APN + APN を入力 + + + leave blank for automatic configuration + 自動で設定するには、空白のままにしてください。 + + + Cellular Metered + 従量制通信設定 + + + Prevent large data uploads when on a metered connection + 大量のデータのアップロードを防止します。 + + + Hidden Network + + + + CONNECT + 接続 + + + Enter SSID + SSID を入力 + + + Enter password + パスワードを入力 + + + for "%1" + ネットワーク名:%1 + + + Ngrok Service + + + AnnotatedCameraWidget @@ -103,11 +186,127 @@ SPEED - 速度 + 速度 LIMIT - 制限速度 + 制限速度 + + + + AnnotatedCameraWidgetSP + + km/h + km/h + + + mph + mph + + + blended + + + + acc + + + + MAX + 最高速度 + + + SPEED + 速度 + + + LIMIT + 制限速度 + + + + AutoLaneChangeTimer + + Auto Lane Change by Blinker + + + + Set a timer to delay the auto lane change operation when the blinker is used. No nudge on the steering wheel is required to auto lane change if a timer is set. Default is Nudge. +Please use caution when using this feature. Only use the blinker when traffic and road conditions permit. + + + + s + + + + Off + + + + Nudge + + + + Nudgeless + + + + + BackupSettings + + Settings backed up for sunnylink Device ID: + + + + Settings updated successfully, but no additional data was returned by the server. + + + + OOPS! We made a booboo. + + + + Please try again later. + + + + Settings restored. Confirm to restart the interface. + + + + No settings found to restore. + + + + + BrightnessControl + + Brightness + + + + Manually adjusts the global brightness of the screen. + + + + Auto + + + + + CameraOffset + + Camera Offset - Laneful Only + + + + Hack to trick vehicle to be left or right biased in its lane. Decreasing the value will make the car keep more left, increasing will make it keep more right. Changes take effect immediately. Default: +4 cm + + + + cm + @@ -121,11 +320,18 @@ キャンセル + + CustomOffsetsSettings + + Back + 戻る + + DeclinePage You must accept the Terms and Conditions in order to use openpilot. - openpilot をご利用される前に、利用規約に同意する必要があります。 + openpilot をご利用される前に、利用規約に同意する必要があります。 Back @@ -135,6 +341,10 @@ Decline, uninstall %1 拒否して %1 をアンインストール + + You must accept the Terms and Conditions in order to use sunnypilot. + + DestinationWidget @@ -247,7 +457,7 @@ openpilot requires the device to be mounted within 4° left or right and within 5° up or 9° down. openpilot is continuously calibrating, resetting is rarely required. - openpilotの本体は、左右4°以内、上5°、下9°以内の角度で取付ける必要があります。継続してキャリブレーションを続けているので、手動でリセットを行う必要はほぼありません。 + openpilotの本体は、左右4°以内、上5°、下9°以内の角度で取付ける必要があります。継続してキャリブレーションを続けているので、手動でリセットを行う必要はほぼありません。 Your device is pointed %1° %2 and %3° %4. @@ -305,6 +515,155 @@ PAIR + + sunnypilot requires the device to be mounted within 4° left or right and within 5° up or 9° down. sunnypilot is continuously calibrating, resetting is rarely required. + + + + + DevicePanelSP + + TOGGLE + + + + Enable or disable PIN requirement for Fleet Manager access. + + + + Are you sure you want to turn off PIN requirement? + + + + Turn Off + + + + Error Troubleshoot + + + + VIEW + 見る + + + Display error from the tmux session when an error has occurred from a system process. + + + + Reset Access Tokens for Map Services + + + + RESET + リセット + + + Reset self-service access tokens for Mapbox, Amap, and Google Maps. + + + + Are you sure you want to reset access tokens for all map services? + + + + Reset + リセット + + + Reset sunnypilot Settings + + + + Are you sure you want to reset all sunnypilot settings? + + + + Toggle Onroad/Offroad + + + + OFF + + + + Are you sure you want to unforce offroad? + + + + Unforce + + + + Are you sure you want to force offroad? + + + + Force + + + + Disengage to Force Offroad + + + + Unforce Offroad + + + + Force Offroad + + + + Fleet Manager PIN: + + + + + DisplayPanel + + Driving Screen Off: Non-Critical Events + + + + When <b>Driving Screen Off Timer</b> is not set to <b>"Always On"</b>: + + + + Enabled: Wake the brightness of the screen to display all events. + + + + Disabled: Wake the brightness of the screen to display critical events. + + + + + DriveStats + + Drives + + + + Hours + + + + ALL TIME + + + + PAST WEEK + + + + KM + + + + Miles + + DriverViewWindow @@ -344,6 +703,79 @@ インストールしています... + + LaneChangeSettings + + Back + 戻る + + + Pause Lateral Below Speed with Blinker + + + + Enable this toggle to pause lateral actuation with blinker when traveling below the desired speed selected below. + + + + Auto Lane Change: Delay with Blind Spot + + + + Toggle to enable a delay timer for seamless lane changes when blind spot monitoring (BSM) detects a obstructing vehicle, ensuring safe maneuvering. + + + + Block Lane Change: Road Edge Detection + + + + Enable this toggle to block lane change when road edge is detected on the stalk actuated side. + + + + + MadsSettings + + Enable ACC+MADS with RES+/SET- + + + + Engage both M.A.D.S. and ACC with a single press of RES+ or SET- button. + + + + Note: Once M.A.D.S. is engaged via this mode, it will remain engaged until it is manually disabled via the M.A.D.S. button or car shut off. + + + + Toggle M.A.D.S. with Cruise Main + + + + Allows M.A.D.S. engagement/disengagement with "Cruise Main" cruise control button from the steering wheel. + + + + Remain Active + + + + Pause Steering + + + + Steering Mode After Braking + + + + Choose how Automatic Lane Centering (ALC) behaves after the brake pedal is manually pressed in sunnypilot. + +Remain Active: ALC will remain active even after the brake pedal is pressed. +Pause Steering: ALC will be paused after the brake pedal is manually pressed. + + + MapETA @@ -385,6 +817,63 @@ + + MapWindowSP + + Map Loading + マップを読み込んでいます + + + Waiting for GPS + GPS信号を探しています + + + Waiting for route + + + + + MaxTimeOffroad + + Max Time Offroad + + + + Device is automatically turned off after a set time when the engine is turned off (off-road) after driving (on-road). + + + + s + + + + m + メートル + + + hr + 時間 + + + Always On + + + + Immediate + + + + + MonitoringPanel + + Enable Hands on Wheel Monitoring + + + + Monitor and alert when driver is not keeping the hands on the steering wheel. + + + MultiOptionDialog @@ -415,6 +904,33 @@ パスワードが間違っています + + NetworkingSP + + Scan + + + + Scanning... + + + + Advanced + 詳細 + + + Enter password + パスワードを入力 + + + for "%1" + ネットワーク名:%1 + + + Wrong password + パスワードが間違っています + + OffroadAlert @@ -466,6 +982,16 @@ Device temperature too high. System cooling down before starting. Current internal component temperature: %1 + + OpenStreetMap database is out of date. New maps must be downloaded if you wish to continue using OpenStreetMap data for Enhanced Speed Control and road name display. + +%1 + + + + sunnypilot is now in Forced Offroad mode. sunnypilot won't start until Forced Offroad mode is disabled. Go to "Settings" -> "Device" -> "Unforce Offroad" to exit Force Offroad mode. + + OffroadHome @@ -505,6 +1031,186 @@ + + OnroadScreenOff + + Driving Screen Off Timer + + + + Turn off the device screen or reduce brightness to protect the screen after driving starts. It automatically brightens or turns on when a touch or event occurs. + + + + s + + + + min + + + + Always On + + + + + OnroadScreenOffBrightness + + Driving Screen Off Brightness (%) + + + + When using the Driving Screen Off feature, the brightness is reduced according to the automatic brightness ratio. + + + + Dark + + + + + OnroadSettings + + ONROAD OPTIONS + + + + <b>ONROAD SETTINGS | SUNNYPILOT</b> + + + + + OsmPanel + + Mapd Version + + + + Offline Maps ETA + + + + Time Elapsed + + + + Downloaded Maps + + + + DELETE + + + + This will delete ALL downloaded maps + +Are you sure you want to delete all the maps? + + + + Yes, delete all the maps. + + + + Database Update + + + + CHECK + 確認 + + + Country + + + + SELECT + 選択 + + + Fetching Country list... + + + + State + + + + Fetching State list... + + + + All + + + + REFRESH + + + + UPDATE + 更新 + + + Download starting... + + + + Error: Invalid download. Retry. + + + + Download complete! + + + + + +Warning: You are on a metered connection! + + + + This will start the download process and it might take a while to complete. + + + + Continue on Metered + + + + Start Download + + + + m + + + + s + + + + Calculating... + + + + Downloaded + + + + Calculating ETA... + + + + Ready + + + + Time remaining: + + + PairingPopup @@ -535,6 +1241,51 @@ を有効化 + + ParamControlSP + + Enable + を有効化 + + + Cancel + キャンセル + + + + PathOffset + + Path Offset + + + + Hack to trick the model path to be left or right biased of the lane. Decreasing the value will shift the model more left, increasing will shift the model more right. Changes take effect immediately. + + + + cm + + + + + PauseLateralSpeed + + Pause lateral actuation with blinker when traveling below the desired speed selected. Default is 20 MPH or 32 km/h. + + + + Default + + + + km/h + km/h + + + mph + mph + + PrimeAdWidget @@ -589,7 +1340,7 @@ openpilot - openpilot + openpilot %n minute(s) ago @@ -629,6 +1380,30 @@ now + + sunnypilot + + + + Update downloaded. Ready to reboot. + + + + Update: Check and Download Update + + + + Reboot: Reboot Device + + + + Update + + + + Updating... + + Reset @@ -670,6 +1445,151 @@ This may take up to a minute. + + SPVehiclesTogglesPanel + + Hyundai/Kia/Genesis + + + + HKG: Custom Tuning for New Longitudinal API + + + + HKG CAN: Enable Cruise Main By Default + + + + Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS + + + + Subaru + + + + Manual Parking Brake: Stop and Go (Beta) + + + + Experimental feature to enable stop and go for Subaru Global models with manual handbrake. Models with electric parking brake should keep this disabled. Thanks to martinl for this implementation! + + + + Toyota/Lexus + + + + Enable Stock Toyota Longitudinal Control + + + + sunnypilot will <b>not</b> take over control of gas and brakes. Stock Toyota longitudinal control will be used. + + + + Allow M.A.D.S. toggling w/ LKAS Button (Beta) + + + + Allows M.A.D.S. engagement/disengagement with "LKAS" button from the steering wheel. + + + + Note: Enabling this toggle may have unexpected behavior with steering control. It is the driver's responsibility to observe their environment and make decisions accordingly. + + + + Toyota TSS2 Longitudinal: Custom Tuning + + + + Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation. + + + + Enable Automatic Brake Hold (AHB) + + + + WARNING: Only for Toyota/Lexus vehicles with TSS2/LSS2. USE AT YOUR OWN RISK. + + + + When you stop the vehicle completely by depressing the brake pedal, sunnypilot will activate Auto Brake Hold. + + + + Changing this setting takes effect when the car is powered off. + + + + Enable Enhanced Blind Spot Monitor + + + + Enable Toyota Stop and Go Hack + + + + sunnypilot will allow some Toyota/Lexus cars to auto resume during stop and go traffic. This feature is only applicable to certain models. Use at your own risk. + + + + Enable Toyota Door Auto Locking + + + + sunnypilot will attempt to lock the doors when drive above 10 km/h (6.2 mph). +Reboot Required. + + + + Enable Toyota Door Auto Unlocking + + + + sunnypilot will attempt to unlock the doors when shift to gear P. +Reboot Required. + + + + Volkswagen + + + + Enable CC Only support + + + + sunnypilot supports Volkswagen MQB CC only platforms with this toggle enabled. Only enable this toggle if your car does not have ACC from the factory. + + + + Start the car to check car compatibility + + + + This platform is already supported, therefore no need to enable this toggle + + + + This platform is not supported + + + + This platform can be supported + + + + sunnypilot will use debugging CAN messages to receive unfiltered BSM signals, allowing detection of more objects. + + + + Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2. + + + SettingsWindow @@ -693,6 +1613,61 @@ This may take up to a minute. ソフトウェア + + SettingsWindowSP + + × + × + + + Device + デバイス + + + Network + ネットワーク + + + sunnylink + + + + Toggles + 機能設定 + + + Software + ソフトウェア + + + sunnypilot + + + + OSM + + + + Monitoring + + + + Visuals + + + + Display + + + + Trips + + + + Vehicle + + + Setup @@ -886,6 +1861,100 @@ This may take up to a minute. 5G + + SidebarSP + + TEMP + 温度 + + + HIGH + 高温 + + + GOOD + 最適 + + + OK + OK + + + DISABLED + + + + OFFLINE + オフライン + + + REGIST... + + + + ONLINE + オンライン + + + ERROR + エラー + + + SUNNYLINK + + + + + SlcSettings + + Auto + + + + User Confirm + + + + Engage Mode + + + + Default + + + + Fixed + + + + Percentage + + + + Limit Offset + + + + Set speed limit slightly higher than actual speed limit for a more natural drive. + + + + This platform defaults to <b>Auto</b> mode. <b>User Confirm</b> mode is not supported on this platform. + + + + Select the desired mode to set the cruising speed to the speed limit: + + + + Auto: Automatic speed adjustment on motorways based on speed limit data. + + + + User Confirm: Inform the driver to change set speed of Adaptive Cruise Control to help the driver stay within the speed limit. + + + SoftwarePanel @@ -961,6 +2030,233 @@ This may take up to a minute. + + SoftwarePanelSP + + Driving Model + + + + SELECT + 選択 + + + PENDING + + + + Downloading Driving model + + + + (CACHED) + + + + Driving model + + + + downloaded + + + + Downloading Navigation model + + + + Navigation model + + + + Downloading Metadata model + + + + Metadata model + + + + Downloads have failed, please try swapping the model! + + + + Failed: + + + + Fetching models... + + + + Select a Driving Model + + + + Download has started in the background. + + + + We STRONGLY suggest you to reset calibration. Would you like to do that now? + + + + Reset Calibration + キャリブレーションをリセット + + + Warning: You are on a metered connection! + + + + Continue + 続ける + + + on Metered + + + + + SpeedLimitPolicySettings + + Speed Limit Source Policy + + + + Nav + + + + Only + + + + Map + + + + Car + + + + First + + + + Select the precedence order of sources. Utilized by Speed Limit Control and Speed Limit Warning + + + + Nav Only: Data from Mapbox active navigation only. + + + + Map Only: Data from OpenStreetMap only. + + + + Car Only: Data from the car's built-in sources (if available). + + + + Nav First: Nav -> Map -> Car + + + + Map First: Map -> Nav -> Car + + + + Car First: Car -> Nav -> Map + + + + + SpeedLimitValueOffset + + km/h + km/h + + + mph + mph + + + + SpeedLimitWarningSettings + + Off + + + + Display + + + + Chime + + + + Speed Limit Warning + + + + Warning with speed limit flash + + + + When Speed Limit Warning is enabled, the speed limit sign will alert the driver when the cruising speed is faster than then speed limit plus the offset. + + + + Default + + + + Fixed + + + + Percentage + + + + Warning Offset + + + + Select the desired offset to warn the driver when the vehicle is driving faster than the speed limit. + + + + Off: When the cruising speed is faster than the speed limit plus the offset, there will be no warning. + + + + Display: The speed on the speed limit sign turns red to alert the driver when the cruising speed is faster than the speed limit plus the offset. + + + + Chime: The speed on the speed limit sign turns red and chimes to alert the driver when the cruising speed is faster than the speed limit plus the offset. + + + + + SpeedLimitWarningValueOffset + + N/A + N/A + + + km/h + km/h + + + mph + mph + + SshControl @@ -1007,6 +2303,415 @@ This may take up to a minute. SSH を有効化 + + SunnylinkPanel + + Enable sunnylink + + + + Device ID + + + + N/A + N/A + + + This is the master switch, it will allow you to cutoff any sunnylink requests should you want to do that. + + + + 🎉Welcome back! We're excited to see you've enabled sunnylink again! 🚀 + + + + 👋Not going to lie, it's sad to see you disabled sunnylink 😢, but we'll be here when you're ready to come back 🎉. + + + + Sponsor Status + + + + SPONSOR + + + + Become a sponsor of sunnypilot to get early access to sunnylink features when they become available. + + + + Pair GitHub Account + + + + PAIR + + + + Pair your GitHub account to grant your device sponsor benefits, including API access on sunnylink. + + + + sunnylink Dongle ID not found. This may be due to weak internet connection or sunnylink registration issue. Please reboot and try again. + + + + Manage Settings + + + + Backup Settings + + + + Are you sure you want to backup sunnypilot settings? + + + + Back Up + + + + Restore Settings + + + + Are you sure you want to restore the last backed up sunnypilot settings? + + + + Restore + + + + THANKS + + + + Not Sponsor + + + + Paired + + + + Not Paired + + + + Backing up... + + + + Restoring... + + + + + SunnylinkSponsorPopup + + Scan the QR code to login to your GitHub account + + + + Follow the prompts to complete the pairing process + + + + Re-enter the "sunnylink" panel to verify sponsorship status + + + + If sponsorship status was not updated, please contact a moderator on Discord at https://discord.gg/sunnypilot + + + + Scan the QR code to visit sunnyhaibin's GitHub Sponsors page + + + + Choose your sponsorship tier and confirm your support + + + + Join our community on Discord at https://discord.gg/sunnypilot and reach out to a moderator to confirm your sponsor status + + + + Pair your GitHub account + + + + Early Access: Become a sunnypilot Sponsor + + + + + SunnypilotPanel + + Enable M.A.D.S. + + + + Enable the beloved M.A.D.S. feature. Disable toggle to revert back to stock openpilot engagement/disengagement. + + + + Laneless for Curves in "Auto" Mode + + + + While in Auto Lane, switch to Laneless for current/future curves. + + + + Speed Limit Control (SLC) + + + + When you engage ACC, you will be prompted to set the cruising speed to the speed limit of the road adjusted by the Offset and Source Policy specified, or the current driving speed. The maximum cruising speed will always be the MAX set speed. + + + + Enable Vision-based Turn Speed Control (V-TSC) + + + + Use vision path predictions to estimate the appropriate speed to drive through turns ahead. + + + + Enable Map Data Turn Speed Control (M-TSC) (Beta) + + + + Use curvature information from map data to define speed limits to take turns ahead. + + + + ACC +/-: Long Press Reverse + + + + Change the ACC +/- buttons behavior with cruise speed change in sunnypilot. + + + + Disabled (Stock): Short=1, Long = 5 (imperial) / 10 (metric) + + + + Enabled: Short = 5 (imperial) / 10 (metric), Long=1 + + + + Custom Offsets + + + + Neural Network Lateral Control (NNLC) + + + + NNLC: Remove Lateral Jerk Response (Alpha) + + + + When NNLC is active, enable this to disables the use of lateral jerk in steering torque calculations, focusing solely on lateral acceleration for a simplified control response. + + + + Enforce Torque Lateral Control + + + + Enable this to enforce sunnypilot to steer with Torque lateral control. + + + + Lateral Jerk with Torque Lateral Control (Alpha) + + + + Utilizes limited lateral jerk control for improved steering response, leveraging stock torque lateral controller capabilities. Designed to mimic NNLC behavior without training models or data collection. + + + + Enable Self-Tune + + + + Enables self-tune for Torque lateral control for platforms that do not use Torque lateral control by default. + + + + Less Restrict Settings for Self-Tune (Beta) + + + + Less strict settings when using Self-Tune. This allows torqued to be more forgiving when learning values. + + + + Enable Custom Tuning + + + + Enables custom tuning for Torque lateral control. Modifying FRICTION and LAT_ACCEL_FACTOR below will override the offline values indicated in the YAML files within "selfdrive/torque_data". The values will also be used live when "Override Self-Tune" toggle is enabled. + + + + Manual Real-Time Tuning + + + + Enforces the torque lateral controller to use the fixed values instead of the learned values from Self-Tune. Enabling this toggle overrides Self-Tune values. + + + + Quiet Drive 🤫 + + + + sunnypilot will display alerts but only play the most important warning sounds. This feature can be toggled while the car is on. + + + + Green Traffic Light Chime (Beta) + + + + A chime will play when the traffic light you are waiting for turns green and you have no vehicle in front of you. If you are waiting behind another vehicle, the chime will play once the vehicle advances unless ACC is engaged. + + + + Note: This chime is only designed as a notification. It is the driver's responsibility to observe their environment and make decisions accordingly. + + + + Lead Vehicle Departure Alert + + + + Enable this will notify when the leading vehicle drives away. + + + + Customize M.A.D.S. + + + + Customize Lane Change + + + + Customize Offsets + + + + Customize Speed Limit Control + + + + Customize Warning + + + + Customize Source + + + + Laneful + + + + Laneless + + + + Auto + + + + Dynamic Lane Profile + + + + Speed Limit Assist + + + + Real-time and Offline + + + + Offline Only + + + + Dynamic Lane Profile is not available with the current Driving Model + + + + Custom Offsets is not available with the current Driving Model + + + + NNLC is currently not available on this platform. + + + + Match: "Exact" is ideal, but "Fuzzy" is fine too. Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server if there are any issues: + + + + Start the car to check car compatibility + + + + NNLC Not Loaded + + + + NNLC Loaded + + + + Fuzzy + + + + Exact + + + + Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server and donate logs to get NNLC loaded for your car: + + + + Match + + + + Formerly known as <b>"NNFF"</b>, this replaces the lateral <b>"torque"</b> controller, with one using a neural network trained on each car's (actually, each separate EPS firmware) driving data for increased controls accuracy. + + + + Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server with feedback, or to provide log data for your car if your car is currently unsupported: + + + + Add custom offsets to Camera and Path in sunnypilot. + + + + Default is Laneless. In Auto mode, sunnnypilot dynamically chooses between Laneline or Laneless model based on lane recognition confidence level on road and certain conditions. + + + TermsPage @@ -1026,15 +2731,30 @@ This may take up to a minute. 同意 + + TermsPageSP + + Terms & Conditions + 利用規約 + + + Decline + 拒否 + + + Scroll to accept + スクロールして同意 + + TogglesPanel Enable openpilot - openpilot を有効化 + openpilot を有効化 Use the openpilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. - openpilotによるアダプティブクルーズコントロールとレーンキーピングドライバーアシストを利用します。この機能を利用する際は、常に前方への注意が必要です。この設定を変更すると、車の電源が切れた時に反映されます。 + openpilotによるアダプティブクルーズコントロールとレーンキーピングドライバーアシストを利用します。この機能を利用する際は、常に前方への注意が必要です。この設定を変更すると、車の電源が切れた時に反映されます。 Enable Lane Departure Warnings @@ -1070,19 +2790,19 @@ This may take up to a minute. Show ETA in 24h Format - 24時間表示 + 24時間表示 Use 24h format instead of am/pm - AM/PM の代わりに24時間形式を使用します + AM/PM の代わりに24時間形式を使用します Show Map on Left Side of UI - ディスプレイの左側にマップを表示 + ディスプレイの左側にマップを表示 Show map on left side when in split screen view. - 分割画面表示の場合、ディスプレイの左側にマップを表示します。 + 分割画面表示の場合、ディスプレイの左側にマップを表示します。 Experimental Mode @@ -1164,6 +2884,256 @@ This may take up to a minute. Enable driver monitoring even when openpilot is not engaged. + + Enable sunnypilot + + + + Use the sunnypilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. + + + + + TogglesPanelSP + + Enable sunnypilot + + + + Use the sunnypilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. + + + + openpilot Longitudinal Control (Alpha) + + + + WARNING: sunnypilot longitudinal control is in alpha for this car and will disable Automatic Emergency Braking (AEB). + + + + On this car, sunnypilot defaults to the car's built-in ACC instead of openpilot's longitudinal control. Enable this to switch to sunnypilot longitudinal control. Enabling Experimental mode is recommended when enabling sunnypilot longitudinal control alpha. + + + + Custom Stock Longitudinal Control + + + + When enabled, sunnypilot will attempt to control stock longitudinal control with ACC button presses. +This feature must be used along with SLC, and/or V-TSC, and/or M-TSC. + + + + Use Planner Speed + + + + Experimental Mode + 実験モード + + + Enable Dynamic Experimental Control + + + + Enable toggle to allow the model to determine when to use sunnypilot ACC or sunnypilot End to End Longitudinal. + + + + Enable Dynamic Personality + + + + Enable this to allow sunnypilot to dynamically adjust following distance and reaction based on your "Driving Personality" setting. Instead of predefined settings for each personality, every personality now adapts dynamically according to your speed and the distance to the lead car. + + + + Disengage on Accelerator Pedal + アクセルを踏むと openpilot を中断 + + + When enabled, pressing the accelerator pedal will disengage openpilot. + この機能を有効化すると、openpilotを利用中にアクセルを踏むとopenpilotによる運転サポートを中断します。 + + + Enable Lane Departure Warnings + 車線逸脱警報機能を有効化 + + + Receive alerts to steer back into the lane when your vehicle drifts over a detected lane line without a turn signal activated while driving over 31 mph (50 km/h). + 時速31マイル(50km)を超えるスピードで走行中、ウインカーを作動させずに検出された車線ライン上に車両が触れた場合、手動で車線内に戻るように警告を行います。 + + + Always-On Driver Monitoring + + + + Enable driver monitoring even when sunnypilot is not engaged. + + + + Record and Upload Driver Camera + 車内カメラの録画とアップロード + + + Upload data from the driver facing camera and help improve the driver monitoring algorithm. + 車内カメラの映像をアップロードし、ドライバー監視システムのアルゴリズムの向上に役立てます。 + + + Disable Onroad Uploads + + + + Disable uploads completely when onroad. Necessary to avoid high data usage when connected to Wi-Fi hotspot. Turn on this feature if you are looking to utilize map-based features, such as Speed Limit Control (SLC) and Map-based Turn Speed Control (MTSC). + + + + Use Metric System + メートル法を使用 + + + Display speed in km/h instead of mph. + 速度は mph ではなく km/h で表示されます。 + + + Show ETA in 24h Format + 24時間表示 + + + Use 24h format instead of am/pm + AM/PM の代わりに24時間形式を使用します + + + Show Map on Left Side of UI + ディスプレイの左側にマップを表示 + + + Show map on left side when in split screen view. + 分割画面表示の場合、ディスプレイの左側にマップを表示します。 + + + Aggressive + + + + Moderate + + + + Standard + + + + Relaxed + + + + Driving Personality + + + + Standard is recommended. In moderate/aggressive mode, sunnypilot will follow lead cars closer and be more aggressive with the gas and brake. In relaxed mode sunnypilot will stay further away from lead cars. On supported cars, you can cycle through these personalities with your steering wheel distance button. + + + + Sport + + + + Normal + + + + Eco + + + + Stock + + + + Acceleration Personality + + + + Normal is recommended. In sport mode, sunnypilot will provide aggressive acceleration for a dynamic driving experience. In eco mode, sunnypilot will apply smoother and more relaxed acceleration. On supported cars, you can cycle through these acceleration personality within Onroad Settings on the driving screen. + + + + openpilot defaults to driving in <b>chill mode</b>. Experimental mode enables <b>alpha-level features</b> that aren't ready for chill mode. Experimental features are listed below: + openpilotは標準ではゆっくりとくつろげる運転を提供します。この実験モードを有効にすると、以下のくつろげる段階ではない開発中の機能を利用する事ができます。 + + + End-to-End Longitudinal Control + + + + Let the driving model control the gas and brakes. sunnypilot will drive as it thinks a human would, including stopping for red lights and stop signs. Since the driving model decides the speed to drive, the set speed will only act as an upper bound. This is an alpha quality feature; mistakes should be expected. + + + + New Driving Visualization + 新しい運転画面 + + + The driving visualization will transition to the road-facing wide-angle camera at low speeds to better show some turns. The Experimental mode logo will also be shown in the top right corner. + + + + Experimental mode is currently unavailable on this car since the car's stock ACC is used for longitudinal control. + この車のACCがアクセル制御を行うため実験モードを利用することができません。 + + + openpilot longitudinal control may come in a future update. + + + + An alpha version of sunnypilot longitudinal control can be tested, along with Experimental mode, on non-release branches. + + + + Enable the sunnypilot longitudinal control (alpha) toggle to allow Experimental mode. + + + + + TorqueFriction + + FRICTION + + + + Adjust Friction for the Torque Lateral Controller. <b>Live</b>: Override self-tune values; <b>Offline</b>: Override self-tune offline values at car restart. + + + + Real-time and Offline + + + + Offline Only + + + + + TorqueMaxLatAccel + + LAT_ACCEL_FACTOR + + + + Adjust Max Lateral Acceleration for the Torque Lateral Controller. <b>Live</b>: Override self-tune values; <b>Offline</b>: Override self-tune offline values at car restart. + + + + Real-time and Offline + + + + Offline Only + + Updater @@ -1200,6 +3170,168 @@ This may take up to a minute. 更新失敗 + + VehiclePanel + + Updating this setting takes effect when the car is powered off. + + + + Select your car + + + + + VisualsPanel + + Display Braking Status + + + + Enable this will turn the current speed value to red while the brake is used. + + + + Display Stand Still Timer + + + + Enable this will display time spent at a stop (i.e., at a stop lights, stop signs, traffic congestions). + + + + Display DM Camera in Reverse Gear + + + + Show Driver Monitoring camera while the car is in reverse gear. + + + + OSM: Show debug UI elements + + + + OSM: Show UI elements that aid debugging. + + + + Display Feature Status + + + + Display the statuses of certain features on the driving screen. + + + + Enable Onroad Settings + + + + Display the Onroad Settings button on the driving screen to adjust feature options on the driving screen, without navigating into the settings menu. + + + + Speedometer: Display True Speed + + + + Display the true vehicle current speed from wheel speed sensors. + + + + Speedometer: Hide from Onroad Screen + + + + Display End-to-end Longitudinal Status (Beta) + + + + Enable this will display an icon that appears when the End-to-end model decides to start or stop. + + + + Navigation: Display in Full Screen + + + + Enable this will display the built-in navigation in full screen.<br>To switch back to driving view, <font color='yellow'>tap on the border edge</font>. + + + + Map: Display 3D Buildings + + + + Parse and display 3D buildings on map. Thanks to jakethesnake420 for this implementation. + + + + Off + + + + 5 Metrics + + + + 10 Metrics + + + + Developer UI + + + + Display real-time parameters and metrics from various sources. + + + + Distance + + + + Speed + + + + Time + + + + All + + + + Display Metrics Below Chevron + + + + Display useful metrics below the chevron that tracks the lead car (only applicable to cars with openpilot longitudinal control). + + + + RAM + + + + CPU + + + + GPU + + + + Max + + + + Display Temperature on Sidebar + + + WiFiPromptWidget @@ -1246,4 +3378,27 @@ This may take up to a minute. 削除 + + WifiUISP + + Scanning for networks... + ネットワークをスキャン中... + + + CONNECTING... + 接続中... + + + FORGET + 削除 + + + Forget Wi-Fi Network "%1"? + Wi-Fiネットワーク%1を削除してもよろしいですか? + + + Forget + 削除 + + diff --git a/selfdrive/ui/translations/main_ko.ts b/selfdrive/ui/translations/main_ko.ts index 56fc5014ee..1068797cdd 100644 --- a/selfdrive/ui/translations/main_ko.ts +++ b/selfdrive/ui/translations/main_ko.ts @@ -87,6 +87,89 @@ "%1"에 접속하려면 비밀번호가 필요합니다 + + AdvancedNetworkingSP + + Back + 뒤로 + + + Enable Tethering + 테더링 사용 + + + Retain hotspot/tethering state + + + + Enabling this toggle will retain the hotspot/tethering toggle state across reboots. + + + + Tethering Password + 테더링 비밀번호 + + + EDIT + 편집 + + + Enter new tethering password + 새 테더링 비밀번호를 입력하세요 + + + IP Address + IP 주소 + + + Enable Roaming + 로밍 사용 + + + APN Setting + APN 설정 + + + Enter APN + APN 입력 + + + leave blank for automatic configuration + 자동 설정하려면 빈 칸으로 두세요 + + + Cellular Metered + 데이터 요금제 + + + Prevent large data uploads when on a metered connection + 데이터 요금제 연결 시 대용량 데이터 업로드를 방지합니다 + + + Hidden Network + 숨겨진 네트워크 + + + CONNECT + + + + Enter SSID + SSID 입력 + + + Enter password + 비밀번호를 입력하세요 + + + for "%1" + "%1"에 접속하려면 비밀번호가 필요합니다 + + + Ngrok Service + + + AnnotatedCameraWidget @@ -103,11 +186,127 @@ SPEED - SPEED + SPEED LIMIT - LIMIT + LIMIT + + + + AnnotatedCameraWidgetSP + + km/h + km/h + + + mph + mph + + + blended + + + + acc + + + + MAX + MAX + + + SPEED + SPEED + + + LIMIT + LIMIT + + + + AutoLaneChangeTimer + + Auto Lane Change by Blinker + + + + Set a timer to delay the auto lane change operation when the blinker is used. No nudge on the steering wheel is required to auto lane change if a timer is set. Default is Nudge. +Please use caution when using this feature. Only use the blinker when traffic and road conditions permit. + + + + s + + + + Off + + + + Nudge + + + + Nudgeless + + + + + BackupSettings + + Settings backed up for sunnylink Device ID: + + + + Settings updated successfully, but no additional data was returned by the server. + + + + OOPS! We made a booboo. + + + + Please try again later. + + + + Settings restored. Confirm to restart the interface. + + + + No settings found to restore. + + + + + BrightnessControl + + Brightness + + + + Manually adjusts the global brightness of the screen. + + + + Auto + + + + + CameraOffset + + Camera Offset - Laneful Only + + + + Hack to trick vehicle to be left or right biased in its lane. Decreasing the value will make the car keep more left, increasing will make it keep more right. Changes take effect immediately. Default: +4 cm + + + + cm + @@ -121,11 +320,18 @@ 취소 + + CustomOffsetsSettings + + Back + 뒤로 + + DeclinePage You must accept the Terms and Conditions in order to use openpilot. - openpilot을 사용하려면 이용약관에 동의해야 합니다. + openpilot을 사용하려면 이용약관에 동의해야 합니다. Back @@ -135,6 +341,10 @@ Decline, uninstall %1 거절, %1 제거 + + You must accept the Terms and Conditions in order to use sunnypilot. + + DestinationWidget @@ -247,7 +457,7 @@ openpilot requires the device to be mounted within 4° left or right and within 5° up or 9° down. openpilot is continuously calibrating, resetting is rarely required. - openpilot 장치는 좌우 4°, 위로 5°, 아래로 9° 이내 각도로 장착되어야 합니다. openpilot은 지속적으로 자동 보정되며 재설정은 거의 필요하지 않습니다. + openpilot 장치는 좌우 4°, 위로 5°, 아래로 9° 이내 각도로 장착되어야 합니다. openpilot은 지속적으로 자동 보정되며 재설정은 거의 필요하지 않습니다. Your device is pointed %1° %2 and %3° %4. @@ -305,6 +515,155 @@ PAIR 동기화 + + sunnypilot requires the device to be mounted within 4° left or right and within 5° up or 9° down. sunnypilot is continuously calibrating, resetting is rarely required. + + + + + DevicePanelSP + + TOGGLE + + + + Enable or disable PIN requirement for Fleet Manager access. + + + + Are you sure you want to turn off PIN requirement? + + + + Turn Off + + + + Error Troubleshoot + + + + VIEW + 보기 + + + Display error from the tmux session when an error has occurred from a system process. + + + + Reset Access Tokens for Map Services + + + + RESET + 초기화 + + + Reset self-service access tokens for Mapbox, Amap, and Google Maps. + + + + Are you sure you want to reset access tokens for all map services? + + + + Reset + 초기화 + + + Reset sunnypilot Settings + + + + Are you sure you want to reset all sunnypilot settings? + + + + Toggle Onroad/Offroad + + + + OFF + + + + Are you sure you want to unforce offroad? + + + + Unforce + + + + Are you sure you want to force offroad? + + + + Force + + + + Disengage to Force Offroad + + + + Unforce Offroad + + + + Force Offroad + + + + Fleet Manager PIN: + + + + + DisplayPanel + + Driving Screen Off: Non-Critical Events + + + + When <b>Driving Screen Off Timer</b> is not set to <b>"Always On"</b>: + + + + Enabled: Wake the brightness of the screen to display all events. + + + + Disabled: Wake the brightness of the screen to display critical events. + + + + + DriveStats + + Drives + + + + Hours + + + + ALL TIME + + + + PAST WEEK + + + + KM + + + + Miles + + DriverViewWindow @@ -344,6 +703,79 @@ 설치 중... + + LaneChangeSettings + + Back + 뒤로 + + + Pause Lateral Below Speed with Blinker + + + + Enable this toggle to pause lateral actuation with blinker when traveling below the desired speed selected below. + + + + Auto Lane Change: Delay with Blind Spot + + + + Toggle to enable a delay timer for seamless lane changes when blind spot monitoring (BSM) detects a obstructing vehicle, ensuring safe maneuvering. + + + + Block Lane Change: Road Edge Detection + + + + Enable this toggle to block lane change when road edge is detected on the stalk actuated side. + + + + + MadsSettings + + Enable ACC+MADS with RES+/SET- + + + + Engage both M.A.D.S. and ACC with a single press of RES+ or SET- button. + + + + Note: Once M.A.D.S. is engaged via this mode, it will remain engaged until it is manually disabled via the M.A.D.S. button or car shut off. + + + + Toggle M.A.D.S. with Cruise Main + + + + Allows M.A.D.S. engagement/disengagement with "Cruise Main" cruise control button from the steering wheel. + + + + Remain Active + + + + Pause Steering + + + + Steering Mode After Braking + + + + Choose how Automatic Lane Centering (ALC) behaves after the brake pedal is manually pressed in sunnypilot. + +Remain Active: ALC will remain active even after the brake pedal is pressed. +Pause Steering: ALC will be paused after the brake pedal is manually pressed. + + + MapETA @@ -385,6 +817,63 @@ 경로를 기다리는 중 + + MapWindowSP + + Map Loading + 지도 로딩 중 + + + Waiting for GPS + GPS 수신 중 + + + Waiting for route + 경로를 기다리는 중 + + + + MaxTimeOffroad + + Max Time Offroad + + + + Device is automatically turned off after a set time when the engine is turned off (off-road) after driving (on-road). + + + + s + + + + m + m + + + hr + 시간 + + + Always On + + + + Immediate + + + + + MonitoringPanel + + Enable Hands on Wheel Monitoring + + + + Monitor and alert when driver is not keeping the hands on the steering wheel. + + + MultiOptionDialog @@ -415,6 +904,33 @@ 비밀번호가 틀렸습니다 + + NetworkingSP + + Scan + + + + Scanning... + + + + Advanced + 고급 설정 + + + Enter password + 비밀번호를 입력하세요 + + + for "%1" + "%1"에 접속하려면 비밀번호가 필요합니다 + + + Wrong password + 비밀번호가 틀렸습니다 + + OffroadAlert @@ -467,6 +983,16 @@ Device temperature too high. System cooling down before starting. Current internal component temperature: %1 장치 온도가 너무 높습니다. 시작하기 전에 온도를 낮춰주세요. 현재 내부 부품 온도: %1 + + OpenStreetMap database is out of date. New maps must be downloaded if you wish to continue using OpenStreetMap data for Enhanced Speed Control and road name display. + +%1 + + + + sunnypilot is now in Forced Offroad mode. sunnypilot won't start until Forced Offroad mode is disabled. Go to "Settings" -> "Device" -> "Unforce Offroad" to exit Force Offroad mode. + + OffroadHome @@ -506,6 +1032,186 @@ 장치를 재부팅하세요 + + OnroadScreenOff + + Driving Screen Off Timer + + + + Turn off the device screen or reduce brightness to protect the screen after driving starts. It automatically brightens or turns on when a touch or event occurs. + + + + s + + + + min + + + + Always On + + + + + OnroadScreenOffBrightness + + Driving Screen Off Brightness (%) + + + + When using the Driving Screen Off feature, the brightness is reduced according to the automatic brightness ratio. + + + + Dark + + + + + OnroadSettings + + ONROAD OPTIONS + + + + <b>ONROAD SETTINGS | SUNNYPILOT</b> + + + + + OsmPanel + + Mapd Version + + + + Offline Maps ETA + + + + Time Elapsed + + + + Downloaded Maps + + + + DELETE + + + + This will delete ALL downloaded maps + +Are you sure you want to delete all the maps? + + + + Yes, delete all the maps. + + + + Database Update + + + + CHECK + 확인 + + + Country + + + + SELECT + 선택 + + + Fetching Country list... + + + + State + + + + Fetching State list... + + + + All + + + + REFRESH + + + + UPDATE + 업데이트 + + + Download starting... + + + + Error: Invalid download. Retry. + + + + Download complete! + + + + + +Warning: You are on a metered connection! + + + + This will start the download process and it might take a while to complete. + + + + Continue on Metered + + + + Start Download + + + + m + + + + s + + + + Calculating... + + + + Downloaded + + + + Calculating ETA... + + + + Ready + + + + Time remaining: + + + PairingPopup @@ -536,6 +1242,51 @@ 활성화 + + ParamControlSP + + Enable + 활성화 + + + Cancel + 취소 + + + + PathOffset + + Path Offset + + + + Hack to trick the model path to be left or right biased of the lane. Decreasing the value will shift the model more left, increasing will shift the model more right. Changes take effect immediately. + + + + cm + + + + + PauseLateralSpeed + + Pause lateral actuation with blinker when traveling below the desired speed selected. Default is 20 MPH or 32 km/h. + + + + Default + + + + km/h + km/h + + + mph + mph + + PrimeAdWidget @@ -590,7 +1341,7 @@ openpilot - openpilot + openpilot %n minute(s) ago @@ -630,6 +1381,30 @@ now now + + sunnypilot + + + + Update downloaded. Ready to reboot. + + + + Update: Check and Download Update + + + + Reboot: Reboot Device + + + + Update + + + + Updating... + + Reset @@ -672,6 +1447,151 @@ This may take up to a minute. 시스템 재설정이 시작되었습니다. 모든 콘텐츠와 설정을 지우려면 확인을 누르시고 부팅을 재개하려면 취소를 누르세요. + + SPVehiclesTogglesPanel + + Hyundai/Kia/Genesis + + + + HKG: Custom Tuning for New Longitudinal API + + + + HKG CAN: Enable Cruise Main By Default + + + + Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS + + + + Subaru + + + + Manual Parking Brake: Stop and Go (Beta) + + + + Experimental feature to enable stop and go for Subaru Global models with manual handbrake. Models with electric parking brake should keep this disabled. Thanks to martinl for this implementation! + + + + Toyota/Lexus + + + + Enable Stock Toyota Longitudinal Control + + + + sunnypilot will <b>not</b> take over control of gas and brakes. Stock Toyota longitudinal control will be used. + + + + Allow M.A.D.S. toggling w/ LKAS Button (Beta) + + + + Allows M.A.D.S. engagement/disengagement with "LKAS" button from the steering wheel. + + + + Note: Enabling this toggle may have unexpected behavior with steering control. It is the driver's responsibility to observe their environment and make decisions accordingly. + + + + Toyota TSS2 Longitudinal: Custom Tuning + + + + Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation. + + + + Enable Automatic Brake Hold (AHB) + + + + WARNING: Only for Toyota/Lexus vehicles with TSS2/LSS2. USE AT YOUR OWN RISK. + + + + When you stop the vehicle completely by depressing the brake pedal, sunnypilot will activate Auto Brake Hold. + + + + Changing this setting takes effect when the car is powered off. + + + + Enable Enhanced Blind Spot Monitor + + + + Enable Toyota Stop and Go Hack + + + + sunnypilot will allow some Toyota/Lexus cars to auto resume during stop and go traffic. This feature is only applicable to certain models. Use at your own risk. + + + + Enable Toyota Door Auto Locking + + + + sunnypilot will attempt to lock the doors when drive above 10 km/h (6.2 mph). +Reboot Required. + + + + Enable Toyota Door Auto Unlocking + + + + sunnypilot will attempt to unlock the doors when shift to gear P. +Reboot Required. + + + + Volkswagen + + + + Enable CC Only support + + + + sunnypilot supports Volkswagen MQB CC only platforms with this toggle enabled. Only enable this toggle if your car does not have ACC from the factory. + + + + Start the car to check car compatibility + + + + This platform is already supported, therefore no need to enable this toggle + + + + This platform is not supported + + + + This platform can be supported + + + + sunnypilot will use debugging CAN messages to receive unfiltered BSM signals, allowing detection of more objects. + + + + Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2. + + + SettingsWindow @@ -695,6 +1615,61 @@ This may take up to a minute. 소프트웨어 + + SettingsWindowSP + + × + × + + + Device + 장치 + + + Network + 네트워크 + + + sunnylink + + + + Toggles + 토글 + + + Software + 소프트웨어 + + + sunnypilot + + + + OSM + + + + Monitoring + + + + Visuals + + + + Display + + + + Trips + + + + Vehicle + + + Setup @@ -888,6 +1863,100 @@ This may take up to a minute. 5G + + SidebarSP + + TEMP + 온도 + + + HIGH + 높음 + + + GOOD + 좋음 + + + OK + OK + + + DISABLED + + + + OFFLINE + 연결 안됨 + + + REGIST... + + + + ONLINE + 온라인 + + + ERROR + 오류 + + + SUNNYLINK + + + + + SlcSettings + + Auto + + + + User Confirm + + + + Engage Mode + + + + Default + + + + Fixed + + + + Percentage + + + + Limit Offset + + + + Set speed limit slightly higher than actual speed limit for a more natural drive. + + + + This platform defaults to <b>Auto</b> mode. <b>User Confirm</b> mode is not supported on this platform. + + + + Select the desired mode to set the cruising speed to the speed limit: + + + + Auto: Automatic speed adjustment on motorways based on speed limit data. + + + + User Confirm: Inform the driver to change set speed of Adaptive Cruise Control to help the driver stay within the speed limit. + + + SoftwarePanel @@ -963,6 +2032,233 @@ This may take up to a minute. 업데이트 안함 + + SoftwarePanelSP + + Driving Model + + + + SELECT + 선택 + + + PENDING + + + + Downloading Driving model + + + + (CACHED) + + + + Driving model + + + + downloaded + + + + Downloading Navigation model + + + + Navigation model + + + + Downloading Metadata model + + + + Metadata model + + + + Downloads have failed, please try swapping the model! + + + + Failed: + + + + Fetching models... + + + + Select a Driving Model + + + + Download has started in the background. + + + + We STRONGLY suggest you to reset calibration. Would you like to do that now? + + + + Reset Calibration + 캘리브레이션 초기화 + + + Warning: You are on a metered connection! + + + + Continue + 계속 + + + on Metered + + + + + SpeedLimitPolicySettings + + Speed Limit Source Policy + + + + Nav + + + + Only + + + + Map + + + + Car + + + + First + + + + Select the precedence order of sources. Utilized by Speed Limit Control and Speed Limit Warning + + + + Nav Only: Data from Mapbox active navigation only. + + + + Map Only: Data from OpenStreetMap only. + + + + Car Only: Data from the car's built-in sources (if available). + + + + Nav First: Nav -> Map -> Car + + + + Map First: Map -> Nav -> Car + + + + Car First: Car -> Nav -> Map + + + + + SpeedLimitValueOffset + + km/h + km/h + + + mph + mph + + + + SpeedLimitWarningSettings + + Off + + + + Display + + + + Chime + + + + Speed Limit Warning + + + + Warning with speed limit flash + + + + When Speed Limit Warning is enabled, the speed limit sign will alert the driver when the cruising speed is faster than then speed limit plus the offset. + + + + Default + + + + Fixed + + + + Percentage + + + + Warning Offset + + + + Select the desired offset to warn the driver when the vehicle is driving faster than the speed limit. + + + + Off: When the cruising speed is faster than the speed limit plus the offset, there will be no warning. + + + + Display: The speed on the speed limit sign turns red to alert the driver when the cruising speed is faster than the speed limit plus the offset. + + + + Chime: The speed on the speed limit sign turns red and chimes to alert the driver when the cruising speed is faster than the speed limit plus the offset. + + + + + SpeedLimitWarningValueOffset + + N/A + N/A + + + km/h + km/h + + + mph + mph + + SshControl @@ -1009,6 +2305,415 @@ This may take up to a minute. SSH 사용 + + SunnylinkPanel + + Enable sunnylink + + + + Device ID + + + + N/A + N/A + + + This is the master switch, it will allow you to cutoff any sunnylink requests should you want to do that. + + + + 🎉Welcome back! We're excited to see you've enabled sunnylink again! 🚀 + + + + 👋Not going to lie, it's sad to see you disabled sunnylink 😢, but we'll be here when you're ready to come back 🎉. + + + + Sponsor Status + + + + SPONSOR + + + + Become a sponsor of sunnypilot to get early access to sunnylink features when they become available. + + + + Pair GitHub Account + + + + PAIR + 동기화 + + + Pair your GitHub account to grant your device sponsor benefits, including API access on sunnylink. + + + + sunnylink Dongle ID not found. This may be due to weak internet connection or sunnylink registration issue. Please reboot and try again. + + + + Manage Settings + + + + Backup Settings + + + + Are you sure you want to backup sunnypilot settings? + + + + Back Up + + + + Restore Settings + + + + Are you sure you want to restore the last backed up sunnypilot settings? + + + + Restore + + + + THANKS + + + + Not Sponsor + + + + Paired + + + + Not Paired + + + + Backing up... + + + + Restoring... + + + + + SunnylinkSponsorPopup + + Scan the QR code to login to your GitHub account + + + + Follow the prompts to complete the pairing process + + + + Re-enter the "sunnylink" panel to verify sponsorship status + + + + If sponsorship status was not updated, please contact a moderator on Discord at https://discord.gg/sunnypilot + + + + Scan the QR code to visit sunnyhaibin's GitHub Sponsors page + + + + Choose your sponsorship tier and confirm your support + + + + Join our community on Discord at https://discord.gg/sunnypilot and reach out to a moderator to confirm your sponsor status + + + + Pair your GitHub account + + + + Early Access: Become a sunnypilot Sponsor + + + + + SunnypilotPanel + + Enable M.A.D.S. + + + + Enable the beloved M.A.D.S. feature. Disable toggle to revert back to stock openpilot engagement/disengagement. + + + + Laneless for Curves in "Auto" Mode + + + + While in Auto Lane, switch to Laneless for current/future curves. + + + + Speed Limit Control (SLC) + + + + When you engage ACC, you will be prompted to set the cruising speed to the speed limit of the road adjusted by the Offset and Source Policy specified, or the current driving speed. The maximum cruising speed will always be the MAX set speed. + + + + Enable Vision-based Turn Speed Control (V-TSC) + + + + Use vision path predictions to estimate the appropriate speed to drive through turns ahead. + + + + Enable Map Data Turn Speed Control (M-TSC) (Beta) + + + + Use curvature information from map data to define speed limits to take turns ahead. + + + + ACC +/-: Long Press Reverse + + + + Change the ACC +/- buttons behavior with cruise speed change in sunnypilot. + + + + Disabled (Stock): Short=1, Long = 5 (imperial) / 10 (metric) + + + + Enabled: Short = 5 (imperial) / 10 (metric), Long=1 + + + + Custom Offsets + + + + Neural Network Lateral Control (NNLC) + + + + NNLC: Remove Lateral Jerk Response (Alpha) + + + + When NNLC is active, enable this to disables the use of lateral jerk in steering torque calculations, focusing solely on lateral acceleration for a simplified control response. + + + + Enforce Torque Lateral Control + + + + Enable this to enforce sunnypilot to steer with Torque lateral control. + + + + Lateral Jerk with Torque Lateral Control (Alpha) + + + + Utilizes limited lateral jerk control for improved steering response, leveraging stock torque lateral controller capabilities. Designed to mimic NNLC behavior without training models or data collection. + + + + Enable Self-Tune + + + + Enables self-tune for Torque lateral control for platforms that do not use Torque lateral control by default. + + + + Less Restrict Settings for Self-Tune (Beta) + + + + Less strict settings when using Self-Tune. This allows torqued to be more forgiving when learning values. + + + + Enable Custom Tuning + + + + Enables custom tuning for Torque lateral control. Modifying FRICTION and LAT_ACCEL_FACTOR below will override the offline values indicated in the YAML files within "selfdrive/torque_data". The values will also be used live when "Override Self-Tune" toggle is enabled. + + + + Manual Real-Time Tuning + + + + Enforces the torque lateral controller to use the fixed values instead of the learned values from Self-Tune. Enabling this toggle overrides Self-Tune values. + + + + Quiet Drive 🤫 + + + + sunnypilot will display alerts but only play the most important warning sounds. This feature can be toggled while the car is on. + + + + Green Traffic Light Chime (Beta) + + + + A chime will play when the traffic light you are waiting for turns green and you have no vehicle in front of you. If you are waiting behind another vehicle, the chime will play once the vehicle advances unless ACC is engaged. + + + + Note: This chime is only designed as a notification. It is the driver's responsibility to observe their environment and make decisions accordingly. + + + + Lead Vehicle Departure Alert + + + + Enable this will notify when the leading vehicle drives away. + + + + Customize M.A.D.S. + + + + Customize Lane Change + + + + Customize Offsets + + + + Customize Speed Limit Control + + + + Customize Warning + + + + Customize Source + + + + Laneful + + + + Laneless + + + + Auto + + + + Dynamic Lane Profile + + + + Speed Limit Assist + + + + Real-time and Offline + + + + Offline Only + + + + Dynamic Lane Profile is not available with the current Driving Model + + + + Custom Offsets is not available with the current Driving Model + + + + NNLC is currently not available on this platform. + + + + Match: "Exact" is ideal, but "Fuzzy" is fine too. Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server if there are any issues: + + + + Start the car to check car compatibility + + + + NNLC Not Loaded + + + + NNLC Loaded + + + + Fuzzy + + + + Exact + + + + Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server and donate logs to get NNLC loaded for your car: + + + + Match + + + + Formerly known as <b>"NNFF"</b>, this replaces the lateral <b>"torque"</b> controller, with one using a neural network trained on each car's (actually, each separate EPS firmware) driving data for increased controls accuracy. + + + + Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server with feedback, or to provide log data for your car if your car is currently unsupported: + + + + Add custom offsets to Camera and Path in sunnypilot. + + + + Default is Laneless. In Auto mode, sunnnypilot dynamically chooses between Laneline or Laneless model based on lane recognition confidence level on road and certain conditions. + + + TermsPage @@ -1028,15 +2733,30 @@ This may take up to a minute. 동의 + + TermsPageSP + + Terms & Conditions + 이용약관 + + + Decline + 거절 + + + Scroll to accept + 동의하려면 아래로 스크롤하세요 + + TogglesPanel Enable openpilot - openpilot 사용 + openpilot 사용 Use the openpilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. - 어댑티브 크루즈 컨트롤 및 차로 유지 보조를 위해 openpilot 시스템을 사용할 수 있습니다. 이 기능을 사용할 때에는 언제나 주의를 기울여야 합니다. 설정을 변경하면 차량 시동이 꺼졌을 때 적용됩니다. + 어댑티브 크루즈 컨트롤 및 차로 유지 보조를 위해 openpilot 시스템을 사용할 수 있습니다. 이 기능을 사용할 때에는 언제나 주의를 기울여야 합니다. 설정을 변경하면 차량 시동이 꺼졌을 때 적용됩니다. Enable Lane Departure Warnings @@ -1072,19 +2792,19 @@ This may take up to a minute. Show ETA in 24h Format - 24시간 형식으로 도착 예정 시간 표시 + 24시간 형식으로 도착 예정 시간 표시 Use 24h format instead of am/pm - 오전/오후 대신 24시간 형식 사용 + 오전/오후 대신 24시간 형식 사용 Show Map on Left Side of UI - UI 왼쪽에 지도 표시 + UI 왼쪽에 지도 표시 Show map on left side when in split screen view. - 분할 화면 보기에서 지도를 왼쪽에 표시합니다. + 분할 화면 보기에서 지도를 왼쪽에 표시합니다. Experimental Mode @@ -1166,6 +2886,256 @@ This may take up to a minute. Enable driver monitoring even when openpilot is not engaged. + + Enable sunnypilot + + + + Use the sunnypilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. + + + + + TogglesPanelSP + + Enable sunnypilot + + + + Use the sunnypilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. + + + + openpilot Longitudinal Control (Alpha) + openpilot 가감속 제어 (알파) + + + WARNING: sunnypilot longitudinal control is in alpha for this car and will disable Automatic Emergency Braking (AEB). + + + + On this car, sunnypilot defaults to the car's built-in ACC instead of openpilot's longitudinal control. Enable this to switch to sunnypilot longitudinal control. Enabling Experimental mode is recommended when enabling sunnypilot longitudinal control alpha. + + + + Custom Stock Longitudinal Control + + + + When enabled, sunnypilot will attempt to control stock longitudinal control with ACC button presses. +This feature must be used along with SLC, and/or V-TSC, and/or M-TSC. + + + + Use Planner Speed + + + + Experimental Mode + 실험 모드 + + + Enable Dynamic Experimental Control + + + + Enable toggle to allow the model to determine when to use sunnypilot ACC or sunnypilot End to End Longitudinal. + + + + Enable Dynamic Personality + + + + Enable this to allow sunnypilot to dynamically adjust following distance and reaction based on your "Driving Personality" setting. Instead of predefined settings for each personality, every personality now adapts dynamically according to your speed and the distance to the lead car. + + + + Disengage on Accelerator Pedal + 가속페달 조작 시 해제 + + + When enabled, pressing the accelerator pedal will disengage openpilot. + 활성화된 경우 가속 페달을 밟으면 openpilot이 해제됩니다. + + + Enable Lane Departure Warnings + 차선 이탈 경고 활성화 + + + Receive alerts to steer back into the lane when your vehicle drifts over a detected lane line without a turn signal activated while driving over 31 mph (50 km/h). + 차량이 50km/h(31mph) 이상의 속도로 주행할 때 방향지시등이 켜지지 않은 상태에서 차선을 벗어나면 경고합니다. + + + Always-On Driver Monitoring + + + + Enable driver monitoring even when sunnypilot is not engaged. + + + + Record and Upload Driver Camera + 운전자 카메라 녹화 및 업로드 + + + Upload data from the driver facing camera and help improve the driver monitoring algorithm. + 운전자 카메라의 영상 데이터를 업로드하여 운전자 모니터링 알고리즘을 개선합니다. + + + Disable Onroad Uploads + + + + Disable uploads completely when onroad. Necessary to avoid high data usage when connected to Wi-Fi hotspot. Turn on this feature if you are looking to utilize map-based features, such as Speed Limit Control (SLC) and Map-based Turn Speed Control (MTSC). + + + + Use Metric System + 미터법 사용 + + + Display speed in km/h instead of mph. + mph 대신 km/h로 속도를 표시합니다. + + + Show ETA in 24h Format + 24시간 형식으로 도착 예정 시간 표시 + + + Use 24h format instead of am/pm + 오전/오후 대신 24시간 형식 사용 + + + Show Map on Left Side of UI + UI 왼쪽에 지도 표시 + + + Show map on left side when in split screen view. + 분할 화면 보기에서 지도를 왼쪽에 표시합니다. + + + Aggressive + 공격적 + + + Moderate + + + + Standard + 표준 + + + Relaxed + 편안한 + + + Driving Personality + 주행 모드 + + + Standard is recommended. In moderate/aggressive mode, sunnypilot will follow lead cars closer and be more aggressive with the gas and brake. In relaxed mode sunnypilot will stay further away from lead cars. On supported cars, you can cycle through these personalities with your steering wheel distance button. + + + + Sport + + + + Normal + + + + Eco + + + + Stock + + + + Acceleration Personality + + + + Normal is recommended. In sport mode, sunnypilot will provide aggressive acceleration for a dynamic driving experience. In eco mode, sunnypilot will apply smoother and more relaxed acceleration. On supported cars, you can cycle through these acceleration personality within Onroad Settings on the driving screen. + + + + openpilot defaults to driving in <b>chill mode</b>. Experimental mode enables <b>alpha-level features</b> that aren't ready for chill mode. Experimental features are listed below: + openpilot은 기본적으로 <b>안정 모드</b>로 주행합니다. 실험 모드는 안정화되지 않은 <b>알파 수준의 기능</b>을 활성화합니다. 실험 모드의 기능은 아래와 같습니다: + + + End-to-End Longitudinal Control + E2E 가감속 제어 + + + Let the driving model control the gas and brakes. sunnypilot will drive as it thinks a human would, including stopping for red lights and stop signs. Since the driving model decides the speed to drive, the set speed will only act as an upper bound. This is an alpha quality feature; mistakes should be expected. + + + + New Driving Visualization + 새로운 주행 시각화 + + + The driving visualization will transition to the road-facing wide-angle camera at low speeds to better show some turns. The Experimental mode logo will also be shown in the top right corner. + + + + Experimental mode is currently unavailable on this car since the car's stock ACC is used for longitudinal control. + 차량에 장착된 ACC로 가감속을 제어하기 때문에 현재 이 차량에서는 실험 모드를 사용할 수 없습니다. + + + openpilot longitudinal control may come in a future update. + openpilot 가감속 제어는 향후 업데이트에서 지원될 수 있습니다. + + + An alpha version of sunnypilot longitudinal control can be tested, along with Experimental mode, on non-release branches. + + + + Enable the sunnypilot longitudinal control (alpha) toggle to allow Experimental mode. + + + + + TorqueFriction + + FRICTION + + + + Adjust Friction for the Torque Lateral Controller. <b>Live</b>: Override self-tune values; <b>Offline</b>: Override self-tune offline values at car restart. + + + + Real-time and Offline + + + + Offline Only + + + + + TorqueMaxLatAccel + + LAT_ACCEL_FACTOR + + + + Adjust Max Lateral Acceleration for the Torque Lateral Controller. <b>Live</b>: Override self-tune values; <b>Offline</b>: Override self-tune offline values at car restart. + + + + Real-time and Offline + + + + Offline Only + + Updater @@ -1202,6 +3172,168 @@ This may take up to a minute. 업데이트 실패 + + VehiclePanel + + Updating this setting takes effect when the car is powered off. + + + + Select your car + + + + + VisualsPanel + + Display Braking Status + + + + Enable this will turn the current speed value to red while the brake is used. + + + + Display Stand Still Timer + + + + Enable this will display time spent at a stop (i.e., at a stop lights, stop signs, traffic congestions). + + + + Display DM Camera in Reverse Gear + + + + Show Driver Monitoring camera while the car is in reverse gear. + + + + OSM: Show debug UI elements + + + + OSM: Show UI elements that aid debugging. + + + + Display Feature Status + + + + Display the statuses of certain features on the driving screen. + + + + Enable Onroad Settings + + + + Display the Onroad Settings button on the driving screen to adjust feature options on the driving screen, without navigating into the settings menu. + + + + Speedometer: Display True Speed + + + + Display the true vehicle current speed from wheel speed sensors. + + + + Speedometer: Hide from Onroad Screen + + + + Display End-to-end Longitudinal Status (Beta) + + + + Enable this will display an icon that appears when the End-to-end model decides to start or stop. + + + + Navigation: Display in Full Screen + + + + Enable this will display the built-in navigation in full screen.<br>To switch back to driving view, <font color='yellow'>tap on the border edge</font>. + + + + Map: Display 3D Buildings + + + + Parse and display 3D buildings on map. Thanks to jakethesnake420 for this implementation. + + + + Off + + + + 5 Metrics + + + + 10 Metrics + + + + Developer UI + + + + Display real-time parameters and metrics from various sources. + + + + Distance + + + + Speed + + + + Time + + + + All + + + + Display Metrics Below Chevron + + + + Display useful metrics below the chevron that tracks the lead car (only applicable to cars with openpilot longitudinal control). + + + + RAM + + + + CPU + + + + GPU + + + + Max + + + + Display Temperature on Sidebar + + + WiFiPromptWidget @@ -1248,4 +3380,27 @@ This may take up to a minute. 삭제 + + WifiUISP + + Scanning for networks... + 네트워크 검색 중... + + + CONNECTING... + 연결 중... + + + FORGET + 삭제 + + + Forget Wi-Fi Network "%1"? + Wi-Fi "%1"에 자동으로 연결하지 않겠습니까? + + + Forget + 삭제 + + diff --git a/selfdrive/ui/translations/main_pt-BR.ts b/selfdrive/ui/translations/main_pt-BR.ts index feaa6e86a1..1002e5a159 100644 --- a/selfdrive/ui/translations/main_pt-BR.ts +++ b/selfdrive/ui/translations/main_pt-BR.ts @@ -87,6 +87,89 @@ para "%1" + + AdvancedNetworkingSP + + Back + Voltar + + + Enable Tethering + Ativar Tether + + + Retain hotspot/tethering state + + + + Enabling this toggle will retain the hotspot/tethering toggle state across reboots. + + + + Tethering Password + Senha Tethering + + + EDIT + EDITAR + + + Enter new tethering password + Insira nova senha tethering + + + IP Address + Endereço IP + + + Enable Roaming + Ativar Roaming + + + APN Setting + APN Config + + + Enter APN + Insira APN + + + leave blank for automatic configuration + deixe em branco para configuração automática + + + Cellular Metered + Plano de Dados Limitado + + + Prevent large data uploads when on a metered connection + Evite grandes uploads de dados quando estiver em uma conexão limitada + + + Hidden Network + Rede Oculta + + + CONNECT + + + + Enter SSID + Digite o SSID + + + Enter password + Insira a senha + + + for "%1" + para "%1" + + + Ngrok Service + + + AnnotatedCameraWidget @@ -103,11 +186,127 @@ SPEED - MAX + MAX LIMIT - VELO + VELO + + + + AnnotatedCameraWidgetSP + + km/h + km/h + + + mph + mph + + + blended + + + + acc + + + + MAX + LIMITE + + + SPEED + MAX + + + LIMIT + VELO + + + + AutoLaneChangeTimer + + Auto Lane Change by Blinker + + + + Set a timer to delay the auto lane change operation when the blinker is used. No nudge on the steering wheel is required to auto lane change if a timer is set. Default is Nudge. +Please use caution when using this feature. Only use the blinker when traffic and road conditions permit. + + + + s + + + + Off + + + + Nudge + + + + Nudgeless + + + + + BackupSettings + + Settings backed up for sunnylink Device ID: + + + + Settings updated successfully, but no additional data was returned by the server. + + + + OOPS! We made a booboo. + + + + Please try again later. + + + + Settings restored. Confirm to restart the interface. + + + + No settings found to restore. + + + + + BrightnessControl + + Brightness + + + + Manually adjusts the global brightness of the screen. + + + + Auto + + + + + CameraOffset + + Camera Offset - Laneful Only + + + + Hack to trick vehicle to be left or right biased in its lane. Decreasing the value will make the car keep more left, increasing will make it keep more right. Changes take effect immediately. Default: +4 cm + + + + cm + @@ -121,11 +320,18 @@ Cancelar + + CustomOffsetsSettings + + Back + Voltar + + DeclinePage You must accept the Terms and Conditions in order to use openpilot. - Você precisa aceitar os Termos e Condições para utilizar openpilot. + Você precisa aceitar os Termos e Condições para utilizar openpilot. Back @@ -135,6 +341,10 @@ Decline, uninstall %1 Rejeitar, desintalar %1 + + You must accept the Terms and Conditions in order to use sunnypilot. + + DestinationWidget @@ -247,7 +457,7 @@ openpilot requires the device to be mounted within 4° left or right and within 5° up or 9° down. openpilot is continuously calibrating, resetting is rarely required. - O openpilot requer que o dispositivo seja montado dentro de 4° esquerda ou direita e dentro de 5° para cima ou 9° para baixo. O openpilot está continuamente calibrando, resetar raramente é necessário. + O openpilot requer que o dispositivo seja montado dentro de 4° esquerda ou direita e dentro de 5° para cima ou 9° para baixo. O openpilot está continuamente calibrando, resetar raramente é necessário. Your device is pointed %1° %2 and %3° %4. @@ -305,6 +515,155 @@ PAIR PAREAR + + sunnypilot requires the device to be mounted within 4° left or right and within 5° up or 9° down. sunnypilot is continuously calibrating, resetting is rarely required. + + + + + DevicePanelSP + + TOGGLE + + + + Enable or disable PIN requirement for Fleet Manager access. + + + + Are you sure you want to turn off PIN requirement? + + + + Turn Off + + + + Error Troubleshoot + + + + VIEW + VER + + + Display error from the tmux session when an error has occurred from a system process. + + + + Reset Access Tokens for Map Services + + + + RESET + RESET + + + Reset self-service access tokens for Mapbox, Amap, and Google Maps. + + + + Are you sure you want to reset access tokens for all map services? + + + + Reset + Resetar + + + Reset sunnypilot Settings + + + + Are you sure you want to reset all sunnypilot settings? + + + + Toggle Onroad/Offroad + + + + OFF + + + + Are you sure you want to unforce offroad? + + + + Unforce + + + + Are you sure you want to force offroad? + + + + Force + + + + Disengage to Force Offroad + + + + Unforce Offroad + + + + Force Offroad + + + + Fleet Manager PIN: + + + + + DisplayPanel + + Driving Screen Off: Non-Critical Events + + + + When <b>Driving Screen Off Timer</b> is not set to <b>"Always On"</b>: + + + + Enabled: Wake the brightness of the screen to display all events. + + + + Disabled: Wake the brightness of the screen to display critical events. + + + + + DriveStats + + Drives + + + + Hours + + + + ALL TIME + + + + PAST WEEK + + + + KM + + + + Miles + + DriverViewWindow @@ -345,6 +704,79 @@ Instalando... + + LaneChangeSettings + + Back + Voltar + + + Pause Lateral Below Speed with Blinker + + + + Enable this toggle to pause lateral actuation with blinker when traveling below the desired speed selected below. + + + + Auto Lane Change: Delay with Blind Spot + + + + Toggle to enable a delay timer for seamless lane changes when blind spot monitoring (BSM) detects a obstructing vehicle, ensuring safe maneuvering. + + + + Block Lane Change: Road Edge Detection + + + + Enable this toggle to block lane change when road edge is detected on the stalk actuated side. + + + + + MadsSettings + + Enable ACC+MADS with RES+/SET- + + + + Engage both M.A.D.S. and ACC with a single press of RES+ or SET- button. + + + + Note: Once M.A.D.S. is engaged via this mode, it will remain engaged until it is manually disabled via the M.A.D.S. button or car shut off. + + + + Toggle M.A.D.S. with Cruise Main + + + + Allows M.A.D.S. engagement/disengagement with "Cruise Main" cruise control button from the steering wheel. + + + + Remain Active + + + + Pause Steering + + + + Steering Mode After Braking + + + + Choose how Automatic Lane Centering (ALC) behaves after the brake pedal is manually pressed in sunnypilot. + +Remain Active: ALC will remain active even after the brake pedal is pressed. +Pause Steering: ALC will be paused after the brake pedal is manually pressed. + + + MapETA @@ -386,6 +818,63 @@ Aguardando rota + + MapWindowSP + + Map Loading + Carregando Mapa + + + Waiting for GPS + Aguardando GPS + + + Waiting for route + Aguardando rota + + + + MaxTimeOffroad + + Max Time Offroad + + + + Device is automatically turned off after a set time when the engine is turned off (off-road) after driving (on-road). + + + + s + + + + m + m + + + hr + hr + + + Always On + + + + Immediate + + + + + MonitoringPanel + + Enable Hands on Wheel Monitoring + + + + Monitor and alert when driver is not keeping the hands on the steering wheel. + + + MultiOptionDialog @@ -416,6 +905,33 @@ Senha incorreta + + NetworkingSP + + Scan + + + + Scanning... + + + + Advanced + Avançado + + + Enter password + Insira a senha + + + for "%1" + para "%1" + + + Wrong password + Senha incorreta + + OffroadAlert @@ -468,6 +984,16 @@ Device temperature too high. System cooling down before starting. Current internal component temperature: %1 Temperatura do dispositivo muito alta. O sistema está sendo resfriado antes de iniciar. A temperatura atual do componente interno é: %1 + + OpenStreetMap database is out of date. New maps must be downloaded if you wish to continue using OpenStreetMap data for Enhanced Speed Control and road name display. + +%1 + + + + sunnypilot is now in Forced Offroad mode. sunnypilot won't start until Forced Offroad mode is disabled. Go to "Settings" -> "Device" -> "Unforce Offroad" to exit Force Offroad mode. + + OffroadHome @@ -507,6 +1033,186 @@ Reinicie o Dispositivo + + OnroadScreenOff + + Driving Screen Off Timer + + + + Turn off the device screen or reduce brightness to protect the screen after driving starts. It automatically brightens or turns on when a touch or event occurs. + + + + s + + + + min + min + + + Always On + + + + + OnroadScreenOffBrightness + + Driving Screen Off Brightness (%) + + + + When using the Driving Screen Off feature, the brightness is reduced according to the automatic brightness ratio. + + + + Dark + + + + + OnroadSettings + + ONROAD OPTIONS + + + + <b>ONROAD SETTINGS | SUNNYPILOT</b> + + + + + OsmPanel + + Mapd Version + + + + Offline Maps ETA + + + + Time Elapsed + + + + Downloaded Maps + + + + DELETE + + + + This will delete ALL downloaded maps + +Are you sure you want to delete all the maps? + + + + Yes, delete all the maps. + + + + Database Update + + + + CHECK + VERIFICAR + + + Country + + + + SELECT + SELECIONE + + + Fetching Country list... + + + + State + + + + Fetching State list... + + + + All + + + + REFRESH + + + + UPDATE + ATUALIZAÇÃO + + + Download starting... + + + + Error: Invalid download. Retry. + + + + Download complete! + + + + + +Warning: You are on a metered connection! + + + + This will start the download process and it might take a while to complete. + + + + Continue on Metered + + + + Start Download + + + + m + + + + s + + + + Calculating... + + + + Downloaded + + + + Calculating ETA... + + + + Ready + + + + Time remaining: + + + PairingPopup @@ -537,6 +1243,51 @@ Ativar + + ParamControlSP + + Enable + Ativar + + + Cancel + Cancelar + + + + PathOffset + + Path Offset + + + + Hack to trick the model path to be left or right biased of the lane. Decreasing the value will shift the model more left, increasing will shift the model more right. Changes take effect immediately. + + + + cm + + + + + PauseLateralSpeed + + Pause lateral actuation with blinker when traveling below the desired speed selected. Default is 20 MPH or 32 km/h. + + + + Default + + + + km/h + km/h + + + mph + mph + + PrimeAdWidget @@ -591,7 +1342,7 @@ openpilot - openpilot + openpilot %n minute(s) ago @@ -634,6 +1385,30 @@ now agora + + sunnypilot + + + + Update downloaded. Ready to reboot. + + + + Update: Check and Download Update + + + + Reboot: Reboot Device + + + + Update + + + + Updating... + + Reset @@ -676,6 +1451,151 @@ Isso pode levar até um minuto. Reinicialização do sistema acionada. Pressione confirmar para apagar todo o conteúdo e configurações. Pressione cancel para retomar a inicialização. + + SPVehiclesTogglesPanel + + Hyundai/Kia/Genesis + + + + HKG: Custom Tuning for New Longitudinal API + + + + HKG CAN: Enable Cruise Main By Default + + + + Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS + + + + Subaru + + + + Manual Parking Brake: Stop and Go (Beta) + + + + Experimental feature to enable stop and go for Subaru Global models with manual handbrake. Models with electric parking brake should keep this disabled. Thanks to martinl for this implementation! + + + + Toyota/Lexus + + + + Enable Stock Toyota Longitudinal Control + + + + sunnypilot will <b>not</b> take over control of gas and brakes. Stock Toyota longitudinal control will be used. + + + + Allow M.A.D.S. toggling w/ LKAS Button (Beta) + + + + Allows M.A.D.S. engagement/disengagement with "LKAS" button from the steering wheel. + + + + Note: Enabling this toggle may have unexpected behavior with steering control. It is the driver's responsibility to observe their environment and make decisions accordingly. + + + + Toyota TSS2 Longitudinal: Custom Tuning + + + + Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation. + + + + Enable Automatic Brake Hold (AHB) + + + + WARNING: Only for Toyota/Lexus vehicles with TSS2/LSS2. USE AT YOUR OWN RISK. + + + + When you stop the vehicle completely by depressing the brake pedal, sunnypilot will activate Auto Brake Hold. + + + + Changing this setting takes effect when the car is powered off. + + + + Enable Enhanced Blind Spot Monitor + + + + Enable Toyota Stop and Go Hack + + + + sunnypilot will allow some Toyota/Lexus cars to auto resume during stop and go traffic. This feature is only applicable to certain models. Use at your own risk. + + + + Enable Toyota Door Auto Locking + + + + sunnypilot will attempt to lock the doors when drive above 10 km/h (6.2 mph). +Reboot Required. + + + + Enable Toyota Door Auto Unlocking + + + + sunnypilot will attempt to unlock the doors when shift to gear P. +Reboot Required. + + + + Volkswagen + + + + Enable CC Only support + + + + sunnypilot supports Volkswagen MQB CC only platforms with this toggle enabled. Only enable this toggle if your car does not have ACC from the factory. + + + + Start the car to check car compatibility + + + + This platform is already supported, therefore no need to enable this toggle + + + + This platform is not supported + + + + This platform can be supported + + + + sunnypilot will use debugging CAN messages to receive unfiltered BSM signals, allowing detection of more objects. + + + + Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2. + + + SettingsWindow @@ -699,6 +1619,61 @@ Isso pode levar até um minuto. Software + + SettingsWindowSP + + × + × + + + Device + Dispositivo + + + Network + Rede + + + sunnylink + + + + Toggles + Ajustes + + + Software + Software + + + sunnypilot + + + + OSM + + + + Monitoring + + + + Visuals + + + + Display + + + + Trips + + + + Vehicle + + + Setup @@ -892,6 +1867,100 @@ Isso pode levar até um minuto. 5G + + SidebarSP + + TEMP + TEMP + + + HIGH + ALTA + + + GOOD + BOA + + + OK + OK + + + DISABLED + + + + OFFLINE + OFFLINE + + + REGIST... + + + + ONLINE + ONLINE + + + ERROR + ERRO + + + SUNNYLINK + + + + + SlcSettings + + Auto + + + + User Confirm + + + + Engage Mode + + + + Default + + + + Fixed + + + + Percentage + + + + Limit Offset + + + + Set speed limit slightly higher than actual speed limit for a more natural drive. + + + + This platform defaults to <b>Auto</b> mode. <b>User Confirm</b> mode is not supported on this platform. + + + + Select the desired mode to set the cruising speed to the speed limit: + + + + Auto: Automatic speed adjustment on motorways based on speed limit data. + + + + User Confirm: Inform the driver to change set speed of Adaptive Cruise Control to help the driver stay within the speed limit. + + + SoftwarePanel @@ -967,6 +2036,233 @@ Isso pode levar até um minuto. nunca + + SoftwarePanelSP + + Driving Model + + + + SELECT + SELECIONE + + + PENDING + + + + Downloading Driving model + + + + (CACHED) + + + + Driving model + + + + downloaded + + + + Downloading Navigation model + + + + Navigation model + + + + Downloading Metadata model + + + + Metadata model + + + + Downloads have failed, please try swapping the model! + + + + Failed: + + + + Fetching models... + + + + Select a Driving Model + + + + Download has started in the background. + + + + We STRONGLY suggest you to reset calibration. Would you like to do that now? + + + + Reset Calibration + Reinicializar Calibragem + + + Warning: You are on a metered connection! + + + + Continue + Continuar + + + on Metered + + + + + SpeedLimitPolicySettings + + Speed Limit Source Policy + + + + Nav + + + + Only + + + + Map + + + + Car + + + + First + + + + Select the precedence order of sources. Utilized by Speed Limit Control and Speed Limit Warning + + + + Nav Only: Data from Mapbox active navigation only. + + + + Map Only: Data from OpenStreetMap only. + + + + Car Only: Data from the car's built-in sources (if available). + + + + Nav First: Nav -> Map -> Car + + + + Map First: Map -> Nav -> Car + + + + Car First: Car -> Nav -> Map + + + + + SpeedLimitValueOffset + + km/h + km/h + + + mph + mph + + + + SpeedLimitWarningSettings + + Off + + + + Display + + + + Chime + + + + Speed Limit Warning + + + + Warning with speed limit flash + + + + When Speed Limit Warning is enabled, the speed limit sign will alert the driver when the cruising speed is faster than then speed limit plus the offset. + + + + Default + + + + Fixed + + + + Percentage + + + + Warning Offset + + + + Select the desired offset to warn the driver when the vehicle is driving faster than the speed limit. + + + + Off: When the cruising speed is faster than the speed limit plus the offset, there will be no warning. + + + + Display: The speed on the speed limit sign turns red to alert the driver when the cruising speed is faster than the speed limit plus the offset. + + + + Chime: The speed on the speed limit sign turns red and chimes to alert the driver when the cruising speed is faster than the speed limit plus the offset. + + + + + SpeedLimitWarningValueOffset + + N/A + N/A + + + km/h + km/h + + + mph + mph + + SshControl @@ -1013,6 +2309,415 @@ Isso pode levar até um minuto. Habilitar SSH + + SunnylinkPanel + + Enable sunnylink + + + + Device ID + + + + N/A + N/A + + + This is the master switch, it will allow you to cutoff any sunnylink requests should you want to do that. + + + + 🎉Welcome back! We're excited to see you've enabled sunnylink again! 🚀 + + + + 👋Not going to lie, it's sad to see you disabled sunnylink 😢, but we'll be here when you're ready to come back 🎉. + + + + Sponsor Status + + + + SPONSOR + + + + Become a sponsor of sunnypilot to get early access to sunnylink features when they become available. + + + + Pair GitHub Account + + + + PAIR + PAREAR + + + Pair your GitHub account to grant your device sponsor benefits, including API access on sunnylink. + + + + sunnylink Dongle ID not found. This may be due to weak internet connection or sunnylink registration issue. Please reboot and try again. + + + + Manage Settings + + + + Backup Settings + + + + Are you sure you want to backup sunnypilot settings? + + + + Back Up + + + + Restore Settings + + + + Are you sure you want to restore the last backed up sunnypilot settings? + + + + Restore + + + + THANKS + + + + Not Sponsor + + + + Paired + + + + Not Paired + + + + Backing up... + + + + Restoring... + + + + + SunnylinkSponsorPopup + + Scan the QR code to login to your GitHub account + + + + Follow the prompts to complete the pairing process + + + + Re-enter the "sunnylink" panel to verify sponsorship status + + + + If sponsorship status was not updated, please contact a moderator on Discord at https://discord.gg/sunnypilot + + + + Scan the QR code to visit sunnyhaibin's GitHub Sponsors page + + + + Choose your sponsorship tier and confirm your support + + + + Join our community on Discord at https://discord.gg/sunnypilot and reach out to a moderator to confirm your sponsor status + + + + Pair your GitHub account + + + + Early Access: Become a sunnypilot Sponsor + + + + + SunnypilotPanel + + Enable M.A.D.S. + + + + Enable the beloved M.A.D.S. feature. Disable toggle to revert back to stock openpilot engagement/disengagement. + + + + Laneless for Curves in "Auto" Mode + + + + While in Auto Lane, switch to Laneless for current/future curves. + + + + Speed Limit Control (SLC) + + + + When you engage ACC, you will be prompted to set the cruising speed to the speed limit of the road adjusted by the Offset and Source Policy specified, or the current driving speed. The maximum cruising speed will always be the MAX set speed. + + + + Enable Vision-based Turn Speed Control (V-TSC) + + + + Use vision path predictions to estimate the appropriate speed to drive through turns ahead. + + + + Enable Map Data Turn Speed Control (M-TSC) (Beta) + + + + Use curvature information from map data to define speed limits to take turns ahead. + + + + ACC +/-: Long Press Reverse + + + + Change the ACC +/- buttons behavior with cruise speed change in sunnypilot. + + + + Disabled (Stock): Short=1, Long = 5 (imperial) / 10 (metric) + + + + Enabled: Short = 5 (imperial) / 10 (metric), Long=1 + + + + Custom Offsets + + + + Neural Network Lateral Control (NNLC) + + + + NNLC: Remove Lateral Jerk Response (Alpha) + + + + When NNLC is active, enable this to disables the use of lateral jerk in steering torque calculations, focusing solely on lateral acceleration for a simplified control response. + + + + Enforce Torque Lateral Control + + + + Enable this to enforce sunnypilot to steer with Torque lateral control. + + + + Lateral Jerk with Torque Lateral Control (Alpha) + + + + Utilizes limited lateral jerk control for improved steering response, leveraging stock torque lateral controller capabilities. Designed to mimic NNLC behavior without training models or data collection. + + + + Enable Self-Tune + + + + Enables self-tune for Torque lateral control for platforms that do not use Torque lateral control by default. + + + + Less Restrict Settings for Self-Tune (Beta) + + + + Less strict settings when using Self-Tune. This allows torqued to be more forgiving when learning values. + + + + Enable Custom Tuning + + + + Enables custom tuning for Torque lateral control. Modifying FRICTION and LAT_ACCEL_FACTOR below will override the offline values indicated in the YAML files within "selfdrive/torque_data". The values will also be used live when "Override Self-Tune" toggle is enabled. + + + + Manual Real-Time Tuning + + + + Enforces the torque lateral controller to use the fixed values instead of the learned values from Self-Tune. Enabling this toggle overrides Self-Tune values. + + + + Quiet Drive 🤫 + + + + sunnypilot will display alerts but only play the most important warning sounds. This feature can be toggled while the car is on. + + + + Green Traffic Light Chime (Beta) + + + + A chime will play when the traffic light you are waiting for turns green and you have no vehicle in front of you. If you are waiting behind another vehicle, the chime will play once the vehicle advances unless ACC is engaged. + + + + Note: This chime is only designed as a notification. It is the driver's responsibility to observe their environment and make decisions accordingly. + + + + Lead Vehicle Departure Alert + + + + Enable this will notify when the leading vehicle drives away. + + + + Customize M.A.D.S. + + + + Customize Lane Change + + + + Customize Offsets + + + + Customize Speed Limit Control + + + + Customize Warning + + + + Customize Source + + + + Laneful + + + + Laneless + + + + Auto + + + + Dynamic Lane Profile + + + + Speed Limit Assist + + + + Real-time and Offline + + + + Offline Only + + + + Dynamic Lane Profile is not available with the current Driving Model + + + + Custom Offsets is not available with the current Driving Model + + + + NNLC is currently not available on this platform. + + + + Match: "Exact" is ideal, but "Fuzzy" is fine too. Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server if there are any issues: + + + + Start the car to check car compatibility + + + + NNLC Not Loaded + + + + NNLC Loaded + + + + Fuzzy + + + + Exact + + + + Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server and donate logs to get NNLC loaded for your car: + + + + Match + + + + Formerly known as <b>"NNFF"</b>, this replaces the lateral <b>"torque"</b> controller, with one using a neural network trained on each car's (actually, each separate EPS firmware) driving data for increased controls accuracy. + + + + Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server with feedback, or to provide log data for your car if your car is currently unsupported: + + + + Add custom offsets to Camera and Path in sunnypilot. + + + + Default is Laneless. In Auto mode, sunnnypilot dynamically chooses between Laneline or Laneless model based on lane recognition confidence level on road and certain conditions. + + + TermsPage @@ -1032,15 +2737,30 @@ Isso pode levar até um minuto. Concordo + + TermsPageSP + + Terms & Conditions + Termos & Condições + + + Decline + Declinar + + + Scroll to accept + Role a tela para aceitar + + TogglesPanel Enable openpilot - Ativar openpilot + Ativar openpilot Use the openpilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. - Use o sistema openpilot para controle de cruzeiro adaptativo e assistência ao motorista de manutenção de faixa. Sua atenção é necessária o tempo todo para usar esse recurso. A alteração desta configuração tem efeito quando o carro é desligado. + Use o sistema openpilot para controle de cruzeiro adaptativo e assistência ao motorista de manutenção de faixa. Sua atenção é necessária o tempo todo para usar esse recurso. A alteração desta configuração tem efeito quando o carro é desligado. Enable Lane Departure Warnings @@ -1076,19 +2796,19 @@ Isso pode levar até um minuto. Show ETA in 24h Format - Mostrar ETA em Formato 24h + Mostrar ETA em Formato 24h Use 24h format instead of am/pm - Use o formato 24h em vez de am/pm + Use o formato 24h em vez de am/pm Show Map on Left Side of UI - Exibir Mapa no Lado Esquerdo + Exibir Mapa no Lado Esquerdo Show map on left side when in split screen view. - Exibir mapa do lado esquerdo quando a tela for dividida. + Exibir mapa do lado esquerdo quando a tela for dividida. Experimental Mode @@ -1170,6 +2890,256 @@ Isso pode levar até um minuto. Enable driver monitoring even when openpilot is not engaged. Habilite o monitoramento do motorista mesmo quando o openpilot não estiver acionado. + + Enable sunnypilot + + + + Use the sunnypilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. + + + + + TogglesPanelSP + + Enable sunnypilot + + + + Use the sunnypilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. + + + + openpilot Longitudinal Control (Alpha) + Controle Longitudinal openpilot (Embrionário) + + + WARNING: sunnypilot longitudinal control is in alpha for this car and will disable Automatic Emergency Braking (AEB). + + + + On this car, sunnypilot defaults to the car's built-in ACC instead of openpilot's longitudinal control. Enable this to switch to sunnypilot longitudinal control. Enabling Experimental mode is recommended when enabling sunnypilot longitudinal control alpha. + + + + Custom Stock Longitudinal Control + + + + When enabled, sunnypilot will attempt to control stock longitudinal control with ACC button presses. +This feature must be used along with SLC, and/or V-TSC, and/or M-TSC. + + + + Use Planner Speed + + + + Experimental Mode + Modo Experimental + + + Enable Dynamic Experimental Control + + + + Enable toggle to allow the model to determine when to use sunnypilot ACC or sunnypilot End to End Longitudinal. + + + + Enable Dynamic Personality + + + + Enable this to allow sunnypilot to dynamically adjust following distance and reaction based on your "Driving Personality" setting. Instead of predefined settings for each personality, every personality now adapts dynamically according to your speed and the distance to the lead car. + + + + Disengage on Accelerator Pedal + Desacionar com Pedal do Acelerador + + + When enabled, pressing the accelerator pedal will disengage openpilot. + Quando ativado, pressionar o pedal do acelerador desacionará o openpilot. + + + Enable Lane Departure Warnings + Ativar Avisos de Saída de Faixa + + + Receive alerts to steer back into the lane when your vehicle drifts over a detected lane line without a turn signal activated while driving over 31 mph (50 km/h). + Receba alertas para voltar para a pista se o seu veículo sair da faixa e a seta não tiver sido acionada previamente quando em velocidades superiores a 50 km/h. + + + Always-On Driver Monitoring + Monitoramento do Motorista Sempre Ativo + + + Enable driver monitoring even when sunnypilot is not engaged. + + + + Record and Upload Driver Camera + Gravar e Upload Câmera Motorista + + + Upload data from the driver facing camera and help improve the driver monitoring algorithm. + Upload dados da câmera voltada para o motorista e ajude a melhorar o algoritmo de monitoramentor. + + + Disable Onroad Uploads + + + + Disable uploads completely when onroad. Necessary to avoid high data usage when connected to Wi-Fi hotspot. Turn on this feature if you are looking to utilize map-based features, such as Speed Limit Control (SLC) and Map-based Turn Speed Control (MTSC). + + + + Use Metric System + Usar Sistema Métrico + + + Display speed in km/h instead of mph. + Exibir velocidade em km/h invés de mph. + + + Show ETA in 24h Format + Mostrar ETA em Formato 24h + + + Use 24h format instead of am/pm + Use o formato 24h em vez de am/pm + + + Show Map on Left Side of UI + Exibir Mapa no Lado Esquerdo + + + Show map on left side when in split screen view. + Exibir mapa do lado esquerdo quando a tela for dividida. + + + Aggressive + Disputa + + + Moderate + + + + Standard + Neutro + + + Relaxed + Calmo + + + Driving Personality + Temperamento de Direção + + + Standard is recommended. In moderate/aggressive mode, sunnypilot will follow lead cars closer and be more aggressive with the gas and brake. In relaxed mode sunnypilot will stay further away from lead cars. On supported cars, you can cycle through these personalities with your steering wheel distance button. + + + + Sport + + + + Normal + + + + Eco + + + + Stock + + + + Acceleration Personality + + + + Normal is recommended. In sport mode, sunnypilot will provide aggressive acceleration for a dynamic driving experience. In eco mode, sunnypilot will apply smoother and more relaxed acceleration. On supported cars, you can cycle through these acceleration personality within Onroad Settings on the driving screen. + + + + openpilot defaults to driving in <b>chill mode</b>. Experimental mode enables <b>alpha-level features</b> that aren't ready for chill mode. Experimental features are listed below: + openpilot por padrão funciona em <b>modo chill</b>. modo Experimental ativa <b>recursos de nível-embrionário</b> que não estão prontos para o modo chill. Recursos experimentais estão listados abaixo: + + + End-to-End Longitudinal Control + Controle Longitudinal de Ponta a Ponta + + + Let the driving model control the gas and brakes. sunnypilot will drive as it thinks a human would, including stopping for red lights and stop signs. Since the driving model decides the speed to drive, the set speed will only act as an upper bound. This is an alpha quality feature; mistakes should be expected. + + + + New Driving Visualization + Nova Visualização de Condução + + + The driving visualization will transition to the road-facing wide-angle camera at low speeds to better show some turns. The Experimental mode logo will also be shown in the top right corner. + A visualização de condução fará a transição para a câmera grande angular voltada para a estrada em baixas velocidades para mostrar melhor algumas curvas. O logotipo do modo Experimental também será mostrado no canto superior direito. + + + Experimental mode is currently unavailable on this car since the car's stock ACC is used for longitudinal control. + O modo Experimental está atualmente indisponível para este carro já que o ACC original do carro é usado para controle longitudinal. + + + openpilot longitudinal control may come in a future update. + O controle longitudinal openpilot poderá vir em uma atualização futura. + + + An alpha version of sunnypilot longitudinal control can be tested, along with Experimental mode, on non-release branches. + + + + Enable the sunnypilot longitudinal control (alpha) toggle to allow Experimental mode. + + + + + TorqueFriction + + FRICTION + + + + Adjust Friction for the Torque Lateral Controller. <b>Live</b>: Override self-tune values; <b>Offline</b>: Override self-tune offline values at car restart. + + + + Real-time and Offline + + + + Offline Only + + + + + TorqueMaxLatAccel + + LAT_ACCEL_FACTOR + + + + Adjust Max Lateral Acceleration for the Torque Lateral Controller. <b>Live</b>: Override self-tune values; <b>Offline</b>: Override self-tune offline values at car restart. + + + + Real-time and Offline + + + + Offline Only + + Updater @@ -1206,6 +3176,168 @@ Isso pode levar até um minuto. Falha na atualização + + VehiclePanel + + Updating this setting takes effect when the car is powered off. + + + + Select your car + + + + + VisualsPanel + + Display Braking Status + + + + Enable this will turn the current speed value to red while the brake is used. + + + + Display Stand Still Timer + + + + Enable this will display time spent at a stop (i.e., at a stop lights, stop signs, traffic congestions). + + + + Display DM Camera in Reverse Gear + + + + Show Driver Monitoring camera while the car is in reverse gear. + + + + OSM: Show debug UI elements + + + + OSM: Show UI elements that aid debugging. + + + + Display Feature Status + + + + Display the statuses of certain features on the driving screen. + + + + Enable Onroad Settings + + + + Display the Onroad Settings button on the driving screen to adjust feature options on the driving screen, without navigating into the settings menu. + + + + Speedometer: Display True Speed + + + + Display the true vehicle current speed from wheel speed sensors. + + + + Speedometer: Hide from Onroad Screen + + + + Display End-to-end Longitudinal Status (Beta) + + + + Enable this will display an icon that appears when the End-to-end model decides to start or stop. + + + + Navigation: Display in Full Screen + + + + Enable this will display the built-in navigation in full screen.<br>To switch back to driving view, <font color='yellow'>tap on the border edge</font>. + + + + Map: Display 3D Buildings + + + + Parse and display 3D buildings on map. Thanks to jakethesnake420 for this implementation. + + + + Off + + + + 5 Metrics + + + + 10 Metrics + + + + Developer UI + + + + Display real-time parameters and metrics from various sources. + + + + Distance + + + + Speed + + + + Time + + + + All + + + + Display Metrics Below Chevron + + + + Display useful metrics below the chevron that tracks the lead car (only applicable to cars with openpilot longitudinal control). + + + + RAM + + + + CPU + + + + GPU + + + + Max + + + + Display Temperature on Sidebar + + + WiFiPromptWidget @@ -1252,4 +3384,27 @@ Isso pode levar até um minuto. Esquecer + + WifiUISP + + Scanning for networks... + Procurando redes... + + + CONNECTING... + CONECTANDO... + + + FORGET + ESQUECER + + + Forget Wi-Fi Network "%1"? + Esquecer Rede Wi-Fi "%1"? + + + Forget + Esquecer + + diff --git a/selfdrive/ui/translations/main_th.ts b/selfdrive/ui/translations/main_th.ts index e594a6975f..a3cfc55a1d 100644 --- a/selfdrive/ui/translations/main_th.ts +++ b/selfdrive/ui/translations/main_th.ts @@ -87,6 +87,89 @@ สำหรับ "%1" + + AdvancedNetworkingSP + + Back + ย้อนกลับ + + + Enable Tethering + ปล่อยฮอตสปอต + + + Retain hotspot/tethering state + + + + Enabling this toggle will retain the hotspot/tethering toggle state across reboots. + + + + Tethering Password + รหัสผ่านฮอตสปอต + + + EDIT + แก้ไข + + + Enter new tethering password + ป้อนรหัสผ่านฮอตสปอตใหม่ + + + IP Address + หมายเลขไอพี + + + Enable Roaming + เปิดใช้งานโรมมิ่ง + + + APN Setting + ตั้งค่า APN + + + Enter APN + ป้อนค่า APN + + + leave blank for automatic configuration + เว้นว่างเพื่อตั้งค่าอัตโนมัติ + + + Cellular Metered + ลดการส่งข้อมูลผ่านเซลลูล่าร์ + + + Prevent large data uploads when on a metered connection + ปิดการอัพโหลดข้อมูลขนาดใหญ่เมื่อเชื่อมต่อผ่านเซลลูล่าร์ + + + Hidden Network + เครือข่ายที่ซ่อนอยู่ + + + CONNECT + เชื่อมต่อ + + + Enter SSID + ป้อนค่า SSID + + + Enter password + ใส่รหัสผ่าน + + + for "%1" + สำหรับ "%1" + + + Ngrok Service + + + AnnotatedCameraWidget @@ -103,11 +186,127 @@ SPEED - ความเร็ว + ความเร็ว LIMIT - จำกัด + จำกัด + + + + AnnotatedCameraWidgetSP + + km/h + กม./ชม. + + + mph + ไมล์/ชม. + + + blended + + + + acc + + + + MAX + สูงสุด + + + SPEED + ความเร็ว + + + LIMIT + จำกัด + + + + AutoLaneChangeTimer + + Auto Lane Change by Blinker + + + + Set a timer to delay the auto lane change operation when the blinker is used. No nudge on the steering wheel is required to auto lane change if a timer is set. Default is Nudge. +Please use caution when using this feature. Only use the blinker when traffic and road conditions permit. + + + + s + + + + Off + + + + Nudge + + + + Nudgeless + + + + + BackupSettings + + Settings backed up for sunnylink Device ID: + + + + Settings updated successfully, but no additional data was returned by the server. + + + + OOPS! We made a booboo. + + + + Please try again later. + + + + Settings restored. Confirm to restart the interface. + + + + No settings found to restore. + + + + + BrightnessControl + + Brightness + + + + Manually adjusts the global brightness of the screen. + + + + Auto + + + + + CameraOffset + + Camera Offset - Laneful Only + + + + Hack to trick vehicle to be left or right biased in its lane. Decreasing the value will make the car keep more left, increasing will make it keep more right. Changes take effect immediately. Default: +4 cm + + + + cm + @@ -121,11 +320,18 @@ ยกเลิก + + CustomOffsetsSettings + + Back + ย้อนกลับ + + DeclinePage You must accept the Terms and Conditions in order to use openpilot. - คุณต้องยอมรับเงื่อนไขและข้อตกลง เพื่อใช้งาน openpilot + คุณต้องยอมรับเงื่อนไขและข้อตกลง เพื่อใช้งาน openpilot Back @@ -135,6 +341,10 @@ Decline, uninstall %1 ปฏิเสธ และถอนการติดตั้ง %1 + + You must accept the Terms and Conditions in order to use sunnypilot. + + DestinationWidget @@ -247,7 +457,7 @@ openpilot requires the device to be mounted within 4° left or right and within 5° up or 9° down. openpilot is continuously calibrating, resetting is rarely required. - openpilot กำหนดให้ติดตั้งอุปกรณ์ โดยสามารถเอียงด้านซ้ายหรือขวาไม่เกิน 4° และเอียงขึ้นด้านบนไม่เกิน 5° หรือเอียงลงด้านล่างไม่เกิน 9° openpilot ทำการคาลิเบรทอย่างต่อเนื่อง แทบจะไม่จำเป็นต้องทำการรีเซ็ตการคาลิเบรท + openpilot กำหนดให้ติดตั้งอุปกรณ์ โดยสามารถเอียงด้านซ้ายหรือขวาไม่เกิน 4° และเอียงขึ้นด้านบนไม่เกิน 5° หรือเอียงลงด้านล่างไม่เกิน 9° openpilot ทำการคาลิเบรทอย่างต่อเนื่อง แทบจะไม่จำเป็นต้องทำการรีเซ็ตการคาลิเบรท Your device is pointed %1° %2 and %3° %4. @@ -305,6 +515,155 @@ PAIR จับคู่ + + sunnypilot requires the device to be mounted within 4° left or right and within 5° up or 9° down. sunnypilot is continuously calibrating, resetting is rarely required. + + + + + DevicePanelSP + + TOGGLE + + + + Enable or disable PIN requirement for Fleet Manager access. + + + + Are you sure you want to turn off PIN requirement? + + + + Turn Off + + + + Error Troubleshoot + + + + VIEW + ดู + + + Display error from the tmux session when an error has occurred from a system process. + + + + Reset Access Tokens for Map Services + + + + RESET + รีเซ็ต + + + Reset self-service access tokens for Mapbox, Amap, and Google Maps. + + + + Are you sure you want to reset access tokens for all map services? + + + + Reset + รีเซ็ต + + + Reset sunnypilot Settings + + + + Are you sure you want to reset all sunnypilot settings? + + + + Toggle Onroad/Offroad + + + + OFF + + + + Are you sure you want to unforce offroad? + + + + Unforce + + + + Are you sure you want to force offroad? + + + + Force + + + + Disengage to Force Offroad + + + + Unforce Offroad + + + + Force Offroad + + + + Fleet Manager PIN: + + + + + DisplayPanel + + Driving Screen Off: Non-Critical Events + + + + When <b>Driving Screen Off Timer</b> is not set to <b>"Always On"</b>: + + + + Enabled: Wake the brightness of the screen to display all events. + + + + Disabled: Wake the brightness of the screen to display critical events. + + + + + DriveStats + + Drives + + + + Hours + + + + ALL TIME + + + + PAST WEEK + + + + KM + + + + Miles + + DriverViewWindow @@ -344,6 +703,79 @@ กำลังติดตั้ง... + + LaneChangeSettings + + Back + ย้อนกลับ + + + Pause Lateral Below Speed with Blinker + + + + Enable this toggle to pause lateral actuation with blinker when traveling below the desired speed selected below. + + + + Auto Lane Change: Delay with Blind Spot + + + + Toggle to enable a delay timer for seamless lane changes when blind spot monitoring (BSM) detects a obstructing vehicle, ensuring safe maneuvering. + + + + Block Lane Change: Road Edge Detection + + + + Enable this toggle to block lane change when road edge is detected on the stalk actuated side. + + + + + MadsSettings + + Enable ACC+MADS with RES+/SET- + + + + Engage both M.A.D.S. and ACC with a single press of RES+ or SET- button. + + + + Note: Once M.A.D.S. is engaged via this mode, it will remain engaged until it is manually disabled via the M.A.D.S. button or car shut off. + + + + Toggle M.A.D.S. with Cruise Main + + + + Allows M.A.D.S. engagement/disengagement with "Cruise Main" cruise control button from the steering wheel. + + + + Remain Active + + + + Pause Steering + + + + Steering Mode After Braking + + + + Choose how Automatic Lane Centering (ALC) behaves after the brake pedal is manually pressed in sunnypilot. + +Remain Active: ALC will remain active even after the brake pedal is pressed. +Pause Steering: ALC will be paused after the brake pedal is manually pressed. + + + MapETA @@ -385,6 +817,63 @@ กำลังรอเส้นทาง + + MapWindowSP + + Map Loading + กำลังโหลดแผนที่ + + + Waiting for GPS + กำลังรอสัญญาณ GPS + + + Waiting for route + กำลังรอเส้นทาง + + + + MaxTimeOffroad + + Max Time Offroad + + + + Device is automatically turned off after a set time when the engine is turned off (off-road) after driving (on-road). + + + + s + + + + m + ม. + + + hr + ชม. + + + Always On + + + + Immediate + + + + + MonitoringPanel + + Enable Hands on Wheel Monitoring + + + + Monitor and alert when driver is not keeping the hands on the steering wheel. + + + MultiOptionDialog @@ -415,6 +904,33 @@ รหัสผ่านผิด + + NetworkingSP + + Scan + + + + Scanning... + + + + Advanced + ขั้นสูง + + + Enter password + ใส่รหัสผ่าน + + + for "%1" + สำหรับ "%1" + + + Wrong password + รหัสผ่านผิด + + OffroadAlert @@ -467,6 +983,16 @@ openpilot detected a change in the device's mounting position. Ensure the device is fully seated in the mount and the mount is firmly secured to the windshield. openpilot ตรวจพบการเปลี่ยนแปลงของตำแหน่งที่ติดตั้ง กรุณาตรวจสอบว่าได้เลื่อนอุปกรณ์เข้ากับจุดติดตั้งจนสุดแล้ว และจุดติดตั้งได้ยึดติดกับกระจกหน้าอย่างแน่นหนา + + OpenStreetMap database is out of date. New maps must be downloaded if you wish to continue using OpenStreetMap data for Enhanced Speed Control and road name display. + +%1 + + + + sunnypilot is now in Forced Offroad mode. sunnypilot won't start until Forced Offroad mode is disabled. Go to "Settings" -> "Device" -> "Unforce Offroad" to exit Force Offroad mode. + + OffroadHome @@ -506,6 +1032,186 @@ รีบูตอุปกรณ์ + + OnroadScreenOff + + Driving Screen Off Timer + + + + Turn off the device screen or reduce brightness to protect the screen after driving starts. It automatically brightens or turns on when a touch or event occurs. + + + + s + + + + min + นาที + + + Always On + + + + + OnroadScreenOffBrightness + + Driving Screen Off Brightness (%) + + + + When using the Driving Screen Off feature, the brightness is reduced according to the automatic brightness ratio. + + + + Dark + + + + + OnroadSettings + + ONROAD OPTIONS + + + + <b>ONROAD SETTINGS | SUNNYPILOT</b> + + + + + OsmPanel + + Mapd Version + + + + Offline Maps ETA + + + + Time Elapsed + + + + Downloaded Maps + + + + DELETE + + + + This will delete ALL downloaded maps + +Are you sure you want to delete all the maps? + + + + Yes, delete all the maps. + + + + Database Update + + + + CHECK + ตรวจสอบ + + + Country + + + + SELECT + เลือก + + + Fetching Country list... + + + + State + + + + Fetching State list... + + + + All + + + + REFRESH + + + + UPDATE + อัปเดต + + + Download starting... + + + + Error: Invalid download. Retry. + + + + Download complete! + + + + + +Warning: You are on a metered connection! + + + + This will start the download process and it might take a while to complete. + + + + Continue on Metered + + + + Start Download + + + + m + + + + s + + + + Calculating... + + + + Downloaded + + + + Calculating ETA... + + + + Ready + + + + Time remaining: + + + PairingPopup @@ -536,6 +1242,51 @@ ยกเลิก + + ParamControlSP + + Enable + เปิดใช้งาน + + + Cancel + ยกเลิก + + + + PathOffset + + Path Offset + + + + Hack to trick the model path to be left or right biased of the lane. Decreasing the value will shift the model more left, increasing will shift the model more right. Changes take effect immediately. + + + + cm + + + + + PauseLateralSpeed + + Pause lateral actuation with blinker when traveling below the desired speed selected. Default is 20 MPH or 32 km/h. + + + + Default + + + + km/h + กม./ชม. + + + mph + ไมล์/ชม. + + PrimeAdWidget @@ -590,7 +1341,7 @@ openpilot - openpilot + openpilot %n minute(s) ago @@ -630,6 +1381,30 @@ now ตอนนี้ + + sunnypilot + + + + Update downloaded. Ready to reboot. + + + + Update: Check and Download Update + + + + Reboot: Reboot Device + + + + Update + + + + Updating... + + Reset @@ -672,6 +1447,151 @@ This may take up to a minute. ระบบถูกรีเซ็ต กดยืนยันเพื่อลบข้อมูลและการตั้งค่าทั้งหมด กดยกเลิกเพื่อบูตต่อ + + SPVehiclesTogglesPanel + + Hyundai/Kia/Genesis + + + + HKG: Custom Tuning for New Longitudinal API + + + + HKG CAN: Enable Cruise Main By Default + + + + Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS + + + + Subaru + + + + Manual Parking Brake: Stop and Go (Beta) + + + + Experimental feature to enable stop and go for Subaru Global models with manual handbrake. Models with electric parking brake should keep this disabled. Thanks to martinl for this implementation! + + + + Toyota/Lexus + + + + Enable Stock Toyota Longitudinal Control + + + + sunnypilot will <b>not</b> take over control of gas and brakes. Stock Toyota longitudinal control will be used. + + + + Allow M.A.D.S. toggling w/ LKAS Button (Beta) + + + + Allows M.A.D.S. engagement/disengagement with "LKAS" button from the steering wheel. + + + + Note: Enabling this toggle may have unexpected behavior with steering control. It is the driver's responsibility to observe their environment and make decisions accordingly. + + + + Toyota TSS2 Longitudinal: Custom Tuning + + + + Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation. + + + + Enable Automatic Brake Hold (AHB) + + + + WARNING: Only for Toyota/Lexus vehicles with TSS2/LSS2. USE AT YOUR OWN RISK. + + + + When you stop the vehicle completely by depressing the brake pedal, sunnypilot will activate Auto Brake Hold. + + + + Changing this setting takes effect when the car is powered off. + + + + Enable Enhanced Blind Spot Monitor + + + + Enable Toyota Stop and Go Hack + + + + sunnypilot will allow some Toyota/Lexus cars to auto resume during stop and go traffic. This feature is only applicable to certain models. Use at your own risk. + + + + Enable Toyota Door Auto Locking + + + + sunnypilot will attempt to lock the doors when drive above 10 km/h (6.2 mph). +Reboot Required. + + + + Enable Toyota Door Auto Unlocking + + + + sunnypilot will attempt to unlock the doors when shift to gear P. +Reboot Required. + + + + Volkswagen + + + + Enable CC Only support + + + + sunnypilot supports Volkswagen MQB CC only platforms with this toggle enabled. Only enable this toggle if your car does not have ACC from the factory. + + + + Start the car to check car compatibility + + + + This platform is already supported, therefore no need to enable this toggle + + + + This platform is not supported + + + + This platform can be supported + + + + sunnypilot will use debugging CAN messages to receive unfiltered BSM signals, allowing detection of more objects. + + + + Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2. + + + SettingsWindow @@ -695,6 +1615,61 @@ This may take up to a minute. ซอฟต์แวร์ + + SettingsWindowSP + + × + × + + + Device + อุปกรณ์ + + + Network + เครือข่าย + + + sunnylink + + + + Toggles + ตัวเลือก + + + Software + ซอฟต์แวร์ + + + sunnypilot + + + + OSM + + + + Monitoring + + + + Visuals + + + + Display + + + + Trips + + + + Vehicle + + + Setup @@ -888,6 +1863,100 @@ This may take up to a minute. 5G + + SidebarSP + + TEMP + อุณหภูมิ + + + HIGH + สูง + + + GOOD + ดี + + + OK + พอใช้ + + + DISABLED + + + + OFFLINE + ออฟไลน์ + + + REGIST... + + + + ONLINE + ออนไลน์ + + + ERROR + เกิดข้อผิดพลาด + + + SUNNYLINK + + + + + SlcSettings + + Auto + + + + User Confirm + + + + Engage Mode + + + + Default + + + + Fixed + + + + Percentage + + + + Limit Offset + + + + Set speed limit slightly higher than actual speed limit for a more natural drive. + + + + This platform defaults to <b>Auto</b> mode. <b>User Confirm</b> mode is not supported on this platform. + + + + Select the desired mode to set the cruising speed to the speed limit: + + + + Auto: Automatic speed adjustment on motorways based on speed limit data. + + + + User Confirm: Inform the driver to change set speed of Adaptive Cruise Control to help the driver stay within the speed limit. + + + SoftwarePanel @@ -963,6 +2032,233 @@ This may take up to a minute. ล่าสุดแล้ว ตรวจสอบครั้งสุดท้ายเมื่อ %1 + + SoftwarePanelSP + + Driving Model + + + + SELECT + เลือก + + + PENDING + + + + Downloading Driving model + + + + (CACHED) + + + + Driving model + + + + downloaded + + + + Downloading Navigation model + + + + Navigation model + + + + Downloading Metadata model + + + + Metadata model + + + + Downloads have failed, please try swapping the model! + + + + Failed: + + + + Fetching models... + + + + Select a Driving Model + + + + Download has started in the background. + + + + We STRONGLY suggest you to reset calibration. Would you like to do that now? + + + + Reset Calibration + รีเซ็ตการคาลิเบรท + + + Warning: You are on a metered connection! + + + + Continue + ดำเนินการต่อ + + + on Metered + + + + + SpeedLimitPolicySettings + + Speed Limit Source Policy + + + + Nav + + + + Only + + + + Map + + + + Car + + + + First + + + + Select the precedence order of sources. Utilized by Speed Limit Control and Speed Limit Warning + + + + Nav Only: Data from Mapbox active navigation only. + + + + Map Only: Data from OpenStreetMap only. + + + + Car Only: Data from the car's built-in sources (if available). + + + + Nav First: Nav -> Map -> Car + + + + Map First: Map -> Nav -> Car + + + + Car First: Car -> Nav -> Map + + + + + SpeedLimitValueOffset + + km/h + กม./ชม. + + + mph + ไมล์/ชม. + + + + SpeedLimitWarningSettings + + Off + + + + Display + + + + Chime + + + + Speed Limit Warning + + + + Warning with speed limit flash + + + + When Speed Limit Warning is enabled, the speed limit sign will alert the driver when the cruising speed is faster than then speed limit plus the offset. + + + + Default + + + + Fixed + + + + Percentage + + + + Warning Offset + + + + Select the desired offset to warn the driver when the vehicle is driving faster than the speed limit. + + + + Off: When the cruising speed is faster than the speed limit plus the offset, there will be no warning. + + + + Display: The speed on the speed limit sign turns red to alert the driver when the cruising speed is faster than the speed limit plus the offset. + + + + Chime: The speed on the speed limit sign turns red and chimes to alert the driver when the cruising speed is faster than the speed limit plus the offset. + + + + + SpeedLimitWarningValueOffset + + N/A + ไม่มี + + + km/h + กม./ชม. + + + mph + ไมล์/ชม. + + SshControl @@ -1009,6 +2305,415 @@ This may take up to a minute. เปิดใช้งาน SSH + + SunnylinkPanel + + Enable sunnylink + + + + Device ID + + + + N/A + ไม่มี + + + This is the master switch, it will allow you to cutoff any sunnylink requests should you want to do that. + + + + 🎉Welcome back! We're excited to see you've enabled sunnylink again! 🚀 + + + + 👋Not going to lie, it's sad to see you disabled sunnylink 😢, but we'll be here when you're ready to come back 🎉. + + + + Sponsor Status + + + + SPONSOR + + + + Become a sponsor of sunnypilot to get early access to sunnylink features when they become available. + + + + Pair GitHub Account + + + + PAIR + จับคู่ + + + Pair your GitHub account to grant your device sponsor benefits, including API access on sunnylink. + + + + sunnylink Dongle ID not found. This may be due to weak internet connection or sunnylink registration issue. Please reboot and try again. + + + + Manage Settings + + + + Backup Settings + + + + Are you sure you want to backup sunnypilot settings? + + + + Back Up + + + + Restore Settings + + + + Are you sure you want to restore the last backed up sunnypilot settings? + + + + Restore + + + + THANKS + + + + Not Sponsor + + + + Paired + + + + Not Paired + + + + Backing up... + + + + Restoring... + + + + + SunnylinkSponsorPopup + + Scan the QR code to login to your GitHub account + + + + Follow the prompts to complete the pairing process + + + + Re-enter the "sunnylink" panel to verify sponsorship status + + + + If sponsorship status was not updated, please contact a moderator on Discord at https://discord.gg/sunnypilot + + + + Scan the QR code to visit sunnyhaibin's GitHub Sponsors page + + + + Choose your sponsorship tier and confirm your support + + + + Join our community on Discord at https://discord.gg/sunnypilot and reach out to a moderator to confirm your sponsor status + + + + Pair your GitHub account + + + + Early Access: Become a sunnypilot Sponsor + + + + + SunnypilotPanel + + Enable M.A.D.S. + + + + Enable the beloved M.A.D.S. feature. Disable toggle to revert back to stock openpilot engagement/disengagement. + + + + Laneless for Curves in "Auto" Mode + + + + While in Auto Lane, switch to Laneless for current/future curves. + + + + Speed Limit Control (SLC) + + + + When you engage ACC, you will be prompted to set the cruising speed to the speed limit of the road adjusted by the Offset and Source Policy specified, or the current driving speed. The maximum cruising speed will always be the MAX set speed. + + + + Enable Vision-based Turn Speed Control (V-TSC) + + + + Use vision path predictions to estimate the appropriate speed to drive through turns ahead. + + + + Enable Map Data Turn Speed Control (M-TSC) (Beta) + + + + Use curvature information from map data to define speed limits to take turns ahead. + + + + ACC +/-: Long Press Reverse + + + + Change the ACC +/- buttons behavior with cruise speed change in sunnypilot. + + + + Disabled (Stock): Short=1, Long = 5 (imperial) / 10 (metric) + + + + Enabled: Short = 5 (imperial) / 10 (metric), Long=1 + + + + Custom Offsets + + + + Neural Network Lateral Control (NNLC) + + + + NNLC: Remove Lateral Jerk Response (Alpha) + + + + When NNLC is active, enable this to disables the use of lateral jerk in steering torque calculations, focusing solely on lateral acceleration for a simplified control response. + + + + Enforce Torque Lateral Control + + + + Enable this to enforce sunnypilot to steer with Torque lateral control. + + + + Lateral Jerk with Torque Lateral Control (Alpha) + + + + Utilizes limited lateral jerk control for improved steering response, leveraging stock torque lateral controller capabilities. Designed to mimic NNLC behavior without training models or data collection. + + + + Enable Self-Tune + + + + Enables self-tune for Torque lateral control for platforms that do not use Torque lateral control by default. + + + + Less Restrict Settings for Self-Tune (Beta) + + + + Less strict settings when using Self-Tune. This allows torqued to be more forgiving when learning values. + + + + Enable Custom Tuning + + + + Enables custom tuning for Torque lateral control. Modifying FRICTION and LAT_ACCEL_FACTOR below will override the offline values indicated in the YAML files within "selfdrive/torque_data". The values will also be used live when "Override Self-Tune" toggle is enabled. + + + + Manual Real-Time Tuning + + + + Enforces the torque lateral controller to use the fixed values instead of the learned values from Self-Tune. Enabling this toggle overrides Self-Tune values. + + + + Quiet Drive 🤫 + + + + sunnypilot will display alerts but only play the most important warning sounds. This feature can be toggled while the car is on. + + + + Green Traffic Light Chime (Beta) + + + + A chime will play when the traffic light you are waiting for turns green and you have no vehicle in front of you. If you are waiting behind another vehicle, the chime will play once the vehicle advances unless ACC is engaged. + + + + Note: This chime is only designed as a notification. It is the driver's responsibility to observe their environment and make decisions accordingly. + + + + Lead Vehicle Departure Alert + + + + Enable this will notify when the leading vehicle drives away. + + + + Customize M.A.D.S. + + + + Customize Lane Change + + + + Customize Offsets + + + + Customize Speed Limit Control + + + + Customize Warning + + + + Customize Source + + + + Laneful + + + + Laneless + + + + Auto + + + + Dynamic Lane Profile + + + + Speed Limit Assist + + + + Real-time and Offline + + + + Offline Only + + + + Dynamic Lane Profile is not available with the current Driving Model + + + + Custom Offsets is not available with the current Driving Model + + + + NNLC is currently not available on this platform. + + + + Match: "Exact" is ideal, but "Fuzzy" is fine too. Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server if there are any issues: + + + + Start the car to check car compatibility + + + + NNLC Not Loaded + + + + NNLC Loaded + + + + Fuzzy + + + + Exact + + + + Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server and donate logs to get NNLC loaded for your car: + + + + Match + + + + Formerly known as <b>"NNFF"</b>, this replaces the lateral <b>"torque"</b> controller, with one using a neural network trained on each car's (actually, each separate EPS firmware) driving data for increased controls accuracy. + + + + Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server with feedback, or to provide log data for your car if your car is currently unsupported: + + + + Add custom offsets to Camera and Path in sunnypilot. + + + + Default is Laneless. In Auto mode, sunnnypilot dynamically chooses between Laneline or Laneless model based on lane recognition confidence level on road and certain conditions. + + + TermsPage @@ -1028,15 +2733,30 @@ This may take up to a minute. ยอมรับ + + TermsPageSP + + Terms & Conditions + ข้อตกลงและเงื่อนไข + + + Decline + ปฏิเสธ + + + Scroll to accept + เลื่อนเพื่อตอบรับข้อตกลง + + TogglesPanel Enable openpilot - เปิดใช้งาน openpilot + เปิดใช้งาน openpilot Use the openpilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. - ใช้ระบบ openpilot สำหรับระบบควบคุมความเร็วอัตโนมัติ และระบบช่วยควบคุมรถให้อยู่ในเลน คุณจำเป็นต้องให้ความสนใจตลอดเวลาที่ใช้คุณสมบัตินี้ การเปลี่ยนการตั้งค่านี้จะมีผลเมื่อคุณดับเครื่องยนต์ + ใช้ระบบ openpilot สำหรับระบบควบคุมความเร็วอัตโนมัติ และระบบช่วยควบคุมรถให้อยู่ในเลน คุณจำเป็นต้องให้ความสนใจตลอดเวลาที่ใช้คุณสมบัตินี้ การเปลี่ยนการตั้งค่านี้จะมีผลเมื่อคุณดับเครื่องยนต์ Enable Lane Departure Warnings @@ -1072,19 +2792,19 @@ This may take up to a minute. Show ETA in 24h Format - แสดงเวลา ETA ในรูปแบบ 24 ชั่วโมง + แสดงเวลา ETA ในรูปแบบ 24 ชั่วโมง Use 24h format instead of am/pm - ใช้รูปแบบเวลา 24 ชั่วโมง แทน am/pm + ใช้รูปแบบเวลา 24 ชั่วโมง แทน am/pm Show Map on Left Side of UI - แสดงแผนที่ที่ด้านซ้ายของหน้าจอ + แสดงแผนที่ที่ด้านซ้ายของหน้าจอ Show map on left side when in split screen view. - แสดงแผนที่ด้านซ้ายของหน้าจอเมื่ออยู่ในโหมดแบ่งหน้าจอ + แสดงแผนที่ด้านซ้ายของหน้าจอเมื่ออยู่ในโหมดแบ่งหน้าจอ Experimental Mode @@ -1166,6 +2886,256 @@ This may take up to a minute. Enable driver monitoring even when openpilot is not engaged. + + Enable sunnypilot + + + + Use the sunnypilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. + + + + + TogglesPanelSP + + Enable sunnypilot + + + + Use the sunnypilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. + + + + openpilot Longitudinal Control (Alpha) + ระบบควบคุมการเร่ง/เบรคโดย openpilot (Alpha) + + + WARNING: sunnypilot longitudinal control is in alpha for this car and will disable Automatic Emergency Braking (AEB). + + + + On this car, sunnypilot defaults to the car's built-in ACC instead of openpilot's longitudinal control. Enable this to switch to sunnypilot longitudinal control. Enabling Experimental mode is recommended when enabling sunnypilot longitudinal control alpha. + + + + Custom Stock Longitudinal Control + + + + When enabled, sunnypilot will attempt to control stock longitudinal control with ACC button presses. +This feature must be used along with SLC, and/or V-TSC, and/or M-TSC. + + + + Use Planner Speed + + + + Experimental Mode + โหมดทดลอง + + + Enable Dynamic Experimental Control + + + + Enable toggle to allow the model to determine when to use sunnypilot ACC or sunnypilot End to End Longitudinal. + + + + Enable Dynamic Personality + + + + Enable this to allow sunnypilot to dynamically adjust following distance and reaction based on your "Driving Personality" setting. Instead of predefined settings for each personality, every personality now adapts dynamically according to your speed and the distance to the lead car. + + + + Disengage on Accelerator Pedal + ยกเลิกระบบช่วยขับเมื่อเหยียบคันเร่ง + + + When enabled, pressing the accelerator pedal will disengage openpilot. + เมื่อเปิดใช้งาน การกดแป้นคันเร่งจะเป็นการยกเลิกระบบช่วยขับโดย openpilot + + + Enable Lane Departure Warnings + เปิดใช้งานการเตือนการออกนอกเลน + + + Receive alerts to steer back into the lane when your vehicle drifts over a detected lane line without a turn signal activated while driving over 31 mph (50 km/h). + รับการแจ้งเตือนให้เลี้ยวกลับเข้าเลนเมื่อรถของคุณตรวจพบการข้ามช่องจราจรโดยไม่เปิดสัญญาณไฟเลี้ยวในขณะขับขี่ที่ความเร็วเกิน 31 ไมล์ต่อชั่วโมง (50 กม./ชม) + + + Always-On Driver Monitoring + + + + Enable driver monitoring even when sunnypilot is not engaged. + + + + Record and Upload Driver Camera + บันทึกและอัปโหลดภาพจากกล้องคนขับ + + + Upload data from the driver facing camera and help improve the driver monitoring algorithm. + อัปโหลดข้อมูลจากกล้องที่หันหน้าไปทางคนขับ และช่วยปรับปรุงอัลกอริธึมการตรวจสอบผู้ขับขี่ + + + Disable Onroad Uploads + + + + Disable uploads completely when onroad. Necessary to avoid high data usage when connected to Wi-Fi hotspot. Turn on this feature if you are looking to utilize map-based features, such as Speed Limit Control (SLC) and Map-based Turn Speed Control (MTSC). + + + + Use Metric System + ใช้ระบบเมตริก + + + Display speed in km/h instead of mph. + แสดงความเร็วเป็น กม./ชม. แทน ไมล์/ชั่วโมง + + + Show ETA in 24h Format + แสดงเวลา ETA ในรูปแบบ 24 ชั่วโมง + + + Use 24h format instead of am/pm + ใช้รูปแบบเวลา 24 ชั่วโมง แทน am/pm + + + Show Map on Left Side of UI + แสดงแผนที่ที่ด้านซ้ายของหน้าจอ + + + Show map on left side when in split screen view. + แสดงแผนที่ด้านซ้ายของหน้าจอเมื่ออยู่ในโหมดแบ่งหน้าจอ + + + Aggressive + ดุดัน + + + Moderate + + + + Standard + มาตรฐาน + + + Relaxed + ผ่อนคลาย + + + Driving Personality + บุคลิกการขับขี่ + + + Standard is recommended. In moderate/aggressive mode, sunnypilot will follow lead cars closer and be more aggressive with the gas and brake. In relaxed mode sunnypilot will stay further away from lead cars. On supported cars, you can cycle through these personalities with your steering wheel distance button. + + + + Sport + + + + Normal + + + + Eco + + + + Stock + + + + Acceleration Personality + + + + Normal is recommended. In sport mode, sunnypilot will provide aggressive acceleration for a dynamic driving experience. In eco mode, sunnypilot will apply smoother and more relaxed acceleration. On supported cars, you can cycle through these acceleration personality within Onroad Settings on the driving screen. + + + + openpilot defaults to driving in <b>chill mode</b>. Experimental mode enables <b>alpha-level features</b> that aren't ready for chill mode. Experimental features are listed below: + โดยปกติ openpilot จะขับใน<b>โหมดชิล</b> เปิดโหมดทดลองเพื่อใช้<b>ความสามารถในขั้นพัฒนา</b> ซึ่งยังไม่พร้อมสำหรับโหมดชิล ความสามารถในขั้นพัฒนามีดังนี้: + + + End-to-End Longitudinal Control + ควบคุมเร่ง/เบรคแบบ End-to-End + + + Let the driving model control the gas and brakes. sunnypilot will drive as it thinks a human would, including stopping for red lights and stop signs. Since the driving model decides the speed to drive, the set speed will only act as an upper bound. This is an alpha quality feature; mistakes should be expected. + + + + New Driving Visualization + การแสดงภาพการขับขี่แบบใหม่ + + + The driving visualization will transition to the road-facing wide-angle camera at low speeds to better show some turns. The Experimental mode logo will also be shown in the top right corner. + การแสดงภาพการขับขี่จะเปลี่ยนไปใช้กล้องมุมกว้างที่หันหน้าไปทางถนนเมื่ออยู่ในความเร็วต่ำ เพื่อแสดงภาพการเลี้ยวที่ดีขึ้น โลโก้โหมดการทดลองจะแสดงที่มุมบนขวาด้วย + + + Experimental mode is currently unavailable on this car since the car's stock ACC is used for longitudinal control. + ขณะนี้โหมดทดลองไม่สามารถใช้งานได้ในรถคันนี้ เนื่องจากเปิดใช้ระบบควบคุมการเร่ง/เบรคของรถที่ติดตั้งจากโรงงานอยู่ + + + openpilot longitudinal control may come in a future update. + ระบบควบคุมการเร่ง/เบรคโดย openpilot อาจมาในการอัปเดตในอนาคต + + + An alpha version of sunnypilot longitudinal control can be tested, along with Experimental mode, on non-release branches. + + + + Enable the sunnypilot longitudinal control (alpha) toggle to allow Experimental mode. + + + + + TorqueFriction + + FRICTION + + + + Adjust Friction for the Torque Lateral Controller. <b>Live</b>: Override self-tune values; <b>Offline</b>: Override self-tune offline values at car restart. + + + + Real-time and Offline + + + + Offline Only + + + + + TorqueMaxLatAccel + + LAT_ACCEL_FACTOR + + + + Adjust Max Lateral Acceleration for the Torque Lateral Controller. <b>Live</b>: Override self-tune values; <b>Offline</b>: Override self-tune offline values at car restart. + + + + Real-time and Offline + + + + Offline Only + + Updater @@ -1202,6 +3172,168 @@ This may take up to a minute. การอัปเดตล้มเหลว + + VehiclePanel + + Updating this setting takes effect when the car is powered off. + + + + Select your car + + + + + VisualsPanel + + Display Braking Status + + + + Enable this will turn the current speed value to red while the brake is used. + + + + Display Stand Still Timer + + + + Enable this will display time spent at a stop (i.e., at a stop lights, stop signs, traffic congestions). + + + + Display DM Camera in Reverse Gear + + + + Show Driver Monitoring camera while the car is in reverse gear. + + + + OSM: Show debug UI elements + + + + OSM: Show UI elements that aid debugging. + + + + Display Feature Status + + + + Display the statuses of certain features on the driving screen. + + + + Enable Onroad Settings + + + + Display the Onroad Settings button on the driving screen to adjust feature options on the driving screen, without navigating into the settings menu. + + + + Speedometer: Display True Speed + + + + Display the true vehicle current speed from wheel speed sensors. + + + + Speedometer: Hide from Onroad Screen + + + + Display End-to-end Longitudinal Status (Beta) + + + + Enable this will display an icon that appears when the End-to-end model decides to start or stop. + + + + Navigation: Display in Full Screen + + + + Enable this will display the built-in navigation in full screen.<br>To switch back to driving view, <font color='yellow'>tap on the border edge</font>. + + + + Map: Display 3D Buildings + + + + Parse and display 3D buildings on map. Thanks to jakethesnake420 for this implementation. + + + + Off + + + + 5 Metrics + + + + 10 Metrics + + + + Developer UI + + + + Display real-time parameters and metrics from various sources. + + + + Distance + + + + Speed + + + + Time + + + + All + + + + Display Metrics Below Chevron + + + + Display useful metrics below the chevron that tracks the lead car (only applicable to cars with openpilot longitudinal control). + + + + RAM + + + + CPU + + + + GPU + + + + Max + + + + Display Temperature on Sidebar + + + WiFiPromptWidget @@ -1248,4 +3380,27 @@ This may take up to a minute. เลิกใช้ + + WifiUISP + + Scanning for networks... + กำลังสแกนหาเครือข่าย... + + + CONNECTING... + กำลังเชื่อมต่อ... + + + FORGET + เลิกใช้ + + + Forget Wi-Fi Network "%1"? + เลิกใช้เครือข่าย Wi-Fi "%1"? + + + Forget + เลิกใช้ + + diff --git a/selfdrive/ui/translations/main_tr.ts b/selfdrive/ui/translations/main_tr.ts index 48615f1699..a0c64019be 100644 --- a/selfdrive/ui/translations/main_tr.ts +++ b/selfdrive/ui/translations/main_tr.ts @@ -87,6 +87,89 @@ için "%1" + + AdvancedNetworkingSP + + Back + + + + Enable Tethering + Kişisel erişim noktasını aç + + + Retain hotspot/tethering state + + + + Enabling this toggle will retain the hotspot/tethering toggle state across reboots. + + + + Tethering Password + Kişisel erişim noktasının parolası + + + EDIT + DÜZENLE + + + Enter new tethering password + Erişim noktasına yeni bir sonraki başlatılışında çekilir. parola belirleyin. + + + IP Address + IP Adresi + + + Enable Roaming + Hücresel veri aç + + + APN Setting + APN Ayarları + + + Enter APN + APN Gir + + + leave blank for automatic configuration + otomatik yapılandırma için boş bırakın + + + Cellular Metered + + + + Prevent large data uploads when on a metered connection + + + + Hidden Network + + + + CONNECT + BAĞLANTI + + + Enter SSID + APN Gir + + + Enter password + Parolayı girin + + + for "%1" + için "%1" + + + Ngrok Service + + + AnnotatedCameraWidget @@ -101,6 +184,37 @@ MAX MAX + + SPEED + HIZ + + + LIMIT + LİMİT + + + + AnnotatedCameraWidgetSP + + km/h + km/h + + + mph + mph + + + blended + + + + acc + + + + MAX + MAX + SPEED HIZ @@ -110,6 +224,91 @@ LİMİT + + AutoLaneChangeTimer + + Auto Lane Change by Blinker + + + + Set a timer to delay the auto lane change operation when the blinker is used. No nudge on the steering wheel is required to auto lane change if a timer is set. Default is Nudge. +Please use caution when using this feature. Only use the blinker when traffic and road conditions permit. + + + + s + + + + Off + + + + Nudge + + + + Nudgeless + + + + + BackupSettings + + Settings backed up for sunnylink Device ID: + + + + Settings updated successfully, but no additional data was returned by the server. + + + + OOPS! We made a booboo. + + + + Please try again later. + + + + Settings restored. Confirm to restart the interface. + + + + No settings found to restore. + + + + + BrightnessControl + + Brightness + + + + Manually adjusts the global brightness of the screen. + + + + Auto + + + + + CameraOffset + + Camera Offset - Laneful Only + + + + Hack to trick vehicle to be left or right biased in its lane. Decreasing the value will make the car keep more left, increasing will make it keep more right. Changes take effect immediately. Default: +4 cm + + + + cm + + + ConfirmationDialog @@ -121,11 +320,18 @@ Vazgeç + + CustomOffsetsSettings + + Back + + + DeclinePage You must accept the Terms and Conditions in order to use openpilot. - Openpilotu kullanmak için Kullanıcı Koşullarını kabul etmelisiniz. + Openpilotu kullanmak için Kullanıcı Koşullarını kabul etmelisiniz. Back @@ -135,6 +341,10 @@ Decline, uninstall %1 Reddet, Kurulumu kaldır. %1 + + You must accept the Terms and Conditions in order to use sunnypilot. + + DestinationWidget @@ -247,7 +457,7 @@ openpilot requires the device to be mounted within 4° left or right and within 5° up or 9° down. openpilot is continuously calibrating, resetting is rarely required. - openpilot, cihazın 4° sola veya 5° yukarı yada 9° aşağı bakıcak şekilde monte edilmesi gerekmektedir. openpilot sürekli kendisini kalibre edilmektedir ve nadiren sıfırlama gerebilir. + openpilot, cihazın 4° sola veya 5° yukarı yada 9° aşağı bakıcak şekilde monte edilmesi gerekmektedir. openpilot sürekli kendisini kalibre edilmektedir ve nadiren sıfırlama gerebilir. Your device is pointed %1° %2 and %3° %4. @@ -305,6 +515,155 @@ PAIR + + sunnypilot requires the device to be mounted within 4° left or right and within 5° up or 9° down. sunnypilot is continuously calibrating, resetting is rarely required. + + + + + DevicePanelSP + + TOGGLE + + + + Enable or disable PIN requirement for Fleet Manager access. + + + + Are you sure you want to turn off PIN requirement? + + + + Turn Off + + + + Error Troubleshoot + + + + VIEW + BAK + + + Display error from the tmux session when an error has occurred from a system process. + + + + Reset Access Tokens for Map Services + + + + RESET + SIFIRLA + + + Reset self-service access tokens for Mapbox, Amap, and Google Maps. + + + + Are you sure you want to reset access tokens for all map services? + + + + Reset + + + + Reset sunnypilot Settings + + + + Are you sure you want to reset all sunnypilot settings? + + + + Toggle Onroad/Offroad + + + + OFF + + + + Are you sure you want to unforce offroad? + + + + Unforce + + + + Are you sure you want to force offroad? + + + + Force + + + + Disengage to Force Offroad + + + + Unforce Offroad + + + + Force Offroad + + + + Fleet Manager PIN: + + + + + DisplayPanel + + Driving Screen Off: Non-Critical Events + + + + When <b>Driving Screen Off Timer</b> is not set to <b>"Always On"</b>: + + + + Enabled: Wake the brightness of the screen to display all events. + + + + Disabled: Wake the brightness of the screen to display critical events. + + + + + DriveStats + + Drives + + + + Hours + + + + ALL TIME + + + + PAST WEEK + + + + KM + + + + Miles + + DriverViewWindow @@ -344,6 +703,79 @@ Yükleniyor... + + LaneChangeSettings + + Back + + + + Pause Lateral Below Speed with Blinker + + + + Enable this toggle to pause lateral actuation with blinker when traveling below the desired speed selected below. + + + + Auto Lane Change: Delay with Blind Spot + + + + Toggle to enable a delay timer for seamless lane changes when blind spot monitoring (BSM) detects a obstructing vehicle, ensuring safe maneuvering. + + + + Block Lane Change: Road Edge Detection + + + + Enable this toggle to block lane change when road edge is detected on the stalk actuated side. + + + + + MadsSettings + + Enable ACC+MADS with RES+/SET- + + + + Engage both M.A.D.S. and ACC with a single press of RES+ or SET- button. + + + + Note: Once M.A.D.S. is engaged via this mode, it will remain engaged until it is manually disabled via the M.A.D.S. button or car shut off. + + + + Toggle M.A.D.S. with Cruise Main + + + + Allows M.A.D.S. engagement/disengagement with "Cruise Main" cruise control button from the steering wheel. + + + + Remain Active + + + + Pause Steering + + + + Steering Mode After Braking + + + + Choose how Automatic Lane Centering (ALC) behaves after the brake pedal is manually pressed in sunnypilot. + +Remain Active: ALC will remain active even after the brake pedal is pressed. +Pause Steering: ALC will be paused after the brake pedal is manually pressed. + + + MapETA @@ -385,6 +817,63 @@ + + MapWindowSP + + Map Loading + Harita yükleniyor + + + Waiting for GPS + GPS verisi bekleniyor... + + + Waiting for route + + + + + MaxTimeOffroad + + Max Time Offroad + + + + Device is automatically turned off after a set time when the engine is turned off (off-road) after driving (on-road). + + + + s + + + + m + m + + + hr + saat + + + Always On + + + + Immediate + + + + + MonitoringPanel + + Enable Hands on Wheel Monitoring + + + + Monitor and alert when driver is not keeping the hands on the steering wheel. + + + MultiOptionDialog @@ -415,6 +904,33 @@ Yalnış parola + + NetworkingSP + + Scan + + + + Scanning... + + + + Advanced + Gelişmiş Seçenekler + + + Enter password + Parolayı girin + + + for "%1" + için "%1" + + + Wrong password + Yalnış parola + + OffroadAlert @@ -466,6 +982,16 @@ openpilot detected a change in the device's mounting position. Ensure the device is fully seated in the mount and the mount is firmly secured to the windshield. + + OpenStreetMap database is out of date. New maps must be downloaded if you wish to continue using OpenStreetMap data for Enhanced Speed Control and road name display. + +%1 + + + + sunnypilot is now in Forced Offroad mode. sunnypilot won't start until Forced Offroad mode is disabled. Go to "Settings" -> "Device" -> "Unforce Offroad" to exit Force Offroad mode. + + OffroadHome @@ -505,6 +1031,186 @@ + + OnroadScreenOff + + Driving Screen Off Timer + + + + Turn off the device screen or reduce brightness to protect the screen after driving starts. It automatically brightens or turns on when a touch or event occurs. + + + + s + + + + min + dk + + + Always On + + + + + OnroadScreenOffBrightness + + Driving Screen Off Brightness (%) + + + + When using the Driving Screen Off feature, the brightness is reduced according to the automatic brightness ratio. + + + + Dark + + + + + OnroadSettings + + ONROAD OPTIONS + + + + <b>ONROAD SETTINGS | SUNNYPILOT</b> + + + + + OsmPanel + + Mapd Version + + + + Offline Maps ETA + + + + Time Elapsed + + + + Downloaded Maps + + + + DELETE + + + + This will delete ALL downloaded maps + +Are you sure you want to delete all the maps? + + + + Yes, delete all the maps. + + + + Database Update + + + + CHECK + KONTROL ET + + + Country + + + + SELECT + + + + Fetching Country list... + + + + State + + + + Fetching State list... + + + + All + + + + REFRESH + + + + UPDATE + GÜNCELLE + + + Download starting... + + + + Error: Invalid download. Retry. + + + + Download complete! + + + + + +Warning: You are on a metered connection! + + + + This will start the download process and it might take a while to complete. + + + + Continue on Metered + + + + Start Download + + + + m + + + + s + + + + Calculating... + + + + Downloaded + + + + Calculating ETA... + + + + Ready + + + + Time remaining: + + + PairingPopup @@ -535,6 +1241,51 @@ + + ParamControlSP + + Enable + + + + Cancel + + + + + PathOffset + + Path Offset + + + + Hack to trick the model path to be left or right biased of the lane. Decreasing the value will shift the model more left, increasing will shift the model more right. Changes take effect immediately. + + + + cm + + + + + PauseLateralSpeed + + Pause lateral actuation with blinker when traveling below the desired speed selected. Default is 20 MPH or 32 km/h. + + + + Default + + + + km/h + km/h + + + mph + mph + + PrimeAdWidget @@ -589,7 +1340,7 @@ openpilot - openpilot + openpilot %n minute(s) ago @@ -629,6 +1380,30 @@ now + + sunnypilot + + + + Update downloaded. Ready to reboot. + + + + Update: Check and Download Update + + + + Reboot: Reboot Device + + + + Update + + + + Updating... + + Reset @@ -670,6 +1445,151 @@ This may take up to a minute. + + SPVehiclesTogglesPanel + + Hyundai/Kia/Genesis + + + + HKG: Custom Tuning for New Longitudinal API + + + + HKG CAN: Enable Cruise Main By Default + + + + Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS + + + + Subaru + + + + Manual Parking Brake: Stop and Go (Beta) + + + + Experimental feature to enable stop and go for Subaru Global models with manual handbrake. Models with electric parking brake should keep this disabled. Thanks to martinl for this implementation! + + + + Toyota/Lexus + + + + Enable Stock Toyota Longitudinal Control + + + + sunnypilot will <b>not</b> take over control of gas and brakes. Stock Toyota longitudinal control will be used. + + + + Allow M.A.D.S. toggling w/ LKAS Button (Beta) + + + + Allows M.A.D.S. engagement/disengagement with "LKAS" button from the steering wheel. + + + + Note: Enabling this toggle may have unexpected behavior with steering control. It is the driver's responsibility to observe their environment and make decisions accordingly. + + + + Toyota TSS2 Longitudinal: Custom Tuning + + + + Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation. + + + + Enable Automatic Brake Hold (AHB) + + + + WARNING: Only for Toyota/Lexus vehicles with TSS2/LSS2. USE AT YOUR OWN RISK. + + + + When you stop the vehicle completely by depressing the brake pedal, sunnypilot will activate Auto Brake Hold. + + + + Changing this setting takes effect when the car is powered off. + + + + Enable Enhanced Blind Spot Monitor + + + + Enable Toyota Stop and Go Hack + + + + sunnypilot will allow some Toyota/Lexus cars to auto resume during stop and go traffic. This feature is only applicable to certain models. Use at your own risk. + + + + Enable Toyota Door Auto Locking + + + + sunnypilot will attempt to lock the doors when drive above 10 km/h (6.2 mph). +Reboot Required. + + + + Enable Toyota Door Auto Unlocking + + + + sunnypilot will attempt to unlock the doors when shift to gear P. +Reboot Required. + + + + Volkswagen + + + + Enable CC Only support + + + + sunnypilot supports Volkswagen MQB CC only platforms with this toggle enabled. Only enable this toggle if your car does not have ACC from the factory. + + + + Start the car to check car compatibility + + + + This platform is already supported, therefore no need to enable this toggle + + + + This platform is not supported + + + + This platform can be supported + + + + sunnypilot will use debugging CAN messages to receive unfiltered BSM signals, allowing detection of more objects. + + + + Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2. + + + SettingsWindow @@ -693,6 +1613,61 @@ This may take up to a minute. Yazılım + + SettingsWindowSP + + × + x + + + Device + Cihaz + + + Network + + + + sunnylink + + + + Toggles + Değiştirme + + + Software + Yazılım + + + sunnypilot + + + + OSM + + + + Monitoring + + + + Visuals + + + + Display + + + + Trips + + + + Vehicle + + + Setup @@ -886,6 +1861,100 @@ This may take up to a minute. 5G + + SidebarSP + + TEMP + SICAKLIK + + + HIGH + YÜKSEK + + + GOOD + İYİ + + + OK + TAMAM + + + DISABLED + + + + OFFLINE + ÇEVRİMDIŞI + + + REGIST... + + + + ONLINE + ÇEVRİMİÇİ + + + ERROR + HATA + + + SUNNYLINK + + + + + SlcSettings + + Auto + + + + User Confirm + + + + Engage Mode + + + + Default + + + + Fixed + + + + Percentage + + + + Limit Offset + + + + Set speed limit slightly higher than actual speed limit for a more natural drive. + + + + This platform defaults to <b>Auto</b> mode. <b>User Confirm</b> mode is not supported on this platform. + + + + Select the desired mode to set the cruising speed to the speed limit: + + + + Auto: Automatic speed adjustment on motorways based on speed limit data. + + + + User Confirm: Inform the driver to change set speed of Adaptive Cruise Control to help the driver stay within the speed limit. + + + SoftwarePanel @@ -961,6 +2030,233 @@ This may take up to a minute. + + SoftwarePanelSP + + Driving Model + + + + SELECT + + + + PENDING + + + + Downloading Driving model + + + + (CACHED) + + + + Driving model + + + + downloaded + + + + Downloading Navigation model + + + + Navigation model + + + + Downloading Metadata model + + + + Metadata model + + + + Downloads have failed, please try swapping the model! + + + + Failed: + + + + Fetching models... + + + + Select a Driving Model + + + + Download has started in the background. + + + + We STRONGLY suggest you to reset calibration. Would you like to do that now? + + + + Reset Calibration + Kalibrasyonu sıfırla + + + Warning: You are on a metered connection! + + + + Continue + Devam et + + + on Metered + + + + + SpeedLimitPolicySettings + + Speed Limit Source Policy + + + + Nav + + + + Only + + + + Map + + + + Car + + + + First + + + + Select the precedence order of sources. Utilized by Speed Limit Control and Speed Limit Warning + + + + Nav Only: Data from Mapbox active navigation only. + + + + Map Only: Data from OpenStreetMap only. + + + + Car Only: Data from the car's built-in sources (if available). + + + + Nav First: Nav -> Map -> Car + + + + Map First: Map -> Nav -> Car + + + + Car First: Car -> Nav -> Map + + + + + SpeedLimitValueOffset + + km/h + km/h + + + mph + mph + + + + SpeedLimitWarningSettings + + Off + + + + Display + + + + Chime + + + + Speed Limit Warning + + + + Warning with speed limit flash + + + + When Speed Limit Warning is enabled, the speed limit sign will alert the driver when the cruising speed is faster than then speed limit plus the offset. + + + + Default + + + + Fixed + + + + Percentage + + + + Warning Offset + + + + Select the desired offset to warn the driver when the vehicle is driving faster than the speed limit. + + + + Off: When the cruising speed is faster than the speed limit plus the offset, there will be no warning. + + + + Display: The speed on the speed limit sign turns red to alert the driver when the cruising speed is faster than the speed limit plus the offset. + + + + Chime: The speed on the speed limit sign turns red and chimes to alert the driver when the cruising speed is faster than the speed limit plus the offset. + + + + + SpeedLimitWarningValueOffset + + N/A + N/A + + + km/h + km/h + + + mph + mph + + SshControl @@ -1007,6 +2303,415 @@ This may take up to a minute. SSH aç + + SunnylinkPanel + + Enable sunnylink + + + + Device ID + + + + N/A + N/A + + + This is the master switch, it will allow you to cutoff any sunnylink requests should you want to do that. + + + + 🎉Welcome back! We're excited to see you've enabled sunnylink again! 🚀 + + + + 👋Not going to lie, it's sad to see you disabled sunnylink 😢, but we'll be here when you're ready to come back 🎉. + + + + Sponsor Status + + + + SPONSOR + + + + Become a sponsor of sunnypilot to get early access to sunnylink features when they become available. + + + + Pair GitHub Account + + + + PAIR + + + + Pair your GitHub account to grant your device sponsor benefits, including API access on sunnylink. + + + + sunnylink Dongle ID not found. This may be due to weak internet connection or sunnylink registration issue. Please reboot and try again. + + + + Manage Settings + + + + Backup Settings + + + + Are you sure you want to backup sunnypilot settings? + + + + Back Up + + + + Restore Settings + + + + Are you sure you want to restore the last backed up sunnypilot settings? + + + + Restore + + + + THANKS + + + + Not Sponsor + + + + Paired + + + + Not Paired + + + + Backing up... + + + + Restoring... + + + + + SunnylinkSponsorPopup + + Scan the QR code to login to your GitHub account + + + + Follow the prompts to complete the pairing process + + + + Re-enter the "sunnylink" panel to verify sponsorship status + + + + If sponsorship status was not updated, please contact a moderator on Discord at https://discord.gg/sunnypilot + + + + Scan the QR code to visit sunnyhaibin's GitHub Sponsors page + + + + Choose your sponsorship tier and confirm your support + + + + Join our community on Discord at https://discord.gg/sunnypilot and reach out to a moderator to confirm your sponsor status + + + + Pair your GitHub account + + + + Early Access: Become a sunnypilot Sponsor + + + + + SunnypilotPanel + + Enable M.A.D.S. + + + + Enable the beloved M.A.D.S. feature. Disable toggle to revert back to stock openpilot engagement/disengagement. + + + + Laneless for Curves in "Auto" Mode + + + + While in Auto Lane, switch to Laneless for current/future curves. + + + + Speed Limit Control (SLC) + + + + When you engage ACC, you will be prompted to set the cruising speed to the speed limit of the road adjusted by the Offset and Source Policy specified, or the current driving speed. The maximum cruising speed will always be the MAX set speed. + + + + Enable Vision-based Turn Speed Control (V-TSC) + + + + Use vision path predictions to estimate the appropriate speed to drive through turns ahead. + + + + Enable Map Data Turn Speed Control (M-TSC) (Beta) + + + + Use curvature information from map data to define speed limits to take turns ahead. + + + + ACC +/-: Long Press Reverse + + + + Change the ACC +/- buttons behavior with cruise speed change in sunnypilot. + + + + Disabled (Stock): Short=1, Long = 5 (imperial) / 10 (metric) + + + + Enabled: Short = 5 (imperial) / 10 (metric), Long=1 + + + + Custom Offsets + + + + Neural Network Lateral Control (NNLC) + + + + NNLC: Remove Lateral Jerk Response (Alpha) + + + + When NNLC is active, enable this to disables the use of lateral jerk in steering torque calculations, focusing solely on lateral acceleration for a simplified control response. + + + + Enforce Torque Lateral Control + + + + Enable this to enforce sunnypilot to steer with Torque lateral control. + + + + Lateral Jerk with Torque Lateral Control (Alpha) + + + + Utilizes limited lateral jerk control for improved steering response, leveraging stock torque lateral controller capabilities. Designed to mimic NNLC behavior without training models or data collection. + + + + Enable Self-Tune + + + + Enables self-tune for Torque lateral control for platforms that do not use Torque lateral control by default. + + + + Less Restrict Settings for Self-Tune (Beta) + + + + Less strict settings when using Self-Tune. This allows torqued to be more forgiving when learning values. + + + + Enable Custom Tuning + + + + Enables custom tuning for Torque lateral control. Modifying FRICTION and LAT_ACCEL_FACTOR below will override the offline values indicated in the YAML files within "selfdrive/torque_data". The values will also be used live when "Override Self-Tune" toggle is enabled. + + + + Manual Real-Time Tuning + + + + Enforces the torque lateral controller to use the fixed values instead of the learned values from Self-Tune. Enabling this toggle overrides Self-Tune values. + + + + Quiet Drive 🤫 + + + + sunnypilot will display alerts but only play the most important warning sounds. This feature can be toggled while the car is on. + + + + Green Traffic Light Chime (Beta) + + + + A chime will play when the traffic light you are waiting for turns green and you have no vehicle in front of you. If you are waiting behind another vehicle, the chime will play once the vehicle advances unless ACC is engaged. + + + + Note: This chime is only designed as a notification. It is the driver's responsibility to observe their environment and make decisions accordingly. + + + + Lead Vehicle Departure Alert + + + + Enable this will notify when the leading vehicle drives away. + + + + Customize M.A.D.S. + + + + Customize Lane Change + + + + Customize Offsets + + + + Customize Speed Limit Control + + + + Customize Warning + + + + Customize Source + + + + Laneful + + + + Laneless + + + + Auto + + + + Dynamic Lane Profile + + + + Speed Limit Assist + + + + Real-time and Offline + + + + Offline Only + + + + Dynamic Lane Profile is not available with the current Driving Model + + + + Custom Offsets is not available with the current Driving Model + + + + NNLC is currently not available on this platform. + + + + Match: "Exact" is ideal, but "Fuzzy" is fine too. Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server if there are any issues: + + + + Start the car to check car compatibility + + + + NNLC Not Loaded + + + + NNLC Loaded + + + + Fuzzy + + + + Exact + + + + Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server and donate logs to get NNLC loaded for your car: + + + + Match + + + + Formerly known as <b>"NNFF"</b>, this replaces the lateral <b>"torque"</b> controller, with one using a neural network trained on each car's (actually, each separate EPS firmware) driving data for increased controls accuracy. + + + + Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server with feedback, or to provide log data for your car if your car is currently unsupported: + + + + Add custom offsets to Camera and Path in sunnypilot. + + + + Default is Laneless. In Auto mode, sunnnypilot dynamically chooses between Laneline or Laneless model based on lane recognition confidence level on road and certain conditions. + + + TermsPage @@ -1026,15 +2731,30 @@ This may take up to a minute. Kabul et + + TermsPageSP + + Terms & Conditions + Şartlar ve Koşullar + + + Decline + Reddet + + + Scroll to accept + Kabul etmek için kaydırın + + TogglesPanel Enable openpilot - openpilot'u aktifleştir + openpilot'u aktifleştir Use the openpilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. - Ayarlanabilir hız sabitleyici ve şeritte kalma yardımı için openpilot sistemini kullanın. Bu özelliği kullanırken her zaman dikkatli olmanız gerekiyor. Bu ayarın değiştirilmesi için araç kapatılıp açılması gerekiyor. + Ayarlanabilir hız sabitleyici ve şeritte kalma yardımı için openpilot sistemini kullanın. Bu özelliği kullanırken her zaman dikkatli olmanız gerekiyor. Bu ayarın değiştirilmesi için araç kapatılıp açılması gerekiyor. Enable Lane Departure Warnings @@ -1066,19 +2786,19 @@ This may take up to a minute. Show ETA in 24h Format - Tahmini varış süresini 24 saat formatı şeklinde göster + Tahmini varış süresini 24 saat formatı şeklinde göster Use 24h format instead of am/pm - 24 saat formatını kullan + 24 saat formatını kullan Show Map on Left Side of UI - Haritayı arayüzün sol tarafında göster + Haritayı arayüzün sol tarafında göster Show map on left side when in split screen view. - Bölünmüş ekran görünümündeyken haritayı sol tarafta göster. + Bölünmüş ekran görünümündeyken haritayı sol tarafta göster. openpilot Longitudinal Control (Alpha) @@ -1164,6 +2884,256 @@ This may take up to a minute. Enable driver monitoring even when openpilot is not engaged. + + Enable sunnypilot + + + + Use the sunnypilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. + + + + + TogglesPanelSP + + Enable sunnypilot + + + + Use the sunnypilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. + + + + openpilot Longitudinal Control (Alpha) + + + + WARNING: sunnypilot longitudinal control is in alpha for this car and will disable Automatic Emergency Braking (AEB). + + + + On this car, sunnypilot defaults to the car's built-in ACC instead of openpilot's longitudinal control. Enable this to switch to sunnypilot longitudinal control. Enabling Experimental mode is recommended when enabling sunnypilot longitudinal control alpha. + + + + Custom Stock Longitudinal Control + + + + When enabled, sunnypilot will attempt to control stock longitudinal control with ACC button presses. +This feature must be used along with SLC, and/or V-TSC, and/or M-TSC. + + + + Use Planner Speed + + + + Experimental Mode + + + + Enable Dynamic Experimental Control + + + + Enable toggle to allow the model to determine when to use sunnypilot ACC or sunnypilot End to End Longitudinal. + + + + Enable Dynamic Personality + + + + Enable this to allow sunnypilot to dynamically adjust following distance and reaction based on your "Driving Personality" setting. Instead of predefined settings for each personality, every personality now adapts dynamically according to your speed and the distance to the lead car. + + + + Disengage on Accelerator Pedal + + + + When enabled, pressing the accelerator pedal will disengage openpilot. + Aktifleştirilirse eğer gaz pedalına basınca openpilot devre dışı kalır. + + + Enable Lane Departure Warnings + Şerit ihlali uyarı alın + + + Receive alerts to steer back into the lane when your vehicle drifts over a detected lane line without a turn signal activated while driving over 31 mph (50 km/h). + 50 km/s (31 mph) hızın üzerinde sürüş sırasında aracınız dönüş sinyali vermeden algılanan bir sonraki başlatılışında çekilir. şerit çizgisi ihlalinde şeride geri dönmek için uyarılar alın. + + + Always-On Driver Monitoring + + + + Enable driver monitoring even when sunnypilot is not engaged. + + + + Record and Upload Driver Camera + Sürücü kamerasını kayıt et. + + + Upload data from the driver facing camera and help improve the driver monitoring algorithm. + Sürücüye bakan kamera verisini yükleyin ve Cihazın algoritmasını geliştirmemize yardımcı olun. + + + Disable Onroad Uploads + + + + Disable uploads completely when onroad. Necessary to avoid high data usage when connected to Wi-Fi hotspot. Turn on this feature if you are looking to utilize map-based features, such as Speed Limit Control (SLC) and Map-based Turn Speed Control (MTSC). + + + + Use Metric System + Metrik sistemi kullan + + + Display speed in km/h instead of mph. + Hızı mph yerine km/h şeklinde görüntüleyin. + + + Show ETA in 24h Format + Tahmini varış süresini 24 saat formatı şeklinde göster + + + Use 24h format instead of am/pm + 24 saat formatını kullan + + + Show Map on Left Side of UI + Haritayı arayüzün sol tarafında göster + + + Show map on left side when in split screen view. + Bölünmüş ekran görünümündeyken haritayı sol tarafta göster. + + + Aggressive + + + + Moderate + + + + Standard + + + + Relaxed + + + + Driving Personality + + + + Standard is recommended. In moderate/aggressive mode, sunnypilot will follow lead cars closer and be more aggressive with the gas and brake. In relaxed mode sunnypilot will stay further away from lead cars. On supported cars, you can cycle through these personalities with your steering wheel distance button. + + + + Sport + + + + Normal + + + + Eco + + + + Stock + + + + Acceleration Personality + + + + Normal is recommended. In sport mode, sunnypilot will provide aggressive acceleration for a dynamic driving experience. In eco mode, sunnypilot will apply smoother and more relaxed acceleration. On supported cars, you can cycle through these acceleration personality within Onroad Settings on the driving screen. + + + + openpilot defaults to driving in <b>chill mode</b>. Experimental mode enables <b>alpha-level features</b> that aren't ready for chill mode. Experimental features are listed below: + + + + End-to-End Longitudinal Control + + + + Let the driving model control the gas and brakes. sunnypilot will drive as it thinks a human would, including stopping for red lights and stop signs. Since the driving model decides the speed to drive, the set speed will only act as an upper bound. This is an alpha quality feature; mistakes should be expected. + + + + New Driving Visualization + + + + The driving visualization will transition to the road-facing wide-angle camera at low speeds to better show some turns. The Experimental mode logo will also be shown in the top right corner. + + + + Experimental mode is currently unavailable on this car since the car's stock ACC is used for longitudinal control. + + + + openpilot longitudinal control may come in a future update. + + + + An alpha version of sunnypilot longitudinal control can be tested, along with Experimental mode, on non-release branches. + + + + Enable the sunnypilot longitudinal control (alpha) toggle to allow Experimental mode. + + + + + TorqueFriction + + FRICTION + + + + Adjust Friction for the Torque Lateral Controller. <b>Live</b>: Override self-tune values; <b>Offline</b>: Override self-tune offline values at car restart. + + + + Real-time and Offline + + + + Offline Only + + + + + TorqueMaxLatAccel + + LAT_ACCEL_FACTOR + + + + Adjust Max Lateral Acceleration for the Torque Lateral Controller. <b>Live</b>: Override self-tune values; <b>Offline</b>: Override self-tune offline values at car restart. + + + + Real-time and Offline + + + + Offline Only + + Updater @@ -1200,6 +3170,168 @@ This may take up to a minute. Güncelleme başarız oldu + + VehiclePanel + + Updating this setting takes effect when the car is powered off. + + + + Select your car + + + + + VisualsPanel + + Display Braking Status + + + + Enable this will turn the current speed value to red while the brake is used. + + + + Display Stand Still Timer + + + + Enable this will display time spent at a stop (i.e., at a stop lights, stop signs, traffic congestions). + + + + Display DM Camera in Reverse Gear + + + + Show Driver Monitoring camera while the car is in reverse gear. + + + + OSM: Show debug UI elements + + + + OSM: Show UI elements that aid debugging. + + + + Display Feature Status + + + + Display the statuses of certain features on the driving screen. + + + + Enable Onroad Settings + + + + Display the Onroad Settings button on the driving screen to adjust feature options on the driving screen, without navigating into the settings menu. + + + + Speedometer: Display True Speed + + + + Display the true vehicle current speed from wheel speed sensors. + + + + Speedometer: Hide from Onroad Screen + + + + Display End-to-end Longitudinal Status (Beta) + + + + Enable this will display an icon that appears when the End-to-end model decides to start or stop. + + + + Navigation: Display in Full Screen + + + + Enable this will display the built-in navigation in full screen.<br>To switch back to driving view, <font color='yellow'>tap on the border edge</font>. + + + + Map: Display 3D Buildings + + + + Parse and display 3D buildings on map. Thanks to jakethesnake420 for this implementation. + + + + Off + + + + 5 Metrics + + + + 10 Metrics + + + + Developer UI + + + + Display real-time parameters and metrics from various sources. + + + + Distance + + + + Speed + + + + Time + + + + All + + + + Display Metrics Below Chevron + + + + Display useful metrics below the chevron that tracks the lead car (only applicable to cars with openpilot longitudinal control). + + + + RAM + + + + CPU + + + + GPU + + + + Max + + + + Display Temperature on Sidebar + + + WiFiPromptWidget @@ -1246,4 +3378,27 @@ This may take up to a minute. + + WifiUISP + + Scanning for networks... + Ağ aranıyor... + + + CONNECTING... + BAĞLANILIYOR... + + + FORGET + UNUT + + + Forget Wi-Fi Network "%1"? + Wi-Fi ağını unut "%1"? + + + Forget + + + diff --git a/selfdrive/ui/translations/main_zh-CHS.ts b/selfdrive/ui/translations/main_zh-CHS.ts index 32119ee10f..a5f21dac89 100644 --- a/selfdrive/ui/translations/main_zh-CHS.ts +++ b/selfdrive/ui/translations/main_zh-CHS.ts @@ -87,6 +87,89 @@ 网络名称:"%1" + + AdvancedNetworkingSP + + Back + 返回 + + + Enable Tethering + 启用WiFi热点 + + + Retain hotspot/tethering state + + + + Enabling this toggle will retain the hotspot/tethering toggle state across reboots. + + + + Tethering Password + WiFi热点密码 + + + EDIT + 编辑 + + + Enter new tethering password + 输入新的WiFi热点密码 + + + IP Address + IP地址 + + + Enable Roaming + 启用数据漫游 + + + APN Setting + APN设置 + + + Enter APN + 输入APN + + + leave blank for automatic configuration + 留空以自动配置 + + + Cellular Metered + 按流量计费的手机移动网络 + + + Prevent large data uploads when on a metered connection + 当使用按流量计费的连接时,避免上传大流量数据 + + + Hidden Network + 隐藏的网络 + + + CONNECT + + + + Enter SSID + 输入 SSID + + + Enter password + 输入密码 + + + for "%1" + 网络名称:"%1" + + + Ngrok Service + + + AnnotatedCameraWidget @@ -103,11 +186,127 @@ SPEED - SPEED + SPEED LIMIT - LIMIT + LIMIT + + + + AnnotatedCameraWidgetSP + + km/h + km/h + + + mph + mph + + + blended + + + + acc + + + + MAX + 最高定速 + + + SPEED + SPEED + + + LIMIT + LIMIT + + + + AutoLaneChangeTimer + + Auto Lane Change by Blinker + + + + Set a timer to delay the auto lane change operation when the blinker is used. No nudge on the steering wheel is required to auto lane change if a timer is set. Default is Nudge. +Please use caution when using this feature. Only use the blinker when traffic and road conditions permit. + + + + s + + + + Off + + + + Nudge + + + + Nudgeless + + + + + BackupSettings + + Settings backed up for sunnylink Device ID: + + + + Settings updated successfully, but no additional data was returned by the server. + + + + OOPS! We made a booboo. + + + + Please try again later. + + + + Settings restored. Confirm to restart the interface. + + + + No settings found to restore. + + + + + BrightnessControl + + Brightness + + + + Manually adjusts the global brightness of the screen. + + + + Auto + + + + + CameraOffset + + Camera Offset - Laneful Only + + + + Hack to trick vehicle to be left or right biased in its lane. Decreasing the value will make the car keep more left, increasing will make it keep more right. Changes take effect immediately. Default: +4 cm + + + + cm + @@ -121,11 +320,18 @@ 取消 + + CustomOffsetsSettings + + Back + 返回 + + DeclinePage You must accept the Terms and Conditions in order to use openpilot. - 您必须接受条款和条件以使用openpilot。 + 您必须接受条款和条件以使用openpilot。 Back @@ -135,6 +341,10 @@ Decline, uninstall %1 拒绝并卸载%1 + + You must accept the Terms and Conditions in order to use sunnypilot. + + DestinationWidget @@ -247,7 +457,7 @@ openpilot requires the device to be mounted within 4° left or right and within 5° up or 9° down. openpilot is continuously calibrating, resetting is rarely required. - openpilot要求设备安装的偏航角在左4°和右4°之间,俯仰角在上5°和下9°之间。一般来说,openpilot会持续更新校准,很少需要重置。 + openpilot要求设备安装的偏航角在左4°和右4°之间,俯仰角在上5°和下9°之间。一般来说,openpilot会持续更新校准,很少需要重置。 Your device is pointed %1° %2 and %3° %4. @@ -305,6 +515,155 @@ PAIR 配对 + + sunnypilot requires the device to be mounted within 4° left or right and within 5° up or 9° down. sunnypilot is continuously calibrating, resetting is rarely required. + + + + + DevicePanelSP + + TOGGLE + + + + Enable or disable PIN requirement for Fleet Manager access. + + + + Are you sure you want to turn off PIN requirement? + + + + Turn Off + + + + Error Troubleshoot + + + + VIEW + 查看 + + + Display error from the tmux session when an error has occurred from a system process. + + + + Reset Access Tokens for Map Services + + + + RESET + 重置 + + + Reset self-service access tokens for Mapbox, Amap, and Google Maps. + + + + Are you sure you want to reset access tokens for all map services? + + + + Reset + 重置 + + + Reset sunnypilot Settings + + + + Are you sure you want to reset all sunnypilot settings? + + + + Toggle Onroad/Offroad + + + + OFF + + + + Are you sure you want to unforce offroad? + + + + Unforce + + + + Are you sure you want to force offroad? + + + + Force + + + + Disengage to Force Offroad + + + + Unforce Offroad + + + + Force Offroad + + + + Fleet Manager PIN: + + + + + DisplayPanel + + Driving Screen Off: Non-Critical Events + + + + When <b>Driving Screen Off Timer</b> is not set to <b>"Always On"</b>: + + + + Enabled: Wake the brightness of the screen to display all events. + + + + Disabled: Wake the brightness of the screen to display critical events. + + + + + DriveStats + + Drives + + + + Hours + + + + ALL TIME + + + + PAST WEEK + + + + KM + + + + Miles + + DriverViewWindow @@ -344,6 +703,79 @@ 正在安装…… + + LaneChangeSettings + + Back + 返回 + + + Pause Lateral Below Speed with Blinker + + + + Enable this toggle to pause lateral actuation with blinker when traveling below the desired speed selected below. + + + + Auto Lane Change: Delay with Blind Spot + + + + Toggle to enable a delay timer for seamless lane changes when blind spot monitoring (BSM) detects a obstructing vehicle, ensuring safe maneuvering. + + + + Block Lane Change: Road Edge Detection + + + + Enable this toggle to block lane change when road edge is detected on the stalk actuated side. + + + + + MadsSettings + + Enable ACC+MADS with RES+/SET- + + + + Engage both M.A.D.S. and ACC with a single press of RES+ or SET- button. + + + + Note: Once M.A.D.S. is engaged via this mode, it will remain engaged until it is manually disabled via the M.A.D.S. button or car shut off. + + + + Toggle M.A.D.S. with Cruise Main + + + + Allows M.A.D.S. engagement/disengagement with "Cruise Main" cruise control button from the steering wheel. + + + + Remain Active + + + + Pause Steering + + + + Steering Mode After Braking + + + + Choose how Automatic Lane Centering (ALC) behaves after the brake pedal is manually pressed in sunnypilot. + +Remain Active: ALC will remain active even after the brake pedal is pressed. +Pause Steering: ALC will be paused after the brake pedal is manually pressed. + + + MapETA @@ -385,6 +817,63 @@ 等待路线 + + MapWindowSP + + Map Loading + 地图加载中 + + + Waiting for GPS + 等待 GPS + + + Waiting for route + 等待路线 + + + + MaxTimeOffroad + + Max Time Offroad + + + + Device is automatically turned off after a set time when the engine is turned off (off-road) after driving (on-road). + + + + s + + + + m + m + + + hr + 小时 + + + Always On + + + + Immediate + + + + + MonitoringPanel + + Enable Hands on Wheel Monitoring + + + + Monitor and alert when driver is not keeping the hands on the steering wheel. + + + MultiOptionDialog @@ -415,6 +904,33 @@ 密码错误 + + NetworkingSP + + Scan + + + + Scanning... + + + + Advanced + 高级 + + + Enter password + 输入密码 + + + for "%1" + 网络名称:"%1" + + + Wrong password + 密码错误 + + OffroadAlert @@ -467,6 +983,16 @@ Device temperature too high. System cooling down before starting. Current internal component temperature: %1 设备温度过高。系统正在冷却中,等冷却完毕后才会启动。目前内部组件温度:%1 + + OpenStreetMap database is out of date. New maps must be downloaded if you wish to continue using OpenStreetMap data for Enhanced Speed Control and road name display. + +%1 + + + + sunnypilot is now in Forced Offroad mode. sunnypilot won't start until Forced Offroad mode is disabled. Go to "Settings" -> "Device" -> "Unforce Offroad" to exit Force Offroad mode. + + OffroadHome @@ -506,6 +1032,186 @@ 重启设备 + + OnroadScreenOff + + Driving Screen Off Timer + + + + Turn off the device screen or reduce brightness to protect the screen after driving starts. It automatically brightens or turns on when a touch or event occurs. + + + + s + + + + min + 分钟 + + + Always On + + + + + OnroadScreenOffBrightness + + Driving Screen Off Brightness (%) + + + + When using the Driving Screen Off feature, the brightness is reduced according to the automatic brightness ratio. + + + + Dark + + + + + OnroadSettings + + ONROAD OPTIONS + + + + <b>ONROAD SETTINGS | SUNNYPILOT</b> + + + + + OsmPanel + + Mapd Version + + + + Offline Maps ETA + + + + Time Elapsed + + + + Downloaded Maps + + + + DELETE + + + + This will delete ALL downloaded maps + +Are you sure you want to delete all the maps? + + + + Yes, delete all the maps. + + + + Database Update + + + + CHECK + 查看 + + + Country + + + + SELECT + 选择 + + + Fetching Country list... + + + + State + + + + Fetching State list... + + + + All + + + + REFRESH + + + + UPDATE + 更新 + + + Download starting... + + + + Error: Invalid download. Retry. + + + + Download complete! + + + + + +Warning: You are on a metered connection! + + + + This will start the download process and it might take a while to complete. + + + + Continue on Metered + + + + Start Download + + + + m + + + + s + + + + Calculating... + + + + Downloaded + + + + Calculating ETA... + + + + Ready + + + + Time remaining: + + + PairingPopup @@ -536,6 +1242,51 @@ 启用 + + ParamControlSP + + Enable + 启用 + + + Cancel + 取消 + + + + PathOffset + + Path Offset + + + + Hack to trick the model path to be left or right biased of the lane. Decreasing the value will shift the model more left, increasing will shift the model more right. Changes take effect immediately. + + + + cm + + + + + PauseLateralSpeed + + Pause lateral actuation with blinker when traveling below the desired speed selected. Default is 20 MPH or 32 km/h. + + + + Default + + + + km/h + km/h + + + mph + mph + + PrimeAdWidget @@ -590,7 +1341,7 @@ openpilot - openpilot + openpilot %n minute(s) ago @@ -630,6 +1381,30 @@ now 现在 + + sunnypilot + + + + Update downloaded. Ready to reboot. + + + + Update: Check and Download Update + + + + Reboot: Reboot Device + + + + Update + + + + Updating... + + Reset @@ -672,6 +1447,151 @@ This may take up to a minute. 系统重置已触发。按下“确认”以清除所有内容和设置,按下“取消”以继续启动。 + + SPVehiclesTogglesPanel + + Hyundai/Kia/Genesis + + + + HKG: Custom Tuning for New Longitudinal API + + + + HKG CAN: Enable Cruise Main By Default + + + + Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS + + + + Subaru + + + + Manual Parking Brake: Stop and Go (Beta) + + + + Experimental feature to enable stop and go for Subaru Global models with manual handbrake. Models with electric parking brake should keep this disabled. Thanks to martinl for this implementation! + + + + Toyota/Lexus + + + + Enable Stock Toyota Longitudinal Control + + + + sunnypilot will <b>not</b> take over control of gas and brakes. Stock Toyota longitudinal control will be used. + + + + Allow M.A.D.S. toggling w/ LKAS Button (Beta) + + + + Allows M.A.D.S. engagement/disengagement with "LKAS" button from the steering wheel. + + + + Note: Enabling this toggle may have unexpected behavior with steering control. It is the driver's responsibility to observe their environment and make decisions accordingly. + + + + Toyota TSS2 Longitudinal: Custom Tuning + + + + Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation. + + + + Enable Automatic Brake Hold (AHB) + + + + WARNING: Only for Toyota/Lexus vehicles with TSS2/LSS2. USE AT YOUR OWN RISK. + + + + When you stop the vehicle completely by depressing the brake pedal, sunnypilot will activate Auto Brake Hold. + + + + Changing this setting takes effect when the car is powered off. + + + + Enable Enhanced Blind Spot Monitor + + + + Enable Toyota Stop and Go Hack + + + + sunnypilot will allow some Toyota/Lexus cars to auto resume during stop and go traffic. This feature is only applicable to certain models. Use at your own risk. + + + + Enable Toyota Door Auto Locking + + + + sunnypilot will attempt to lock the doors when drive above 10 km/h (6.2 mph). +Reboot Required. + + + + Enable Toyota Door Auto Unlocking + + + + sunnypilot will attempt to unlock the doors when shift to gear P. +Reboot Required. + + + + Volkswagen + + + + Enable CC Only support + + + + sunnypilot supports Volkswagen MQB CC only platforms with this toggle enabled. Only enable this toggle if your car does not have ACC from the factory. + + + + Start the car to check car compatibility + + + + This platform is already supported, therefore no need to enable this toggle + + + + This platform is not supported + + + + This platform can be supported + + + + sunnypilot will use debugging CAN messages to receive unfiltered BSM signals, allowing detection of more objects. + + + + Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2. + + + SettingsWindow @@ -695,6 +1615,61 @@ This may take up to a minute. 软件 + + SettingsWindowSP + + × + × + + + Device + 设备 + + + Network + 网络 + + + sunnylink + + + + Toggles + 设定 + + + Software + 软件 + + + sunnypilot + + + + OSM + + + + Monitoring + + + + Visuals + + + + Display + + + + Trips + + + + Vehicle + + + Setup @@ -888,6 +1863,100 @@ This may take up to a minute. 5G + + SidebarSP + + TEMP + 设备温度 + + + HIGH + 过热 + + + GOOD + 良好 + + + OK + 一般 + + + DISABLED + + + + OFFLINE + 离线 + + + REGIST... + + + + ONLINE + 在线 + + + ERROR + 连接出错 + + + SUNNYLINK + + + + + SlcSettings + + Auto + + + + User Confirm + + + + Engage Mode + + + + Default + + + + Fixed + + + + Percentage + + + + Limit Offset + + + + Set speed limit slightly higher than actual speed limit for a more natural drive. + + + + This platform defaults to <b>Auto</b> mode. <b>User Confirm</b> mode is not supported on this platform. + + + + Select the desired mode to set the cruising speed to the speed limit: + + + + Auto: Automatic speed adjustment on motorways based on speed limit data. + + + + User Confirm: Inform the driver to change set speed of Adaptive Cruise Control to help the driver stay within the speed limit. + + + SoftwarePanel @@ -963,6 +2032,233 @@ This may take up to a minute. 从未更新 + + SoftwarePanelSP + + Driving Model + + + + SELECT + 选择 + + + PENDING + + + + Downloading Driving model + + + + (CACHED) + + + + Driving model + + + + downloaded + + + + Downloading Navigation model + + + + Navigation model + + + + Downloading Metadata model + + + + Metadata model + + + + Downloads have failed, please try swapping the model! + + + + Failed: + + + + Fetching models... + + + + Select a Driving Model + + + + Download has started in the background. + + + + We STRONGLY suggest you to reset calibration. Would you like to do that now? + + + + Reset Calibration + 重置设备校准 + + + Warning: You are on a metered connection! + + + + Continue + 继续 + + + on Metered + + + + + SpeedLimitPolicySettings + + Speed Limit Source Policy + + + + Nav + + + + Only + + + + Map + + + + Car + + + + First + + + + Select the precedence order of sources. Utilized by Speed Limit Control and Speed Limit Warning + + + + Nav Only: Data from Mapbox active navigation only. + + + + Map Only: Data from OpenStreetMap only. + + + + Car Only: Data from the car's built-in sources (if available). + + + + Nav First: Nav -> Map -> Car + + + + Map First: Map -> Nav -> Car + + + + Car First: Car -> Nav -> Map + + + + + SpeedLimitValueOffset + + km/h + km/h + + + mph + mph + + + + SpeedLimitWarningSettings + + Off + + + + Display + + + + Chime + + + + Speed Limit Warning + + + + Warning with speed limit flash + + + + When Speed Limit Warning is enabled, the speed limit sign will alert the driver when the cruising speed is faster than then speed limit plus the offset. + + + + Default + + + + Fixed + + + + Percentage + + + + Warning Offset + + + + Select the desired offset to warn the driver when the vehicle is driving faster than the speed limit. + + + + Off: When the cruising speed is faster than the speed limit plus the offset, there will be no warning. + + + + Display: The speed on the speed limit sign turns red to alert the driver when the cruising speed is faster than the speed limit plus the offset. + + + + Chime: The speed on the speed limit sign turns red and chimes to alert the driver when the cruising speed is faster than the speed limit plus the offset. + + + + + SpeedLimitWarningValueOffset + + N/A + N/A + + + km/h + km/h + + + mph + mph + + SshControl @@ -1009,6 +2305,415 @@ This may take up to a minute. 启用SSH + + SunnylinkPanel + + Enable sunnylink + + + + Device ID + + + + N/A + N/A + + + This is the master switch, it will allow you to cutoff any sunnylink requests should you want to do that. + + + + 🎉Welcome back! We're excited to see you've enabled sunnylink again! 🚀 + + + + 👋Not going to lie, it's sad to see you disabled sunnylink 😢, but we'll be here when you're ready to come back 🎉. + + + + Sponsor Status + + + + SPONSOR + + + + Become a sponsor of sunnypilot to get early access to sunnylink features when they become available. + + + + Pair GitHub Account + + + + PAIR + 配对 + + + Pair your GitHub account to grant your device sponsor benefits, including API access on sunnylink. + + + + sunnylink Dongle ID not found. This may be due to weak internet connection or sunnylink registration issue. Please reboot and try again. + + + + Manage Settings + + + + Backup Settings + + + + Are you sure you want to backup sunnypilot settings? + + + + Back Up + + + + Restore Settings + + + + Are you sure you want to restore the last backed up sunnypilot settings? + + + + Restore + + + + THANKS + + + + Not Sponsor + + + + Paired + + + + Not Paired + + + + Backing up... + + + + Restoring... + + + + + SunnylinkSponsorPopup + + Scan the QR code to login to your GitHub account + + + + Follow the prompts to complete the pairing process + + + + Re-enter the "sunnylink" panel to verify sponsorship status + + + + If sponsorship status was not updated, please contact a moderator on Discord at https://discord.gg/sunnypilot + + + + Scan the QR code to visit sunnyhaibin's GitHub Sponsors page + + + + Choose your sponsorship tier and confirm your support + + + + Join our community on Discord at https://discord.gg/sunnypilot and reach out to a moderator to confirm your sponsor status + + + + Pair your GitHub account + + + + Early Access: Become a sunnypilot Sponsor + + + + + SunnypilotPanel + + Enable M.A.D.S. + + + + Enable the beloved M.A.D.S. feature. Disable toggle to revert back to stock openpilot engagement/disengagement. + + + + Laneless for Curves in "Auto" Mode + + + + While in Auto Lane, switch to Laneless for current/future curves. + + + + Speed Limit Control (SLC) + + + + When you engage ACC, you will be prompted to set the cruising speed to the speed limit of the road adjusted by the Offset and Source Policy specified, or the current driving speed. The maximum cruising speed will always be the MAX set speed. + + + + Enable Vision-based Turn Speed Control (V-TSC) + + + + Use vision path predictions to estimate the appropriate speed to drive through turns ahead. + + + + Enable Map Data Turn Speed Control (M-TSC) (Beta) + + + + Use curvature information from map data to define speed limits to take turns ahead. + + + + ACC +/-: Long Press Reverse + + + + Change the ACC +/- buttons behavior with cruise speed change in sunnypilot. + + + + Disabled (Stock): Short=1, Long = 5 (imperial) / 10 (metric) + + + + Enabled: Short = 5 (imperial) / 10 (metric), Long=1 + + + + Custom Offsets + + + + Neural Network Lateral Control (NNLC) + + + + NNLC: Remove Lateral Jerk Response (Alpha) + + + + When NNLC is active, enable this to disables the use of lateral jerk in steering torque calculations, focusing solely on lateral acceleration for a simplified control response. + + + + Enforce Torque Lateral Control + + + + Enable this to enforce sunnypilot to steer with Torque lateral control. + + + + Lateral Jerk with Torque Lateral Control (Alpha) + + + + Utilizes limited lateral jerk control for improved steering response, leveraging stock torque lateral controller capabilities. Designed to mimic NNLC behavior without training models or data collection. + + + + Enable Self-Tune + + + + Enables self-tune for Torque lateral control for platforms that do not use Torque lateral control by default. + + + + Less Restrict Settings for Self-Tune (Beta) + + + + Less strict settings when using Self-Tune. This allows torqued to be more forgiving when learning values. + + + + Enable Custom Tuning + + + + Enables custom tuning for Torque lateral control. Modifying FRICTION and LAT_ACCEL_FACTOR below will override the offline values indicated in the YAML files within "selfdrive/torque_data". The values will also be used live when "Override Self-Tune" toggle is enabled. + + + + Manual Real-Time Tuning + + + + Enforces the torque lateral controller to use the fixed values instead of the learned values from Self-Tune. Enabling this toggle overrides Self-Tune values. + + + + Quiet Drive 🤫 + + + + sunnypilot will display alerts but only play the most important warning sounds. This feature can be toggled while the car is on. + + + + Green Traffic Light Chime (Beta) + + + + A chime will play when the traffic light you are waiting for turns green and you have no vehicle in front of you. If you are waiting behind another vehicle, the chime will play once the vehicle advances unless ACC is engaged. + + + + Note: This chime is only designed as a notification. It is the driver's responsibility to observe their environment and make decisions accordingly. + + + + Lead Vehicle Departure Alert + + + + Enable this will notify when the leading vehicle drives away. + + + + Customize M.A.D.S. + + + + Customize Lane Change + + + + Customize Offsets + + + + Customize Speed Limit Control + + + + Customize Warning + + + + Customize Source + + + + Laneful + + + + Laneless + + + + Auto + + + + Dynamic Lane Profile + + + + Speed Limit Assist + + + + Real-time and Offline + + + + Offline Only + + + + Dynamic Lane Profile is not available with the current Driving Model + + + + Custom Offsets is not available with the current Driving Model + + + + NNLC is currently not available on this platform. + + + + Match: "Exact" is ideal, but "Fuzzy" is fine too. Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server if there are any issues: + + + + Start the car to check car compatibility + + + + NNLC Not Loaded + + + + NNLC Loaded + + + + Fuzzy + + + + Exact + + + + Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server and donate logs to get NNLC loaded for your car: + + + + Match + + + + Formerly known as <b>"NNFF"</b>, this replaces the lateral <b>"torque"</b> controller, with one using a neural network trained on each car's (actually, each separate EPS firmware) driving data for increased controls accuracy. + + + + Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server with feedback, or to provide log data for your car if your car is currently unsupported: + + + + Add custom offsets to Camera and Path in sunnypilot. + + + + Default is Laneless. In Auto mode, sunnnypilot dynamically chooses between Laneline or Laneless model based on lane recognition confidence level on road and certain conditions. + + + TermsPage @@ -1028,15 +2733,30 @@ This may take up to a minute. 同意 + + TermsPageSP + + Terms & Conditions + 条款和条件 + + + Decline + 拒绝 + + + Scroll to accept + 滑动以接受 + + TogglesPanel Enable openpilot - 启用openpilot + 启用openpilot Use the openpilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. - 使用openpilot进行自适应巡航和车道保持辅助。使用此功能时您必须时刻保持注意力。该设置的更改在熄火时生效。 + 使用openpilot进行自适应巡航和车道保持辅助。使用此功能时您必须时刻保持注意力。该设置的更改在熄火时生效。 Enable Lane Departure Warnings @@ -1072,19 +2792,19 @@ This may take up to a minute. Show ETA in 24h Format - 以24小时格式显示预计到达时间 + 以24小时格式显示预计到达时间 Use 24h format instead of am/pm - 使用24小时制代替am/pm + 使用24小时制代替am/pm Show Map on Left Side of UI - 在介面左侧显示地图 + 在介面左侧显示地图 Show map on left side when in split screen view. - 在分屏模式中,将地图置于屏幕左侧。 + 在分屏模式中,将地图置于屏幕左侧。 Experimental Mode @@ -1166,6 +2886,256 @@ This may take up to a minute. Enable driver monitoring even when openpilot is not engaged. 即使在openpilot未激活时也启用驾驶员监控。 + + Enable sunnypilot + + + + Use the sunnypilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. + + + + + TogglesPanelSP + + Enable sunnypilot + + + + Use the sunnypilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. + + + + openpilot Longitudinal Control (Alpha) + openpilot纵向控制(Alpha 版) + + + WARNING: sunnypilot longitudinal control is in alpha for this car and will disable Automatic Emergency Braking (AEB). + + + + On this car, sunnypilot defaults to the car's built-in ACC instead of openpilot's longitudinal control. Enable this to switch to sunnypilot longitudinal control. Enabling Experimental mode is recommended when enabling sunnypilot longitudinal control alpha. + + + + Custom Stock Longitudinal Control + + + + When enabled, sunnypilot will attempt to control stock longitudinal control with ACC button presses. +This feature must be used along with SLC, and/or V-TSC, and/or M-TSC. + + + + Use Planner Speed + + + + Experimental Mode + 测试模式 + + + Enable Dynamic Experimental Control + + + + Enable toggle to allow the model to determine when to use sunnypilot ACC or sunnypilot End to End Longitudinal. + + + + Enable Dynamic Personality + + + + Enable this to allow sunnypilot to dynamically adjust following distance and reaction based on your "Driving Personality" setting. Instead of predefined settings for each personality, every personality now adapts dynamically according to your speed and the distance to the lead car. + + + + Disengage on Accelerator Pedal + 踩油门时取消控制 + + + When enabled, pressing the accelerator pedal will disengage openpilot. + 启用后,踩下油门踏板将取消openpilot。 + + + Enable Lane Departure Warnings + 启用车道偏离警告 + + + Receive alerts to steer back into the lane when your vehicle drifts over a detected lane line without a turn signal activated while driving over 31 mph (50 km/h). + 车速超过31mph(50km/h)时,若检测到车辆越过车道线且未打转向灯,系统将发出警告以提醒您返回车道。 + + + Always-On Driver Monitoring + 驾驶员监控常开 + + + Enable driver monitoring even when sunnypilot is not engaged. + + + + Record and Upload Driver Camera + 录制并上传驾驶员摄像头 + + + Upload data from the driver facing camera and help improve the driver monitoring algorithm. + 上传驾驶员摄像头的数据,帮助改进驾驶员监控算法。 + + + Disable Onroad Uploads + + + + Disable uploads completely when onroad. Necessary to avoid high data usage when connected to Wi-Fi hotspot. Turn on this feature if you are looking to utilize map-based features, such as Speed Limit Control (SLC) and Map-based Turn Speed Control (MTSC). + + + + Use Metric System + 使用公制单位 + + + Display speed in km/h instead of mph. + 显示车速时,以km/h代替mph。 + + + Show ETA in 24h Format + 以24小时格式显示预计到达时间 + + + Use 24h format instead of am/pm + 使用24小时制代替am/pm + + + Show Map on Left Side of UI + 在介面左侧显示地图 + + + Show map on left side when in split screen view. + 在分屏模式中,将地图置于屏幕左侧。 + + + Aggressive + 积极 + + + Moderate + + + + Standard + 标准 + + + Relaxed + 舒适 + + + Driving Personality + 驾驶风格 + + + Standard is recommended. In moderate/aggressive mode, sunnypilot will follow lead cars closer and be more aggressive with the gas and brake. In relaxed mode sunnypilot will stay further away from lead cars. On supported cars, you can cycle through these personalities with your steering wheel distance button. + + + + Sport + + + + Normal + + + + Eco + + + + Stock + + + + Acceleration Personality + + + + Normal is recommended. In sport mode, sunnypilot will provide aggressive acceleration for a dynamic driving experience. In eco mode, sunnypilot will apply smoother and more relaxed acceleration. On supported cars, you can cycle through these acceleration personality within Onroad Settings on the driving screen. + + + + openpilot defaults to driving in <b>chill mode</b>. Experimental mode enables <b>alpha-level features</b> that aren't ready for chill mode. Experimental features are listed below: + openpilot 默认 <b>轻松模式</b>驾驶车辆。试验模式启用一些轻松模式之外的 <b>试验性功能</b>。试验性功能包括: + + + End-to-End Longitudinal Control + 端到端纵向控制 + + + Let the driving model control the gas and brakes. sunnypilot will drive as it thinks a human would, including stopping for red lights and stop signs. Since the driving model decides the speed to drive, the set speed will only act as an upper bound. This is an alpha quality feature; mistakes should be expected. + + + + New Driving Visualization + 新驾驶视角 + + + The driving visualization will transition to the road-facing wide-angle camera at low speeds to better show some turns. The Experimental mode logo will also be shown in the top right corner. + 在低速时,驾驶可视化将转换为道路朝向的广角摄像头,以更好地展示某些转弯。测试模式标志也将显示在右上角。 + + + Experimental mode is currently unavailable on this car since the car's stock ACC is used for longitudinal control. + 由于此车辆使用自带的ACC纵向控制,当前无法使用试验模式。 + + + openpilot longitudinal control may come in a future update. + openpilot纵向控制可能会在未来的更新中提供。 + + + An alpha version of sunnypilot longitudinal control can be tested, along with Experimental mode, on non-release branches. + + + + Enable the sunnypilot longitudinal control (alpha) toggle to allow Experimental mode. + + + + + TorqueFriction + + FRICTION + + + + Adjust Friction for the Torque Lateral Controller. <b>Live</b>: Override self-tune values; <b>Offline</b>: Override self-tune offline values at car restart. + + + + Real-time and Offline + + + + Offline Only + + + + + TorqueMaxLatAccel + + LAT_ACCEL_FACTOR + + + + Adjust Max Lateral Acceleration for the Torque Lateral Controller. <b>Live</b>: Override self-tune values; <b>Offline</b>: Override self-tune offline values at car restart. + + + + Real-time and Offline + + + + Offline Only + + Updater @@ -1202,6 +3172,168 @@ This may take up to a minute. 更新失败 + + VehiclePanel + + Updating this setting takes effect when the car is powered off. + + + + Select your car + + + + + VisualsPanel + + Display Braking Status + + + + Enable this will turn the current speed value to red while the brake is used. + + + + Display Stand Still Timer + + + + Enable this will display time spent at a stop (i.e., at a stop lights, stop signs, traffic congestions). + + + + Display DM Camera in Reverse Gear + + + + Show Driver Monitoring camera while the car is in reverse gear. + + + + OSM: Show debug UI elements + + + + OSM: Show UI elements that aid debugging. + + + + Display Feature Status + + + + Display the statuses of certain features on the driving screen. + + + + Enable Onroad Settings + + + + Display the Onroad Settings button on the driving screen to adjust feature options on the driving screen, without navigating into the settings menu. + + + + Speedometer: Display True Speed + + + + Display the true vehicle current speed from wheel speed sensors. + + + + Speedometer: Hide from Onroad Screen + + + + Display End-to-end Longitudinal Status (Beta) + + + + Enable this will display an icon that appears when the End-to-end model decides to start or stop. + + + + Navigation: Display in Full Screen + + + + Enable this will display the built-in navigation in full screen.<br>To switch back to driving view, <font color='yellow'>tap on the border edge</font>. + + + + Map: Display 3D Buildings + + + + Parse and display 3D buildings on map. Thanks to jakethesnake420 for this implementation. + + + + Off + + + + 5 Metrics + + + + 10 Metrics + + + + Developer UI + + + + Display real-time parameters and metrics from various sources. + + + + Distance + + + + Speed + + + + Time + + + + All + + + + Display Metrics Below Chevron + + + + Display useful metrics below the chevron that tracks the lead car (only applicable to cars with openpilot longitudinal control). + + + + RAM + + + + CPU + + + + GPU + + + + Max + + + + Display Temperature on Sidebar + + + WiFiPromptWidget @@ -1248,4 +3380,27 @@ This may take up to a minute. 忽略 + + WifiUISP + + Scanning for networks... + 正在扫描网络…… + + + CONNECTING... + 正在连接…… + + + FORGET + 忽略 + + + Forget Wi-Fi Network "%1"? + 忽略WiFi网络 "%1"? + + + Forget + 忽略 + + diff --git a/selfdrive/ui/translations/main_zh-CHT.ts b/selfdrive/ui/translations/main_zh-CHT.ts index 9d1c16db9f..67e5cd0b08 100644 --- a/selfdrive/ui/translations/main_zh-CHT.ts +++ b/selfdrive/ui/translations/main_zh-CHT.ts @@ -87,6 +87,89 @@ 給 "%1" + + AdvancedNetworkingSP + + Back + 回上頁 + + + Enable Tethering + 啟用網路分享 + + + Retain hotspot/tethering state + + + + Enabling this toggle will retain the hotspot/tethering toggle state across reboots. + + + + Tethering Password + 網路分享密碼 + + + EDIT + 編輯 + + + Enter new tethering password + 輸入新的網路分享密碼 + + + IP Address + IP 地址 + + + Enable Roaming + 啟用漫遊 + + + APN Setting + APN 設置 + + + Enter APN + 輸入 APN + + + leave blank for automatic configuration + 留空白將自動配置 + + + Cellular Metered + 行動網路 + + + Prevent large data uploads when on a metered connection + 防止使用行動網路上傳大量的數據 + + + Hidden Network + 隱藏的網路 + + + CONNECT + + + + Enter SSID + 輸入 SSID + + + Enter password + 輸入密碼 + + + for "%1" + 給 "%1" + + + Ngrok Service + + + AnnotatedCameraWidget @@ -103,11 +186,127 @@ SPEED - 速度 + 速度 LIMIT - 速限 + 速限 + + + + AnnotatedCameraWidgetSP + + km/h + km/h + + + mph + mph + + + blended + + + + acc + + + + MAX + 最高 + + + SPEED + 速度 + + + LIMIT + 速限 + + + + AutoLaneChangeTimer + + Auto Lane Change by Blinker + + + + Set a timer to delay the auto lane change operation when the blinker is used. No nudge on the steering wheel is required to auto lane change if a timer is set. Default is Nudge. +Please use caution when using this feature. Only use the blinker when traffic and road conditions permit. + + + + s + + + + Off + + + + Nudge + + + + Nudgeless + + + + + BackupSettings + + Settings backed up for sunnylink Device ID: + + + + Settings updated successfully, but no additional data was returned by the server. + + + + OOPS! We made a booboo. + + + + Please try again later. + + + + Settings restored. Confirm to restart the interface. + + + + No settings found to restore. + + + + + BrightnessControl + + Brightness + + + + Manually adjusts the global brightness of the screen. + + + + Auto + + + + + CameraOffset + + Camera Offset - Laneful Only + + + + Hack to trick vehicle to be left or right biased in its lane. Decreasing the value will make the car keep more left, increasing will make it keep more right. Changes take effect immediately. Default: +4 cm + + + + cm + @@ -121,11 +320,18 @@ 取消 + + CustomOffsetsSettings + + Back + 回上頁 + + DeclinePage You must accept the Terms and Conditions in order to use openpilot. - 您必須先接受條款和條件才能使用 openpilot。 + 您必須先接受條款和條件才能使用 openpilot。 Back @@ -135,6 +341,10 @@ Decline, uninstall %1 拒絕並解除安裝 %1 + + You must accept the Terms and Conditions in order to use sunnypilot. + + DestinationWidget @@ -247,7 +457,7 @@ openpilot requires the device to be mounted within 4° left or right and within 5° up or 9° down. openpilot is continuously calibrating, resetting is rarely required. - openpilot 需要將裝置固定在左右偏差 4° 以內,朝上偏差 5° 以內或朝下偏差 9° 以內。鏡頭在後台會持續自動校準,很少有需要重置的情況。 + openpilot 需要將裝置固定在左右偏差 4° 以內,朝上偏差 5° 以內或朝下偏差 9° 以內。鏡頭在後台會持續自動校準,很少有需要重置的情況。 Your device is pointed %1° %2 and %3° %4. @@ -305,6 +515,155 @@ PAIR 配對 + + sunnypilot requires the device to be mounted within 4° left or right and within 5° up or 9° down. sunnypilot is continuously calibrating, resetting is rarely required. + + + + + DevicePanelSP + + TOGGLE + + + + Enable or disable PIN requirement for Fleet Manager access. + + + + Are you sure you want to turn off PIN requirement? + + + + Turn Off + + + + Error Troubleshoot + + + + VIEW + 觀看 + + + Display error from the tmux session when an error has occurred from a system process. + + + + Reset Access Tokens for Map Services + + + + RESET + 重設 + + + Reset self-service access tokens for Mapbox, Amap, and Google Maps. + + + + Are you sure you want to reset access tokens for all map services? + + + + Reset + 重設 + + + Reset sunnypilot Settings + + + + Are you sure you want to reset all sunnypilot settings? + + + + Toggle Onroad/Offroad + + + + OFF + + + + Are you sure you want to unforce offroad? + + + + Unforce + + + + Are you sure you want to force offroad? + + + + Force + + + + Disengage to Force Offroad + + + + Unforce Offroad + + + + Force Offroad + + + + Fleet Manager PIN: + + + + + DisplayPanel + + Driving Screen Off: Non-Critical Events + + + + When <b>Driving Screen Off Timer</b> is not set to <b>"Always On"</b>: + + + + Enabled: Wake the brightness of the screen to display all events. + + + + Disabled: Wake the brightness of the screen to display critical events. + + + + + DriveStats + + Drives + + + + Hours + + + + ALL TIME + + + + PAST WEEK + + + + KM + + + + Miles + + DriverViewWindow @@ -344,6 +703,79 @@ 安裝中… + + LaneChangeSettings + + Back + 回上頁 + + + Pause Lateral Below Speed with Blinker + + + + Enable this toggle to pause lateral actuation with blinker when traveling below the desired speed selected below. + + + + Auto Lane Change: Delay with Blind Spot + + + + Toggle to enable a delay timer for seamless lane changes when blind spot monitoring (BSM) detects a obstructing vehicle, ensuring safe maneuvering. + + + + Block Lane Change: Road Edge Detection + + + + Enable this toggle to block lane change when road edge is detected on the stalk actuated side. + + + + + MadsSettings + + Enable ACC+MADS with RES+/SET- + + + + Engage both M.A.D.S. and ACC with a single press of RES+ or SET- button. + + + + Note: Once M.A.D.S. is engaged via this mode, it will remain engaged until it is manually disabled via the M.A.D.S. button or car shut off. + + + + Toggle M.A.D.S. with Cruise Main + + + + Allows M.A.D.S. engagement/disengagement with "Cruise Main" cruise control button from the steering wheel. + + + + Remain Active + + + + Pause Steering + + + + Steering Mode After Braking + + + + Choose how Automatic Lane Centering (ALC) behaves after the brake pedal is manually pressed in sunnypilot. + +Remain Active: ALC will remain active even after the brake pedal is pressed. +Pause Steering: ALC will be paused after the brake pedal is manually pressed. + + + MapETA @@ -385,6 +817,63 @@ 等待路線 + + MapWindowSP + + Map Loading + 地圖載入中 + + + Waiting for GPS + 等待 GPS + + + Waiting for route + 等待路線 + + + + MaxTimeOffroad + + Max Time Offroad + + + + Device is automatically turned off after a set time when the engine is turned off (off-road) after driving (on-road). + + + + s + + + + m + m + + + hr + 小時 + + + Always On + + + + Immediate + + + + + MonitoringPanel + + Enable Hands on Wheel Monitoring + + + + Monitor and alert when driver is not keeping the hands on the steering wheel. + + + MultiOptionDialog @@ -415,6 +904,33 @@ 密碼錯誤 + + NetworkingSP + + Scan + + + + Scanning... + + + + Advanced + 進階 + + + Enter password + 輸入密碼 + + + for "%1" + 給 "%1" + + + Wrong password + 密碼錯誤 + + OffroadAlert @@ -467,6 +983,16 @@ Device temperature too high. System cooling down before starting. Current internal component temperature: %1 裝置溫度過高。系統正在冷卻中,等冷卻完畢後才會啟動。目前內部組件溫度:%1 + + OpenStreetMap database is out of date. New maps must be downloaded if you wish to continue using OpenStreetMap data for Enhanced Speed Control and road name display. + +%1 + + + + sunnypilot is now in Forced Offroad mode. sunnypilot won't start until Forced Offroad mode is disabled. Go to "Settings" -> "Device" -> "Unforce Offroad" to exit Force Offroad mode. + + OffroadHome @@ -506,6 +1032,186 @@ 請重新啟裝置 + + OnroadScreenOff + + Driving Screen Off Timer + + + + Turn off the device screen or reduce brightness to protect the screen after driving starts. It automatically brightens or turns on when a touch or event occurs. + + + + s + + + + min + 分鐘 + + + Always On + + + + + OnroadScreenOffBrightness + + Driving Screen Off Brightness (%) + + + + When using the Driving Screen Off feature, the brightness is reduced according to the automatic brightness ratio. + + + + Dark + + + + + OnroadSettings + + ONROAD OPTIONS + + + + <b>ONROAD SETTINGS | SUNNYPILOT</b> + + + + + OsmPanel + + Mapd Version + + + + Offline Maps ETA + + + + Time Elapsed + + + + Downloaded Maps + + + + DELETE + + + + This will delete ALL downloaded maps + +Are you sure you want to delete all the maps? + + + + Yes, delete all the maps. + + + + Database Update + + + + CHECK + 檢查 + + + Country + + + + SELECT + 選取 + + + Fetching Country list... + + + + State + + + + Fetching State list... + + + + All + + + + REFRESH + + + + UPDATE + 更新 + + + Download starting... + + + + Error: Invalid download. Retry. + + + + Download complete! + + + + + +Warning: You are on a metered connection! + + + + This will start the download process and it might take a while to complete. + + + + Continue on Metered + + + + Start Download + + + + m + + + + s + + + + Calculating... + + + + Downloaded + + + + Calculating ETA... + + + + Ready + + + + Time remaining: + + + PairingPopup @@ -536,6 +1242,51 @@ 啟用 + + ParamControlSP + + Enable + 啟用 + + + Cancel + 取消 + + + + PathOffset + + Path Offset + + + + Hack to trick the model path to be left or right biased of the lane. Decreasing the value will shift the model more left, increasing will shift the model more right. Changes take effect immediately. + + + + cm + + + + + PauseLateralSpeed + + Pause lateral actuation with blinker when traveling below the desired speed selected. Default is 20 MPH or 32 km/h. + + + + Default + + + + km/h + km/h + + + mph + mph + + PrimeAdWidget @@ -590,7 +1341,7 @@ openpilot - openpilot + openpilot %n minute(s) ago @@ -630,6 +1381,30 @@ now 現在 + + sunnypilot + + + + Update downloaded. Ready to reboot. + + + + Update: Check and Download Update + + + + Reboot: Reboot Device + + + + Update + + + + Updating... + + Reset @@ -672,6 +1447,151 @@ This may take up to a minute. 系統重設已啟動。按下「確認」以清除所有內容和設定,或按下「取消」以繼續開機。 + + SPVehiclesTogglesPanel + + Hyundai/Kia/Genesis + + + + HKG: Custom Tuning for New Longitudinal API + + + + HKG CAN: Enable Cruise Main By Default + + + + Enabling this toggle sets CRUISE MAIN to ON by default when the car starts, without engaging MADS. The user still needs to manually engage MADS + + + + Subaru + + + + Manual Parking Brake: Stop and Go (Beta) + + + + Experimental feature to enable stop and go for Subaru Global models with manual handbrake. Models with electric parking brake should keep this disabled. Thanks to martinl for this implementation! + + + + Toyota/Lexus + + + + Enable Stock Toyota Longitudinal Control + + + + sunnypilot will <b>not</b> take over control of gas and brakes. Stock Toyota longitudinal control will be used. + + + + Allow M.A.D.S. toggling w/ LKAS Button (Beta) + + + + Allows M.A.D.S. engagement/disengagement with "LKAS" button from the steering wheel. + + + + Note: Enabling this toggle may have unexpected behavior with steering control. It is the driver's responsibility to observe their environment and make decisions accordingly. + + + + Toyota TSS2 Longitudinal: Custom Tuning + + + + Smoother longitudinal performance for Toyota/Lexus TSS2/LSS2 cars. Big thanks to dragonpilot-community for this implementation. + + + + Enable Automatic Brake Hold (AHB) + + + + WARNING: Only for Toyota/Lexus vehicles with TSS2/LSS2. USE AT YOUR OWN RISK. + + + + When you stop the vehicle completely by depressing the brake pedal, sunnypilot will activate Auto Brake Hold. + + + + Changing this setting takes effect when the car is powered off. + + + + Enable Enhanced Blind Spot Monitor + + + + Enable Toyota Stop and Go Hack + + + + sunnypilot will allow some Toyota/Lexus cars to auto resume during stop and go traffic. This feature is only applicable to certain models. Use at your own risk. + + + + Enable Toyota Door Auto Locking + + + + sunnypilot will attempt to lock the doors when drive above 10 km/h (6.2 mph). +Reboot Required. + + + + Enable Toyota Door Auto Unlocking + + + + sunnypilot will attempt to unlock the doors when shift to gear P. +Reboot Required. + + + + Volkswagen + + + + Enable CC Only support + + + + sunnypilot supports Volkswagen MQB CC only platforms with this toggle enabled. Only enable this toggle if your car does not have ACC from the factory. + + + + Start the car to check car compatibility + + + + This platform is already supported, therefore no need to enable this toggle + + + + This platform is not supported + + + + This platform can be supported + + + + sunnypilot will use debugging CAN messages to receive unfiltered BSM signals, allowing detection of more objects. + + + + Tested on RAV4 TSS1, Lexus LSS1, Toyota TSS1/1.5, and Prius TSS2. + + + SettingsWindow @@ -695,6 +1615,61 @@ This may take up to a minute. 軟體 + + SettingsWindowSP + + × + × + + + Device + 裝置 + + + Network + 網路 + + + sunnylink + + + + Toggles + 設定 + + + Software + 軟體 + + + sunnypilot + + + + OSM + + + + Monitoring + + + + Visuals + + + + Display + + + + Trips + + + + Vehicle + + + Setup @@ -888,6 +1863,100 @@ This may take up to a minute. 5G + + SidebarSP + + TEMP + 溫度 + + + HIGH + 偏高 + + + GOOD + 正常 + + + OK + 一般 + + + DISABLED + + + + OFFLINE + 已離線 + + + REGIST... + + + + ONLINE + 已連線 + + + ERROR + 錯誤 + + + SUNNYLINK + + + + + SlcSettings + + Auto + + + + User Confirm + + + + Engage Mode + + + + Default + + + + Fixed + + + + Percentage + + + + Limit Offset + + + + Set speed limit slightly higher than actual speed limit for a more natural drive. + + + + This platform defaults to <b>Auto</b> mode. <b>User Confirm</b> mode is not supported on this platform. + + + + Select the desired mode to set the cruising speed to the speed limit: + + + + Auto: Automatic speed adjustment on motorways based on speed limit data. + + + + User Confirm: Inform the driver to change set speed of Adaptive Cruise Control to help the driver stay within the speed limit. + + + SoftwarePanel @@ -963,6 +2032,233 @@ This may take up to a minute. 從未更新 + + SoftwarePanelSP + + Driving Model + + + + SELECT + 選取 + + + PENDING + + + + Downloading Driving model + + + + (CACHED) + + + + Driving model + + + + downloaded + + + + Downloading Navigation model + + + + Navigation model + + + + Downloading Metadata model + + + + Metadata model + + + + Downloads have failed, please try swapping the model! + + + + Failed: + + + + Fetching models... + + + + Select a Driving Model + + + + Download has started in the background. + + + + We STRONGLY suggest you to reset calibration. Would you like to do that now? + + + + Reset Calibration + 重設校準 + + + Warning: You are on a metered connection! + + + + Continue + 繼續 + + + on Metered + + + + + SpeedLimitPolicySettings + + Speed Limit Source Policy + + + + Nav + + + + Only + + + + Map + + + + Car + + + + First + + + + Select the precedence order of sources. Utilized by Speed Limit Control and Speed Limit Warning + + + + Nav Only: Data from Mapbox active navigation only. + + + + Map Only: Data from OpenStreetMap only. + + + + Car Only: Data from the car's built-in sources (if available). + + + + Nav First: Nav -> Map -> Car + + + + Map First: Map -> Nav -> Car + + + + Car First: Car -> Nav -> Map + + + + + SpeedLimitValueOffset + + km/h + km/h + + + mph + mph + + + + SpeedLimitWarningSettings + + Off + + + + Display + + + + Chime + + + + Speed Limit Warning + + + + Warning with speed limit flash + + + + When Speed Limit Warning is enabled, the speed limit sign will alert the driver when the cruising speed is faster than then speed limit plus the offset. + + + + Default + + + + Fixed + + + + Percentage + + + + Warning Offset + + + + Select the desired offset to warn the driver when the vehicle is driving faster than the speed limit. + + + + Off: When the cruising speed is faster than the speed limit plus the offset, there will be no warning. + + + + Display: The speed on the speed limit sign turns red to alert the driver when the cruising speed is faster than the speed limit plus the offset. + + + + Chime: The speed on the speed limit sign turns red and chimes to alert the driver when the cruising speed is faster than the speed limit plus the offset. + + + + + SpeedLimitWarningValueOffset + + N/A + 無法使用 + + + km/h + km/h + + + mph + mph + + SshControl @@ -1009,6 +2305,415 @@ This may take up to a minute. 啟用 SSH 服務 + + SunnylinkPanel + + Enable sunnylink + + + + Device ID + + + + N/A + 無法使用 + + + This is the master switch, it will allow you to cutoff any sunnylink requests should you want to do that. + + + + 🎉Welcome back! We're excited to see you've enabled sunnylink again! 🚀 + + + + 👋Not going to lie, it's sad to see you disabled sunnylink 😢, but we'll be here when you're ready to come back 🎉. + + + + Sponsor Status + + + + SPONSOR + + + + Become a sponsor of sunnypilot to get early access to sunnylink features when they become available. + + + + Pair GitHub Account + + + + PAIR + 配對 + + + Pair your GitHub account to grant your device sponsor benefits, including API access on sunnylink. + + + + sunnylink Dongle ID not found. This may be due to weak internet connection or sunnylink registration issue. Please reboot and try again. + + + + Manage Settings + + + + Backup Settings + + + + Are you sure you want to backup sunnypilot settings? + + + + Back Up + + + + Restore Settings + + + + Are you sure you want to restore the last backed up sunnypilot settings? + + + + Restore + + + + THANKS + + + + Not Sponsor + + + + Paired + + + + Not Paired + + + + Backing up... + + + + Restoring... + + + + + SunnylinkSponsorPopup + + Scan the QR code to login to your GitHub account + + + + Follow the prompts to complete the pairing process + + + + Re-enter the "sunnylink" panel to verify sponsorship status + + + + If sponsorship status was not updated, please contact a moderator on Discord at https://discord.gg/sunnypilot + + + + Scan the QR code to visit sunnyhaibin's GitHub Sponsors page + + + + Choose your sponsorship tier and confirm your support + + + + Join our community on Discord at https://discord.gg/sunnypilot and reach out to a moderator to confirm your sponsor status + + + + Pair your GitHub account + + + + Early Access: Become a sunnypilot Sponsor + + + + + SunnypilotPanel + + Enable M.A.D.S. + + + + Enable the beloved M.A.D.S. feature. Disable toggle to revert back to stock openpilot engagement/disengagement. + + + + Laneless for Curves in "Auto" Mode + + + + While in Auto Lane, switch to Laneless for current/future curves. + + + + Speed Limit Control (SLC) + + + + When you engage ACC, you will be prompted to set the cruising speed to the speed limit of the road adjusted by the Offset and Source Policy specified, or the current driving speed. The maximum cruising speed will always be the MAX set speed. + + + + Enable Vision-based Turn Speed Control (V-TSC) + + + + Use vision path predictions to estimate the appropriate speed to drive through turns ahead. + + + + Enable Map Data Turn Speed Control (M-TSC) (Beta) + + + + Use curvature information from map data to define speed limits to take turns ahead. + + + + ACC +/-: Long Press Reverse + + + + Change the ACC +/- buttons behavior with cruise speed change in sunnypilot. + + + + Disabled (Stock): Short=1, Long = 5 (imperial) / 10 (metric) + + + + Enabled: Short = 5 (imperial) / 10 (metric), Long=1 + + + + Custom Offsets + + + + Neural Network Lateral Control (NNLC) + + + + NNLC: Remove Lateral Jerk Response (Alpha) + + + + When NNLC is active, enable this to disables the use of lateral jerk in steering torque calculations, focusing solely on lateral acceleration for a simplified control response. + + + + Enforce Torque Lateral Control + + + + Enable this to enforce sunnypilot to steer with Torque lateral control. + + + + Lateral Jerk with Torque Lateral Control (Alpha) + + + + Utilizes limited lateral jerk control for improved steering response, leveraging stock torque lateral controller capabilities. Designed to mimic NNLC behavior without training models or data collection. + + + + Enable Self-Tune + + + + Enables self-tune for Torque lateral control for platforms that do not use Torque lateral control by default. + + + + Less Restrict Settings for Self-Tune (Beta) + + + + Less strict settings when using Self-Tune. This allows torqued to be more forgiving when learning values. + + + + Enable Custom Tuning + + + + Enables custom tuning for Torque lateral control. Modifying FRICTION and LAT_ACCEL_FACTOR below will override the offline values indicated in the YAML files within "selfdrive/torque_data". The values will also be used live when "Override Self-Tune" toggle is enabled. + + + + Manual Real-Time Tuning + + + + Enforces the torque lateral controller to use the fixed values instead of the learned values from Self-Tune. Enabling this toggle overrides Self-Tune values. + + + + Quiet Drive 🤫 + + + + sunnypilot will display alerts but only play the most important warning sounds. This feature can be toggled while the car is on. + + + + Green Traffic Light Chime (Beta) + + + + A chime will play when the traffic light you are waiting for turns green and you have no vehicle in front of you. If you are waiting behind another vehicle, the chime will play once the vehicle advances unless ACC is engaged. + + + + Note: This chime is only designed as a notification. It is the driver's responsibility to observe their environment and make decisions accordingly. + + + + Lead Vehicle Departure Alert + + + + Enable this will notify when the leading vehicle drives away. + + + + Customize M.A.D.S. + + + + Customize Lane Change + + + + Customize Offsets + + + + Customize Speed Limit Control + + + + Customize Warning + + + + Customize Source + + + + Laneful + + + + Laneless + + + + Auto + + + + Dynamic Lane Profile + + + + Speed Limit Assist + + + + Real-time and Offline + + + + Offline Only + + + + Dynamic Lane Profile is not available with the current Driving Model + + + + Custom Offsets is not available with the current Driving Model + + + + NNLC is currently not available on this platform. + + + + Match: "Exact" is ideal, but "Fuzzy" is fine too. Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server if there are any issues: + + + + Start the car to check car compatibility + + + + NNLC Not Loaded + + + + NNLC Loaded + + + + Fuzzy + + + + Exact + + + + Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server and donate logs to get NNLC loaded for your car: + + + + Match + + + + Formerly known as <b>"NNFF"</b>, this replaces the lateral <b>"torque"</b> controller, with one using a neural network trained on each car's (actually, each separate EPS firmware) driving data for increased controls accuracy. + + + + Reach out to the sunnypilot team in the following channel at the sunnypilot Discord server with feedback, or to provide log data for your car if your car is currently unsupported: + + + + Add custom offsets to Camera and Path in sunnypilot. + + + + Default is Laneless. In Auto mode, sunnnypilot dynamically chooses between Laneline or Laneless model based on lane recognition confidence level on road and certain conditions. + + + TermsPage @@ -1028,15 +2733,30 @@ This may take up to a minute. 接受 + + TermsPageSP + + Terms & Conditions + 條款和條件 + + + Decline + 拒絕 + + + Scroll to accept + 滑動至頁尾接受條款 + + TogglesPanel Enable openpilot - 啟用 openpilot + 啟用 openpilot Use the openpilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. - 使用 openpilot 的主動式巡航和車道保持功能,開啟後您需要持續集中注意力,設定變更在重新啟動車輛後生效。 + 使用 openpilot 的主動式巡航和車道保持功能,開啟後您需要持續集中注意力,設定變更在重新啟動車輛後生效。 Enable Lane Departure Warnings @@ -1072,19 +2792,19 @@ This may take up to a minute. Show ETA in 24h Format - 預計到達時間單位改用 24 小時制 + 預計到達時間單位改用 24 小時制 Use 24h format instead of am/pm - 使用 24 小時制。(預設值為 12 小時制) + 使用 24 小時制。(預設值為 12 小時制) Show Map on Left Side of UI - 將地圖顯示在畫面的左側 + 將地圖顯示在畫面的左側 Show map on left side when in split screen view. - 進入分割畫面後,地圖將會顯示在畫面的左側。 + 進入分割畫面後,地圖將會顯示在畫面的左側。 Experimental Mode @@ -1166,6 +2886,256 @@ This may take up to a minute. Enable driver monitoring even when openpilot is not engaged. 即使在openpilot未激活時也啟用駕駛監控。 + + Enable sunnypilot + + + + Use the sunnypilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. + + + + + TogglesPanelSP + + Enable sunnypilot + + + + Use the sunnypilot system for adaptive cruise control and lane keep driver assistance. Your attention is required at all times to use this feature. Changing this setting takes effect when the car is powered off. + + + + openpilot Longitudinal Control (Alpha) + openpilot 縱向控制 (Alpha 版) + + + WARNING: sunnypilot longitudinal control is in alpha for this car and will disable Automatic Emergency Braking (AEB). + + + + On this car, sunnypilot defaults to the car's built-in ACC instead of openpilot's longitudinal control. Enable this to switch to sunnypilot longitudinal control. Enabling Experimental mode is recommended when enabling sunnypilot longitudinal control alpha. + + + + Custom Stock Longitudinal Control + + + + When enabled, sunnypilot will attempt to control stock longitudinal control with ACC button presses. +This feature must be used along with SLC, and/or V-TSC, and/or M-TSC. + + + + Use Planner Speed + + + + Experimental Mode + 實驗模式 + + + Enable Dynamic Experimental Control + + + + Enable toggle to allow the model to determine when to use sunnypilot ACC or sunnypilot End to End Longitudinal. + + + + Enable Dynamic Personality + + + + Enable this to allow sunnypilot to dynamically adjust following distance and reaction based on your "Driving Personality" setting. Instead of predefined settings for each personality, every personality now adapts dynamically according to your speed and the distance to the lead car. + + + + Disengage on Accelerator Pedal + 油門取消控車 + + + When enabled, pressing the accelerator pedal will disengage openpilot. + 啟用後,踩踏油門將會取消 openpilot 控制。 + + + Enable Lane Departure Warnings + 啟用車道偏離警告 + + + Receive alerts to steer back into the lane when your vehicle drifts over a detected lane line without a turn signal activated while driving over 31 mph (50 km/h). + 車速在時速 50 公里 (31 英里) 以上且未打方向燈的情況下,如果偵測到車輛駛出目前車道線時,發出車道偏離警告。 + + + Always-On Driver Monitoring + 駕駛監控常開 + + + Enable driver monitoring even when sunnypilot is not engaged. + + + + Record and Upload Driver Camera + 記錄並上傳駕駛監控影像 + + + Upload data from the driver facing camera and help improve the driver monitoring algorithm. + 上傳駕駛監控的錄影來協助我們提升駕駛監控的準確率。 + + + Disable Onroad Uploads + + + + Disable uploads completely when onroad. Necessary to avoid high data usage when connected to Wi-Fi hotspot. Turn on this feature if you are looking to utilize map-based features, such as Speed Limit Control (SLC) and Map-based Turn Speed Control (MTSC). + + + + Use Metric System + 使用公制單位 + + + Display speed in km/h instead of mph. + 啟用後,速度單位顯示將從 mp/h 改為 km/h。 + + + Show ETA in 24h Format + 預計到達時間單位改用 24 小時制 + + + Use 24h format instead of am/pm + 使用 24 小時制。(預設值為 12 小時制) + + + Show Map on Left Side of UI + 將地圖顯示在畫面的左側 + + + Show map on left side when in split screen view. + 進入分割畫面後,地圖將會顯示在畫面的左側。 + + + Aggressive + 積極 + + + Moderate + + + + Standard + 標準 + + + Relaxed + 舒適 + + + Driving Personality + 駕駛風格 + + + Standard is recommended. In moderate/aggressive mode, sunnypilot will follow lead cars closer and be more aggressive with the gas and brake. In relaxed mode sunnypilot will stay further away from lead cars. On supported cars, you can cycle through these personalities with your steering wheel distance button. + + + + Sport + + + + Normal + + + + Eco + + + + Stock + + + + Acceleration Personality + + + + Normal is recommended. In sport mode, sunnypilot will provide aggressive acceleration for a dynamic driving experience. In eco mode, sunnypilot will apply smoother and more relaxed acceleration. On supported cars, you can cycle through these acceleration personality within Onroad Settings on the driving screen. + + + + openpilot defaults to driving in <b>chill mode</b>. Experimental mode enables <b>alpha-level features</b> that aren't ready for chill mode. Experimental features are listed below: + openpilot 預設以 <b>輕鬆模式</b> 駕駛。 實驗模式啟用了尚未準備好進入輕鬆模式的 <b>alpha 級功能</b>。實驗功能如下: + + + End-to-End Longitudinal Control + 端到端縱向控制 + + + Let the driving model control the gas and brakes. sunnypilot will drive as it thinks a human would, including stopping for red lights and stop signs. Since the driving model decides the speed to drive, the set speed will only act as an upper bound. This is an alpha quality feature; mistakes should be expected. + + + + New Driving Visualization + 新的駕駛視覺介面 + + + The driving visualization will transition to the road-facing wide-angle camera at low speeds to better show some turns. The Experimental mode logo will also be shown in the top right corner. + 在低速時,駕駛可視化將切換至道路朝向的廣角攝影機,以更好地顯示某些彎道。在右上角還會顯示「實驗模式」的標誌。 + + + Experimental mode is currently unavailable on this car since the car's stock ACC is used for longitudinal control. + 因車輛使用內建ACC系統,無法在本車輛上啟動實驗模式。 + + + openpilot longitudinal control may come in a future update. + openpilot 縱向控制可能會在未來的更新中提供。 + + + An alpha version of sunnypilot longitudinal control can be tested, along with Experimental mode, on non-release branches. + + + + Enable the sunnypilot longitudinal control (alpha) toggle to allow Experimental mode. + + + + + TorqueFriction + + FRICTION + + + + Adjust Friction for the Torque Lateral Controller. <b>Live</b>: Override self-tune values; <b>Offline</b>: Override self-tune offline values at car restart. + + + + Real-time and Offline + + + + Offline Only + + + + + TorqueMaxLatAccel + + LAT_ACCEL_FACTOR + + + + Adjust Max Lateral Acceleration for the Torque Lateral Controller. <b>Live</b>: Override self-tune values; <b>Offline</b>: Override self-tune offline values at car restart. + + + + Real-time and Offline + + + + Offline Only + + Updater @@ -1202,6 +3172,168 @@ This may take up to a minute. 更新失敗 + + VehiclePanel + + Updating this setting takes effect when the car is powered off. + + + + Select your car + + + + + VisualsPanel + + Display Braking Status + + + + Enable this will turn the current speed value to red while the brake is used. + + + + Display Stand Still Timer + + + + Enable this will display time spent at a stop (i.e., at a stop lights, stop signs, traffic congestions). + + + + Display DM Camera in Reverse Gear + + + + Show Driver Monitoring camera while the car is in reverse gear. + + + + OSM: Show debug UI elements + + + + OSM: Show UI elements that aid debugging. + + + + Display Feature Status + + + + Display the statuses of certain features on the driving screen. + + + + Enable Onroad Settings + + + + Display the Onroad Settings button on the driving screen to adjust feature options on the driving screen, without navigating into the settings menu. + + + + Speedometer: Display True Speed + + + + Display the true vehicle current speed from wheel speed sensors. + + + + Speedometer: Hide from Onroad Screen + + + + Display End-to-end Longitudinal Status (Beta) + + + + Enable this will display an icon that appears when the End-to-end model decides to start or stop. + + + + Navigation: Display in Full Screen + + + + Enable this will display the built-in navigation in full screen.<br>To switch back to driving view, <font color='yellow'>tap on the border edge</font>. + + + + Map: Display 3D Buildings + + + + Parse and display 3D buildings on map. Thanks to jakethesnake420 for this implementation. + + + + Off + + + + 5 Metrics + + + + 10 Metrics + + + + Developer UI + + + + Display real-time parameters and metrics from various sources. + + + + Distance + + + + Speed + + + + Time + + + + All + + + + Display Metrics Below Chevron + + + + Display useful metrics below the chevron that tracks the lead car (only applicable to cars with openpilot longitudinal control). + + + + RAM + + + + CPU + + + + GPU + + + + Max + + + + Display Temperature on Sidebar + + + WiFiPromptWidget @@ -1248,4 +3380,27 @@ This may take up to a minute. 清除 + + WifiUISP + + Scanning for networks... + 掃描無線網路中... + + + CONNECTING... + 連線中... + + + FORGET + 清除 + + + Forget Wi-Fi Network "%1"? + 清除 Wi-Fi 網路 "%1"? + + + Forget + 清除 + + diff --git a/selfdrive/ui/ui.h b/selfdrive/ui/ui.h index 5626af6a91..42ada8257b 100644 --- a/selfdrive/ui/ui.h +++ b/selfdrive/ui/ui.h @@ -59,6 +59,8 @@ typedef enum UIStatus { EXTRA_UI_STATES } UIStatus; + + enum PrimeType { UNKNOWN = -2, UNPAIRED = -1, @@ -152,7 +154,7 @@ protected: QTimer *timer; PrimeType prime_type = PrimeType::UNKNOWN; -private: +private: bool started_prev = false; }; #undef UIScene diff --git a/system/athena/sunnylinkd.py b/system/athena/sunnylinkd.py index 3b4c81b680..62b86eead4 100755 --- a/system/athena/sunnylinkd.py +++ b/system/athena/sunnylinkd.py @@ -5,6 +5,7 @@ from __future__ import annotations import base64 import gzip import os +import ssl import threading import time @@ -29,7 +30,8 @@ SUNNYLINK_RECONNECT_TIMEOUT_S = 70 # FYI changing this will also would require DISALLOW_LOG_UPLOAD = threading.Event() params = Params() -sunnylink_api = SunnylinkApi(params.get("SunnylinkDongleId", encoding='utf-8')) +sunnylink_dongle_id = params.get("SunnylinkDongleId", encoding='utf-8') +sunnylink_api = SunnylinkApi(sunnylink_dongle_id) def handle_long_poll(ws: WebSocket, exit_event: threading.Event | None) -> None: cloudlog.info("sunnylinkd.handle_long_poll started") sm = messaging.SubMaster(['deviceState']) @@ -204,7 +206,7 @@ def main(exit_event: threading.Event = None): UploadQueueCache.initialize(upload_queue) - ws_uri = SUNNYLINK_ATHENA_HOST + ws_uri = f"{SUNNYLINK_ATHENA_HOST}" conn_start = None conn_retries = 0 while (exit_event is None or not exit_event.is_set()) and sunnylink_ready(params): @@ -214,8 +216,9 @@ def main(exit_event: threading.Event = None): cloudlog.event("sunnylinkd.main.connecting_ws", ws_uri=ws_uri, retries=conn_retries) ws = create_connection(ws_uri, - cookie="jwt=" + sunnylink_api.get_token(), + header={"Authorization": f"Bearer {sunnylink_api.get_token()}"}, enable_multithread=True, + sslopt={"cert_reqs": ssl.CERT_NONE if "localhost" in ws_uri else ssl.CERT_REQUIRED}, timeout=SUNNYLINK_RECONNECT_TIMEOUT_S) cloudlog.event("sunnylinkd.main.connected_ws", ws_uri=ws_uri, retries=conn_retries, duration=time.monotonic() - conn_start) diff --git a/system/loggerd/encoderd.cc b/system/loggerd/encoderd.cc index 1b45df6827..a4fb6daaab 100644 --- a/system/loggerd/encoderd.cc +++ b/system/loggerd/encoderd.cc @@ -147,15 +147,19 @@ int main(int argc, char* argv[]) { ret = util::set_core_affinity({3}); assert(ret == 0); } + + bool no_dcam = Params().getBool("DriverCameraHardwareMissing"); if (argc > 1) { std::string arg1(argv[1]); if (arg1 == "--stream") { - encoderd_thread(stream_cameras_logged); + encoderd_thread(no_dcam ? stream_cameras_logged_no_dcam : + stream_cameras_logged); } else { LOGE("Argument '%s' is not supported", arg1.c_str()); } } else { - encoderd_thread(cameras_logged); + encoderd_thread(no_dcam ? cameras_logged_no_dcam : + cameras_logged); } return 0; } diff --git a/system/loggerd/loggerd.cc b/system/loggerd/loggerd.cc index c9632c0dd6..5952bca6ed 100644 --- a/system/loggerd/loggerd.cc +++ b/system/loggerd/loggerd.cc @@ -234,8 +234,9 @@ void loggerd_thread() { logger_rotate(&s); Params().put("CurrentRoute", s.logger.routeName()); + bool no_dcam = Params().getBool("DriverCameraHardwareMissing"); std::map encoder_infos_dict; - for (const auto &cam : cameras_logged) { + for (const auto &cam : (no_dcam ? cameras_logged_no_dcam : cameras_logged)) { for (const auto &encoder_info : cam.encoder_infos) { encoder_infos_dict[encoder_info.publish_name] = encoder_info; s.max_waiting++; diff --git a/system/loggerd/loggerd.h b/system/loggerd/loggerd.h index 7c80ba51a2..086fd6732b 100644 --- a/system/loggerd/loggerd.h +++ b/system/loggerd/loggerd.h @@ -154,3 +154,6 @@ const LogCameraInfo stream_driver_camera_info{ const LogCameraInfo cameras_logged[] = {road_camera_info, wide_road_camera_info, driver_camera_info}; const LogCameraInfo stream_cameras_logged[] = {stream_road_camera_info, stream_wide_road_camera_info, stream_driver_camera_info}; + +const LogCameraInfo cameras_logged_no_dcam[] = {road_camera_info, wide_road_camera_info, driver_camera_info}; +const LogCameraInfo stream_cameras_logged_no_dcam[] = {stream_road_camera_info, stream_wide_road_camera_info, stream_driver_camera_info}; diff --git a/system/manager/manager.py b/system/manager/manager.py index 709f7a26c8..485940d29e 100755 --- a/system/manager/manager.py +++ b/system/manager/manager.py @@ -71,6 +71,7 @@ def manager_init() -> None: ("FeatureStatus", "1"), ("HandsOnWheelMonitoring", "0"), ("HasAcceptedTermsSP", "0"), + ("HyundaiCruiseMainDefault", "0"), ("HideVEgoUi", "0"), ("LastSpeedLimitSignTap", "0"), ("LkasToggle", "0"), @@ -84,6 +85,8 @@ def manager_init() -> None: ("OnroadSettings", "1"), ("PathOffset", "0"), ("PauseLateralSpeed", "0"), + ("PCMVCruiseOverride", "0"), + ("PCMVCruiseOverrideSpeed", "30"), ("ReverseAccChange", "0"), ("ScreenRecorder", "1"), ("ShowDebugUI", "1"), @@ -97,7 +100,7 @@ def manager_init() -> None: ("StandStillTimer", "0"), ("StockLongToyota", "0"), ("TorqueDeadzoneDeg", "0"), - ("TorqueFriction", "1"), + ("TorqueFriction", "10"), ("TorqueMaxLatAccel", "250"), ("ToyotaAutoHold", "0"), ("ToyotaAutoLockBySpeed", "0"), diff --git a/system/manager/process_config.py b/system/manager/process_config.py index 1db62dc2c4..0fad995375 100644 --- a/system/manager/process_config.py +++ b/system/manager/process_config.py @@ -102,7 +102,7 @@ procs = [ PythonProcess("radard", "selfdrive.controls.radard", only_onroad), PythonProcess("hardwared", "system.hardware.hardwared", always_run), PythonProcess("tombstoned", "system.tombstoned", always_run, enabled=not PC), - PythonProcess("updated", "system.updated.updated", only_offroad, enabled=not PC), + NativeProcess("updated", "system/updated", ["./updated.py"], only_offroad, enabled=not PC), PythonProcess("uploader", "system.loggerd.uploader", always_run), PythonProcess("statsd", "system.statsd", always_run),