Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions common/realtime.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,12 @@ def lagging(self) -> bool:
expected_dt = self._interval * (1 / 0.9)
return avg_dt > expected_dt

## carrot
def reset_time(self):
self._next_frame_time = time.monotonic() + self._interval
self._frame = 0
self._remaining = 0.0

# Maintain loop rate by calling this at the end of each loop
def keep_time(self) -> bool:
lagged = self.monitor_time()
Expand Down
2 changes: 1 addition & 1 deletion opendbc/hyundai_canfd.dbc
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,7 @@ BO_ 416 SCC_CONTROL: 32 ADRV
SG_ aReqValue : 128|11@1+ (0.01,-10.23) [-10.23|10.24] "m/s^2" XXX
SG_ ZEROS_7 : 63|8@0+ (1,0) [0|255] "" XXX
SG_ ACCMode : 68|3@1+ (1,0) [0|7] "" XXX
SG_ ACC_ObjRelSpd : 35|9@1+ (0.1,-16.4) [-16.4|34.7] "m/s" XXX
SG_ ACC_ObjRelSpd : 35|12@1+ (0.1,-170) [-170|239.5] "" XXX
SG_ JerkLowerLimit : 166|7@0+ (0.1,0) [0|12.7] "m/s^3" XXX
SG_ StopReq : 184|1@0+ (1,0) [0|1] "" XXX
SG_ NEW_SIGNAL_15 : 192|11@1+ (0.1,0) [0|204.7] "m" XXX
Expand Down
15 changes: 13 additions & 2 deletions panda/board/safety/safety_hyundai_canfd.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,11 @@ const CanMsg HYUNDAI_CANFD_HDA2_LONG_TX_MSGS[] = {
{0x1DA, 0, 32}, // ADRV_0x1da

{0x362, 1, 32}, // CAM_0x362
{0x2a4, 1, 24}, // CAM_0x2a4

{0x110, 1, 32}, // LKAS_ALT (272)

{0x50, 1, 16}, //
{0x51, 1, 32}, //

{353, 0, 24}, // ADRV_353
Expand Down Expand Up @@ -173,7 +175,7 @@ bool hyundai_canfd_hda2_alt_steering = false;
bool hyundai_canfd_scc_bus2 = false;
bool hyundai_acan_panda = false;

int canfd_tx_addr[32] = { 272, 80, 298, 866, 676, 480, 81, 490, 512, 837, 474, 352, 416, 282, 437, 506, 353, 354, 442, 485, 1402, 908, 1848, 0, };
int canfd_tx_addr[32] = { 80, 81, 272, 282, 298, 352, 353, 354, 442, 485, 416, 437, 506, 474, 480, 490, 512, 676, 866, 837, 1402, 908, 1848, 0, };
uint32_t canfd_tx_time[32] = { 0, };

int hyundai_canfd_hda2_get_lkas_addr(void) {
Expand Down Expand Up @@ -415,12 +417,16 @@ static int hyundai_canfd_fwd_hook(int bus_num, int addr) {
}
else lkas_msg_acan_active = false;
}
// carrot
// ADAS의 데이터가 LKAS로 보내지는것을 막음. 근데.. 이건 ECAN데이터들인데?
// 일단 삭제함.. 의미없어보임.
/*
if (lkas_msg_acan_active) {
if (addr == 353 || addr == 354 || addr == 908 || addr == 1402 || addr == 1848) {
bus_fwd = -1;
}
}

*/
}
return bus_fwd;
}
Expand Down Expand Up @@ -457,6 +463,11 @@ static int hyundai_canfd_fwd_hook(int bus_num, int addr) {
//else if (addr == 354) bus_fwd = -1;
//if (addr == 908) bus_fwd = -1;
//else if (addr == 1402) bus_fwd = -1;
//
// 아래코드중 오토상향등코드 있음.. ㅋ
//if (addr == 698) bus_fwd = -1;
//if (addr == 1848) bus_fwd = -1;
//if (addr == 1996) bus_fwd = -1;
#else
// LKAS for HDA2, LFA for HDA1
int hda2_lfa_block_addr = hyundai_canfd_hda2_alt_steering ? 0x362 : 0x2a4;
Expand Down
4 changes: 2 additions & 2 deletions selfdrive/apilot.json
Original file line number Diff line number Diff line change
Expand Up @@ -1006,12 +1006,12 @@
"group": "����",
"name": "MixRadarInfo",
"title": "���̴�����",
"descr": "0:���̴��켱, 1:���̴�+����, 2:����Only, 3:����Only(�޸�)",
"descr": "0:���̴��켱, 1:���̴�+����, 2:����Only, 3:����Only(�޸�), 4:scc���̴��켱���",
"egroup": "TEST",
"etitle": "Radar test",
"edescr": "",
"min": 0,
"max": 3,
"max": 4,
"default": 0,
"unit": 1
},
Expand Down
2 changes: 1 addition & 1 deletion selfdrive/car/hyundai/carcontroller.py
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,7 @@ def update(self, CC, CS, now_nanos):
else:
can_sends.extend(hyundaicanfd.create_fca_warning_light(self.packer, self.CAN, self.frame))
if self.frame % 2 == 0:
if self.CP.extFlags & HyundaiExtFlags.SCC_BUS2.value:
if False: #self.CP.extFlags & HyundaiExtFlags.SCC_BUS2.value:
can_sends.append(hyundaicanfd.create_acc_control_scc2(self.packer, self.CAN, CC.enabled, self.accel_last, accel, stopping, CC.cruiseControl.override,
set_speed_in_units, hud_control, jerk_u, jerk_l, CS.cruise_info))
else:
Expand Down
16 changes: 8 additions & 8 deletions selfdrive/car/hyundai/carstate.py
Original file line number Diff line number Diff line change
Expand Up @@ -335,9 +335,9 @@ def update_canfd(self, cp, cp_cam):
#ret.leftBlinker, ret.rightBlinker = self.update_blinker_from_lamp(50, cp.vl["BLINKERS"][left_blinker_sig],
# cp.vl["BLINKERS"][right_blinker_sig])
if self.CP.enableBsm:
cp_ = cp_cam if (self.CP.extFlags & HyundaiExtFlags.SCC_BUS2 and self.CP.flags & HyundaiFlags.CANFD_HDA2) else cp
ret.leftBlindspot = cp_.vl["BLINDSPOTS_REAR_CORNERS"]["FL_INDICATOR"] != 0
ret.rightBlindspot = cp_.vl["BLINDSPOTS_REAR_CORNERS"]["FR_INDICATOR"] != 0
#cp_ = cp_cam if (self.CP.extFlags & HyundaiExtFlags.SCC_BUS2 and self.CP.flags & HyundaiFlags.CANFD_HDA2 and not self.CP.extFlags & HyundaiExtFlags.BSM_NO_ADAS.value) else cp
ret.leftBlindspot = cp.vl["BLINDSPOTS_REAR_CORNERS"]["FL_INDICATOR"] != 0
ret.rightBlindspot = cp.vl["BLINDSPOTS_REAR_CORNERS"]["FR_INDICATOR"] != 0

