From f3602d723184e27e09d989e55c60db1d8008000b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=BA=E6=A2=B0=E5=B0=8F=E9=B8=BD?= <128568434+jixiexiaoge@users.noreply.github.com> Date: Tue, 4 Mar 2025 18:21:41 +0800 Subject: [PATCH] =?UTF-8?q?UI=20=E6=B1=89=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- selfdrive/carrot/carrot_man.py | 148 ++++++++++++++++----------------- selfdrive/ui/carrot.cc | 20 ++--- 2 files changed, 84 insertions(+), 84 deletions(-) diff --git a/selfdrive/carrot/carrot_man.py b/selfdrive/carrot/carrot_man.py index 44fcef1..b7023e4 100644 --- a/selfdrive/carrot/carrot_man.py +++ b/selfdrive/carrot/carrot_man.py @@ -725,7 +725,7 @@ class CarrotMan: except Exception as e: print(f"carrot_cmd_zmq error: {e}") socket.close() - time.sleep(1) + time.sleep(1) socket, poller = setup_socket() def recvall(self, sock, n): @@ -964,7 +964,7 @@ class CarrotServ: self.bearing_measured = 0.0 self.bearing = 0.0 self.gps_valid = False - + self.totalDistance = 0 self.xSpdLimit = 0 self.xSpdDist = 0 @@ -1194,72 +1194,72 @@ class CarrotServ: def _get_sdi_descr(self, nSdiType): sdi_types = { - 0: "신호과속", - 1: "과속 (고정식)", - 2: "구간단속 시작", - 3: "구간단속 끝", - 4: "구간단속중", - 5: "꼬리물기단속카메라", - 6: "신호 단속", - 7: "과속 (이동식)", - 8: "고정식 과속위험 구간(박스형)", - 9: "버스전용차로구간", - 10: "가변 차로 단속", - 11: "갓길 감시 지점", - 12: "끼어들기 금지", - 13: "교통정보 수집지점", - 14: "방범용cctv", - 15: "과적차량 위험구간", - 16: "적재 불량 단속", - 17: "주차단속 지점", - 18: "일방통행도로", - 19: "철길 건널목", - 20: "어린이 보호구역(스쿨존 시작 구간)", - 21: "어린이 보호구역(스쿨존 끝 구간)", - 22: "과속방지턱", - 23: "lpg충전소", - 24: "터널 구간", - 25: "휴게소", - 26: "톨게이트", - 27: "안개주의 지역", - 28: "유해물질 지역", - 29: "사고다발", - 30: "급커브지역", - 31: "급커브구간1", - 32: "급경사구간", - 33: "야생동물 교통사고 잦은 구간", - 34: "우측시야불량지점", - 35: "시야불량지점", - 36: "좌측시야불량지점", - 37: "신호위반다발구간", - 38: "과속운행다발구간", - 39: "교통혼잡지역", - 40: "방향별차로선택지점", - 41: "무단횡단사고다발지점", - 42: "갓길 사고 다발 지점", - 43: "과속 사발 다발 지점", - 44: "졸음 사고 다발 지점", - 45: "사고다발지점", - 46: "보행자 사고다발지점", - 47: "차량도난사고 상습발생지점", - 48: "낙석주의지역", - 49: "결빙주의지역", - 50: "병목지점", - 51: "합류 도로", - 52: "추락주의지역", - 53: "지하차도 구간", - 54: "주택밀집지역(교통진정지역)", - 55: "인터체인지", - 56: "분기점", - 57: "휴게소(lpg충전가능)", - 58: "교량", - 59: "제동장치사고다발지점", - 60: "중앙선침범사고다발지점", - 61: "통행위반사고다발지점", - 62: "목적지 건너편 안내", - 63: "졸음 쉼터 안내", - 64: "노후경유차단속", - 65: "터널내 차로변경단속", + 0: "信号超速", + 1: "超速 (固定式)", + 2: "区间测速开始", + 3: "区间测速结束", + 4: "区间测速中", + 5: "尾随监控摄像头", + 6: "信号监控", + 7: "超速 (移动式)", + 8: "固定式超速危险区(盒型)", + 9: "公交专用车道区", + 10: "可变车道监控", + 11: "应急车道监控点", + 12: "禁止插队", + 13: "交通信息收集点", + 14: "防范用CCTV", + 15: "超载车辆危险区", + 16: "装载不当监控", + 17: "停车监控点", + 18: "单行道", + 19: "铁路道口", + 20: "儿童保护区(学校区域开始)", + 21: "儿童保护区(学校区域结束)", + 22: "减速带", + 23: "LPG加油站", + 24: "隧道区", + 25: "休息区", + 26: "收费站", + 27: "雾区警告", + 28: "有害物质区域", + 29: "事故多发", + 30: "急转弯区域", + 31: "急转弯区1", + 32: "陡坡区域", + 33: "野生动物交通事故频发区域", + 34: "右侧视野不良点", + 35: "视野不良点", + 36: "左侧视野不良点", + 37: "信号违规多发区", + 38: "超速行驶多发区", + 39: "交通拥堵区域", + 40: "方向性车道选择点", + 41: "行人横穿事故多发点", + 42: "应急车道事故多发点", + 43: "超速多发点", + 44: "疲劳驾驶事故多发点", + 45: "事故多发点", + 46: "行人事故多发点", + 47: "车辆盗窃事故频发点", + 48: "落石警告区域", + 49: "结冰警告区域", + 50: "瓶颈点", + 51: "汇合道路", + 52: "坠落警告区域", + 53: "地下通道区", + 54: "住宅密集区(交通平缓区)", + 55: "互通立交", + 56: "分岔点", + 57: "休息区(LPG充电可用)", + 58: "桥梁", + 59: "制动装置事故多发点", + 60: "中央线侵占事故多发点", + 61: "通行违规事故多发点", + 62: "目的地对面指引", + 63: "疲劳休息区指引", + 64: "老旧柴油车监控", + 65: "隧道内车道变更监控", 66: "" } return sdi_types.get(nSdiType, "") @@ -1392,7 +1392,7 @@ class CarrotServ: if atc_type in ["turn left", "turn right"] and x_dist_to_turn > start_turn_dist: atc_type = "atc left" if atc_type == "turn left" else "atc right" - if self.autoTurnMapChange > 0 and check_steer: + if self.autoTurnMapChange > 0 and check_steer: #print(f"x_dist_to_turn: {x_dist_to_turn}, atc_start_dist: {atc_start_dist}") #print(f"atc_activate_count: {self.atc_activate_count}") if self.atc_activate_count == 2: @@ -1427,7 +1427,7 @@ class CarrotServ: return atc_desired, atc_type, atc_speed, atc_dist - + def update_nav_instruction(self, sm): if sm.alive['navInstruction'] and sm.valid['navInstruction']: msg_nav = sm['navInstruction'] @@ -1446,7 +1446,7 @@ class CarrotServ: self.debugText = f"{msg_nav.maneuverType},{msg_nav.maneuverModifier} " #print(msg_nav) #print(f"navInstruction: {self.xTurnInfo}, {self.xDistToTurn}, {self.szTBTMainText}") - + def update_navi(self, remote_ip, sm, pm, vturn_speed, coords, distances, route_speed): self.debugText = "" @@ -1495,7 +1495,7 @@ class CarrotServ: sdi_speed = 250 hda_active = False - ### 과속카메라, 사고방지턱 + ### 과속카메라, 사고방지턱 if self.xSpdDist > 0 and self.active_carrot > 0: safe_sec = self.autoNaviSpeedBumpTime if self.xSpdType == 22 else self.autoNaviSpeedCtrlEnd decel = self.autoNaviSpeedDecelRate @@ -1650,7 +1650,7 @@ class CarrotServ: inst = messaging.new_message('navInstructionCarrot') if self.active_carrot > 1: inst.valid = True - + instruction = inst.navInstructionCarrot instruction.distanceRemaining = self.nGoPosDist instruction.timeRemaining = self.nGoPosTime @@ -1668,7 +1668,7 @@ class CarrotServ: navTypeNext, navModifierNext, xTurnInfoNext = "invalid", "", -1 if self.nTBTTurnTypeNext in nav_type_mapping: navTypeNext, navModifierNext, xTurnInfoNext = nav_type_mapping[self.nTBTTurnTypeNext] - + instruction.maneuverType = navType instruction.maneuverModifier = navModifier diff --git a/selfdrive/ui/carrot.cc b/selfdrive/ui/carrot.cc index 679d607..28e3ba3 100644 --- a/selfdrive/ui/carrot.cc +++ b/selfdrive/ui/carrot.cc @@ -687,11 +687,11 @@ public: else if (longActive) { if (xState == 3 || xState == 5) { //XState.e2eStop, XState.e2eStopped if (v_ego < 1.0) { - sprintf(str, "%s", (trafficState >= 1000) ? "신호오류" : "신호대기"); + sprintf(str, "%s", (trafficState >= 1000) ? "信号错误" : "信号等待"); ui_draw_text(s, x, disp_y, str, disp_size, COLOR_WHITE, BOLD); } else { - ui_draw_text(s, x, disp_y, "신호감속중", disp_size, COLOR_WHITE, BOLD); + ui_draw_text(s, x, disp_y, "信号减速中", disp_size, COLOR_WHITE, BOLD); } #if 0 else if (getStopDist() > 0.5) { @@ -703,7 +703,7 @@ public: #endif } else if (xState == 4) { //XState.e2ePrepare - ui_draw_text(s, x, disp_y, "E2E주행중", disp_size, COLOR_WHITE, BOLD); + ui_draw_text(s, x, disp_y, "E2E驾驶中", disp_size, COLOR_WHITE, BOLD); } else if (xState == 0 || xState == 1 || xState == 2) { //XState.lead draw_dist = true; @@ -1026,10 +1026,10 @@ protected: active_carrot = 2; nGoPosDist = 500000; nGoPosTime = 4 * 60 * 60; - szSdiDescr = "어린이 보호구역(스쿨존 시작 구간)"; + szSdiDescr = "儿童保护区(学校区域开始段)"; xTurnInfo = 1; xDistToTurn = 1000; - szPosRoadName = "구문천 1길 17"; + szPosRoadName = "구문천 1길 17"; // 此处保持原文不变 #endif //if (active_carrot <= 1) return; @@ -1071,9 +1071,9 @@ protected: case 4: ui_draw_image(s, { bx - icon_size / 2, by - icon_size / 2, icon_size, icon_size }, "ic_lane_change_r", 1.0f); break; case 7: ui_draw_image(s, { bx - icon_size / 2, by - icon_size / 2, icon_size, icon_size }, "ic_turn_u", 1.0f); break; case 6: ui_draw_text(s, bx, by + 20, "TG", 35, COLOR_WHITE, BOLD); break; - case 8: ui_draw_text(s, bx, by + 20, "목적지", 35, COLOR_WHITE, BOLD); break; + case 8: ui_draw_text(s, bx, by + 20, "目的地", 35, COLOR_WHITE, BOLD); break; default: - sprintf(str, "감속:%d", xTurnInfo); + sprintf(str, "减速:%d", xTurnInfo); ui_draw_text(s, bx, by + 20, str, 35, COLOR_WHITE, BOLD); break; } @@ -1097,14 +1097,14 @@ protected: } if (nGoPosDist > 0 && nGoPosTime > 0) { - time_t now = time(NULL); // 현재 시간 얻기 + time_t now = time(NULL); // 获取当前时间 struct tm* local = localtime(&now); int remaining_minutes = (int)nGoPosTime / 60; local->tm_min += remaining_minutes; mktime(local); - sprintf(str, "도착: %.1f분(%02d:%02d)", (float)nGoPosTime / 60., local->tm_hour, local->tm_min); + sprintf(str, "到达: %.1f分钟(%02d:%02d)", (float)nGoPosTime / 60., local->tm_hour, local->tm_min); ui_draw_text(s, tbt_x + 190, tbt_y + 80, str, 50, COLOR_WHITE, BOLD); - sprintf(str, "%.1fkm", nGoPosDist / 1000.); + sprintf(str, "%.1f公里", nGoPosDist / 1000.); ui_draw_text(s, tbt_x + 190 + 120, tbt_y + 130, str, 50, COLOR_WHITE, BOLD); } }