# cruise state
# CAN FD cars enable on main button press, set available if no TCS faults preventing engagement
Expand Down Expand Up @@ -575,7 +575,7 @@ def get_can_parser_canfd(self, CP):
## BSM신호가 ADAS인경우 BUS2로 개조되고, 독립인경우 ECAN에서 들어옴.
# 개조, 독립 EV6: 1, 1 => True, inADAS: 1, 0 => False
# 비개조, 0, 0 => True
if CP.enableBsm and (not CP.extFlags & HyundaiExtFlags.SCC_BUS2.value or CP.extFlags & HyundaiExtFlags.BSM_NO_ADAS.value):
if CP.enableBsm: # and (not CP.extFlags & HyundaiExtFlags.SCC_BUS2.value or CP.extFlags & HyundaiExtFlags.BSM_NO_ADAS.value):
messages += [
("BLINDSPOTS_REAR_CORNERS", 20),
]
Expand Down Expand Up @@ -611,9 +611,9 @@ def get_cam_can_parser_canfd(CP):
## BSM신호가 ADAS인경우 BUS2로 개조되고, 독립인경우 ECAN에서 들어옴.
# 개조, 독립 EV6: 1, 1 => False, inADAS: 1, 0 => True
# 비개조, 0, 0 => False
if CP.enableBsm and CP.extFlags & HyundaiExtFlags.SCC_BUS2.value and not CP.extFlags & HyundaiExtFlags.BSM_NO_ADAS.value:
messages += [
("BLINDSPOTS_REAR_CORNERS", 20),
]
#if CP.enableBsm and CP.extFlags & HyundaiExtFlags.SCC_BUS2.value and not CP.extFlags & HyundaiExtFlags.BSM_NO_ADAS.value:
# messages += [
# ("BLINDSPOTS_REAR_CORNERS", 20),
# ]

return CANParser(DBC[CP.carFingerprint]["pt"], messages, CanBus(CP).CAM)
2 changes: 2 additions & 0 deletions selfdrive/car/hyundai/interface.py
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,8 @@ def _get_params(ret, candidate, fingerprint, car_fw, experimental_long, docs):
# *** feature detection ***
if candidate in CANFD_CAR:
ret.enableBsm = 0x1e5 in fingerprint[CAN.ECAN]
if candidate in (CAR.KIA_CARNIVAL_4TH_GEN) and hda2:
ret.enableBsm = False
if not (candidate in (CAR.KIA_CARNIVAL_4TH_GEN) and hda2):
ret.extFlags |= HyundaiExtFlags.BSM_NO_ADAS.value
print(f"$$$$$ CanFD ECAN = {CAN.ECAN}")
Expand Down
22 changes: 14 additions & 8 deletions selfdrive/car/interfaces.py
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,9 @@ def __init__(self, CP, CarController, CarState):
self.silent_steer_warning = True
self.v_ego_cluster_seen = False

# tw: steer warning
self.steer_warning = 0

self.CS = None
self.can_parsers = []
if CarState is not None:
Expand Down Expand Up @@ -433,24 +436,27 @@ def create_common_events(self, cs_out, extra_gears=None, pcm_enable=True, allow_
print("$$$$$$$$$$$$$$ EventName.buttonCancel")

# Handle permanent and temporary steering faults
# tw: steer warning
self.steer_warning = self.steer_warning + 1 if cs_out.steerFaultTemporary else 0
self.steering_unpressed = 0 if cs_out.steeringPressed else self.steering_unpressed + 1
if cs_out.steerFaultTemporary:
if cs_out.steerFaultPermanent: # 스티어폴트 선행.
events.add(EventName.steerUnavailable)

elif cs_out.steerFaultTemporary: # 일시오류 체크.
if cs_out.steeringPressed and (not self.CS.out.steerFaultTemporary or self.no_steer_warning):
self.no_steer_warning = True
else:
self.no_steer_warning = False

# if the user overrode recently, show a less harsh alert
if self.silent_steer_warning or cs_out.standstill or self.steering_unpressed < int(1.5 / DT_CTRL):
self.silent_steer_warning = True
events.add(EventName.steerTempUnavailableSilent)
else:
# 핸들손올림이나 일시 스티어오류가 0.5초이상일때 경고하며, 운전자 개입은 안하는 것으로 한다.
if self.steering_unpressed > int(0.5/DT_CTRL) and self.steer_warning > int(0.5/DT_CTRL):
events.add(EventName.steerTempUnavailable)
else:
events.add(EventName.steerTempUnavailableSilent)

else:
self.no_steer_warning = False
self.silent_steer_warning = False
if cs_out.steerFaultPermanent:
events.add(EventName.steerUnavailable)

# we engage when pcm is active (rising edge)
# enabling can optionally be blocked by the car interface
Expand Down
4 changes: 3 additions & 1 deletion selfdrive/controls/controlsd.py
Original file line number Diff line number Diff line change
Expand Up @@ -365,7 +365,9 @@ def update_events(self, CS):
elif not self.sm.all_freq_ok(self.camera_packets):
self.events.add(EventName.cameraFrameRate)
if not REPLAY and self.rk.lagging:
self.events.add(EventName.controlsdLagging)
#self.events.add(EventName.controlsdLagging)
print("controlsdLagging")
self.rk.reset_time()
if len(self.sm['radarState'].radarErrors) or (not self.rk.lagging and not self.sm.all_checks(['radarState'])):
self.events.add(EventName.radarFault)
if not self.sm.valid['pandaStates']:
Expand Down
12 changes: 7 additions & 5 deletions selfdrive/controls/lib/drive_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ def __init__(self, CP):

self.speedFromPCM = self.params.get_int("SpeedFromPCM")
self.cruiseEcoControl = self.params.get_int("CruiseEcoControl")
self.cruiseSpeedUnit = self.params.get_int("CruiseSpeedUnit")

self.params.put_int("UseLaneLineSpeedApply", self.params.get_int("UseLaneLineSpeed"))

Expand All @@ -128,7 +129,7 @@ def _params_update(self, controls):
elif self.params_count == 30:
self.autoSpeedUptoRoadSpeedLimit = float(self.params.get_int("AutoSpeedUptoRoadSpeedLimit")) * 0.01
elif self.params_count == 40:
pass
self.cruiseSpeedUnit = self.params.get_int("CruiseSpeedUnit")
elif self.params_count == 50:
self.cruiseEcoControl = self.params.get_int("CruiseEcoControl")
elif self.params_count >= 100:
Expand Down Expand Up @@ -455,7 +456,7 @@ def _update_cruise_button(self, CS, v_cruise_kph, controls):
button_kph = v_cruise_kph
buttonEvents = CS.buttonEvents
button_speed_up_diff = 1
button_speed_dn_diff = 10 if self.cruiseButtonMode in [3, 4] else 1
button_speed_dn_diff = self.cruiseSpeedUnit if self.cruiseButtonMode in [1, 2] else 1

button_type = 0
if self.button_cnt > 0:
Expand Down Expand Up @@ -524,7 +525,8 @@ def _update_cruise_button(self, CS, v_cruise_kph, controls):
self.params.put_int_nonblocking("MyDrivingMode", self.params.get_int("MyDrivingMode") % 4 + 1) # 1,2,3,4 (1:eco, 2:safe, 3:normal, 4:high speed)
elif button_type == ButtonType.lfaButton:
self._add_log("Button long lkas pressed ..")
self.params.put_int_nonblocking("UseLaneLineSpeedApply", self.params.get_int("UseLaneLineSpeed") if self.params.get_int("UseLaneLineSpeedApply") == 0 else 0)
useLaneLineSpeed = max(1, self.params.get_int("UseLaneLineSpeed"))
self.params.put_int_nonblocking("UseLaneLineSpeedApply", useLaneLineSpeed if self.params.get_int("UseLaneLineSpeedApply") == 0 else 0)
else:
if button_type == ButtonType.accelCruise:
if self.softHoldActive > 0 and self.autoCruiseControl > 0:
Expand Down Expand Up @@ -687,7 +689,7 @@ def _update_cruise_carrot(self, CS, v_cruise_kph, controls):
road_speed = (30 if self.roadSpeed < 30 else self.roadSpeed) * self.autoSpeedUptoRoadSpeedLimit
lead_v_kph = max(v_cruise_kph, min(lead_v_kph, road_speed))
if lead_v_kph > v_cruise_kph and self.lead_dRel < 80:
self._add_log_auto_cruise("AutoSpeed up to leadCar={:.0f}kph, road_speed={:.0f}kph".format(lead_v_kph, road_speed))
#self._add_log_auto_cruise("AutoSpeed up to leadCar={:.0f}kph, road_speed={:.0f}kph".format(lead_v_kph, road_speed))
v_cruise_kph = lead_v_kph

v_cruise_kph = self.update_apilot_cmd(controls, v_cruise_kph)
Expand All @@ -711,7 +713,7 @@ def v_cruise_speed_up(self, v_cruise_kph):
if v_cruise_kph < roadSpeed:
v_cruise_kph = roadSpeed
else:
for speed in range (40, int(self.cruiseSpeedMax), Params().get_int("CruiseSpeedUnit")):
for speed in range (40, int(self.cruiseSpeedMax), self.cruiseSpeedUnit):
if v_cruise_kph < speed:
v_cruise_kph = speed
break
Expand Down
14 changes: 12 additions & 2 deletions selfdrive/controls/radard.py
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,8 @@ def prob(c, c_key):
# if no 'sane' match is found return -1
# stationary radar points can be false positives
dist_sane = abs(track.dRel - offset_vision_dist) < max([(offset_vision_dist)*.35, 5.0])
vel_tolerance = 20.0 if lead.prob > 0.85 else 10 # high vision track prob, increase tolerance (for stopped car)
vel_tolerance = 20.0 if lead.prob > 0.98 else 15.0 if lead.prob > 0.95 else 10 # high vision track prob, increase tolerance (for stopped car)
#vel_tolerance = interp(lead.prob, [0.80, 0.85, 0.98, 1.0], [10.0, 20.0, 25.0, 30.0])
vel_sane = (abs(track.vRel + v_ego - lead.v[0]) < vel_tolerance) or (v_ego + track.vRel > 3)
##간혹 어수선한경우, 전방에 차가 없지만, 좌우에 차가많은경우 억지로 레이더를 가져오는 경우가 있음..(레이더트랙의 경우)
y_sane = (abs(-lead.y[0]-track.yRel) < 3.2 / 2.) #lane_width assumed 3.2M, laplacian_pdf 의 prob값을 검증하려했지만, y값으로 처리해도 될듯함.
Expand Down Expand Up @@ -481,7 +482,7 @@ def update(self, sm: messaging.SubMaster, rr: Optional[car.RadarData]):
ar_pts = {}
for pt in radar_points:
if pt.trackId == 0 and pt.yRel == 0: # SCC radar
if leads_v3[0].prob > 0.5:
if self.ready and leads_v3[0].prob > 0.5:
pt.yRel = -leads_v3[0].y[0]
ar_pts[pt.trackId] = [pt.dRel, pt.yRel, pt.vRel, pt.measured, pt.aRel]

Expand Down Expand Up @@ -574,6 +575,15 @@ def get_lead(self, tracks: dict[int, Track], index: int, lead_msg: capnp._Dynami
else:
track = None

# vision match후 발견된 track이 없으면
# track_scc 가 있는 지 확인하고
# 비전과의 차이가 35%(5M)이상 차이나면 scc가 발견못한것이기 때문에 비전것으로 처리함.
if track_scc is not None and track is None and self.mixRadarInfo == 4:
track = track_scc
if self.vision_tracks[index].prob > .5:
if self.vision_tracks[index].dRel < track.dRel - 5.0: #끼어드는 차량이 있는 경우 처리..
track = None

lead_dict = {'status': False}
if track is not None:
lead_dict = track.get_RadarState(lead_msg.prob, float(-lead_msg.y[0]))
Expand Down
14 changes: 7 additions & 7 deletions selfdrive/modeld/modeld.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,8 @@ def __init__(self, context: CLContext):
'traffic_convention': np.zeros(ModelConstants.TRAFFIC_CONVENTION_LEN, dtype=np.float32),
'lateral_control_params': np.zeros(ModelConstants.LATERAL_CONTROL_PARAMS_LEN, dtype=np.float32),
'prev_desired_curv': np.zeros(ModelConstants.PREV_DESIRED_CURV_LEN * (ModelConstants.HISTORY_BUFFER_LEN+1), dtype=np.float32),
#'nav_features': np.zeros(ModelConstants.NAV_FEATURE_LEN, dtype=np.float32),
#'nav_instructions': np.zeros(ModelConstants.NAV_INSTRUCTION_LEN, dtype=np.float32),
'nav_features': np.zeros(ModelConstants.NAV_FEATURE_LEN, dtype=np.float32),
'nav_instructions': np.zeros(ModelConstants.NAV_INSTRUCTION_LEN, dtype=np.float32),
'features_buffer': np.zeros(ModelConstants.HISTORY_BUFFER_LEN * ModelConstants.FEATURE_LEN, dtype=np.float32),
}

Expand Down Expand Up @@ -94,8 +94,8 @@ def run(self, buf: VisionBuf, wbuf: VisionBuf, transform: np.ndarray, transform_

self.inputs['traffic_convention'][:] = inputs['traffic_convention']
self.inputs['lateral_control_params'][:] = inputs['lateral_control_params']
#self.inputs['nav_features'][:] = inputs['nav_features']
#self.inputs['nav_instructions'][:] = inputs['nav_instructions']
self.inputs['nav_features'][:] = inputs['nav_features']
self.inputs['nav_instructions'][:] = inputs['nav_instructions']

# if getCLBuffer is not None, frame will be None
self.model.setInputBuffer("input_imgs", self.frame.prepare(buf, transform.flatten(), self.model.getCLBuffer("input_imgs")))
Expand Down Expand Up @@ -293,9 +293,9 @@ def main(demo=False):
inputs:dict[str, np.ndarray] = {
'desire': vec_desire,
'traffic_convention': traffic_convention,
'lateral_control_params': lateral_control_params
#'nav_features': nav_features,
#'nav_instructions': nav_instructions
'lateral_control_params': lateral_control_params,
'nav_features': nav_features,
'nav_instructions': nav_instructions,
}

mt1 = time.perf_counter()
Expand Down
4 changes: 0 additions & 4 deletions selfdrive/modeld/models/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,6 @@ To view the architecture of the ONNX networks, you can use [netron](https://netr
* one-hot encoded vector to tell model whether traffic is right-hand or left-hand traffic : 2
* **feature buffer**
* A buffer of intermediate features that gets appended to the current feature to form a 5 seconds temporal context (at 20FPS) : 99 * 512
* **nav features**
* 1 * 150
* **nav instructions**
* 1 * 256


### Supercombo output format (Full size: XXX x float32)
Expand Down
Binary file modified selfdrive/modeld/models/supercombo.onnx
Binary file not shown.
16 changes: 8 additions & 8 deletions selfdrive/ui/paint.cc
Original file line number Diff line number Diff line change
Expand Up @@ -654,43 +654,43 @@ void DrawPlot::makePlotData(const UIState* s, float& data1, float& data2, char *
case 1:
data1 = a_ego;
data2 = accel;
sprintf(str, "Accel (G:desired, Y:actual)");
sprintf(str, "1.Accel (G:desired, Y:actual)");
break;
case 2:
// curvature * v * v : 원심가속도
data1 = curvature;
//data2 = (desired_curvature * v_ego * v_ego) - (roll * 9.81);
data2 = curvatures_0;
sprintf(str, "Lateral Accel(G:desired, Y:actual)");
sprintf(str, "2.Lateral Accel(G:desired, Y:actual)");
break;
case 3:
data1 = v_ego;
data2 = speeds_0;
sprintf(str, "Speed/Accel(G:speed, Y:accel)");
sprintf(str, "3.Speed/Accel(G:speed, Y:accel)");
break;
case 4:
data1 = position.getX()[32];
data2 = velocity.getX()[32];
sprintf(str, "Model data(G:velocity, Y:position");
sprintf(str, "4.Model data(G:velocity, Y:position");
break;
case 5:
data1 = lead_radar.getVLeadK();
data2 = lead_radar.getALeadK();
sprintf(str, "Detected radar(G:aLeadK, Y:vLeadK)");
sprintf(str, "5.Detected radar(G:aLeadK, Y:vLeadK)");
break;
case 6:
data1 = a_ego; //노
data2 = lead_radar.getALeadK(); // 녹
sprintf(str, "Detected radar(G:aLeadK, Y:a_ego)");
sprintf(str, "6.Detected radar(G:aLeadK, Y:a_ego)");
break;
case 7:
data1 = lead_radar.getVLeadK();
data2 = lead_radar.getVLead(); // getDRel();
sprintf(str, "Detected radar(G:vLead, Y:vLeadK)");
sprintf(str, "7.Detected radar(G:vLead, Y:vLeadK)");
break;
data1 = a_ego; // 노
data2 = accel_out; // 녹
sprintf(str, "Accel (G:accel output, Y:a_ego)");
sprintf(str, "7.Accel (G:accel output, Y:a_ego)");
break;
default:
data1 = data2 = 0;
Expand Down
2 changes: 1 addition & 1 deletion selfdrive/ui/qt/offroad/settings.cc
Original file line number Diff line number Diff line change
Expand Up @@ -329,7 +329,7 @@ DevicePanel::DevicePanel(SettingsWindow *parent) : ListWidget(parent) {
const QVector<DefaultSetting> settings = {
{"TM_HEV_SCC2", "TM_HEV_2022, scc2, radarTracks, radar Long", "apilot_default_tm_hev_scc2.json"},
{"DH_SCC2", "DH, scc2, radar Long", "apilot_default_dh_scc2.json"},
//{"EV6_VLONG", "EV6 vision Long", "apilot_default_ev6_vlong.json"},
{"EV6_VLONG", "EV6 vision Long", "apilot_default_ev6_vlong.json"},
//{"IONIQ5_VLONG", "IONIQ5 vision Long", "apilot_default_ioniq5_vlong.json"},
{"GM_VOLT", "GM VOLT radar Long", "apilot_default_volt_ev.json"}
};
Expand Down
Loading