Merge branch 'dev_robotaxi-d_251110_8.2.8_i18n' into dev_robotaxi-d_251204_8.3.0_xfk_temp
# Conflicts: # OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunning/TaskRunningView.kt
This commit is contained in:
@@ -70,6 +70,7 @@ dependencies {
|
||||
implementation rootProject.ext.dependencies.androidxappcompat
|
||||
api rootProject.ext.dependencies.protobuf_java
|
||||
api rootProject.ext.dependencies.protobuf_java_util
|
||||
implementation project(':core:mogo-core-utils')
|
||||
}
|
||||
|
||||
task androidSourcesJar(type: Jar) {
|
||||
|
||||
@@ -1 +1 @@
|
||||
<manifest package="com.zhjt.mogo.adas.data"></manifest>
|
||||
<manifest package="com.zhjt.mogo.adas.data" />
|
||||
|
||||
@@ -1,81 +0,0 @@
|
||||
package com.zhjt.mogo.adas.common;
|
||||
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.zhjt.mogo.adas.data.AdasConstants;
|
||||
|
||||
/**
|
||||
* 连接状态描述信息
|
||||
* 文案消息根据产品文档定义,详情见地址中的“工控机相关异常完善提示内容”模块:http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=126243915
|
||||
*/
|
||||
public enum IpcConnectionStatusDescription {
|
||||
DISCONNECTED(AdasConstants.IpcConnectionStatus.DISCONNECTED, "未连接或主动断开连接", "未连接:首次启动时未调用连接函数;主动断开连接:主动调用断开连接函数;"),
|
||||
CONNECTED(AdasConstants.IpcConnectionStatus.CONNECTED, "已连接", null),
|
||||
CONNECTING(AdasConstants.IpcConnectionStatus.CONNECTING, "连接中", null),
|
||||
RECONNECTING_TIMER(AdasConstants.IpcConnectionStatus.RECONNECTING_TIMER, "重连中(定时器)", null),
|
||||
RECONNECTING_NETWORK(AdasConstants.IpcConnectionStatus.RECONNECTING_NETWORK, "重连中(网络监听)", null),
|
||||
CONNECT_EXCEPTION(AdasConstants.IpcConnectionStatus.CONNECT_EXCEPTION, "连接异常", "与域控连接失败、无法连接、非正常断开等"),
|
||||
ILLEGAL_ADDRESS(AdasConstants.IpcConnectionStatus.ILLEGAL_ADDRESS, "非法地址", "连接模式为指定地址时:表示当前调用连接时传入的域控地址错误或不符合规则【不修改默认配置不会出现此问题】;连接模式为PING模式时:表示传入的PING地址列表存在问题【不修改默认配置不会出现此问题】"),
|
||||
SEARCH_ADDRESS(AdasConstants.IpcConnectionStatus.SEARCH_ADDRESS, "搜索中", "连接模式为PING模式时,正在查找是否有可用的域控地址"),
|
||||
NOT_FOUND_ADDRESS(AdasConstants.IpcConnectionStatus.NOT_FOUND_ADDRESS, "未找到", "连接模式为PING模式时,配置的域控地址列表中的全部地址均无法PING通【不修改默认配置的情况下需要排查PAD是否连接车载路由器、工控机是否连接车载路由器、工控机是否开机等】"),
|
||||
CERTIFICATION_FAILED(AdasConstants.IpcConnectionStatus.CERTIFICATION_FAILED, "认证异常", "鹰眼端或鹰眼端和域控端启用认证后,认证出现异常"),
|
||||
HEARTBEAT_TIMEOUT(AdasConstants.IpcConnectionStatus.HEARTBEAT_TIMEOUT, "心跳超时", "连接域控成功后在一段时间内未收到域控心跳数据或其它任何数据,默认4秒【可以配置】"),
|
||||
PROTOCOL_MISMATCH(AdasConstants.IpcConnectionStatus.PROTOCOL_MISMATCH, "协议不匹配", "被连接的域控端非WebSocket协议【可能性非常低】"),
|
||||
SERVER_DISCONNECTED(AdasConstants.IpcConnectionStatus.SERVER_DISCONNECTED, "域控断开", "域控主动发起断开WebSocket连接,目前主要原因有:1.证书认证失败;2.老版本MAP不支持多连接的情况下会踢掉客户端;");
|
||||
|
||||
|
||||
@NonNull
|
||||
public final AdasConstants.IpcConnectionStatus status;
|
||||
@NonNull
|
||||
public final String name;//消息类型准确定义名称
|
||||
@Nullable
|
||||
public final String desc;//描述或简单的解决办法或出现此状态的原因
|
||||
|
||||
public String msg;//自定义消息数据
|
||||
|
||||
IpcConnectionStatusDescription(@NonNull AdasConstants.IpcConnectionStatus status, @NonNull String name, @Nullable String desc) {
|
||||
this.status = status;
|
||||
this.name = name;
|
||||
this.desc = desc;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static IpcConnectionStatusDescription getDescription(@Nullable AdasConstants.IpcConnectionStatus status) {
|
||||
if (status == AdasConstants.IpcConnectionStatus.CONNECTED) {
|
||||
return CONNECTED;
|
||||
} else if (status == AdasConstants.IpcConnectionStatus.CONNECTING) {
|
||||
return CONNECTING;
|
||||
} else if (status == AdasConstants.IpcConnectionStatus.RECONNECTING_TIMER) {
|
||||
return RECONNECTING_TIMER;
|
||||
} else if (status == AdasConstants.IpcConnectionStatus.RECONNECTING_NETWORK) {
|
||||
return RECONNECTING_NETWORK;
|
||||
} else if (status == AdasConstants.IpcConnectionStatus.CONNECT_EXCEPTION) {
|
||||
return CONNECT_EXCEPTION;
|
||||
} else if (status == AdasConstants.IpcConnectionStatus.ILLEGAL_ADDRESS) {
|
||||
return ILLEGAL_ADDRESS;
|
||||
} else if (status == AdasConstants.IpcConnectionStatus.SEARCH_ADDRESS) {
|
||||
return SEARCH_ADDRESS;
|
||||
} else if (status == AdasConstants.IpcConnectionStatus.NOT_FOUND_ADDRESS) {
|
||||
return NOT_FOUND_ADDRESS;
|
||||
} else if (status == AdasConstants.IpcConnectionStatus.CERTIFICATION_FAILED) {
|
||||
return CERTIFICATION_FAILED;
|
||||
} else if (status == AdasConstants.IpcConnectionStatus.HEARTBEAT_TIMEOUT) {
|
||||
return HEARTBEAT_TIMEOUT;
|
||||
} else if (status == AdasConstants.IpcConnectionStatus.PROTOCOL_MISMATCH) {
|
||||
return PROTOCOL_MISMATCH;
|
||||
} else if (status == AdasConstants.IpcConnectionStatus.SERVER_DISCONNECTED) {
|
||||
return SERVER_DISCONNECTED;
|
||||
} else {
|
||||
// status==AdasConstants.IpcConnectionStatus.DISCONNECTED
|
||||
return DISCONNECTED;
|
||||
}
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public String toString() {
|
||||
return name;
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,11 @@
|
||||
package com.zhjt.mogo.adas.common;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.annotation.StringRes;
|
||||
|
||||
import com.zhjt.mogo.adas.data.R;
|
||||
|
||||
import mogo.telematics.pad.MessagePad;
|
||||
|
||||
/**
|
||||
@@ -13,120 +19,120 @@ import mogo.telematics.pad.MessagePad;
|
||||
*/
|
||||
public enum MessageType {
|
||||
|
||||
TYPE_DEFAULT(MessagePad.MessageType.MsgTypeDefault, "默认"),
|
||||
TYPE_RECEIVE_TRAJECTORY(MessagePad.MessageType.MsgTypeTrajectory, "车前引导线"),
|
||||
TYPE_RECEIVE_TRACKED_OBJECTS(MessagePad.MessageType.MsgTypeTrackedObjects, "障碍物信息"),
|
||||
TYPE_RECEIVE_GNSS_INFO(MessagePad.MessageType.MsgTypeGnssInfo, "惯导信息"),
|
||||
TYPE_RECEIVE_VEHICLE_STATE(MessagePad.MessageType.MsgTypeVehicleState, "老底盘状态"),
|
||||
TYPE_RECEIVE_AUTOPILOT_STATE(MessagePad.MessageType.MsgTypeAutopilotState, "自动驾驶状态"),
|
||||
TYPE_RECEIVE_REPORT_MESSAGE(MessagePad.MessageType.MsgTypeReportMessage, "监控事件报告"),
|
||||
TYPE_RECEIVE_PERCEPTION_TRAFFIC_LIGHT(MessagePad.MessageType.MsgTypePerceptionTrafficLight, "融合感知红绿灯"),
|
||||
TYPE_RECEIVE_PREDICTION_OBSTACLE_TRAJECTORY(MessagePad.MessageType.MsgTypePredictionObstacleTrajectory, "他车轨迹预测"),
|
||||
TYPE_RECEIVE_POINT_CLOUD(MessagePad.MessageType.MsgTypePointCloud, "点云透传"),
|
||||
TYPE_RECEIVE_PLANNING_OBJECTS(MessagePad.MessageType.MsgTypePlanningObjects, "Planning障碍物"),
|
||||
TYPE_RECEIVE_CHASSIS_STATES(MessagePad.MessageType.MsgTypeChassisStates, "底盘状态"),
|
||||
TYPE_RECEIVE_FUNCTION_STATES(MessagePad.MessageType.MsgTypeFunctionStates, "重构后功能状态"),
|
||||
TYPE_RECEIVE_BACK_CAMERA_VIDEO(MessagePad.MessageType.MsgTypeBackCameraVideo, "后摄像头"),
|
||||
TYPE_RECEIVE_M1_STITCHED_VIDEO(MessagePad.MessageType.MsgTypeM1StitchedVideo, "M1拼接视频"),
|
||||
TYPE_RECEIVE_SSM(MessagePad.MessageType.MsgTypeSSMState, "SSM系统状态"),
|
||||
TYPE_RECEIVE_FM_STATE(MessagePad.MessageType.MsgTypeFMState, "FM状态"),
|
||||
TYPE_RECEIVE_FSM2024_STATE(MessagePad.MessageType.MsgTypeFSM2024State, "FSM状态"),
|
||||
TYPE_RECEIVE_LOC_STATE(MessagePad.MessageType.MsgTypeLocState, "定位状态"),
|
||||
TYPE_RECEIVE_CLOUD_REGULATORY_WARNING(MessagePad.MessageType.MsgTypeCloudRegulatoryWarning, "云控监管预警"),
|
||||
TYPE_RECEIVE_PREDICTION_OBSTACLE_TRAJECTORY2025(MessagePad.MessageType.MsgTypePredictionObjects2025, "障碍物轨迹预测"),
|
||||
TYPE_RECEIVE_VLLM(MessagePad.MessageType.MsgTypevllm, "视觉语言模型"),
|
||||
TYPE_RECEIVE_VLLM_IMAGE(MessagePad.MessageType.MsgTypeVllmImage60, "视觉语言模型图像"),
|
||||
TYPE_DEFAULT(MessagePad.MessageType.MsgTypeDefault, R.string.adas_data_MsgTypeDefault),
|
||||
TYPE_RECEIVE_TRAJECTORY(MessagePad.MessageType.MsgTypeTrajectory, R.string.adas_data_MsgTypeTrajectory),
|
||||
TYPE_RECEIVE_TRACKED_OBJECTS(MessagePad.MessageType.MsgTypeTrackedObjects, R.string.adas_data_MsgTypeTrackedObjects),
|
||||
TYPE_RECEIVE_GNSS_INFO(MessagePad.MessageType.MsgTypeGnssInfo, R.string.adas_data_MsgTypeGnssInfo),
|
||||
TYPE_RECEIVE_VEHICLE_STATE(MessagePad.MessageType.MsgTypeVehicleState, R.string.adas_data_MsgTypeVehicleState),
|
||||
TYPE_RECEIVE_AUTOPILOT_STATE(MessagePad.MessageType.MsgTypeAutopilotState, R.string.adas_data_MsgTypeAutopilotState),
|
||||
TYPE_RECEIVE_REPORT_MESSAGE(MessagePad.MessageType.MsgTypeReportMessage, R.string.adas_data_MsgTypeReportMessage),
|
||||
TYPE_RECEIVE_PERCEPTION_TRAFFIC_LIGHT(MessagePad.MessageType.MsgTypePerceptionTrafficLight, R.string.adas_data_MsgTypePerceptionTrafficLight),
|
||||
TYPE_RECEIVE_PREDICTION_OBSTACLE_TRAJECTORY(MessagePad.MessageType.MsgTypePredictionObstacleTrajectory, R.string.adas_data_MsgTypePredictionObstacleTrajectory),
|
||||
TYPE_RECEIVE_POINT_CLOUD(MessagePad.MessageType.MsgTypePointCloud, R.string.adas_data_MsgTypePointCloud),
|
||||
TYPE_RECEIVE_PLANNING_OBJECTS(MessagePad.MessageType.MsgTypePlanningObjects, R.string.adas_data_MsgTypePlanningObjects),
|
||||
TYPE_RECEIVE_CHASSIS_STATES(MessagePad.MessageType.MsgTypeChassisStates, R.string.adas_data_MsgTypeChassisStates),
|
||||
TYPE_RECEIVE_FUNCTION_STATES(MessagePad.MessageType.MsgTypeFunctionStates, R.string.adas_data_MsgTypeFunctionStates),
|
||||
TYPE_RECEIVE_BACK_CAMERA_VIDEO(MessagePad.MessageType.MsgTypeBackCameraVideo, R.string.adas_data_MsgTypeBackCameraVideo),
|
||||
TYPE_RECEIVE_M1_STITCHED_VIDEO(MessagePad.MessageType.MsgTypeM1StitchedVideo, R.string.adas_data_MsgTypeM1StitchedVideo),
|
||||
TYPE_RECEIVE_SSM(MessagePad.MessageType.MsgTypeSSMState, R.string.adas_data_MsgTypeSSMState),
|
||||
TYPE_RECEIVE_FM_STATE(MessagePad.MessageType.MsgTypeFMState, R.string.adas_data_MsgTypeFMState),
|
||||
TYPE_RECEIVE_FSM2024_STATE(MessagePad.MessageType.MsgTypeFSM2024State, R.string.adas_data_MsgTypeFSM2024State),
|
||||
TYPE_RECEIVE_LOC_STATE(MessagePad.MessageType.MsgTypeLocState, R.string.adas_data_MsgTypeLocState),
|
||||
TYPE_RECEIVE_CLOUD_REGULATORY_WARNING(MessagePad.MessageType.MsgTypeCloudRegulatoryWarning, R.string.adas_data_MsgTypeCloudRegulatoryWarning),
|
||||
TYPE_RECEIVE_PREDICTION_OBSTACLE_TRAJECTORY2025(MessagePad.MessageType.MsgTypePredictionObjects2025, R.string.adas_data_MsgTypePredictionObjects2025),
|
||||
TYPE_RECEIVE_VLLM(MessagePad.MessageType.MsgTypevllm, R.string.adas_data_MsgTypevllm),
|
||||
TYPE_RECEIVE_VLLM_IMAGE(MessagePad.MessageType.MsgTypeVllmImage60, R.string.adas_data_MsgTypeVllmImage60),
|
||||
|
||||
TYPE_RECEIVE_BASIC_INFO_REQ(MessagePad.MessageType.MsgTypeBasicInfoReq, "自动驾驶设备基础信息请求"),
|
||||
TYPE_SEND_BASIC_INFO_RESP(MessagePad.MessageType.MsgTypeBasicInfoResp, "自动驾驶设备基础信息应答"),
|
||||
TYPE_SEND_SET_AUTOPILOT_MODE_REQ(MessagePad.MessageType.MsgTypeSetAutopilotModeReq, "设置自动驾驶模式 启动自动驾驶", 5000),
|
||||
TYPE_SEND_SET_DEMO_MODE_REQ(MessagePad.MessageType.MsgTypeSetDemoModeReq, "设置演示模式", 5000),
|
||||
TYPE_SEND_CAR_CONFIG_REQ(MessagePad.MessageType.MsgTypeCarConfigReq, "车机基础信息请求"),
|
||||
TYPE_RECEIVE_CAR_CONFIG_RESP(MessagePad.MessageType.MsgTypeCarConfigResp, "车机基础信息应答"),
|
||||
TYPE_SEND_RECORD_CAUSE(MessagePad.MessageType.MsgTypeRecordCause, "记录人工接管原因"),
|
||||
TYPE_SEND_RECORD_DATA(MessagePad.MessageType.MsgTypeRecordData, "数据采集请求"),
|
||||
TYPE_RECEIVE_RECORD_RESULT(MessagePad.MessageType.MsgTypeRecordResult, "数据采集结果"),
|
||||
TYPE_SEND_SET_AUTOPILOT_SPEED_REQ(MessagePad.MessageType.MsgTypeSetAutopilotSpeedReq, "设置自动驾驶最大速度", 5000),
|
||||
TYPE_SEND_GLOBAL_PATH_REQ(MessagePad.MessageType.MsgTypeGlobalPathReq, "自动驾驶路径请求"),
|
||||
TYPE_RECEIVE_GLOBAL_PATH_RESP(MessagePad.MessageType.MsgTypeGlobalPathResp, "自动驾驶路径应答"),
|
||||
TYPE_RECEIVE_BASIC_INFO_REQ(MessagePad.MessageType.MsgTypeBasicInfoReq, R.string.adas_data_MsgTypeBasicInfoReq),
|
||||
TYPE_SEND_BASIC_INFO_RESP(MessagePad.MessageType.MsgTypeBasicInfoResp, R.string.adas_data_MsgTypeBasicInfoResp),
|
||||
TYPE_SEND_SET_AUTOPILOT_MODE_REQ(MessagePad.MessageType.MsgTypeSetAutopilotModeReq, R.string.adas_data_MsgTypeSetAutopilotModeReq, 5000),
|
||||
TYPE_SEND_SET_DEMO_MODE_REQ(MessagePad.MessageType.MsgTypeSetDemoModeReq, R.string.adas_data_MsgTypeSetDemoModeReq, 5000),
|
||||
TYPE_SEND_CAR_CONFIG_REQ(MessagePad.MessageType.MsgTypeCarConfigReq, R.string.adas_data_MsgTypeCarConfigReq),
|
||||
TYPE_RECEIVE_CAR_CONFIG_RESP(MessagePad.MessageType.MsgTypeCarConfigResp, R.string.adas_data_MsgTypeCarConfigResp),
|
||||
TYPE_SEND_RECORD_CAUSE(MessagePad.MessageType.MsgTypeRecordCause, R.string.adas_data_MsgTypeRecordCause),
|
||||
TYPE_SEND_RECORD_DATA(MessagePad.MessageType.MsgTypeRecordData, R.string.adas_data_MsgTypeRecordData),
|
||||
TYPE_RECEIVE_RECORD_RESULT(MessagePad.MessageType.MsgTypeRecordResult, R.string.adas_data_MsgTypeRecordResult),
|
||||
TYPE_SEND_SET_AUTOPILOT_SPEED_REQ(MessagePad.MessageType.MsgTypeSetAutopilotSpeedReq, R.string.adas_data_MsgTypeSetAutopilotSpeedReq, 5000),
|
||||
TYPE_SEND_GLOBAL_PATH_REQ(MessagePad.MessageType.MsgTypeGlobalPathReq, R.string.adas_data_MsgTypeGlobalPathReq),
|
||||
TYPE_RECEIVE_GLOBAL_PATH_RESP(MessagePad.MessageType.MsgTypeGlobalPathResp, R.string.adas_data_MsgTypeGlobalPathResp),
|
||||
@Deprecated//MAP290开始此接口弃用
|
||||
TYPE_SEND_TRAFFIC_LIGHT_DATA(MessagePad.MessageType.MsgTypeTrafficLightData, "发送红绿灯数据到工控机"),
|
||||
TYPE_SEND_TRAFFIC_LIGHT_DATA(MessagePad.MessageType.MsgTypeTrafficLightData, R.string.adas_data_MsgTypeTrafficLightData),
|
||||
@Deprecated
|
||||
TYPE_RECEIVE_WARN(MessagePad.MessageType.MsgTypeWarn, "预警数据"),
|
||||
TYPE_RECEIVE_ARRIVAL_NOTIFICATION(MessagePad.MessageType.MsgTypeArrivalNotification, "到站提醒"),
|
||||
TYPE_SEND_SYSTEM_CMD_REQ(MessagePad.MessageType.MsgTypeSystemCmdReq, "系统命令请求", 5000),
|
||||
TYPE_SEND_TRAJECTORY_DOWNLOAD_REQ(MessagePad.MessageType.MsgTypeTrajectoryDownloadReq, "轨迹下载请求", 5000),
|
||||
TYPE_RECEIVE_WARN(MessagePad.MessageType.MsgTypeWarn, R.string.adas_data_MsgTypeWarn),
|
||||
TYPE_RECEIVE_ARRIVAL_NOTIFICATION(MessagePad.MessageType.MsgTypeArrivalNotification, R.string.adas_data_MsgTypeArrivalNotification),
|
||||
TYPE_SEND_SYSTEM_CMD_REQ(MessagePad.MessageType.MsgTypeSystemCmdReq, R.string.adas_data_MsgTypeSystemCmdReq, 5000),
|
||||
TYPE_SEND_TRAJECTORY_DOWNLOAD_REQ(MessagePad.MessageType.MsgTypeTrajectoryDownloadReq, R.string.adas_data_MsgTypeTrajectoryDownloadReq, 5000),
|
||||
@Deprecated//HQ、M1 MAP350开始弃用,其他车型MAP360开始弃用
|
||||
TYPE_SEND_STATUS_QUERY_REQ(MessagePad.MessageType.MsgTypeStatusQueryReq, "状态查询请求"),
|
||||
TYPE_SEND_STATUS_QUERY_REQ(MessagePad.MessageType.MsgTypeStatusQueryReq, R.string.adas_data_MsgTypeStatusQueryReq),
|
||||
@Deprecated//HQ、M1 MAP350开始弃用,其他车型MAP360开始弃用
|
||||
TYPE_RECEIVE_STATUS_QUERY_RESP(MessagePad.MessageType.MsgTypeStatusQueryResp, "状态查询应答"),
|
||||
TYPE_SEND_SET_RAIN_MODE_REQ(MessagePad.MessageType.MsgTypeSetRainModeReq, "设置雨天模式", 5000),
|
||||
TYPE_SEND_RECORD_DATA_CONFIG_REQ(MessagePad.MessageType.MsgTypeRecordDataConfigReq, "数据采集配置查询"),
|
||||
TYPE_RECEIVE_RECORD_DATA_CONFIG_RESP(MessagePad.MessageType.MsgTypeRecordDataConfigResp, "数据采集配置"),
|
||||
TYPE_SEND_OPERATOR_CMD_REQ(MessagePad.MessageType.MsgTypeOperatorCmdReq, "操控指令", 5000),
|
||||
TYPE_SEND_SUBSCRIBE_DATA_REQ(MessagePad.MessageType.MsgTypeSubscribeDataReq, "数据订阅、取消订阅请求", 5000),
|
||||
TYPE_SEND_SPECIAL_VEHICLE_TASK_CMD(MessagePad.MessageType.MsgTypeSpecialVehicleTaskCmd, "特种车辆命令", 5000),
|
||||
TYPE_SEND_SET_PARAM_REQ(MessagePad.MessageType.MsgTypeSetParamReq, "设置参数命令", 5000),
|
||||
TYPE_SEND_TRIP_INFO_REQ(MessagePad.MessageType.MsgTypeTripInfoEvent, "行程信息"),
|
||||
TYPE_SEND_BAG_MANAGER_CMD(MessagePad.MessageType.MsgTypeBagManagerCmd, "Bag管理请求"),
|
||||
TYPE_RECEIVE_BAG_MANAGER_CMD(MessagePad.MessageType.MsgTypeBagManagerCmd, "Bag管理应答"),
|
||||
TYPE_SEND_PLANNING_CMD(MessagePad.MessageType.MsgTypePlanningCmd, "给Planning指令", 5000),
|
||||
TYPE_SEND_SET_PARAM_REQ_V2(MessagePad.MessageType.MsgTypeSetParamReqV2, "设置参数命令V2", 5000),
|
||||
TYPE_RECEIVE_V2N_CONGESTION_EVENT(MessagePad.MessageType.MsgTypeV2nCongestionEvent, "主车附近事件推送"),
|
||||
TYPE_RECEIVE_V2N_GLOBAL_PATH_EVENTS(MessagePad.MessageType.MsgTypeV2nGlobalPathEvents, "主车路径全局事件推送"),
|
||||
TYPE_SEND_GET_PARAM_REQ(MessagePad.MessageType.MsgTypeGetParamReq, "参数获取请求"),
|
||||
TYPE_RECEIVE_GET_PARAM_RESP(MessagePad.MessageType.MsgTypeGetParamResp, "参数获取应答"),
|
||||
TYPE_SEND_SWEEPER_CLOUD_TASK_CMD(MessagePad.MessageType.MsgTypeTaskCmd, "发送清扫车指令到云控", 5000),
|
||||
TYPE_RECEIVE_SWEEPER_CLOUD_TASK_CMD(MessagePad.MessageType.MsgTypeTaskCmd, "云控下发清扫车任务指令", 5000),
|
||||
TYPE_SEND_FSM_STATUS_REASON_QUERY_REQ(MessagePad.MessageType.MsgTypeFSMStatusReasonQueryReq, "FSM状态原因查询"),
|
||||
TYPE_RECEIVE_FSM_STATUS_REASON_QUERY_RESP(MessagePad.MessageType.MsgTypeFSMStatusReasonQueryResp, "FSM状态原因查询应答"),
|
||||
TYPE_SEND_GET_DEBUG_INFO_REQ(MessagePad.MessageType.MsgTypeGetDebugInfo, "Debug信息请求"),
|
||||
TYPE_RECEIVE_GET_DEBUG_INFO_RESP(MessagePad.MessageType.MsgTypeGetDebugInfo, "Debug信息应答"),
|
||||
TYPE_SEND_PARALLEL_DRIVING_REQ(MessagePad.MessageType.MsgTypeParallelDrivingCmd, "平行驾驶请求", 5000),
|
||||
TYPE_RECEIVE_PARALLEL_DRIVING_STATUS(MessagePad.MessageType.MsgTypeParallelDrivingCmd, "平行驾驶状态", 5000),
|
||||
TYPE_SEND_RECEIVED_ACK(MessagePad.MessageType.MsgTypeReceivedAck, "发送消息回执"),
|
||||
TYPE_RECEIVE_RECEIVED_ACK(MessagePad.MessageType.MsgTypeReceivedAck, "接收消息回执"),
|
||||
TYPE_RECEIVE_V2N_NIO_GREEN_WAVE_PASSAGE_EVENT(MessagePad.MessageType.MsgTypeV2nNioGreenWavePassageEvent, "V2N NIO绿波通行(单路口)"),
|
||||
TYPE_RECEIVE_V2N_NIO_CROSSOVER_EVENT(MessagePad.MessageType.MsgTypeV2nNioCrossoverEvent, "V2N NIO行人横穿(路侧)"),
|
||||
TYPE_RECEIVE_V2N_NIO_OTHER_RETROGRADE_EVENT(MessagePad.MessageType.MsgTypeV2nNioOtherRetrogradeEvent, "V2N NIO他车逆行(路侧)"),
|
||||
TYPE_RECEIVE_V2N_NIO_CONGESTION_EVENT(MessagePad.MessageType.MsgTypeV2nNioCongestionEvent, "V2N NIO拥堵事件"),
|
||||
TYPE_RECEIVE_LANE_MARKS_TRAN(MessagePad.MessageType.MsgTypeLaneMarksTran, "车道线"),
|
||||
TYPE_SEND_COLLISION_REPORT(MessagePad.MessageType.MsgTypeCollisionReport, "碰撞上报"),
|
||||
TYPE_SEND_POWER_UNIT(MessagePad.MessageType.MsgTypePowerUnit, "电源模块请求"),
|
||||
TYPE_RECEIVE_POWER_UNIT(MessagePad.MessageType.MsgTypePowerUnit, "电源模块响应"),
|
||||
TYPE_SEND_SSM_FUNC_MSG(MessagePad.MessageType.MsgTypeSSMFuncMsg, "SSM功能控制"),
|
||||
TYPE_RECEIVE_SSM_FUNC_MSG(MessagePad.MessageType.MsgTypeSSMFuncMsg, "SSM功能响应"),
|
||||
TYPE_SEND_SSM_FUNC_STATUS_QUERY(MessagePad.MessageType.MsgTypeSSMFuncStatusQuery, "SSM功能状态查询"),
|
||||
TYPE_RECEIVE_SSM_FUNC_STATUS_QUERY(MessagePad.MessageType.MsgTypeSSMFuncStatusQuery, "SSM功能状态响应"),
|
||||
TYPE_SEND_CAPTURE_IMG_REQ_ON_TAKE_OVER(MessagePad.MessageType.MsgTypeCaptureImgReqOnTakeOver, "接管时摄像头数据请求"),
|
||||
TYPE_RECEIVE_CLOUD_CONTROL(MessagePad.MessageType.MsgTypeEzhouCloud, "云控数据"),
|
||||
TYPE_SEND_COPY_BAG(MessagePad.MessageType.MsgTypeCopyBag, "数据落盘控制"),
|
||||
TYPE_RECEIVE_COPY_BAG(MessagePad.MessageType.MsgTypeCopyBag, "数据落盘响应"),
|
||||
TYPE_SEND_CLOUD_CONFIG(MessagePad.MessageType.MsgTypeCloudConfig, "云端配置查询"),
|
||||
TYPE_RECEIVE_CLOUD_CONFIG(MessagePad.MessageType.MsgTypeCloudConfig, "云端配置响应"),
|
||||
TYPE_SEND_IMG_UPLOAD_CLOUD_ENABLE(MessagePad.MessageType.MsgTypeImgUploadCloudEnable, "摄像头上传NDE云开关"),
|
||||
TYPE_SEND_IMG_UPLOAD_CLOUD_STATUS_QUERY(MessagePad.MessageType.MsgTypeImgUploadCloudStatusQuery, "摄像头上传NDE云状态查询"),
|
||||
TYPE_RECEIVE_IMG_UPLOAD_CLOUD_STATUS_QUERY(MessagePad.MessageType.MsgTypeImgUploadCloudStatusQuery, "摄像头上传NDE云状态响应"),
|
||||
TYPE_SEND_FORCE_STOP_OR_START_CLOUD_REQ(MessagePad.MessageType.MsgTypeForceStopOrStartCloudReq, "云端配置控制"),
|
||||
TYPE_SEND_SET_OBU_UPLOAD_REQ(MessagePad.MessageType.MsgTypeSetObuUploadReq, "域控上报OBU开关控制"),
|
||||
TYPE_SEND_OBU_UPLOAD_STATUS(MessagePad.MessageType.MsgTypeObuUploadStatus, "域控上报OBU开关状态查询"),
|
||||
TYPE_RECEIVE_OBU_UPLOAD_STATUS(MessagePad.MessageType.MsgTypeObuUploadStatus, "域控上报OBU开关状态响应"),
|
||||
TYPE_RECEIVE_STATUS_QUERY_RESP(MessagePad.MessageType.MsgTypeStatusQueryResp, R.string.adas_data_MsgTypeStatusQueryResp),
|
||||
TYPE_SEND_SET_RAIN_MODE_REQ(MessagePad.MessageType.MsgTypeSetRainModeReq, R.string.adas_data_MsgTypeSetRainModeReq, 5000),
|
||||
TYPE_SEND_RECORD_DATA_CONFIG_REQ(MessagePad.MessageType.MsgTypeRecordDataConfigReq, R.string.adas_data_MsgTypeRecordDataConfigReq),
|
||||
TYPE_RECEIVE_RECORD_DATA_CONFIG_RESP(MessagePad.MessageType.MsgTypeRecordDataConfigResp, R.string.adas_data_MsgTypeRecordDataConfigResp),
|
||||
TYPE_SEND_OPERATOR_CMD_REQ(MessagePad.MessageType.MsgTypeOperatorCmdReq, R.string.adas_data_MsgTypeOperatorCmdReq, 5000),
|
||||
TYPE_SEND_SUBSCRIBE_DATA_REQ(MessagePad.MessageType.MsgTypeSubscribeDataReq, R.string.adas_data_MsgTypeSubscribeDataReq, 5000),
|
||||
TYPE_SEND_SPECIAL_VEHICLE_TASK_CMD(MessagePad.MessageType.MsgTypeSpecialVehicleTaskCmd, R.string.adas_data_MsgTypeSpecialVehicleTaskCmd, 5000),
|
||||
TYPE_SEND_SET_PARAM_REQ(MessagePad.MessageType.MsgTypeSetParamReq, R.string.adas_data_MsgTypeSetParamReq, 5000),
|
||||
TYPE_SEND_TRIP_INFO_REQ(MessagePad.MessageType.MsgTypeTripInfoEvent, R.string.adas_data_MsgTypeTripInfoEvent),
|
||||
TYPE_SEND_BAG_MANAGER_CMD(MessagePad.MessageType.MsgTypeBagManagerCmd, R.string.adas_data_MsgTypeBagManagerCmd_SEND),
|
||||
TYPE_RECEIVE_BAG_MANAGER_CMD(MessagePad.MessageType.MsgTypeBagManagerCmd, R.string.adas_data_MsgTypeBagManagerCmd_RECEIVE),
|
||||
TYPE_SEND_PLANNING_CMD(MessagePad.MessageType.MsgTypePlanningCmd, R.string.adas_data_MsgTypePlanningCmd, 5000),
|
||||
TYPE_SEND_SET_PARAM_REQ_V2(MessagePad.MessageType.MsgTypeSetParamReqV2, R.string.adas_data_MsgTypeSetParamReqV2, 5000),
|
||||
TYPE_RECEIVE_V2N_CONGESTION_EVENT(MessagePad.MessageType.MsgTypeV2nCongestionEvent, R.string.adas_data_MsgTypeV2nCongestionEvent),
|
||||
TYPE_RECEIVE_V2N_GLOBAL_PATH_EVENTS(MessagePad.MessageType.MsgTypeV2nGlobalPathEvents, R.string.adas_data_MsgTypeV2nGlobalPathEvents),
|
||||
TYPE_SEND_GET_PARAM_REQ(MessagePad.MessageType.MsgTypeGetParamReq, R.string.adas_data_MsgTypeGetParamReq),
|
||||
TYPE_RECEIVE_GET_PARAM_RESP(MessagePad.MessageType.MsgTypeGetParamResp, R.string.adas_data_MsgTypeGetParamResp),
|
||||
TYPE_SEND_SWEEPER_CLOUD_TASK_CMD(MessagePad.MessageType.MsgTypeTaskCmd, R.string.adas_data_MsgTypeTaskCmd_SEND, 5000),
|
||||
TYPE_RECEIVE_SWEEPER_CLOUD_TASK_CMD(MessagePad.MessageType.MsgTypeTaskCmd, R.string.adas_data_MsgTypeTaskCmd_RECEIVE, 5000),
|
||||
TYPE_SEND_FSM_STATUS_REASON_QUERY_REQ(MessagePad.MessageType.MsgTypeFSMStatusReasonQueryReq, R.string.adas_data_MsgTypeFSMStatusReasonQueryReq),
|
||||
TYPE_RECEIVE_FSM_STATUS_REASON_QUERY_RESP(MessagePad.MessageType.MsgTypeFSMStatusReasonQueryResp, R.string.adas_data_MsgTypeFSMStatusReasonQueryResp),
|
||||
TYPE_SEND_GET_DEBUG_INFO_REQ(MessagePad.MessageType.MsgTypeGetDebugInfo, R.string.adas_dataMsgTypeGetDebugInfo_SEND),
|
||||
TYPE_RECEIVE_GET_DEBUG_INFO_RESP(MessagePad.MessageType.MsgTypeGetDebugInfo, R.string.adas_data_MsgTypeGetDebugInfo_RECEIVE),
|
||||
TYPE_SEND_PARALLEL_DRIVING_REQ(MessagePad.MessageType.MsgTypeParallelDrivingCmd, R.string.adas_data_MsgTypeParallelDrivingCmd_SEND, 5000),
|
||||
TYPE_RECEIVE_PARALLEL_DRIVING_STATUS(MessagePad.MessageType.MsgTypeParallelDrivingCmd, R.string.adas_data_MsgTypeParallelDrivingCmd_RECEIVE, 5000),
|
||||
TYPE_SEND_RECEIVED_ACK(MessagePad.MessageType.MsgTypeReceivedAck, R.string.adas_data_MsgTypeReceivedAck_SEND),
|
||||
TYPE_RECEIVE_RECEIVED_ACK(MessagePad.MessageType.MsgTypeReceivedAck, R.string.adas_data_MsgTypeReceivedAck_RECEVIE),
|
||||
TYPE_RECEIVE_V2N_NIO_GREEN_WAVE_PASSAGE_EVENT(MessagePad.MessageType.MsgTypeV2nNioGreenWavePassageEvent, R.string.adas_data_MsgTypeV2nNioGreenWavePassageEvent),
|
||||
TYPE_RECEIVE_V2N_NIO_CROSSOVER_EVENT(MessagePad.MessageType.MsgTypeV2nNioCrossoverEvent, R.string.adas_data_MsgTypeV2nNioCrossoverEvent),
|
||||
TYPE_RECEIVE_V2N_NIO_OTHER_RETROGRADE_EVENT(MessagePad.MessageType.MsgTypeV2nNioOtherRetrogradeEvent, R.string.adas_data_MsgTypeV2nNioOtherRetrogradeEvent),
|
||||
TYPE_RECEIVE_V2N_NIO_CONGESTION_EVENT(MessagePad.MessageType.MsgTypeV2nNioCongestionEvent, R.string.adas_data_MsgTypeV2nNioCongestionEvent),
|
||||
TYPE_RECEIVE_LANE_MARKS_TRAN(MessagePad.MessageType.MsgTypeLaneMarksTran, R.string.adas_data_MsgTypeLaneMarksTran),
|
||||
TYPE_SEND_COLLISION_REPORT(MessagePad.MessageType.MsgTypeCollisionReport, R.string.adas_data_MsgTypeCollisionReport),
|
||||
TYPE_SEND_POWER_UNIT(MessagePad.MessageType.MsgTypePowerUnit, R.string.adas_data_MsgTypePowerUnit_SEND),
|
||||
TYPE_RECEIVE_POWER_UNIT(MessagePad.MessageType.MsgTypePowerUnit, R.string.adas_data_MsgTypePowerUnit_RECEIVE),
|
||||
TYPE_SEND_SSM_FUNC_MSG(MessagePad.MessageType.MsgTypeSSMFuncMsg, R.string.adas_data_MsgTypeSSMFuncMsg_SEND),
|
||||
TYPE_RECEIVE_SSM_FUNC_MSG(MessagePad.MessageType.MsgTypeSSMFuncMsg, R.string.adas_data_MsgTypeSSMFuncMsg_RECEIVE),
|
||||
TYPE_SEND_SSM_FUNC_STATUS_QUERY(MessagePad.MessageType.MsgTypeSSMFuncStatusQuery, R.string.adas_data_MsgTypeSSMFuncStatusQuery_SEND),
|
||||
TYPE_RECEIVE_SSM_FUNC_STATUS_QUERY(MessagePad.MessageType.MsgTypeSSMFuncStatusQuery, R.string.adas_data_MsgTypeSSMFuncStatusQuery_RECEIVE),
|
||||
TYPE_SEND_CAPTURE_IMG_REQ_ON_TAKE_OVER(MessagePad.MessageType.MsgTypeCaptureImgReqOnTakeOver, R.string.adas_data_MsgTypeCaptureImgReqOnTakeOver),
|
||||
TYPE_RECEIVE_CLOUD_CONTROL(MessagePad.MessageType.MsgTypeEzhouCloud, R.string.adas_data_MsgTypeEzhouCloud),
|
||||
TYPE_SEND_COPY_BAG(MessagePad.MessageType.MsgTypeCopyBag, R.string.adas_data_MsgTypeCopyBag_SEND),
|
||||
TYPE_RECEIVE_COPY_BAG(MessagePad.MessageType.MsgTypeCopyBag, R.string.adas_data_MsgTypeCopyBag_RECEIVE),
|
||||
TYPE_SEND_CLOUD_CONFIG(MessagePad.MessageType.MsgTypeCloudConfig, R.string.adas_data_MsgTypeCloudConfig_SEND),
|
||||
TYPE_RECEIVE_CLOUD_CONFIG(MessagePad.MessageType.MsgTypeCloudConfig, R.string.adas_data_MsgTypeCloudConfig_RECEIVE),
|
||||
TYPE_SEND_IMG_UPLOAD_CLOUD_ENABLE(MessagePad.MessageType.MsgTypeImgUploadCloudEnable, R.string.adas_data_MsgTypeImgUploadCloudEnable),
|
||||
TYPE_SEND_IMG_UPLOAD_CLOUD_STATUS_QUERY(MessagePad.MessageType.MsgTypeImgUploadCloudStatusQuery, R.string.adas_data_MsgTypeImgUploadCloudStatusQuery_SEND),
|
||||
TYPE_RECEIVE_IMG_UPLOAD_CLOUD_STATUS_QUERY(MessagePad.MessageType.MsgTypeImgUploadCloudStatusQuery, R.string.adas_data_MsgTypeImgUploadCloudStatusQuery_RECEIVE),
|
||||
TYPE_SEND_FORCE_STOP_OR_START_CLOUD_REQ(MessagePad.MessageType.MsgTypeForceStopOrStartCloudReq, R.string.adas_data_MsgTypeForceStopOrStartCloudReq),
|
||||
TYPE_SEND_SET_OBU_UPLOAD_REQ(MessagePad.MessageType.MsgTypeSetObuUploadReq, R.string.adas_data_MsgTypeSetObuUploadReq),
|
||||
TYPE_SEND_OBU_UPLOAD_STATUS(MessagePad.MessageType.MsgTypeObuUploadStatus, R.string.adas_data_MsgTypeObuUploadStatus_SEND),
|
||||
TYPE_RECEIVE_OBU_UPLOAD_STATUS(MessagePad.MessageType.MsgTypeObuUploadStatus, R.string.adas_data_MsgTypeObuUploadStatus_RECEIVE),
|
||||
|
||||
//TODO 透传原始pb文件中不存在以下type。由于Java中无法强转,所以在mogo-adas-data/message_pad.proto中放开注释
|
||||
TYPE_RECEIVE_PLANNING_DECISION_STATE(MessagePad.MessageType.MsgTypePlanningDecisionState, "Planning决策状态"),
|
||||
TYPE_RECEIVE_SWEEPER_TASK_INDEX_DATA(MessagePad.MessageType.MsgTypeSweeperTaskIndexData, "清扫车指标数据"),
|
||||
TYPE_RECEIVE_OBU_WARNING_DATA(MessagePad.MessageType.MsgTypeObuWarningData, "OBU预警事件"),
|
||||
TYPE_RECEIVE_PLANNING_DECISION_STATE(MessagePad.MessageType.MsgTypePlanningDecisionState, R.string.adas_data_MsgTypePlanningDecisionState),
|
||||
TYPE_RECEIVE_SWEEPER_TASK_INDEX_DATA(MessagePad.MessageType.MsgTypeSweeperTaskIndexData, R.string.adas_data_MsgTypeSweeperTaskIndexData),
|
||||
TYPE_RECEIVE_OBU_WARNING_DATA(MessagePad.MessageType.MsgTypeObuWarningData, R.string.adas_data_MsgTypeObuWarningData),
|
||||
//以下6个与标定相关
|
||||
TYPE_RECEIVE_CAMERA_CALIB_CHECK_DATA30(MessagePad.MessageType.MsgTypeCameraCalibCheckData30, "相机标定检查视频30"),
|
||||
TYPE_RECEIVE_CAMERA_CALIB_CHECK_DATA60(MessagePad.MessageType.MsgTypeCameraCalibCheckData60, "相机标定检查视频60"),
|
||||
TYPE_RECEIVE_CAMERA_CALIB_CHECK_DATA120_FRONT(MessagePad.MessageType.MsgTypeCameraCalibCheckData120Front, "相机标定检查视频120前"),
|
||||
TYPE_RECEIVE_CAMERA_CALIB_CHECK_DATA120_BACK(MessagePad.MessageType.MsgTypeCameraCalibCheckData120Back, "相机标定检查视频120后"),
|
||||
TYPE_RECEIVE_CAMERA_CALIB_CHECK_DATA120_LEFT(MessagePad.MessageType.MsgTypeCameraCalibCheckData120Left, "相机标定检查视频120左"),
|
||||
TYPE_RECEIVE_CAMERA_CALIB_CHECK_DATA120_RIGHT(MessagePad.MessageType.MsgTypeCameraCalibCheckData120Right, "相机标定检查视频120右"),
|
||||
TYPE_RECEIVE_CAMERA_CALIB_CHECK_DATA30(MessagePad.MessageType.MsgTypeCameraCalibCheckData30, R.string.adas_data_MsgTypeCameraCalibCheckData30),
|
||||
TYPE_RECEIVE_CAMERA_CALIB_CHECK_DATA60(MessagePad.MessageType.MsgTypeCameraCalibCheckData60, R.string.adas_data_MsgTypeCameraCalibCheckData60),
|
||||
TYPE_RECEIVE_CAMERA_CALIB_CHECK_DATA120_FRONT(MessagePad.MessageType.MsgTypeCameraCalibCheckData120Front, R.string.adas_data_MsgTypeCameraCalibCheckData120Front),
|
||||
TYPE_RECEIVE_CAMERA_CALIB_CHECK_DATA120_BACK(MessagePad.MessageType.MsgTypeCameraCalibCheckData120Back, R.string.adas_data_MsgTypeCameraCalibCheckData120Back),
|
||||
TYPE_RECEIVE_CAMERA_CALIB_CHECK_DATA120_LEFT(MessagePad.MessageType.MsgTypeCameraCalibCheckData120Left, R.string.adas_data_MsgTypeCameraCalibCheckData120Left),
|
||||
TYPE_RECEIVE_CAMERA_CALIB_CHECK_DATA120_RIGHT(MessagePad.MessageType.MsgTypeCameraCalibCheckData120Right, R.string.adas_data_MsgTypeCameraCalibCheckData120Right),
|
||||
|
||||
|
||||
TYPE_RECEIVE_CAPTURE_FRONT_IMG_ON_TAKE_OVER(MessagePad.MessageType.MsgTypeCaptureFrontImgOnTakeOver, "人工接管时给PAD发前摄像头数据响应"),
|
||||
TYPE_RECEIVE_CAPTURE_BACK_IMG_ON_TAKE_OVER(MessagePad.MessageType.MsgTypeCaptureBackImgOnTakeOver, "人工接管时给PAD发后摄像头数据响应"),
|
||||
TYPE_RECEIVE_CAPTURE_FRONT_IMG_ON_TAKE_OVER(MessagePad.MessageType.MsgTypeCaptureFrontImgOnTakeOver, R.string.adas_data_MsgTypeCaptureFrontImgOnTakeOver),
|
||||
TYPE_RECEIVE_CAPTURE_BACK_IMG_ON_TAKE_OVER(MessagePad.MessageType.MsgTypeCaptureBackImgOnTakeOver, R.string.adas_data_MsgTypeCaptureBackImgOnTakeOver),
|
||||
|
||||
;
|
||||
|
||||
@@ -138,22 +144,31 @@ public enum MessageType {
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
public final String desc;
|
||||
@StringRes
|
||||
private final int descResId;
|
||||
|
||||
/**
|
||||
* 消息回执超时时间 毫秒 0:表示不需要回执
|
||||
*/
|
||||
public final long timeoutMillis;
|
||||
|
||||
MessageType(MessagePad.MessageType typeCode, String desc) {
|
||||
this(typeCode, desc, 0L);
|
||||
MessageType(MessagePad.MessageType typeCode, @StringRes int descResId) {
|
||||
this(typeCode, descResId, 0L);
|
||||
}
|
||||
|
||||
MessageType(MessagePad.MessageType typeCode, String desc, long timeoutMillis) {
|
||||
MessageType(MessagePad.MessageType typeCode, @StringRes int descResId, long timeoutMillis) {
|
||||
this.typeCode = typeCode;
|
||||
this.desc = desc;
|
||||
this.descResId = descResId;
|
||||
this.timeoutMillis = timeoutMillis;
|
||||
}
|
||||
|
||||
|
||||
public String getDesc(Context context) {
|
||||
if (context == null) return "";
|
||||
try {
|
||||
return context.getString(descResId);
|
||||
} catch (Exception e) {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,20 +3,32 @@ package com.zhjt.mogo.adas.common.cloud;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils;
|
||||
import com.zhjt.mogo.adas.data.R;
|
||||
|
||||
/**
|
||||
* 实时决策建议 控车变道建议转向状态
|
||||
* 出口定义从当前道路逆时针算起
|
||||
*/
|
||||
public enum AdviceComRsiEventSource {
|
||||
ERROR(-1, "异常"),
|
||||
UNDEFINED(255, "缺省"),
|
||||
UNKNOWN(0, "未知来源"),
|
||||
TRAFFIC_POLICE(1, "交管部门"),
|
||||
GOVERNMENT(2, "其他政府部门"),
|
||||
METEOROLOGY(3, "气象部门"),
|
||||
INTERNET(4, "互联网"),
|
||||
SENSING(5, "路侧或云端感知"),
|
||||
OTHER(6, "其他来源"),
|
||||
// ERROR(-1, "异常"),
|
||||
ERROR(-1, StringUtils.getString(R.string.adas_data_abnormal)),
|
||||
// UNDEFINED(255, "缺省"),
|
||||
UNDEFINED(255, StringUtils.getString(R.string.adas_data_default)),
|
||||
// UNKNOWN(0, "未知来源"),
|
||||
UNKNOWN(0, StringUtils.getString(R.string.adas_data_unknown_source)),
|
||||
// TRAFFIC_POLICE(1, "交管部门"),
|
||||
TRAFFIC_POLICE(1, StringUtils.getString(R.string.adas_data_traffic_management_department)),
|
||||
// GOVERNMENT(2, "其他政府部门"),
|
||||
GOVERNMENT(2, StringUtils.getString(R.string.adas_data_other_government_departments)),
|
||||
// METEOROLOGY(3, "气象部门"),
|
||||
METEOROLOGY(3, StringUtils.getString(R.string.adas_data_meteorological_department)),
|
||||
// INTERNET(4, "互联网"),
|
||||
INTERNET(4, StringUtils.getString(R.string.adas_data_internet)),
|
||||
// SENSING(5, "路侧或云端感知"),
|
||||
SENSING(5, StringUtils.getString(R.string.adas_data_roadside_or_cloud_perception)),
|
||||
// OTHER(6, "其他来源"),
|
||||
OTHER(6, StringUtils.getString(R.string.adas_data_other_source)),
|
||||
;
|
||||
public final int type;
|
||||
|
||||
|
||||
@@ -3,15 +3,23 @@ package com.zhjt.mogo.adas.common.cloud;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils;
|
||||
import com.zhjt.mogo.adas.data.R;
|
||||
|
||||
/**
|
||||
* 实时决策建议 事件分类
|
||||
*/
|
||||
public enum AdviceEventType {
|
||||
ERROR(-1, "异常"),
|
||||
UNKNOWN(0, "未知类型"),
|
||||
TRAFFIC_EVENT(1, "道路交通事件"),
|
||||
TRAFFIC_SIGN(2, "道路交通标志"),
|
||||
CLOUD_DECISION(3, "云端决策建议"),
|
||||
// ERROR(-1, "异常"),
|
||||
ERROR(-1, StringUtils.getString(R.string.adas_data_event_abnormal)),
|
||||
// UNKNOWN(0, "未知类型"),
|
||||
UNKNOWN(0, StringUtils.getString(R.string.adas_data_event_unknown_type)),
|
||||
// TRAFFIC_EVENT(1, "道路交通事件"),
|
||||
TRAFFIC_EVENT(1, StringUtils.getString(R.string.adas_data_event_road_traffic_incident)),
|
||||
// TRAFFIC_SIGN(2, "道路交通标志"),
|
||||
TRAFFIC_SIGN(2, StringUtils.getString(R.string.adas_data_event_road_traffic_sign)),
|
||||
// CLOUD_DECISION(3, "云端决策建议"),
|
||||
CLOUD_DECISION(3, StringUtils.getString(R.string.adas_data_event_cloud_decision_suggestion)),
|
||||
;
|
||||
public final int type;
|
||||
|
||||
|
||||
@@ -3,17 +3,27 @@ package com.zhjt.mogo.adas.common.cloud;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils;
|
||||
import com.zhjt.mogo.adas.data.R;
|
||||
|
||||
/**
|
||||
* 实时决策建议 紧急车辆预警指令 车辆类型
|
||||
*/
|
||||
public enum AdviceEvwType {
|
||||
ERROR(-1, "异常"),
|
||||
RESERVED(-2, "预留"),
|
||||
UNDEFINED(255, "缺省"),
|
||||
INVALID(0, "失效"),
|
||||
AMBULANCE(1, "救护车"),
|
||||
POLICE_CAR(2, "警车"),
|
||||
FIRE_TRUCK(3, "消防车"),
|
||||
// ERROR(-1, "异常"),
|
||||
ERROR(-1, StringUtils.getString(R.string.adas_data_evw_type_abnormal)),
|
||||
// RESERVED(-2, "预留"),
|
||||
RESERVED(-2, StringUtils.getString(R.string.adas_data_evw_type_reserved)),
|
||||
// UNDEFINED(255, "缺省"),
|
||||
UNDEFINED(255, StringUtils.getString(R.string.adas_data_evw_type_default)),
|
||||
// INVALID(0, "失效"),
|
||||
INVALID(0, StringUtils.getString(R.string.adas_data_evw_type_invalid)),
|
||||
// AMBULANCE(1, "救护车"),
|
||||
AMBULANCE(1, StringUtils.getString(R.string.adas_data_evw_type_ambulance)),
|
||||
// POLICE_CAR(2, "警车"),
|
||||
POLICE_CAR(2, StringUtils.getString(R.string.adas_data_evw_type_police_car)),
|
||||
// FIRE_TRUCK(3, "消防车"),
|
||||
FIRE_TRUCK(3, StringUtils.getString(R.string.adas_data_evw_type_fire_engine)),
|
||||
;
|
||||
public final int type;
|
||||
|
||||
|
||||
@@ -3,16 +3,25 @@ package com.zhjt.mogo.adas.common.cloud;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils;
|
||||
import com.zhjt.mogo.adas.data.R;
|
||||
|
||||
/**
|
||||
* 实时决策建议 信号灯路口车速引导功能指令 车道方向建议速度 通行行为
|
||||
*/
|
||||
public enum AdviceGlosaSpdExpManeuver {
|
||||
UNKNOWN(-1, "未知"),
|
||||
UNDEFINED(255, "缺省"),
|
||||
STRAIGHT(0, "直行"),
|
||||
LEFT(1, "左转"),
|
||||
RIGHT(3, "右转"),
|
||||
U_TURN(4, "掉头"),
|
||||
// UNKNOWN(-1, "未知"),
|
||||
UNKNOWN(-1, StringUtils.getString(R.string.adas_data_glosa_spd_unknown)),
|
||||
// UNDEFINED(255, "缺省"),
|
||||
UNDEFINED(255, StringUtils.getString(R.string.adas_data_glosa_spd_default)),
|
||||
// STRAIGHT(0, "直行"),
|
||||
STRAIGHT(0, StringUtils.getString(R.string.adas_data_glosa_spd_straight)),
|
||||
// LEFT(1, "左转"),
|
||||
LEFT(1, StringUtils.getString(R.string.adas_data_glosa_spd_left_turn)),
|
||||
// RIGHT(3, "右转"),
|
||||
RIGHT(3, StringUtils.getString(R.string.adas_data_glosa_spd_right_turn)),
|
||||
// U_TURN(4, "掉头"),
|
||||
U_TURN(4, StringUtils.getString(R.string.adas_data_glosa_spd_u_turn)),
|
||||
;
|
||||
public final int type;
|
||||
|
||||
|
||||
@@ -3,15 +3,23 @@ package com.zhjt.mogo.adas.common.cloud;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils;
|
||||
import com.zhjt.mogo.adas.data.R;
|
||||
|
||||
/**
|
||||
* 实时决策建议 信号灯路口车速引导功能指令 命令标识
|
||||
*/
|
||||
public enum AdviceGlosaType {
|
||||
ERROR(-1, "异常"),
|
||||
INVALID(0, "失效"),
|
||||
GUIDE(1, "引导"),
|
||||
PARK(2, "停车指令"),
|
||||
START(3, "启动指令"),
|
||||
// ERROR(-1, "异常"),
|
||||
ERROR(-1, StringUtils.getString(R.string.adas_data_glosa_abnormal)),
|
||||
// INVALID(0, "失效"),
|
||||
INVALID(0, StringUtils.getString(R.string.adas_data_glosa_invalid)),
|
||||
// GUIDE(1, "引导"),
|
||||
GUIDE(1, StringUtils.getString(R.string.adas_data_glosa_guide)),
|
||||
// PARK(2, "停车指令"),
|
||||
PARK(2, StringUtils.getString(R.string.adas_data_glosa_parking_instruction)),
|
||||
// START(3, "启动指令"),
|
||||
START(3, StringUtils.getString(R.string.adas_data_glosa_start_instruction)),
|
||||
;
|
||||
public final int type;
|
||||
|
||||
|
||||
@@ -3,24 +3,40 @@ package com.zhjt.mogo.adas.common.cloud;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils;
|
||||
import com.zhjt.mogo.adas.data.R;
|
||||
|
||||
/**
|
||||
* 实时决策建议 控车变道建议转向状态
|
||||
* 出口定义从当前道路逆时针算起
|
||||
*/
|
||||
public enum AdviceInstructDirection {
|
||||
ERROR(-1, "异常"),
|
||||
UNDEFINED(255, "缺省"),
|
||||
KEEP_LANE(0, "沿车道行驶"),
|
||||
EXIT_1(1, "第一出口"),
|
||||
EXIT_2(2, "第二出口"),
|
||||
EXIT_3(3, "第三出口"),
|
||||
EXIT_4(4, "第四出口"),
|
||||
EXIT_5(5, "第五出口"),
|
||||
EXIT_6(6, "第六出口"),
|
||||
EXIT_7(7, "第七出口"),
|
||||
EXIT_8(8, "第八出口"),
|
||||
CHANGE_LEFT(9, "左变道"),
|
||||
CHANGE_RIGHT(10, "右变道"),
|
||||
// ERROR(-1, "异常"),
|
||||
ERROR(-1, StringUtils.getString(R.string.adas_data_instruct_abnormal)),
|
||||
// UNDEFINED(255, "缺省"),
|
||||
UNDEFINED(255, StringUtils.getString(R.string.adas_data_instruct_default)),
|
||||
// KEEP_LANE(0, "沿车道行驶"),
|
||||
KEEP_LANE(0, StringUtils.getString(R.string.adas_data_instruct_lane_keeping_driving)),
|
||||
// EXIT_1(1, "第一出口"),
|
||||
EXIT_1(1, StringUtils.getString(R.string.adas_data_instruct_first_exit)),
|
||||
// EXIT_2(2, "第二出口"),
|
||||
EXIT_2(2, StringUtils.getString(R.string.adas_data_instruct_second_exit)),
|
||||
// EXIT_3(3, "第三出口"),
|
||||
EXIT_3(3, StringUtils.getString(R.string.adas_data_instruct_third_exit)),
|
||||
// EXIT_4(4, "第四出口"),
|
||||
EXIT_4(4, StringUtils.getString(R.string.adas_data_instruct_fourth_exit)),
|
||||
// EXIT_5(5, "第五出口"),
|
||||
EXIT_5(5, StringUtils.getString(R.string.adas_data_instruct_fifth_exit)),
|
||||
// EXIT_6(6, "第六出口"),
|
||||
EXIT_6(6, StringUtils.getString(R.string.adas_data_instruct_sixth_exit)),
|
||||
// EXIT_7(7, "第七出口"),
|
||||
EXIT_7(7, StringUtils.getString(R.string.adas_data_instruct_seventh_exit)),
|
||||
// EXIT_8(8, "第八出口"),
|
||||
EXIT_8(8, StringUtils.getString(R.string.adas_data_instruct_eighth_exit)),
|
||||
// CHANGE_LEFT(9, "左变道"),
|
||||
CHANGE_LEFT(9, StringUtils.getString(R.string.adas_data_instruct_left_lane_change)),
|
||||
// CHANGE_RIGHT(10, "右变道"),
|
||||
CHANGE_RIGHT(10, StringUtils.getString(R.string.adas_data_instruct_right_lane_change)),
|
||||
;
|
||||
public final int type;
|
||||
|
||||
|
||||
@@ -3,31 +3,51 @@ package com.zhjt.mogo.adas.common.cloud;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils;
|
||||
import com.zhjt.mogo.adas.data.R;
|
||||
|
||||
/**
|
||||
* 实时决策建议 建议类型
|
||||
*/
|
||||
public enum AdviceType {
|
||||
ERROR(-1, "异常"),
|
||||
// ERROR(-1, "异常"),
|
||||
ERROR(-1, StringUtils.getString(R.string.adas_data_advice_type_abnormal)),
|
||||
//2、绿波通行 adviceType=1
|
||||
CLOUD2VEH_ADVICE_GLOSA(1, "信号灯路口车速引导功能指令"),
|
||||
VEH2CLOUD_ADVICE_GLOSA_RES(2, "信号灯路口车速引导功能指令返回"),
|
||||
CLOUD2VEH_ADVICE_NTLAR(3, "无信号灯路口右转功能指令"),
|
||||
VEH2CLOUD_ADVICE_NTLAR_RES(4, "无信号灯路口右转功能指令返回"),
|
||||
// CLOUD2VEH_ADVICE_GLOSA(1, "信号灯路口车速引导功能指令"),
|
||||
CLOUD2VEH_ADVICE_GLOSA(1, StringUtils.getString(R.string.adas_data_advice_type_glosa_function_instruction)),
|
||||
// VEH2CLOUD_ADVICE_GLOSA_RES(2, "信号灯路口车速引导功能指令返回"),
|
||||
VEH2CLOUD_ADVICE_GLOSA_RES(2, StringUtils.getString(R.string.adas_data_advice_type_glosa_function_instruction_return)),
|
||||
// CLOUD2VEH_ADVICE_NTLAR(3, "无信号灯路口右转功能指令"),
|
||||
CLOUD2VEH_ADVICE_NTLAR(3, StringUtils.getString(R.string.adas_data_advice_type_no_signal_intersection_right_turn_instruction)),
|
||||
// VEH2CLOUD_ADVICE_NTLAR_RES(4, "无信号灯路口右转功能指令返回"),
|
||||
VEH2CLOUD_ADVICE_NTLAR_RES(4, StringUtils.getString(R.string.adas_data_advice_type_no_signal_intersection_right_turn_instruction_return)),
|
||||
//8、动态限速信息
|
||||
CLOUD2VEH_ADVICE_LANESPDLMT(5, "动态车道级限速指令"),
|
||||
VEH2CLOUD_ADVICE_LANESPDLMT_RES(6, "动态车道级限速指令返回"),
|
||||
CLOUD2VEH_ADVICE_RAMP_INTENT_CHANGE(7, "匝道汇回预警指令"),
|
||||
VEH2CLOUD_ADVICE_RAMP_INTENT_CHANGE_RES(8, "匝道汇回预警指令返回"),
|
||||
CLOUD2VEH_ADVICE_FCW(9, "前向碰撞预警指令"),
|
||||
VEH2CLOUD_ADVICE_FCW_RES(10, "前向碰撞预警返回"),
|
||||
// CLOUD2VEH_ADVICE_LANESPDLMT(5, "动态车道级限速指令"),
|
||||
CLOUD2VEH_ADVICE_LANESPDLMT(5, StringUtils.getString(R.string.adas_data_advice_type_dynamic_lane_speed_limit_instruction)),
|
||||
// VEH2CLOUD_ADVICE_LANESPDLMT_RES(6, "动态车道级限速指令返回"),
|
||||
VEH2CLOUD_ADVICE_LANESPDLMT_RES(6, StringUtils.getString(R.string.adas_data_advice_type_dynamic_lane_speed_limit_instruction_return)),
|
||||
// CLOUD2VEH_ADVICE_RAMP_INTENT_CHANGE(7, "匝道汇回预警指令"),
|
||||
CLOUD2VEH_ADVICE_RAMP_INTENT_CHANGE(7, StringUtils.getString(R.string.adas_data_advice_type_ramp_merge_warn_instruction)),
|
||||
// VEH2CLOUD_ADVICE_RAMP_INTENT_CHANGE_RES(8, "匝道汇回预警指令返回"),
|
||||
VEH2CLOUD_ADVICE_RAMP_INTENT_CHANGE_RES(8, StringUtils.getString(R.string.adas_data_advice_type_ramp_merge_warn_instruction_return)),
|
||||
// CLOUD2VEH_ADVICE_FCW(9, "前向碰撞预警指令"),
|
||||
CLOUD2VEH_ADVICE_FCW(9, StringUtils.getString(R.string.adas_data_advice_type_fcw_instruction)),
|
||||
// VEH2CLOUD_ADVICE_FCW_RES(10, "前向碰撞预警返回"),
|
||||
VEH2CLOUD_ADVICE_FCW_RES(10, StringUtils.getString(R.string.adas_data_advice_type_fcw_instruction_return)),
|
||||
//异常车辆预警
|
||||
CLOUD2VEH_ADVICE_AVW(11, "异常车辆预警指令"),
|
||||
VEH2CLOUD_ADVICE_AVW_RES(12, "异常车辆预警返回"),
|
||||
// CLOUD2VEH_ADVICE_AVW(11, "异常车辆预警指令"),
|
||||
CLOUD2VEH_ADVICE_AVW(11, StringUtils.getString(R.string.adas_data_advice_type_avw_instruction)),
|
||||
// VEH2CLOUD_ADVICE_AVW_RES(12, "异常车辆预警返回"),
|
||||
VEH2CLOUD_ADVICE_AVW_RES(12, StringUtils.getString(R.string.adas_data_advice_type_avw_instruction_return)),
|
||||
//6、紧急车辆优先通行 adviceType=13
|
||||
CLOUD2VEH_ADVICE_EVW(13, "紧急车辆预警指令"),
|
||||
VEH2CLOUD_ADVICE_EVW_RES(14, "紧急车辆预警返回"),
|
||||
CLOUD2VEH_ADVICE_RAMP_ASSIST(15, "匝道辅助指令"),
|
||||
VEH2CLOUD_ADVICE_RAMP_ASSIST_RES(16, "匝道辅助返回"),
|
||||
// CLOUD2VEH_ADVICE_EVW(13, "紧急车辆预警指令"),
|
||||
CLOUD2VEH_ADVICE_EVW(13, StringUtils.getString(R.string.adas_data_advice_type_evw_instruction)),
|
||||
// VEH2CLOUD_ADVICE_EVW_RES(14, "紧急车辆预警返回"),
|
||||
VEH2CLOUD_ADVICE_EVW_RES(14, StringUtils.getString(R.string.adas_data_advice_type_evw_instruction_return)),
|
||||
// CLOUD2VEH_ADVICE_RAMP_ASSIST(15, "匝道辅助指令"),
|
||||
CLOUD2VEH_ADVICE_RAMP_ASSIST(15, StringUtils.getString(R.string.adas_data_advice_type_alg_instruction)),
|
||||
// VEH2CLOUD_ADVICE_RAMP_ASSIST_RES(16, "匝道辅助返回"),
|
||||
VEH2CLOUD_ADVICE_RAMP_ASSIST_RES(16, StringUtils.getString(R.string.adas_data_advice_type_alg_instruction_return)),
|
||||
//3、闯红灯预警 adviceType=17 sub_eventType=6011
|
||||
//4、行驶车道建议 adviceType=17 sub_eventType=6031/6032
|
||||
//5、交通拥堵提醒 adviceType=17 sub_eventType=6061
|
||||
@@ -36,10 +56,14 @@ public enum AdviceType {
|
||||
//10、路口其他车辆闯红灯预警 adviceType=17 sub_eventType=6041
|
||||
//11、障碍物(路面遗撒)预警 adviceType=17 sub_eventType=6081
|
||||
//12、能见度预警 adviceType=17 sub_eventType=6071
|
||||
CLOUD2VEH_ADVICE_COM_RSI(17, "通用RSI预警指令"),
|
||||
VEH2CLOUD_ADVICE_COM_RSI_RES(18, "通用RSI预警返回"),
|
||||
CLOUD2VEH_ADVICE_GUIDANCE(19, "路线规划指令"),
|
||||
VEH2CLOUD_ADVICE_GUIDANCE_RES(20, "路线规划返回"),
|
||||
// CLOUD2VEH_ADVICE_COM_RSI(17, "通用RSI预警指令"),
|
||||
CLOUD2VEH_ADVICE_COM_RSI(17, StringUtils.getString(R.string.adas_data_advice_type_grsi_warning_instruction)),
|
||||
// VEH2CLOUD_ADVICE_COM_RSI_RES(18, "通用RSI预警返回"),
|
||||
VEH2CLOUD_ADVICE_COM_RSI_RES(18, StringUtils.getString(R.string.adas_data_advice_type_grsi_warning_instruction_return)),
|
||||
// CLOUD2VEH_ADVICE_GUIDANCE(19, "路线规划指令"),
|
||||
CLOUD2VEH_ADVICE_GUIDANCE(19, StringUtils.getString(R.string.adas_data_advice_type_arp_instruction)),
|
||||
// VEH2CLOUD_ADVICE_GUIDANCE_RES(20, "路线规划返回"),
|
||||
VEH2CLOUD_ADVICE_GUIDANCE_RES(20, StringUtils.getString(R.string.adas_data_advice_type_arp_instruction_return)),
|
||||
|
||||
;
|
||||
public final int type;
|
||||
|
||||
@@ -3,16 +3,25 @@ package com.zhjt.mogo.adas.common.cloud;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils;
|
||||
import com.zhjt.mogo.adas.data.R;
|
||||
|
||||
/**
|
||||
* 云端辅助功能 云端下发信号灯信息 红绿灯控制方式
|
||||
*/
|
||||
public enum AstFuncTlmControlMode {
|
||||
ERROR(-1, "异常"),
|
||||
RESERVED(-2, "预留"),
|
||||
UNDEFINED(255, "缺省"),
|
||||
PERIODIC(1, "固定周期"),
|
||||
MANUAL(2, "手动控制"),
|
||||
YELLOW_FLASH(3, "黄闪控制"),
|
||||
// ERROR(-1, "异常"),
|
||||
ERROR(-1, StringUtils.getString(R.string.adas_data_control_abnormal)),
|
||||
// RESERVED(-2, "预留"),
|
||||
RESERVED(-2, StringUtils.getString(R.string.adas_data_control_reserved)),
|
||||
// UNDEFINED(255, "缺省"),
|
||||
UNDEFINED(255, StringUtils.getString(R.string.adas_data_control_default)),
|
||||
// PERIODIC(1, "固定周期"),
|
||||
PERIODIC(1, StringUtils.getString(R.string.adas_data_control_fixed_cycle)),
|
||||
// MANUAL(2, "手动控制"),
|
||||
MANUAL(2, StringUtils.getString(R.string.adas_data_control_manual_control)),
|
||||
// YELLOW_FLASH(3, "黄闪控制"),
|
||||
YELLOW_FLASH(3, StringUtils.getString(R.string.adas_data_control_yellow_flash_control)),
|
||||
;
|
||||
public final int type;
|
||||
|
||||
|
||||
@@ -3,22 +3,37 @@ package com.zhjt.mogo.adas.common.cloud;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils;
|
||||
import com.zhjt.mogo.adas.data.R;
|
||||
|
||||
/**
|
||||
* 云端辅助功能 云端下发信号灯信息 红绿灯控制方式
|
||||
*/
|
||||
public enum AstFuncTlmPhaseStateLightState {
|
||||
ERROR(-1, "异常"),
|
||||
RESERVED(-2, "预留"),
|
||||
UNKNOWN(0, "未知状态"),
|
||||
OFF(1, "信号灯未工作"),
|
||||
RED_FLASH(2, "红闪"),
|
||||
RED(3, "红灯状态"),
|
||||
GREEN_WAIT(4, "绿灯待行状态"),
|
||||
GREEN(5, "绿灯状态"),
|
||||
GREEN_PROTECTED(6, "受保护相位绿灯(箭头灯)"),
|
||||
YELLOW(7, "黄灯状态"),
|
||||
YELLOW_FLASH(8, "黄闪"),
|
||||
FAULT(255, "故障"),
|
||||
// ERROR(-1, "异常"),
|
||||
ERROR(-1, StringUtils.getString(R.string.adas_data_light_state_abnormal)),
|
||||
// RESERVED(-2, "预留"),
|
||||
RESERVED(-2, StringUtils.getString(R.string.adas_data_light_state_reserved)),
|
||||
// UNKNOWN(0, "未知状态"),
|
||||
UNKNOWN(0, StringUtils.getString(R.string.adas_data_light_state_unknown_status)),
|
||||
// OFF(1, "信号灯未工作"),
|
||||
OFF(1, StringUtils.getString(R.string.adas_data_light_state_signal_light_not_working)),
|
||||
// RED_FLASH(2, "红闪"),
|
||||
RED_FLASH(2, StringUtils.getString(R.string.adas_data_light_state_red_flashing)),
|
||||
// RED(3, "红灯状态"),
|
||||
RED(3, StringUtils.getString(R.string.adas_data_light_state_red_light_status)),
|
||||
// GREEN_WAIT(4, "绿灯待行状态"),
|
||||
GREEN_WAIT(4, StringUtils.getString(R.string.adas_data_light_state_green_light_waiting_status)),
|
||||
// GREEN(5, "绿灯状态"),
|
||||
GREEN(5, StringUtils.getString(R.string.adas_data_light_state_green_light_status)),
|
||||
// GREEN_PROTECTED(6, "受保护相位绿灯(箭头灯)"),
|
||||
GREEN_PROTECTED(6, StringUtils.getString(R.string.adas_data_light_state_protected_phase_green_light_arrow_light)),
|
||||
// YELLOW(7, "黄灯状态"),
|
||||
YELLOW(7, StringUtils.getString(R.string.adas_data_light_state_yellow_light_status)),
|
||||
// YELLOW_FLASH(8, "黄闪"),
|
||||
YELLOW_FLASH(8, StringUtils.getString(R.string.adas_data_light_state_yellow_flashing)),
|
||||
// FAULT(255, "故障"),
|
||||
FAULT(255, StringUtils.getString(R.string.adas_data_light_state_fault)),
|
||||
;
|
||||
public final int type;
|
||||
|
||||
|
||||
@@ -3,28 +3,49 @@ package com.zhjt.mogo.adas.common.cloud;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils;
|
||||
import com.zhjt.mogo.adas.data.R;
|
||||
|
||||
/**
|
||||
* 云端辅助功能 云端下发信号灯信息 红绿灯控制方式
|
||||
*/
|
||||
public enum AstFuncTlmPhaseStateLightType {
|
||||
ERROR(-1, "异常"),
|
||||
RESERVED(-2, "预留"),
|
||||
STRAIGHT(1, "直行方向指示信号灯"),
|
||||
LEFT(2, "左转方向指示信号灯"),
|
||||
RIGHT(3, "右转方向指示信号灯"),
|
||||
VEHICLE(4, "机动车信号灯"),
|
||||
NON_MOTOR_LEFT(5, "左转非机动车信号灯"),
|
||||
NON_MOTOR_RIGHT(6, "右转非机动车信号灯"),
|
||||
NON_MOTOR(7, "非机动车信号灯"),
|
||||
PEDESTRIAN(8, "人行横道信号灯"),
|
||||
U_TURN(9, "掉头信号灯"),
|
||||
LANE(10, "车道信号灯"),
|
||||
CROSSING(11, "道口信号灯"),
|
||||
WARNING_FLASH(12, "闪光警告信号灯"),
|
||||
TRAM_STRAIGHT(13, "有轨电车专用信号灯(直行)"),
|
||||
TRAM_LEFT(14, "有轨电车专用信号灯(左转)"),
|
||||
TRAM_RIGHT(15, "有轨电车专用信号灯(右转)"),
|
||||
INVALID(255, "无效或未知灯组类型")
|
||||
// ERROR(-1, "异常"),
|
||||
ERROR(-1, StringUtils.getString(R.string.adas_data_light_type_abnormal)),
|
||||
// RESERVED(-2, "预留"),
|
||||
RESERVED(-2, StringUtils.getString(R.string.adas_data_light_type_reserved)),
|
||||
// STRAIGHT(1, "直行方向指示信号灯"),
|
||||
STRAIGHT(1, StringUtils.getString(R.string.adas_data_light_type_straight_direction_indicator_light)),
|
||||
// LEFT(2, "左转方向指示信号灯"),
|
||||
LEFT(2, StringUtils.getString(R.string.adas_data_light_type_left_turn_direction_indicator_light)),
|
||||
// RIGHT(3, "右转方向指示信号灯"),
|
||||
RIGHT(3, StringUtils.getString(R.string.adas_data_light_type_right_turn_direction_indicator_light)),
|
||||
// VEHICLE(4, "机动车信号灯"),
|
||||
VEHICLE(4, StringUtils.getString(R.string.adas_data_light_type_motor_vehicle_light)),
|
||||
// NON_MOTOR_LEFT(5, "左转非机动车信号灯"),
|
||||
NON_MOTOR_LEFT(5, StringUtils.getString(R.string.adas_data_light_type_left_turn_non_motor_vehicle_light)),
|
||||
// NON_MOTOR_RIGHT(6, "右转非机动车信号灯"),
|
||||
NON_MOTOR_RIGHT(6, StringUtils.getString(R.string.adas_data_light_type_right_turn_non_motor_vehicle_light)),
|
||||
// NON_MOTOR(7, "非机动车信号灯"),
|
||||
NON_MOTOR(7, StringUtils.getString(R.string.adas_data_light_type_non_motor_vehicle_light)),
|
||||
// PEDESTRIAN(8, "人行横道信号灯"),
|
||||
PEDESTRIAN(8, StringUtils.getString(R.string.adas_data_light_type_pedestrian_crossing_light)),
|
||||
// U_TURN(9, "掉头信号灯"),
|
||||
U_TURN(9, StringUtils.getString(R.string.adas_data_light_type_u_turn_signal_light)),
|
||||
// LANE(10, "车道信号灯"),
|
||||
LANE(10, StringUtils.getString(R.string.adas_data_light_type_lane_signal_light)),
|
||||
// CROSSING(11, "道口信号灯"),
|
||||
CROSSING(11, StringUtils.getString(R.string.adas_data_light_type_railroad_crossing_signal_light)),
|
||||
// WARNING_FLASH(12, "闪光警告信号灯"),
|
||||
WARNING_FLASH(12, StringUtils.getString(R.string.adas_data_light_type_flashing_warning_signal_light)),
|
||||
// TRAM_STRAIGHT(13, "有轨电车专用信号灯(直行)"),
|
||||
TRAM_STRAIGHT(13, StringUtils.getString(R.string.adas_data_light_type_straight_tramway_dedicated_signal_light)),
|
||||
// TRAM_LEFT(14, "有轨电车专用信号灯(左转)"),
|
||||
TRAM_LEFT(14, StringUtils.getString(R.string.adas_data_light_type_left_turn_tramway_dedicated_signal_light)),
|
||||
// TRAM_RIGHT(15, "有轨电车专用信号灯(右转)"),
|
||||
TRAM_RIGHT(15, StringUtils.getString(R.string.adas_data_light_type_right_turn_tram_traffic_signal)),
|
||||
// INVALID(255, "无效或未知灯组类型")
|
||||
INVALID(255, StringUtils.getString(R.string.adas_data_light_type_invalid_or_unknown_light_group_type))
|
||||
|
||||
;
|
||||
public final int type;
|
||||
|
||||
@@ -3,21 +3,35 @@ package com.zhjt.mogo.adas.common.cloud;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils;
|
||||
import com.zhjt.mogo.adas.data.R;
|
||||
|
||||
/**
|
||||
* 云端辅助功能信息 辅助功能类别
|
||||
*/
|
||||
public enum AstFuncType {
|
||||
ERROR(-1, "异常"),
|
||||
CLOUD2VEH_ASTFUNC_STREAM_VIDEO(1, "云端请求车辆视频流上传指令"),
|
||||
VEH2CLOUD_ASTFUNC_STREAM_VIDEO_RES(2, "云端请求车辆视频流上传指令返回"),
|
||||
CLOUD2VEH_ASTFUNC_HIST_VIDEO(3, "云端请求车辆历史视频上传指令"),
|
||||
VEH2CLOUD_ASTFUNC_HIST_VIDEO_RES(4, "云端请求车辆历史视频上传指令返回"),
|
||||
CLOUD2VEH_ASTFUNC_HIST_EDR(5, "云端请求车端上传EDR数据"),
|
||||
CLOUD2VEH_ASTFUNC_HIST_EDR_RES(6, "云端请求车端上传EDR数据返回"),
|
||||
CLOUD2VEH_ASTFUNC_TLM(7, "云端下发信号灯信息"),
|
||||
CLOUD2VEH_ASTFUNC_RTCM(9, "云端下发定位增强信息"),
|
||||
VEH2CLOUD_ASTFUNC_RTCM_RES(10, "云端下发定位增强信息返回"),
|
||||
CLOUD2VEH_ASTFUNC_RSM(11, "云端下发实时感知信息"),
|
||||
// ERROR(-1, "异常"),
|
||||
ERROR(-1, StringUtils.getString(R.string.adas_data_func_type_abnormal)),
|
||||
// CLOUD2VEH_ASTFUNC_STREAM_VIDEO(1, "云端请求车辆视频流上传指令"),
|
||||
CLOUD2VEH_ASTFUNC_STREAM_VIDEO(1, StringUtils.getString(R.string.adas_data_func_type_cloud_request_vehicle_video_stream_upload_command)),
|
||||
// VEH2CLOUD_ASTFUNC_STREAM_VIDEO_RES(2, "云端请求车辆视频流上传指令返回"),
|
||||
VEH2CLOUD_ASTFUNC_STREAM_VIDEO_RES(2, StringUtils.getString(R.string.adas_data_func_type_cloud_request_vehicle_video_stream_upload_command_response)),
|
||||
// CLOUD2VEH_ASTFUNC_HIST_VIDEO(3, "云端请求车辆历史视频上传指令"),
|
||||
CLOUD2VEH_ASTFUNC_HIST_VIDEO(3, StringUtils.getString(R.string.adas_data_func_type_cloud_request_vehicle_historical_video_upload_command)),
|
||||
// VEH2CLOUD_ASTFUNC_HIST_VIDEO_RES(4, "云端请求车辆历史视频上传指令返回"),
|
||||
VEH2CLOUD_ASTFUNC_HIST_VIDEO_RES(4, StringUtils.getString(R.string.adas_data_func_type_cloud_request_vehicle_historical_video_upload_command_response)),
|
||||
// CLOUD2VEH_ASTFUNC_HIST_EDR(5, "云端请求车端上传EDR数据"),
|
||||
CLOUD2VEH_ASTFUNC_HIST_EDR(5, StringUtils.getString(R.string.adas_data_func_type_cloud_request_vehicle_upload_edr_data)),
|
||||
// CLOUD2VEH_ASTFUNC_HIST_EDR_RES(6, "云端请求车端上传EDR数据返回"),
|
||||
CLOUD2VEH_ASTFUNC_HIST_EDR_RES(6, StringUtils.getString(R.string.adas_data_func_type_cloud_request_vehicle_upload_edr_data_response)),
|
||||
// CLOUD2VEH_ASTFUNC_TLM(7, "云端下发信号灯信息"),
|
||||
CLOUD2VEH_ASTFUNC_TLM(7, StringUtils.getString(R.string.adas_data_func_type_cloud_deliver_traffic_light_info)),
|
||||
// CLOUD2VEH_ASTFUNC_RTCM(9, "云端下发定位增强信息"),
|
||||
CLOUD2VEH_ASTFUNC_RTCM(9, StringUtils.getString(R.string.adas_data_func_type_cloud_deliver_positioning_enhancement_info)),
|
||||
// VEH2CLOUD_ASTFUNC_RTCM_RES(10, "云端下发定位增强信息返回"),
|
||||
VEH2CLOUD_ASTFUNC_RTCM_RES(10, StringUtils.getString(R.string.adas_data_func_type_cloud_deliver_positioning_enhancement_info_response)),
|
||||
// CLOUD2VEH_ASTFUNC_RSM(11, "云端下发实时感知信息"),
|
||||
CLOUD2VEH_ASTFUNC_RSM(11, StringUtils.getString(R.string.adas_data_func_type_cloud_deliver_real_time_perception_info)),
|
||||
|
||||
;
|
||||
public final int type;
|
||||
|
||||
@@ -3,30 +3,53 @@ package com.zhjt.mogo.adas.common.cloud;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils;
|
||||
import com.zhjt.mogo.adas.data.R;
|
||||
|
||||
/**
|
||||
* 数据传输类型
|
||||
*/
|
||||
public enum CloudDataType {
|
||||
ERROR((byte) 0xFF, "异常"),
|
||||
HEARTBEAT((byte) 0x0C, "心跳"),
|
||||
HEARTBEAT_RES((byte) 0x0D, "心跳回应"),
|
||||
VEH2CLOUD_STATE((byte) 0x15, "车辆运行状态信息"),
|
||||
CLOUD2VEH_INSTRUCT((byte) 0x1E, "云端实时控制建议"),
|
||||
CLOUD2VEH_REMOTECTL((byte) 0x1F, "云端远程控制"),
|
||||
VEH2CLOUD_INH((byte) 0x34, "车辆准静态参数上报"),
|
||||
CLOUD2VEH_INH_RES((byte) 0x35, "车辆准静态参数上报返回"),
|
||||
VEH2CLOUD_SUBS((byte) 0x36, "车辆功能订阅信息"),
|
||||
CLOUD2VEH_SUBS_RES((byte) 0x37, "车辆功能订阅信息返回"),
|
||||
CLOUD2VEH_ADVICE((byte) 0x3C, "实时决策建议"),
|
||||
VEH2CLOUD_ADVICE_RES((byte) 0x3D, "实时决策建议返回"),
|
||||
CLOUD2VEH_ASTFUNC((byte) 0x3E, "辅助功能"),
|
||||
VEH2CLOUD_ASTFUNC_RES((byte) 0x3F, "辅助功能返回"),
|
||||
VEH2CLOUD_TEST((byte) 0x5C, "上行自定义功能"),
|
||||
CLOUD2VEH_TEST_RES((byte) 0x5D, "上行自定义功能返回"),
|
||||
CLOUD2VEH_TEST((byte) 0x5E, "下行自定义功能"),
|
||||
VEH2CLOUD_TEST_RES((byte) 0x5D, "下行自定义功能返回"),
|
||||
VEH2CLOUD_STATE_RESEND((byte) 0x60, "车辆运行状态信息补发"),
|
||||
CLOUD2VEH_STATE_RESEND_RES((byte) 0x61, "车辆运行状态信息补发返回"),
|
||||
// ERROR((byte) 0xFF, "异常"),
|
||||
ERROR((byte) 0xFF, StringUtils.getString(R.string.adas_data_data_type_abnormal)),
|
||||
// HEARTBEAT((byte) 0x0C, "心跳"),
|
||||
HEARTBEAT((byte) 0x0C, StringUtils.getString(R.string.adas_data_data_type_heartbeat)),
|
||||
// HEARTBEAT_RES((byte) 0x0D, "心跳回应"),
|
||||
HEARTBEAT_RES((byte) 0x0D, StringUtils.getString(R.string.adas_data_data_type_heartbeat_response)),
|
||||
// VEH2CLOUD_STATE((byte) 0x15, "车辆运行状态信息"),
|
||||
VEH2CLOUD_STATE((byte) 0x15, StringUtils.getString(R.string.adas_data_data_type_vehicle_operation_status_info)),
|
||||
// CLOUD2VEH_INSTRUCT((byte) 0x1E, "云端实时控制建议"),
|
||||
CLOUD2VEH_INSTRUCT((byte) 0x1E, StringUtils.getString(R.string.adas_data_data_type_cloud_real_time_control_suggestion)),
|
||||
// CLOUD2VEH_REMOTECTL((byte) 0x1F, "云端远程控制"),
|
||||
CLOUD2VEH_REMOTECTL((byte) 0x1F, StringUtils.getString(R.string.adas_data_data_type_cloud_remote_control)),
|
||||
// VEH2CLOUD_INH((byte) 0x34, "车辆准静态参数上报"),
|
||||
VEH2CLOUD_INH((byte) 0x34, StringUtils.getString(R.string.adas_data_data_type_vehicle_quasi_static_parameter_report)),
|
||||
// CLOUD2VEH_INH_RES((byte) 0x35, "车辆准静态参数上报返回"),
|
||||
CLOUD2VEH_INH_RES((byte) 0x35, StringUtils.getString(R.string.adas_data_data_type_vehicle_quasi_static_parameter_report_response)),
|
||||
// VEH2CLOUD_SUBS((byte) 0x36, "车辆功能订阅信息"),
|
||||
VEH2CLOUD_SUBS((byte) 0x36, StringUtils.getString(R.string.adas_data_data_type_vehicle_function_subscription_info)),
|
||||
// CLOUD2VEH_SUBS_RES((byte) 0x37, "车辆功能订阅信息返回"),
|
||||
CLOUD2VEH_SUBS_RES((byte) 0x37, StringUtils.getString(R.string.adas_data_data_type_vehicle_function_subscription_info_response)),
|
||||
// CLOUD2VEH_ADVICE((byte) 0x3C, "实时决策建议"),
|
||||
CLOUD2VEH_ADVICE((byte) 0x3C, StringUtils.getString(R.string.adas_data_data_type_real_time_decision_suggestion)),
|
||||
// VEH2CLOUD_ADVICE_RES((byte) 0x3D, "实时决策建议返回"),
|
||||
VEH2CLOUD_ADVICE_RES((byte) 0x3D, StringUtils.getString(R.string.adas_data_data_type_real_time_decision_suggestion_response)),
|
||||
// CLOUD2VEH_ASTFUNC((byte) 0x3E, "辅助功能"),
|
||||
CLOUD2VEH_ASTFUNC((byte) 0x3E, StringUtils.getString(R.string.adas_data_data_type_auxiliary_function)),
|
||||
// VEH2CLOUD_ASTFUNC_RES((byte) 0x3F, "辅助功能返回"),
|
||||
VEH2CLOUD_ASTFUNC_RES((byte) 0x3F, StringUtils.getString(R.string.adas_data_data_type_auxiliary_function_response)),
|
||||
// VEH2CLOUD_TEST((byte) 0x5C, "上行自定义功能"),
|
||||
VEH2CLOUD_TEST((byte) 0x5C, StringUtils.getString(R.string.adas_data_data_type_uplink_custom_function)),
|
||||
// CLOUD2VEH_TEST_RES((byte) 0x5D, "上行自定义功能返回"),
|
||||
CLOUD2VEH_TEST_RES((byte) 0x5D, StringUtils.getString(R.string.adas_data_data_type_uplink_custom_function_response)),
|
||||
// CLOUD2VEH_TEST((byte) 0x5E, "下行自定义功能"),
|
||||
CLOUD2VEH_TEST((byte) 0x5E, StringUtils.getString(R.string.adas_data_data_type_downlink_custom_function)),
|
||||
// VEH2CLOUD_TEST_RES((byte) 0x5D, "下行自定义功能返回"),
|
||||
VEH2CLOUD_TEST_RES((byte) 0x5D, StringUtils.getString(R.string.adas_data_data_type_downlink_custom_function_response)),
|
||||
// VEH2CLOUD_STATE_RESEND((byte) 0x60, "车辆运行状态信息补发"),
|
||||
VEH2CLOUD_STATE_RESEND((byte) 0x60, StringUtils.getString(R.string.adas_data_data_type_vehicle_operation_status_info_retransmission)),
|
||||
// CLOUD2VEH_STATE_RESEND_RES((byte) 0x61, "车辆运行状态信息补发返回"),
|
||||
CLOUD2VEH_STATE_RESEND_RES((byte) 0x61, StringUtils.getString(R.string.adas_data_data_type_vehicle_operation_status_info_retransmission_response)),
|
||||
|
||||
;
|
||||
public final byte type;
|
||||
|
||||
@@ -3,23 +3,39 @@ package com.zhjt.mogo.adas.common.cloud;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils;
|
||||
import com.zhjt.mogo.adas.data.R;
|
||||
|
||||
/**
|
||||
* 通用RSI预警指令 云端决策 交通事件类型
|
||||
*/
|
||||
public enum RsiCloudDecisionEventType {
|
||||
UNKNOWN(-1, "未知/异常"),
|
||||
RED_LIGHT_RUNNING_WARNING(6011, "闯红灯预警功能"),
|
||||
ROAD_HAZARD_ALERT_SERVICE_6021(6021, "道路危险状况提示服务功能"),
|
||||
ROAD_HAZARD_ALERT_SERVICE_6022(6022, "道路危险状况提示服务功能"),
|
||||
DRIVING_LANE_SUGGESTION_6031(6031, "行驶车道建议功能"),
|
||||
DRIVING_LANE_SUGGESTION_6032(6032, "行驶车道建议功能"),
|
||||
INTERSECTION_RED_LIGHT_WARNING(6041, "路口其他车辆闯红灯预警功能"),
|
||||
OVER_THE_HORIZON_VULNERABLE_ROAD_USER_WARNING(6051, "超视距弱势交通参与者预警功能"),
|
||||
TRAFFIC_CONGESTION_ALERT(6061, "交通拥堵提醒功能"),
|
||||
VISIBILITY_WARNING(6071, "能见度预警功能"),
|
||||
ROAD_DEBRIS_WARNING(6081, "路面遗撒预警功能"),
|
||||
RED_LIGHT_TO_GREEN_ALERT(6012, "红灯即将变绿功能"),
|
||||
GREEN_LIGHT_TO_RED_ALERT(6013, "绿灯即将变红功能"),
|
||||
// UNKNOWN(-1, "未知/异常"),
|
||||
UNKNOWN(-1, StringUtils.getString(R.string.adas_data_rsi_cloud_unknown_or_abnormal)),
|
||||
// RED_LIGHT_RUNNING_WARNING(6011, "闯红灯预警功能"),
|
||||
RED_LIGHT_RUNNING_WARNING(6011, StringUtils.getString(R.string.adas_data_rsi_cloud_red_light_running_warning_function)),
|
||||
// ROAD_HAZARD_ALERT_SERVICE_6021(6021, "道路危险状况提示服务功能"),
|
||||
ROAD_HAZARD_ALERT_SERVICE_6021(6021, StringUtils.getString(R.string.adas_data_rsi_cloud_road_hazard_condition_prompt_service_function)),
|
||||
// ROAD_HAZARD_ALERT_SERVICE_6022(6022, "道路危险状况提示服务功能"),
|
||||
ROAD_HAZARD_ALERT_SERVICE_6022(6022, StringUtils.getString(R.string.adas_data_rsi_cloud_road_hazard_condition_prompt_service_function)),
|
||||
// DRIVING_LANE_SUGGESTION_6031(6031, "行驶车道建议功能"),
|
||||
DRIVING_LANE_SUGGESTION_6031(6031, StringUtils.getString(R.string.adas_data_rsi_cloud_driving_lane_recommendation_function)),
|
||||
// DRIVING_LANE_SUGGESTION_6032(6032, "行驶车道建议功能"),
|
||||
DRIVING_LANE_SUGGESTION_6032(6032, StringUtils.getString(R.string.adas_data_rsi_cloud_driving_lane_recommendation_function)),
|
||||
// INTERSECTION_RED_LIGHT_WARNING(6041, "路口其他车辆闯红灯预警功能"),
|
||||
INTERSECTION_RED_LIGHT_WARNING(6041, StringUtils.getString(R.string.adas_data_rsi_cloud_intersection_other_vehicle_red_light_running_warning_function)),
|
||||
// OVER_THE_HORIZON_VULNERABLE_ROAD_USER_WARNING(6051, "超视距弱势交通参与者预警功能"),
|
||||
OVER_THE_HORIZON_VULNERABLE_ROAD_USER_WARNING(6051, StringUtils.getString(R.string.adas_data_rsi_cloud_over_the_horizon_vru_warning_function)),
|
||||
// TRAFFIC_CONGESTION_ALERT(6061, "交通拥堵提醒功能"),
|
||||
TRAFFIC_CONGESTION_ALERT(6061, StringUtils.getString(R.string.adas_data_rsi_cloud_traffic_congestion_reminder_function)),
|
||||
// VISIBILITY_WARNING(6071, "能见度预警功能"),
|
||||
VISIBILITY_WARNING(6071, StringUtils.getString(R.string.adas_data_rsi_cloud_visibility_warning_function)),
|
||||
// ROAD_DEBRIS_WARNING(6081, "路面遗撒预警功能"),
|
||||
ROAD_DEBRIS_WARNING(6081, StringUtils.getString(R.string.adas_data_rsi_cloud_road_surface_debris_warning_function)),
|
||||
// RED_LIGHT_TO_GREEN_ALERT(6012, "红灯即将变绿功能"),
|
||||
RED_LIGHT_TO_GREEN_ALERT(6012, StringUtils.getString(R.string.adas_data_rsi_cloud_red_light_about_to_turn_green_function)),
|
||||
// GREEN_LIGHT_TO_RED_ALERT(6013, "绿灯即将变红功能"),
|
||||
GREEN_LIGHT_TO_RED_ALERT(6013, StringUtils.getString(R.string.adas_data_rsi_cloud_green_light_about_to_turn_red_function)),
|
||||
;
|
||||
public final int type;
|
||||
|
||||
|
||||
@@ -3,34 +3,61 @@ package com.zhjt.mogo.adas.common.cloud;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils;
|
||||
import com.zhjt.mogo.adas.data.R;
|
||||
|
||||
/**
|
||||
* 通用RSI预警指令 交通事件类型
|
||||
*/
|
||||
public enum RsiEventType {
|
||||
UNKNOWN(-1, "未知/异常"),
|
||||
PEDESTRIAN_WARNING(5501, "行人提醒"),
|
||||
NON_MOTOR_WARNING(5502, "非机动车提醒"),
|
||||
EMERGENCY_BRAKE_WARNING(5503, "紧急制动预警"),
|
||||
REVERSING_WARNING(5504, "倒车预警"),
|
||||
WRONG_WAY_WARNING(5505, "逆行预警"),
|
||||
ABNORMALLY_LOW_SPEED(5506, "异常低速预警"),
|
||||
ABNORMAL_PARKING(5507, "异常停车预警"),
|
||||
OVERSPEED_WARNING(5508, "超速预警"),
|
||||
TRAFFIC_JAM(5509, "交通拥堵预警"),
|
||||
SPECIAL_VEHICLE_WARNING(5510, "特殊车辆预警"),
|
||||
EMERGENCY_VEHICLE_WARNING(5511, "紧急车辆预警"),
|
||||
VEHICLE_STATUS_ABNORMAL(5512, "车辆状态异常预警"),
|
||||
CONTINUOUS_LANE_CHANGE(5513, "连续并道预警"),
|
||||
RAMP_TO_MAIN_ROAD(5514, "匝道退回主路预警"),
|
||||
TRAFFIC_CONTROL(5515, "交通管控预警"),
|
||||
LOW_FRICTION_ROAD(5516, "路面低摩阻预警"),
|
||||
LANE_LEVEL_SPEED_LIMIT(5517, "动态车道级限速预警"),
|
||||
OBSTACLE_REMINDER(5518, "障碍物提醒"),
|
||||
TRAFFIC_LIGHT_FAULT(5519, "红绿灯故障预警"),
|
||||
VULNERABLE_PARTICIPANT(5520, "弱势交通参与者预警"),
|
||||
RED_LIGHT_VIOLATION_WARNING(5521, "闯红灯预警"),
|
||||
SOLID_LINE_LANE_CHANGE(5522, "机动车压实线变道"),
|
||||
WRONG_GUIDE_DIRECTION(5523, "机动车不按导向标识行驶"),
|
||||
// UNKNOWN(-1, "未知/异常"),
|
||||
UNKNOWN(-1, StringUtils.getString(R.string.adas_data_rsi_event_unknown_or_abnormal)),
|
||||
// PEDESTRIAN_WARNING(5501, "行人提醒"),
|
||||
PEDESTRIAN_WARNING(5501, StringUtils.getString(R.string.adas_data_rsi_event_pedestrian_reminder_function)),
|
||||
// NON_MOTOR_WARNING(5502, "非机动车提醒"),
|
||||
NON_MOTOR_WARNING(5502, StringUtils.getString(R.string.adas_data_rsi_event_non_motor_vehicle_reminder_function)),
|
||||
// EMERGENCY_BRAKE_WARNING(5503, "紧急制动预警"),
|
||||
EMERGENCY_BRAKE_WARNING(5503, StringUtils.getString(R.string.adas_data_rsi_event_emergency_brake_warning_function)),
|
||||
// REVERSING_WARNING(5504, "倒车预警"),
|
||||
REVERSING_WARNING(5504, StringUtils.getString(R.string.adas_data_rsi_event_reverse_warning_function)),
|
||||
// WRONG_WAY_WARNING(5505, "逆行预警"),
|
||||
WRONG_WAY_WARNING(5505, StringUtils.getString(R.string.adas_data_rsi_event_wrong_way_driving_warning_function)),
|
||||
// ABNORMALLY_LOW_SPEED(5506, "异常低速预警"),
|
||||
ABNORMALLY_LOW_SPEED(5506, StringUtils.getString(R.string.adas_data_rsi_event_abnormal_low_speed_warning_function)),
|
||||
// ABNORMAL_PARKING(5507, "异常停车预警"),
|
||||
ABNORMAL_PARKING(5507, StringUtils.getString(R.string.adas_data_rsi_event_abnormal_parking_warning_function)),
|
||||
// OVERSPEED_WARNING(5508, "超速预警"),
|
||||
OVERSPEED_WARNING(5508, StringUtils.getString(R.string.adas_data_rsi_event_over_speed_warning_function)),
|
||||
// TRAFFIC_JAM(5509, "交通拥堵预警"),
|
||||
TRAFFIC_JAM(5509, StringUtils.getString(R.string.adas_data_rsi_event_traffic_congestion_warning_function)),
|
||||
// SPECIAL_VEHICLE_WARNING(5510, "特殊车辆预警"),
|
||||
SPECIAL_VEHICLE_WARNING(5510, StringUtils.getString(R.string.adas_data_rsi_event_special_vehicle_warning_function)),
|
||||
// EMERGENCY_VEHICLE_WARNING(5511, "紧急车辆预警"),
|
||||
EMERGENCY_VEHICLE_WARNING(5511, StringUtils.getString(R.string.adas_data_rsi_event_emergency_vehicle_warning_function)),
|
||||
// VEHICLE_STATUS_ABNORMAL(5512, "车辆状态异常预警"),
|
||||
VEHICLE_STATUS_ABNORMAL(5512, StringUtils.getString(R.string.adas_data_rsi_event_vehicle_status_abnormality_warning_function)),
|
||||
// CONTINUOUS_LANE_CHANGE(5513, "连续并道预警"),
|
||||
CONTINUOUS_LANE_CHANGE(5513, StringUtils.getString(R.string.adas_data_rsi_event_continuous_lane_change_warning_function)),
|
||||
// RAMP_TO_MAIN_ROAD(5514, "匝道退回主路预警"),
|
||||
RAMP_TO_MAIN_ROAD(5514, StringUtils.getString(R.string.adas_data_rsi_event_ramp_return_to_main_road_warning_function)),
|
||||
// TRAFFIC_CONTROL(5515, "交通管控预警"),
|
||||
TRAFFIC_CONTROL(5515, StringUtils.getString(R.string.adas_data_rsi_event_traffic_control_warning_function)),
|
||||
// LOW_FRICTION_ROAD(5516, "路面低摩阻预警"),
|
||||
LOW_FRICTION_ROAD(5516, StringUtils.getString(R.string.adas_data_rsi_event_road_surface_low_friction_warning_function)),
|
||||
// LANE_LEVEL_SPEED_LIMIT(5517, "动态车道级限速预警"),
|
||||
LANE_LEVEL_SPEED_LIMIT(5517, StringUtils.getString(R.string.adas_data_rsi_event_dynamic_lane_level_speed_limit_warning_function)),
|
||||
// OBSTACLE_REMINDER(5518, "障碍物提醒"),
|
||||
OBSTACLE_REMINDER(5518, StringUtils.getString(R.string.adas_data_rsi_event_obstacle_reminder_function)),
|
||||
// TRAFFIC_LIGHT_FAULT(5519, "红绿灯故障预警"),
|
||||
TRAFFIC_LIGHT_FAULT(5519, StringUtils.getString(R.string.adas_data_rsi_event_traffic_light_fault_warning_function)),
|
||||
// VULNERABLE_PARTICIPANT(5520, "弱势交通参与者预警"),
|
||||
VULNERABLE_PARTICIPANT(5520, StringUtils.getString(R.string.adas_data_rsi_event_vulnerable_road_user_warning_function)),
|
||||
// RED_LIGHT_VIOLATION_WARNING(5521, "闯红灯预警"),
|
||||
RED_LIGHT_VIOLATION_WARNING(5521, StringUtils.getString(R.string.adas_data_rsi_event_red_light_running_warning_function)),
|
||||
// SOLID_LINE_LANE_CHANGE(5522, "机动车压实线变道"),
|
||||
SOLID_LINE_LANE_CHANGE(5522, StringUtils.getString(R.string.adas_data_rsi_event_motor_vehicle_solid_line_violation_lane_change_function)),
|
||||
// WRONG_GUIDE_DIRECTION(5523, "机动车不按导向标识行驶"),
|
||||
WRONG_GUIDE_DIRECTION(5523, StringUtils.getString(R.string.adas_data_rsi_event_motor_vehicle_violation_of_guidance_signs_driving_function)),
|
||||
;
|
||||
public final int type;
|
||||
|
||||
|
||||
@@ -1,9 +1,14 @@
|
||||
package com.zhjt.mogo.adas.data.bean;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.google.protobuf.GeneratedMessageV3;
|
||||
import com.google.protobuf.InvalidProtocolBufferException;
|
||||
import com.google.protobuf.TextFormat;
|
||||
import com.google.protobuf.util.JsonFormat;
|
||||
import com.zhjt.mogo.adas.data.R;
|
||||
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
@@ -92,7 +97,7 @@ public class LaunchConditionData {
|
||||
createTime = System.currentTimeMillis();
|
||||
}
|
||||
|
||||
public String getJson() {
|
||||
public String getJson(@NonNull Context context) {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
try {
|
||||
jsonObject.put("ability_version", abilityVersion);
|
||||
@@ -106,21 +111,21 @@ public class LaunchConditionData {
|
||||
chassisStatesObject.put("data_header", TextFormat.printer().escapingNonAscii(false).printToString(chassisStates.getHeader()));
|
||||
}
|
||||
//制动踏板
|
||||
String temp = "未知";
|
||||
String temp = context.getString(R.string.adas_data_unknown);
|
||||
if (chassisStates.hasBrakeSystemStates()) {
|
||||
float brake = chassisStates.getBrakeSystemStates().getBrakePedalResponsePosition();
|
||||
temp = String.valueOf(brake);
|
||||
}
|
||||
chassisStatesObject.put("brake", temp);
|
||||
//油门踏板
|
||||
temp = "未知";
|
||||
temp = context.getString(R.string.adas_data_unknown);
|
||||
if (chassisStates.hasDrivingSystemStates()) {
|
||||
float throttle = chassisStates.getDrivingSystemStates().getThrottleResponsePosition();
|
||||
temp = String.valueOf(throttle);
|
||||
}
|
||||
chassisStatesObject.put("throttle", temp);
|
||||
//档位
|
||||
temp = "未知";
|
||||
temp = context.getString(R.string.adas_data_unknown);
|
||||
if (chassisStates.hasGearSystemStates()) {
|
||||
Chassis.GearPosition gear = chassisStates.getGearSystemStates().getGearPosition();
|
||||
temp = gear.name();
|
||||
@@ -128,7 +133,7 @@ public class LaunchConditionData {
|
||||
chassisStatesObject.put("gear", temp);
|
||||
|
||||
//方向盘
|
||||
temp = "未知";
|
||||
temp = context.getString(R.string.adas_data_unknown);
|
||||
if (chassisStates.hasSteerSystemStates()) {
|
||||
ChassisStatesOuterClass.SteerSystemStates steerSystemStates = chassisStates.getSteerSystemStates();
|
||||
if (steerSystemStates.hasSteeringWheelAngle()) {
|
||||
@@ -136,7 +141,7 @@ public class LaunchConditionData {
|
||||
temp = String.valueOf(steering);
|
||||
}
|
||||
}
|
||||
chassisStatesObject.put("old_steering", oldSteering == Float.MAX_VALUE ? "未知" : oldSteering);
|
||||
chassisStatesObject.put("old_steering", oldSteering == Float.MAX_VALUE ? context.getString(R.string.adas_data_unknown) : oldSteering);
|
||||
chassisStatesObject.put("steering", temp);
|
||||
}
|
||||
//车灯
|
||||
@@ -195,7 +200,7 @@ public class LaunchConditionData {
|
||||
arr.put(TextFormat.printer().escapingNonAscii(false).printToString(inf));
|
||||
}
|
||||
objectParse.put("auto_pilot_unready_list", arr);
|
||||
}else {
|
||||
} else {
|
||||
objectParse.put("auto_pilot_unready_list", "null");
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
package com.zhjt.mogo.adas.data.bean;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.annotation.StringRes;
|
||||
|
||||
import com.zhjt.mogo.adas.data.R;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.HashMap;
|
||||
import java.util.Locale;
|
||||
@@ -28,12 +34,12 @@ public class MogoReport {
|
||||
|
||||
|
||||
public enum ResultDesc {
|
||||
AUTOPILOT_SYSTEM_UNSTARTED(Result.AUTOPILOT_SYSTEM_UNSTARTED, "自动驾驶系统启动失败"),
|
||||
AUTOPILOT_DISABLE(Result.AUTOPILOT_DISABLE, "无法启动自动驾驶"),
|
||||
AUTOPILOT_INFERIOR(Result.AUTOPILOT_INFERIOR, "自动驾驶效果受影响"),
|
||||
REMOTEPILOT_DISABLE(Result.REMOTEPILOT_DISABLE, "无法启动远程驾驶"),
|
||||
REMOTEPILOT_INFERIOR(Result.REMOTEPILOT_INFERIOR, "远程驾驶效果受影响"),
|
||||
SHOW_WARNING(Result.SHOW_WARNING, "存在不确定因素,警示");
|
||||
AUTOPILOT_SYSTEM_UNSTARTED(Result.AUTOPILOT_SYSTEM_UNSTARTED, R.string.adas_data_report_result_AUTOPILOT_SYSTEM_UNSTARTED),
|
||||
AUTOPILOT_DISABLE(Result.AUTOPILOT_DISABLE, R.string.adas_data_report_result_AUTOPILOT_DISABLE),
|
||||
AUTOPILOT_INFERIOR(Result.AUTOPILOT_INFERIOR, R.string.adas_data_report_result_AUTOPILOT_INFERIOR),
|
||||
REMOTEPILOT_DISABLE(Result.REMOTEPILOT_DISABLE, R.string.adas_data_report_result_REMOTEPILOT_DISABLE),
|
||||
REMOTEPILOT_INFERIOR(Result.REMOTEPILOT_INFERIOR, R.string.adas_data_report_result_REMOTEPILOT_INFERIOR),
|
||||
SHOW_WARNING(Result.SHOW_WARNING, R.string.adas_data_report_result_SHOW_WARNING);
|
||||
|
||||
|
||||
/**
|
||||
@@ -43,31 +49,36 @@ public class MogoReport {
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
public final String desc;
|
||||
@StringRes
|
||||
private final int descResId;
|
||||
|
||||
ResultDesc(String result, String desc) {
|
||||
ResultDesc(String result, @StringRes int descResId) {
|
||||
this.result = result;
|
||||
this.desc = desc;
|
||||
this.descResId = descResId;
|
||||
}
|
||||
|
||||
|
||||
public static String getDesc(String result) {
|
||||
switch (result) {
|
||||
case Result.AUTOPILOT_SYSTEM_UNSTARTED:
|
||||
return AUTOPILOT_SYSTEM_UNSTARTED.desc;
|
||||
case Result.AUTOPILOT_DISABLE:
|
||||
return AUTOPILOT_DISABLE.desc;
|
||||
case Result.AUTOPILOT_INFERIOR:
|
||||
return AUTOPILOT_INFERIOR.desc;
|
||||
case Result.REMOTEPILOT_DISABLE:
|
||||
return REMOTEPILOT_DISABLE.desc;
|
||||
case Result.REMOTEPILOT_INFERIOR:
|
||||
return REMOTEPILOT_INFERIOR.desc;
|
||||
case Result.SHOW_WARNING:
|
||||
return SHOW_WARNING.desc;
|
||||
default:
|
||||
return result;
|
||||
|
||||
public static String getDesc(Context context, String result) {
|
||||
if (context == null) return result;
|
||||
try {
|
||||
switch (result) {
|
||||
case Result.AUTOPILOT_SYSTEM_UNSTARTED:
|
||||
return context.getString(AUTOPILOT_SYSTEM_UNSTARTED.descResId);
|
||||
case Result.AUTOPILOT_DISABLE:
|
||||
return context.getString(AUTOPILOT_DISABLE.descResId);
|
||||
case Result.AUTOPILOT_INFERIOR:
|
||||
return context.getString(AUTOPILOT_INFERIOR.descResId);
|
||||
case Result.REMOTEPILOT_DISABLE:
|
||||
return context.getString(REMOTEPILOT_DISABLE.descResId);
|
||||
case Result.REMOTEPILOT_INFERIOR:
|
||||
return context.getString(REMOTEPILOT_INFERIOR.descResId);
|
||||
case Result.SHOW_WARNING:
|
||||
return context.getString(SHOW_WARNING.descResId);
|
||||
default:
|
||||
return result;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,19 +119,19 @@ public class MogoReport {
|
||||
|
||||
public enum ActionDesc {
|
||||
|
||||
CONTACT_TECH_SUPPORT(Action.CONTACT_TECH_SUPPORT, "联系技术支持"),
|
||||
CONTACT_MAINTENANCE(Action.CONTACT_MAINTENANCE, "联系运维"),
|
||||
CONTACT_HARDWARE_ENGINEER(Action.CONTACT_HARDWARE_ENGINEER, "联系硬件"),
|
||||
REBOOT_PAD(Action.REBOOT_PAD, "重启Pad"),
|
||||
REBOOT_VEHICLE(Action.REBOOT_VEHICLE, "重启车辆"),
|
||||
CHECK_GEAR(Action.CHECK_GEAR, "检查车辆档位仪表盘等自车因素"),
|
||||
CHECK_NETWORK(Action.CHECK_NETWORK, "检查网络连接和路由器等通信因素"),
|
||||
TRY_AGAIN_LATER(Action.TRY_AGAIN_LATER, "请稍后重试"),
|
||||
REMOTEPILOT_REQUEST(Action.REMOTEPILOT_REQUEST, "请求远程驾驶"),
|
||||
MANUAL_HANDLE_REQUEST(Action.MANUAL_HANDLE_REQUEST, "请安全员注意接管"),
|
||||
MANUAL_HANDLE_IMMEDIATELY(Action.MANUAL_HANDLE_IMMEDIATELY, "请安全员立即接管"),
|
||||
REBOOT_SYSTEM(Action.REBOOT_SYSTEM, "系统软重启"),
|
||||
KEEP_POWERON_AND_WAIT(Action.KEEP_POWERON_AND_WAIT, "请安全位置停车,保持上电,等待修复完成"),
|
||||
CONTACT_TECH_SUPPORT(Action.CONTACT_TECH_SUPPORT, R.string.adas_data_report_action_CONTACT_TECH_SUPPORT),
|
||||
CONTACT_MAINTENANCE(Action.CONTACT_MAINTENANCE, R.string.adas_data_report_action_CONTACT_MAINTENANCE),
|
||||
CONTACT_HARDWARE_ENGINEER(Action.CONTACT_HARDWARE_ENGINEER, R.string.adas_data_report_action_CONTACT_HARDWARE_ENGINEER),
|
||||
REBOOT_PAD(Action.REBOOT_PAD, R.string.adas_data_report_action_REBOOT_PAD),
|
||||
REBOOT_VEHICLE(Action.REBOOT_VEHICLE, R.string.adas_data_report_action_REBOOT_VEHICLE),
|
||||
CHECK_GEAR(Action.CHECK_GEAR, R.string.adas_data_report_action_CHECK_GEAR),
|
||||
CHECK_NETWORK(Action.CHECK_NETWORK, R.string.adas_data_report_action_CHECK_NETWORK),
|
||||
TRY_AGAIN_LATER(Action.TRY_AGAIN_LATER, R.string.adas_data_report_action_TRY_AGAIN_LATER),
|
||||
REMOTEPILOT_REQUEST(Action.REMOTEPILOT_REQUEST, R.string.adas_data_report_action_REMOTEPILOT_REQUEST),
|
||||
MANUAL_HANDLE_REQUEST(Action.MANUAL_HANDLE_REQUEST, R.string.adas_data_report_action_MANUAL_HANDLE_REQUEST),
|
||||
MANUAL_HANDLE_IMMEDIATELY(Action.MANUAL_HANDLE_IMMEDIATELY, R.string.adas_data_report_action_MANUAL_HANDLE_IMMEDIATELY),
|
||||
REBOOT_SYSTEM(Action.REBOOT_SYSTEM, R.string.adas_data_report_action_REBOOT_SYSTEM),
|
||||
KEEP_POWERON_AND_WAIT(Action.KEEP_POWERON_AND_WAIT, R.string.adas_data_report_action_KEEP_POWERON_AND_WAIT),
|
||||
;
|
||||
|
||||
/**
|
||||
@@ -130,44 +141,50 @@ public class MogoReport {
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
public final String desc;
|
||||
@StringRes
|
||||
private final int descResId;
|
||||
|
||||
ActionDesc(String action, String desc) {
|
||||
ActionDesc(String action, @StringRes int descResId) {
|
||||
this.action = action;
|
||||
this.desc = desc;
|
||||
this.descResId = descResId;
|
||||
}
|
||||
|
||||
|
||||
public static String getDesc(String action) {
|
||||
switch (action) {
|
||||
case Action.CONTACT_TECH_SUPPORT:
|
||||
return CONTACT_TECH_SUPPORT.desc;
|
||||
case Action.CONTACT_MAINTENANCE:
|
||||
return CONTACT_MAINTENANCE.desc;
|
||||
case Action.CONTACT_HARDWARE_ENGINEER:
|
||||
return CONTACT_HARDWARE_ENGINEER.desc;
|
||||
case Action.REBOOT_PAD:
|
||||
return REBOOT_PAD.desc;
|
||||
case Action.REBOOT_VEHICLE:
|
||||
return REBOOT_VEHICLE.desc;
|
||||
case Action.CHECK_GEAR:
|
||||
return CHECK_GEAR.desc;
|
||||
case Action.CHECK_NETWORK:
|
||||
return CHECK_NETWORK.desc;
|
||||
case Action.TRY_AGAIN_LATER:
|
||||
return TRY_AGAIN_LATER.desc;
|
||||
case Action.REMOTEPILOT_REQUEST:
|
||||
return REMOTEPILOT_REQUEST.desc;
|
||||
case Action.MANUAL_HANDLE_REQUEST:
|
||||
return MANUAL_HANDLE_REQUEST.desc;
|
||||
case Action.MANUAL_HANDLE_IMMEDIATELY:
|
||||
return MANUAL_HANDLE_IMMEDIATELY.desc;
|
||||
case Action.REBOOT_SYSTEM:
|
||||
return REBOOT_SYSTEM.desc;
|
||||
case Action.KEEP_POWERON_AND_WAIT:
|
||||
return KEEP_POWERON_AND_WAIT.desc;
|
||||
default:
|
||||
return action;
|
||||
public static String getDesc(Context context, String action) {
|
||||
if (context == null) return action;
|
||||
try {
|
||||
switch (action) {
|
||||
case Action.CONTACT_TECH_SUPPORT:
|
||||
return context.getString(CONTACT_TECH_SUPPORT.descResId);
|
||||
case Action.CONTACT_MAINTENANCE:
|
||||
return context.getString(CONTACT_MAINTENANCE.descResId);
|
||||
case Action.CONTACT_HARDWARE_ENGINEER:
|
||||
return context.getString(CONTACT_HARDWARE_ENGINEER.descResId);
|
||||
case Action.REBOOT_PAD:
|
||||
return context.getString(REBOOT_PAD.descResId);
|
||||
case Action.REBOOT_VEHICLE:
|
||||
return context.getString(REBOOT_VEHICLE.descResId);
|
||||
case Action.CHECK_GEAR:
|
||||
return context.getString(CHECK_GEAR.descResId);
|
||||
case Action.CHECK_NETWORK:
|
||||
return context.getString(CHECK_NETWORK.descResId);
|
||||
case Action.TRY_AGAIN_LATER:
|
||||
return context.getString(TRY_AGAIN_LATER.descResId);
|
||||
case Action.REMOTEPILOT_REQUEST:
|
||||
return context.getString(REMOTEPILOT_REQUEST.descResId);
|
||||
case Action.MANUAL_HANDLE_REQUEST:
|
||||
return context.getString(MANUAL_HANDLE_REQUEST.descResId);
|
||||
case Action.MANUAL_HANDLE_IMMEDIATELY:
|
||||
return context.getString(MANUAL_HANDLE_IMMEDIATELY.descResId);
|
||||
case Action.REBOOT_SYSTEM:
|
||||
return context.getString(REBOOT_SYSTEM.descResId);
|
||||
case Action.KEEP_POWERON_AND_WAIT:
|
||||
return context.getString(KEEP_POWERON_AND_WAIT.descResId);
|
||||
default:
|
||||
return action;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
return action;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
311
libraries/mogo-adas-data/src/main/res/values-en/strings.xml
Normal file
311
libraries/mogo-adas-data/src/main/res/values-en/strings.xml
Normal file
@@ -0,0 +1,311 @@
|
||||
<resources>
|
||||
<string name="adas_data_MsgTypeDefault">Default</string>
|
||||
<string name="adas_data_MsgTypeTrajectory">Front guide line</string>
|
||||
<string name="adas_data_MsgTypeTrackedObjects">Obstacle information</string>
|
||||
<string name="adas_data_MsgTypeGnssInfo">Inertial navigation information</string>
|
||||
<string name="adas_data_MsgTypeVehicleState">Legacy chassis state</string>
|
||||
<string name="adas_data_MsgTypeAutopilotState">Autopilot state</string>
|
||||
<string name="adas_data_MsgTypeReportMessage">Monitoring event report</string>
|
||||
<string name="adas_data_MsgTypePerceptionTrafficLight">Fused traffic light perception</string>
|
||||
<string name="adas_data_MsgTypePredictionObstacleTrajectory">Other vehicle trajectory prediction</string>
|
||||
<string name="adas_data_MsgTypePointCloud">Point cloud pass-through</string>
|
||||
<string name="adas_data_MsgTypePlanningObjects">Planning obstacles</string>
|
||||
<string name="adas_data_MsgTypeChassisStates">Chassis state</string>
|
||||
<string name="adas_data_MsgTypeFunctionStates">Reconstructed function state</string>
|
||||
<string name="adas_data_MsgTypeBackCameraVideo">Rear camera</string>
|
||||
<string name="adas_data_MsgTypeM1StitchedVideo">M1 stitched video</string>
|
||||
<string name="adas_data_MsgTypeSSMState">SSM system state</string>
|
||||
<string name="adas_data_MsgTypeFMState">FM state</string>
|
||||
<string name="adas_data_MsgTypeFSM2024State">FSM state</string>
|
||||
<string name="adas_data_MsgTypeLocState">Localization state</string>
|
||||
<string name="adas_data_MsgTypeCloudRegulatoryWarning">Cloud control regulatory warning</string>
|
||||
<string name="adas_data_MsgTypePredictionObjects2025">Obstacle trajectory prediction</string>
|
||||
<string name="adas_data_MsgTypevllm">Vision-language model</string>
|
||||
<string name="adas_data_MsgTypeVllmImage60">Vision-language model image</string>
|
||||
<string name="adas_data_MsgTypeBasicInfoReq">Autonomous device basic info request</string>
|
||||
<string name="adas_data_MsgTypeBasicInfoResp">Autonomous device basic info response</string>
|
||||
<string name="adas_data_MsgTypeSetAutopilotModeReq">Set autopilot mode / Start autopilot</string>
|
||||
<string name="adas_data_MsgTypeSetDemoModeReq">Set demo mode</string>
|
||||
<string name="adas_data_MsgTypeCarConfigReq">Vehicle basic info request</string>
|
||||
<string name="adas_data_MsgTypeCarConfigResp">Vehicle basic info response</string>
|
||||
<string name="adas_data_MsgTypeRecordCause">Record manual takeover reason</string>
|
||||
<string name="adas_data_MsgTypeRecordData">Data collection request</string>
|
||||
<string name="adas_data_MsgTypeRecordResult">Data collection result</string>
|
||||
<string name="adas_data_MsgTypeSetAutopilotSpeedReq">Set autopilot max speed</string>
|
||||
<string name="adas_data_MsgTypeGlobalPathReq">Autopilot path request</string>
|
||||
<string name="adas_data_MsgTypeGlobalPathResp">Autopilot path response</string>
|
||||
<string name="adas_data_MsgTypeTrafficLightData">Send traffic light data to IPC</string>
|
||||
<string name="adas_data_MsgTypeWarn">Warning data</string>
|
||||
<string name="adas_data_MsgTypeArrivalNotification">Arrival notification</string>
|
||||
<string name="adas_data_MsgTypeSystemCmdReq">System command request</string>
|
||||
<string name="adas_data_MsgTypeTrajectoryDownloadReq">Trajectory download request</string>
|
||||
<string name="adas_data_MsgTypeStatusQueryReq">Status query request</string>
|
||||
<string name="adas_data_MsgTypeStatusQueryResp">Status query response</string>
|
||||
<string name="adas_data_MsgTypeSetRainModeReq">Set rain mode</string>
|
||||
<string name="adas_data_MsgTypeRecordDataConfigReq">Data collection config query</string>
|
||||
<string name="adas_data_MsgTypeRecordDataConfigResp">Data collection config</string>
|
||||
<string name="adas_data_MsgTypeOperatorCmdReq">Operator command</string>
|
||||
<string name="adas_data_MsgTypeSubscribeDataReq">Data subscribe/unsubscribe request</string>
|
||||
<string name="adas_data_MsgTypeSpecialVehicleTaskCmd">Special vehicle command</string>
|
||||
<string name="adas_data_MsgTypeSetParamReq">Set parameter command</string>
|
||||
<string name="adas_data_MsgTypeTripInfoEvent">Trip information</string>
|
||||
<string name="adas_data_MsgTypeBagManagerCmd_SEND">Bag management request</string>
|
||||
<string name="adas_data_MsgTypeBagManagerCmd_RECEIVE">Bag management response</string>
|
||||
<string name="adas_data_MsgTypePlanningCmd">Planning command</string>
|
||||
<string name="adas_data_MsgTypeSetParamReqV2">Set parameter command V2</string>
|
||||
<string name="adas_data_MsgTypeV2nCongestionEvent">Nearby vehicle event push</string>
|
||||
<string name="adas_data_MsgTypeV2nGlobalPathEvents">Global path event push</string>
|
||||
<string name="adas_data_MsgTypeGetParamReq">Get parameter request</string>
|
||||
<string name="adas_data_MsgTypeGetParamResp">Get parameter response</string>
|
||||
<string name="adas_data_MsgTypeTaskCmd_SEND">Send sweeper command to cloud</string>
|
||||
<string name="adas_data_MsgTypeTaskCmd_RECEIVE">Cloud issued sweeper task command</string>
|
||||
<string name="adas_data_MsgTypeFSMStatusReasonQueryReq">FSM status reason query</string>
|
||||
<string name="adas_data_MsgTypeFSMStatusReasonQueryResp">FSM status reason response</string>
|
||||
<string name="adas_dataMsgTypeGetDebugInfo_SEND">Debug info request</string>
|
||||
<string name="adas_data_MsgTypeGetDebugInfo_RECEIVE">Debug info response</string>
|
||||
<string name="adas_data_MsgTypeParallelDrivingCmd_SEND">Parallel driving request</string>
|
||||
<string name="adas_data_MsgTypeParallelDrivingCmd_RECEIVE">Parallel driving state</string>
|
||||
<string name="adas_data_MsgTypeReceivedAck_SEND">Send message acknowledgment</string>
|
||||
<string name="adas_data_MsgTypeReceivedAck_RECEVIE">Receive message acknowledgment</string>
|
||||
<string name="adas_data_MsgTypeV2nNioGreenWavePassageEvent">V2N NIO green wave passage (single intersection)</string>
|
||||
<string name="adas_data_MsgTypeV2nNioCrossoverEvent">V2N NIO pedestrian crossing (roadside)</string>
|
||||
<string name="adas_data_MsgTypeV2nNioOtherRetrogradeEvent">V2N NIO other vehicle wrong-way (roadside)</string>
|
||||
<string name="adas_data_MsgTypeV2nNioCongestionEvent">V2N NIO congestion event</string>
|
||||
<string name="adas_data_MsgTypeLaneMarksTran">Lane markings</string>
|
||||
<string name="adas_data_MsgTypeCollisionReport">Collision report</string>
|
||||
<string name="adas_data_MsgTypePowerUnit_SEND">Power module request</string>
|
||||
<string name="adas_data_MsgTypePowerUnit_RECEIVE">Power module response</string>
|
||||
<string name="adas_data_MsgTypeSSMFuncMsg_SEND">SSM function control</string>
|
||||
<string name="adas_data_MsgTypeSSMFuncMsg_RECEIVE">SSM function response</string>
|
||||
<string name="adas_data_MsgTypeSSMFuncStatusQuery_SEND">SSM function status query</string>
|
||||
<string name="adas_data_MsgTypeSSMFuncStatusQuery_RECEIVE">SSM function status response</string>
|
||||
<string name="adas_data_MsgTypeCaptureImgReqOnTakeOver">Camera data request on takeover</string>
|
||||
<string name="adas_data_MsgTypeEzhouCloud">Cloud control data</string>
|
||||
<string name="adas_data_MsgTypeCopyBag_SEND">Data disk control</string>
|
||||
<string name="adas_data_MsgTypeCopyBag_RECEIVE">Data disk response</string>
|
||||
<string name="adas_data_MsgTypeCloudConfig_SEND">Cloud config query</string>
|
||||
<string name="adas_data_MsgTypeCloudConfig_RECEIVE">Cloud config response</string>
|
||||
<string name="adas_data_MsgTypeImgUploadCloudEnable">Camera upload NDE cloud switch</string>
|
||||
<string name="adas_data_MsgTypeImgUploadCloudStatusQuery_SEND">Camera upload NDE cloud status query</string>
|
||||
<string name="adas_data_MsgTypeImgUploadCloudStatusQuery_RECEIVE">Camera upload NDE cloud status response</string>
|
||||
<string name="adas_data_MsgTypeForceStopOrStartCloudReq">Cloud config control</string>
|
||||
<string name="adas_data_MsgTypeSetObuUploadReq">Domain control OBU upload switch control</string>
|
||||
<string name="adas_data_MsgTypeObuUploadStatus_SEND">Domain control OBU upload status query</string>
|
||||
<string name="adas_data_MsgTypeObuUploadStatus_RECEIVE">Domain control OBU upload status response</string>
|
||||
<string name="adas_data_MsgTypePlanningDecisionState">Planning decision state</string>
|
||||
<string name="adas_data_MsgTypeSweeperTaskIndexData">Sweeper index data</string>
|
||||
<string name="adas_data_MsgTypeObuWarningData">OBU warning event</string>
|
||||
<string name="adas_data_MsgTypeCameraCalibCheckData30">Camera calibration check video 30</string>
|
||||
<string name="adas_data_MsgTypeCameraCalibCheckData60">Camera calibration check video 60</string>
|
||||
<string name="adas_data_MsgTypeCameraCalibCheckData120Front">Camera calibration check video 120 front</string>
|
||||
<string name="adas_data_MsgTypeCameraCalibCheckData120Back">Camera calibration check video 120 back</string>
|
||||
<string name="adas_data_MsgTypeCameraCalibCheckData120Left">Camera calibration check video 120 left</string>
|
||||
<string name="adas_data_MsgTypeCameraCalibCheckData120Right">Camera calibration check video 120 right</string>
|
||||
<string name="adas_data_MsgTypeCaptureFrontImgOnTakeOver">Front camera data response on manual takeover</string>
|
||||
<string name="adas_data_MsgTypeCaptureBackImgOnTakeOver">Rear camera data response on manual takeover</string>
|
||||
|
||||
<string name="adas_data_unknown">Unknown</string>
|
||||
|
||||
<string name="adas_data_report_result_AUTOPILOT_SYSTEM_UNSTARTED">Autopilot system failed to start</string>
|
||||
<string name="adas_data_report_result_AUTOPILOT_DISABLE">Unable to start autopilot</string>
|
||||
<string name="adas_data_report_result_AUTOPILOT_INFERIOR">Autopilot performance affected</string>
|
||||
<string name="adas_data_report_result_REMOTEPILOT_DISABLE">Unable to start remote driving</string>
|
||||
<string name="adas_data_report_result_REMOTEPILOT_INFERIOR">Remote driving performance affected</string>
|
||||
<string name="adas_data_report_result_SHOW_WARNING">Uncertain factors detected, warning</string>
|
||||
<string name="adas_data_report_action_CONTACT_TECH_SUPPORT">Contact technical support</string>
|
||||
<string name="adas_data_report_action_CONTACT_MAINTENANCE">Contact maintenance</string>
|
||||
<string name="adas_data_report_action_CONTACT_HARDWARE_ENGINEER">Contact hardware engineer</string>
|
||||
<string name="adas_data_report_action_REBOOT_PAD">Reboot PAD</string>
|
||||
<string name="adas_data_report_action_REBOOT_VEHICLE">Reboot vehicle</string>
|
||||
<string name="adas_data_report_action_CHECK_GEAR">Check vehicle gear, dashboard, and related factors</string>
|
||||
<string name="adas_data_report_action_CHECK_NETWORK">Check network connection and router</string>
|
||||
<string name="adas_data_report_action_TRY_AGAIN_LATER">Please try again later</string>
|
||||
<string name="adas_data_report_action_REMOTEPILOT_REQUEST">Request remote driving</string>
|
||||
<string name="adas_data_report_action_MANUAL_HANDLE_REQUEST">Operator attention required</string>
|
||||
<string name="adas_data_report_action_MANUAL_HANDLE_IMMEDIATELY">Operator must take over immediately</string>
|
||||
<string name="adas_data_report_action_REBOOT_SYSTEM">Soft system reboot</string>
|
||||
<string name="adas_data_report_action_KEEP_POWERON_AND_WAIT">Stop safely, keep powered on, and wait for repair</string>
|
||||
|
||||
<string name="adas_data_abnormal">Abnormal</string>
|
||||
<string name="adas_data_default">Default</string>
|
||||
<string name="adas_data_unknown_source">Unknown source</string>
|
||||
<string name="adas_data_traffic_management_department">Traffic management department</string>
|
||||
<string name="adas_data_other_government_departments">Other government departments</string>
|
||||
<string name="adas_data_meteorological_department">Meteorological department</string>
|
||||
<string name="adas_data_internet">Internet</string>
|
||||
<string name="adas_data_roadside_or_cloud_perception">Roadside or cloud perception</string>
|
||||
<string name="adas_data_other_source">Other source</string>
|
||||
|
||||
<string name="adas_data_event_abnormal">Abnormal</string>
|
||||
<string name="adas_data_event_unknown_type">Unknown type</string>
|
||||
<string name="adas_data_event_road_traffic_incident">Road traffic incident</string>
|
||||
<string name="adas_data_event_road_traffic_sign">Road traffic sign</string>
|
||||
<string name="adas_data_event_cloud_decision_suggestion">Cloud decision suggestion</string>
|
||||
|
||||
<string name="adas_data_evw_type_abnormal">Abnormal</string>
|
||||
<string name="adas_data_evw_type_reserved">Reserved</string>
|
||||
<string name="adas_data_evw_type_default">Default</string>
|
||||
<string name="adas_data_evw_type_invalid">Invalid</string>
|
||||
<string name="adas_data_evw_type_ambulance">Ambulance</string>
|
||||
<string name="adas_data_evw_type_police_car">Police car</string>
|
||||
<string name="adas_data_evw_type_fire_engine">Fire engine</string>
|
||||
|
||||
<string name="adas_data_glosa_spd_unknown">Unknown</string>
|
||||
<string name="adas_data_glosa_spd_default">Default</string>
|
||||
<string name="adas_data_glosa_spd_straight">Straight</string>
|
||||
<string name="adas_data_glosa_spd_left_turn">Left turn</string>
|
||||
<string name="adas_data_glosa_spd_right_turn">Right turn</string>
|
||||
<string name="adas_data_glosa_spd_u_turn">U-turn</string>
|
||||
|
||||
<string name="adas_data_glosa_abnormal">Abnormal</string>
|
||||
<string name="adas_data_glosa_invalid">Invalid</string>
|
||||
<string name="adas_data_glosa_guide">Guidance</string>
|
||||
<string name="adas_data_glosa_parking_instruction">Parking instruction</string>
|
||||
<string name="adas_data_glosa_start_instruction">Start instruction</string>
|
||||
|
||||
<string name="adas_data_instruct_abnormal">Abnormal</string>
|
||||
<string name="adas_data_instruct_default">Default</string>
|
||||
<string name="adas_data_instruct_lane_keeping_driving">Lane keeping</string>
|
||||
<string name="adas_data_instruct_first_exit">First exit</string>
|
||||
<string name="adas_data_instruct_second_exit">Second exit</string>
|
||||
<string name="adas_data_instruct_third_exit">Third exit</string>
|
||||
<string name="adas_data_instruct_fourth_exit">Fourth exit</string>
|
||||
<string name="adas_data_instruct_fifth_exit">Fifth exit</string>
|
||||
<string name="adas_data_instruct_sixth_exit">Sixth exit</string>
|
||||
<string name="adas_data_instruct_seventh_exit">Seventh exit</string>
|
||||
<string name="adas_data_instruct_eighth_exit">Eighth exit</string>
|
||||
<string name="adas_data_instruct_left_lane_change">Left lane change</string>
|
||||
<string name="adas_data_instruct_right_lane_change">Right lane change</string>
|
||||
|
||||
<string name="adas_data_advice_type_abnormal">Abnormal</string>
|
||||
<string name="adas_data_advice_type_glosa_function_instruction">Traffic light intersection speed guidance instruction</string>
|
||||
<string name="adas_data_advice_type_glosa_function_instruction_return">Traffic light intersection speed guidance instruction response</string>
|
||||
<string name="adas_data_advice_type_no_signal_intersection_right_turn_instruction">No-signal intersection right turn instruction</string>
|
||||
<string name="adas_data_advice_type_no_signal_intersection_right_turn_instruction_return">No-signal intersection right turn instruction response</string>
|
||||
<string name="adas_data_advice_type_dynamic_lane_speed_limit_instruction">Dynamic lane-level speed limit instruction</string>
|
||||
<string name="adas_data_advice_type_dynamic_lane_speed_limit_instruction_return">Dynamic lane-level speed limit instruction response</string>
|
||||
<string name="adas_data_advice_type_ramp_merge_warn_instruction">Ramp merge warning instruction</string>
|
||||
<string name="adas_data_advice_type_ramp_merge_warn_instruction_return">Ramp merge warning instruction response</string>
|
||||
<string name="adas_data_advice_type_fcw_instruction">Forward collision warning instruction</string>
|
||||
<string name="adas_data_advice_type_fcw_instruction_return">Forward collision warning response</string>
|
||||
<string name="adas_data_advice_type_avw_instruction">Abnormal vehicle warning instruction</string>
|
||||
<string name="adas_data_advice_type_avw_instruction_return">Abnormal vehicle warning response</string>
|
||||
<string name="adas_data_advice_type_evw_instruction">Emergency vehicle warning instruction</string>
|
||||
<string name="adas_data_advice_type_evw_instruction_return">Emergency vehicle warning response</string>
|
||||
<string name="adas_data_advice_type_alg_instruction">Ramp assist instruction</string>
|
||||
<string name="adas_data_advice_type_alg_instruction_return">Ramp assist response</string>
|
||||
<string name="adas_data_advice_type_grsi_warning_instruction">General RSI warning instruction</string>
|
||||
<string name="adas_data_advice_type_grsi_warning_instruction_return">General RSI warning response</string>
|
||||
<string name="adas_data_advice_type_arp_instruction">Route planning instruction</string>
|
||||
<string name="adas_data_advice_type_arp_instruction_return">Route planning response</string>
|
||||
|
||||
<string name="adas_data_control_abnormal">Abnormal</string>
|
||||
<string name="adas_data_control_reserved">Reserved</string>
|
||||
<string name="adas_data_control_default">Default</string>
|
||||
<string name="adas_data_control_fixed_cycle">Fixed cycle</string>
|
||||
<string name="adas_data_control_manual_control">Manual control</string>
|
||||
<string name="adas_data_control_yellow_flash_control">Yellow flashing control</string>
|
||||
|
||||
<string name="adas_data_light_state_abnormal">Abnormal</string>
|
||||
<string name="adas_data_light_state_reserved">Reserved</string>
|
||||
<string name="adas_data_light_state_unknown_status">Unknown status</string>
|
||||
<string name="adas_data_light_state_signal_light_not_working">Signal light not working</string>
|
||||
<string name="adas_data_light_state_red_flashing">Red flashing</string>
|
||||
<string name="adas_data_light_state_red_light_status">Red light status</string>
|
||||
<string name="adas_data_light_state_green_light_waiting_status">Green light waiting</string>
|
||||
<string name="adas_data_light_state_green_light_status">Green light status</string>
|
||||
<string name="adas_data_light_state_protected_phase_green_light_arrow_light">Protected phase green arrow</string>
|
||||
<string name="adas_data_light_state_yellow_light_status">Yellow light status</string>
|
||||
<string name="adas_data_light_state_yellow_flashing">Yellow flashing</string>
|
||||
<string name="adas_data_light_state_fault">Fault</string>
|
||||
|
||||
<string name="adas_data_light_type_abnormal">Abnormal</string>
|
||||
<string name="adas_data_light_type_reserved">Reserved</string>
|
||||
<string name="adas_data_light_type_straight_direction_indicator_light">Straight direction indicator light</string>
|
||||
<string name="adas_data_light_type_left_turn_direction_indicator_light">Left turn direction indicator light</string>
|
||||
<string name="adas_data_light_type_right_turn_direction_indicator_light">Right turn direction indicator light</string>
|
||||
<string name="adas_data_light_type_motor_vehicle_light">Motor vehicle light</string>
|
||||
<string name="adas_data_light_type_left_turn_non_motor_vehicle_light">Left turn non-motor vehicle light</string>
|
||||
<string name="adas_data_light_type_right_turn_non_motor_vehicle_light">Right turn non-motor vehicle light</string>
|
||||
<string name="adas_data_light_type_non_motor_vehicle_light">Non-motor vehicle light</string>
|
||||
<string name="adas_data_light_type_pedestrian_crossing_light">Pedestrian crossing light</string>
|
||||
<string name="adas_data_light_type_u_turn_signal_light">U-turn signal light</string>
|
||||
<string name="adas_data_light_type_lane_signal_light">Lane signal light</string>
|
||||
<string name="adas_data_light_type_railroad_crossing_signal_light">Railroad crossing signal light</string>
|
||||
<string name="adas_data_light_type_flashing_warning_signal_light">Flashing warning signal light</string>
|
||||
<string name="adas_data_light_type_straight_tramway_dedicated_signal_light">Tram dedicated signal light (straight)</string>
|
||||
<string name="adas_data_light_type_left_turn_tramway_dedicated_signal_light">Tram dedicated signal light (left turn)</string>
|
||||
<string name="adas_data_light_type_right_turn_tram_traffic_signal">Tram dedicated signal light (right turn)</string>
|
||||
<string name="adas_data_light_type_invalid_or_unknown_light_group_type">Invalid or unknown light group type</string>
|
||||
|
||||
<string name="adas_data_func_type_abnormal">Abnormal</string>
|
||||
<string name="adas_data_func_type_cloud_request_vehicle_video_stream_upload_command">Cloud request vehicle video stream upload</string>
|
||||
<string name="adas_data_func_type_cloud_request_vehicle_video_stream_upload_command_response">Cloud request vehicle video stream upload response</string>
|
||||
<string name="adas_data_func_type_cloud_request_vehicle_historical_video_upload_command">Cloud request vehicle historical video upload</string>
|
||||
<string name="adas_data_func_type_cloud_request_vehicle_historical_video_upload_command_response">Cloud request vehicle historical video upload response</string>
|
||||
<string name="adas_data_func_type_cloud_request_vehicle_upload_edr_data">Cloud request vehicle EDR data upload</string>
|
||||
<string name="adas_data_func_type_cloud_request_vehicle_upload_edr_data_response">Cloud request vehicle EDR data upload response</string>
|
||||
<string name="adas_data_func_type_cloud_deliver_traffic_light_info">Cloud deliver traffic light information</string>
|
||||
<string name="adas_data_func_type_cloud_deliver_positioning_enhancement_info">Cloud deliver positioning enhancement information</string>
|
||||
<string name="adas_data_func_type_cloud_deliver_positioning_enhancement_info_response">Cloud deliver positioning enhancement information response</string>
|
||||
<string name="adas_data_func_type_cloud_deliver_real_time_perception_info">Cloud deliver real-time perception information</string>
|
||||
|
||||
<string name="adas_data_data_type_abnormal">Abnormal</string>
|
||||
<string name="adas_data_data_type_heartbeat">Heartbeat</string>
|
||||
<string name="adas_data_data_type_heartbeat_response">Heartbeat response</string>
|
||||
<string name="adas_data_data_type_vehicle_operation_status_info">Vehicle operation status info</string>
|
||||
<string name="adas_data_data_type_cloud_real_time_control_suggestion">Cloud real-time control suggestion</string>
|
||||
<string name="adas_data_data_type_cloud_remote_control">Cloud remote control</string>
|
||||
<string name="adas_data_data_type_vehicle_quasi_static_parameter_report">Vehicle quasi-static parameter report</string>
|
||||
<string name="adas_data_data_type_vehicle_quasi_static_parameter_report_response">Vehicle quasi-static parameter report response</string>
|
||||
<string name="adas_data_data_type_vehicle_function_subscription_info">Vehicle function subscription info</string>
|
||||
<string name="adas_data_data_type_vehicle_function_subscription_info_response">Vehicle function subscription info response</string>
|
||||
<string name="adas_data_data_type_real_time_decision_suggestion">Real-time decision suggestion</string>
|
||||
<string name="adas_data_data_type_real_time_decision_suggestion_response">Real-time decision suggestion response</string>
|
||||
<string name="adas_data_data_type_auxiliary_function">Auxiliary function</string>
|
||||
<string name="adas_data_data_type_auxiliary_function_response">Auxiliary function response</string>
|
||||
<string name="adas_data_data_type_uplink_custom_function">Uplink custom function</string>
|
||||
<string name="adas_data_data_type_uplink_custom_function_response">Uplink custom function response</string>
|
||||
<string name="adas_data_data_type_downlink_custom_function">Downlink custom function</string>
|
||||
<string name="adas_data_data_type_downlink_custom_function_response">Downlink custom function response</string>
|
||||
<string name="adas_data_data_type_vehicle_operation_status_info_retransmission">Vehicle operation status info retransmission</string>
|
||||
<string name="adas_data_data_type_vehicle_operation_status_info_retransmission_response">Vehicle operation status info retransmission response</string>
|
||||
|
||||
<string name="adas_data_rsi_cloud_unknown_or_abnormal">Unknown/Abnormal</string>
|
||||
<string name="adas_data_rsi_cloud_red_light_running_warning_function">Red light running warning function</string>
|
||||
<string name="adas_data_rsi_cloud_road_hazard_condition_prompt_service_function">Road hazard condition prompt service function</string>
|
||||
<string name="adas_data_rsi_cloud_driving_lane_recommendation_function">Driving lane recommendation function</string>
|
||||
<string name="adas_data_rsi_cloud_intersection_other_vehicle_red_light_running_warning_function">Intersection other vehicle red light running warning function</string>
|
||||
<string name="adas_data_rsi_cloud_over_the_horizon_vru_warning_function">Over-the-horizon vulnerable road user warning function</string>
|
||||
<string name="adas_data_rsi_cloud_traffic_congestion_reminder_function">Traffic congestion reminder function</string>
|
||||
<string name="adas_data_rsi_cloud_visibility_warning_function">Visibility warning function</string>
|
||||
<string name="adas_data_rsi_cloud_road_surface_debris_warning_function">Road surface debris warning function</string>
|
||||
<string name="adas_data_rsi_cloud_red_light_about_to_turn_green_function">Red light about to turn green function</string>
|
||||
<string name="adas_data_rsi_cloud_green_light_about_to_turn_red_function">Green light about to turn red function</string>
|
||||
|
||||
<string name="adas_data_rsi_event_unknown_or_abnormal">Unknown/Abnormal</string>
|
||||
<string name="adas_data_rsi_event_pedestrian_reminder_function">Pedestrian reminder</string>
|
||||
<string name="adas_data_rsi_event_non_motor_vehicle_reminder_function">Non-motor vehicle reminder</string>
|
||||
<string name="adas_data_rsi_event_emergency_brake_warning_function">Emergency brake warning</string>
|
||||
<string name="adas_data_rsi_event_reverse_warning_function">Reverse warning</string>
|
||||
<string name="adas_data_rsi_event_wrong_way_driving_warning_function">Wrong-way driving warning</string>
|
||||
<string name="adas_data_rsi_event_abnormal_low_speed_warning_function">Abnormal low-speed warning</string>
|
||||
<string name="adas_data_rsi_event_abnormal_parking_warning_function">Abnormal parking warning</string>
|
||||
<string name="adas_data_rsi_event_over_speed_warning_function">Over-speed warning</string>
|
||||
<string name="adas_data_rsi_event_traffic_congestion_warning_function">Traffic congestion warning</string>
|
||||
<string name="adas_data_rsi_event_special_vehicle_warning_function">Special vehicle warning</string>
|
||||
<string name="adas_data_rsi_event_emergency_vehicle_warning_function">Emergency vehicle warning</string>
|
||||
<string name="adas_data_rsi_event_vehicle_status_abnormality_warning_function">Vehicle status abnormality warning</string>
|
||||
<string name="adas_data_rsi_event_continuous_lane_change_warning_function">Continuous lane change warning</string>
|
||||
<string name="adas_data_rsi_event_ramp_return_to_main_road_warning_function">Ramp return to main road warning</string>
|
||||
<string name="adas_data_rsi_event_traffic_control_warning_function">Traffic control warning</string>
|
||||
<string name="adas_data_rsi_event_road_surface_low_friction_warning_function">Road surface low friction warning</string>
|
||||
<string name="adas_data_rsi_event_dynamic_lane_level_speed_limit_warning_function">Dynamic lane-level speed limit warning</string>
|
||||
<string name="adas_data_rsi_event_obstacle_reminder_function">Obstacle reminder</string>
|
||||
<string name="adas_data_rsi_event_traffic_light_fault_warning_function">Traffic light fault warning</string>
|
||||
<string name="adas_data_rsi_event_vulnerable_road_user_warning_function">Vulnerable road user warning</string>
|
||||
<string name="adas_data_rsi_event_red_light_running_warning_function">Red light running warning</string>
|
||||
<string name="adas_data_rsi_event_motor_vehicle_solid_line_violation_lane_change_function">Motor vehicle solid line violation lane change</string>
|
||||
<string name="adas_data_rsi_event_motor_vehicle_violation_of_guidance_signs_driving_function">Motor vehicle violation of guidance signs</string>
|
||||
|
||||
</resources>
|
||||
311
libraries/mogo-adas-data/src/main/res/values/strings.xml
Normal file
311
libraries/mogo-adas-data/src/main/res/values/strings.xml
Normal file
@@ -0,0 +1,311 @@
|
||||
<resources>
|
||||
<string name="adas_data_MsgTypeDefault">默认</string>
|
||||
<string name="adas_data_MsgTypeTrajectory">车前引导线</string>
|
||||
<string name="adas_data_MsgTypeTrackedObjects">障碍物信息</string>
|
||||
<string name="adas_data_MsgTypeGnssInfo">惯导信息</string>
|
||||
<string name="adas_data_MsgTypeVehicleState">老底盘状态</string>
|
||||
<string name="adas_data_MsgTypeAutopilotState">自动驾驶状态</string>
|
||||
<string name="adas_data_MsgTypeReportMessage">监控事件报告</string>
|
||||
<string name="adas_data_MsgTypePerceptionTrafficLight">融合感知红绿灯</string>
|
||||
<string name="adas_data_MsgTypePredictionObstacleTrajectory">他车轨迹预测</string>
|
||||
<string name="adas_data_MsgTypePointCloud">点云透传</string>
|
||||
<string name="adas_data_MsgTypePlanningObjects">Planning障碍物</string>
|
||||
<string name="adas_data_MsgTypeChassisStates">底盘状态</string>
|
||||
<string name="adas_data_MsgTypeFunctionStates">重构后功能状态</string>
|
||||
<string name="adas_data_MsgTypeBackCameraVideo">后摄像头</string>
|
||||
<string name="adas_data_MsgTypeM1StitchedVideo">M1拼接视频</string>
|
||||
<string name="adas_data_MsgTypeSSMState">SSM系统状态</string>
|
||||
<string name="adas_data_MsgTypeFMState">FM状态</string>
|
||||
<string name="adas_data_MsgTypeFSM2024State">FSM状态</string>
|
||||
<string name="adas_data_MsgTypeLocState">定位状态</string>
|
||||
<string name="adas_data_MsgTypeCloudRegulatoryWarning">云控监管预警</string>
|
||||
<string name="adas_data_MsgTypePredictionObjects2025">障碍物轨迹预测</string>
|
||||
<string name="adas_data_MsgTypevllm">视觉语言模型</string>
|
||||
<string name="adas_data_MsgTypeVllmImage60">视觉语言模型图像</string>
|
||||
<string name="adas_data_MsgTypeBasicInfoReq">自动驾驶设备基础信息请求</string>
|
||||
<string name="adas_data_MsgTypeBasicInfoResp">自动驾驶设备基础信息应答</string>
|
||||
<string name="adas_data_MsgTypeSetAutopilotModeReq">设置自动驾驶模式 启动自动驾驶</string>
|
||||
<string name="adas_data_MsgTypeSetDemoModeReq">设置演示模式</string>
|
||||
<string name="adas_data_MsgTypeCarConfigReq">车机基础信息请求</string>
|
||||
<string name="adas_data_MsgTypeCarConfigResp">车机基础信息应答</string>
|
||||
<string name="adas_data_MsgTypeRecordCause">记录人工接管原因</string>
|
||||
<string name="adas_data_MsgTypeRecordData">数据采集请求</string>
|
||||
<string name="adas_data_MsgTypeRecordResult">数据采集结果</string>
|
||||
<string name="adas_data_MsgTypeSetAutopilotSpeedReq">设置自动驾驶最大速度</string>
|
||||
<string name="adas_data_MsgTypeGlobalPathReq">自动驾驶路径请求</string>
|
||||
<string name="adas_data_MsgTypeGlobalPathResp">自动驾驶路径应答</string>
|
||||
<string name="adas_data_MsgTypeTrafficLightData">发送红绿灯数据到工控机</string>
|
||||
<string name="adas_data_MsgTypeWarn">预警数据</string>
|
||||
<string name="adas_data_MsgTypeArrivalNotification">到站提醒</string>
|
||||
<string name="adas_data_MsgTypeSystemCmdReq">系统命令请求</string>
|
||||
<string name="adas_data_MsgTypeTrajectoryDownloadReq">轨迹下载请求</string>
|
||||
<string name="adas_data_MsgTypeStatusQueryReq">状态查询请求</string>
|
||||
<string name="adas_data_MsgTypeStatusQueryResp">状态查询应答</string>
|
||||
<string name="adas_data_MsgTypeSetRainModeReq">设置雨天模式</string>
|
||||
<string name="adas_data_MsgTypeRecordDataConfigReq">数据采集配置查询</string>
|
||||
<string name="adas_data_MsgTypeRecordDataConfigResp">数据采集配置</string>
|
||||
<string name="adas_data_MsgTypeOperatorCmdReq">操控指令</string>
|
||||
<string name="adas_data_MsgTypeSubscribeDataReq">数据订阅、取消订阅请求</string>
|
||||
<string name="adas_data_MsgTypeSpecialVehicleTaskCmd">特种车辆命令</string>
|
||||
<string name="adas_data_MsgTypeSetParamReq">设置参数命令</string>
|
||||
<string name="adas_data_MsgTypeTripInfoEvent">行程信息</string>
|
||||
<string name="adas_data_MsgTypeBagManagerCmd_SEND">Bag管理请求</string>
|
||||
<string name="adas_data_MsgTypeBagManagerCmd_RECEIVE">Bag管理应答</string>
|
||||
<string name="adas_data_MsgTypePlanningCmd">给Planning指令</string>
|
||||
<string name="adas_data_MsgTypeSetParamReqV2">设置参数命令V2</string>
|
||||
<string name="adas_data_MsgTypeV2nCongestionEvent">主车附近事件推送</string>
|
||||
<string name="adas_data_MsgTypeV2nGlobalPathEvents">主车路径全局事件推送</string>
|
||||
<string name="adas_data_MsgTypeGetParamReq">参数获取请求</string>
|
||||
<string name="adas_data_MsgTypeGetParamResp">参数获取应答</string>
|
||||
<string name="adas_data_MsgTypeTaskCmd_SEND">发送清扫车指令到云控</string>
|
||||
<string name="adas_data_MsgTypeTaskCmd_RECEIVE">云控下发清扫车任务指令</string>
|
||||
<string name="adas_data_MsgTypeFSMStatusReasonQueryReq">FSM状态原因查询</string>
|
||||
<string name="adas_data_MsgTypeFSMStatusReasonQueryResp">FSM状态原因查询应答</string>
|
||||
<string name="adas_dataMsgTypeGetDebugInfo_SEND">Debug信息请求</string>
|
||||
<string name="adas_data_MsgTypeGetDebugInfo_RECEIVE">Debug信息应答</string>
|
||||
<string name="adas_data_MsgTypeParallelDrivingCmd_SEND">平行驾驶请求</string>
|
||||
<string name="adas_data_MsgTypeParallelDrivingCmd_RECEIVE">平行驾驶状态</string>
|
||||
<string name="adas_data_MsgTypeReceivedAck_SEND">发送消息回执</string>
|
||||
<string name="adas_data_MsgTypeReceivedAck_RECEVIE">接收消息回执</string>
|
||||
<string name="adas_data_MsgTypeV2nNioGreenWavePassageEvent">V2N NIO绿波通行(单路口)</string>
|
||||
<string name="adas_data_MsgTypeV2nNioCrossoverEvent">V2N NIO行人横穿(路侧)</string>
|
||||
<string name="adas_data_MsgTypeV2nNioOtherRetrogradeEvent">V2N NIO他车逆行(路侧)</string>
|
||||
<string name="adas_data_MsgTypeV2nNioCongestionEvent">V2N NIO拥堵事件</string>
|
||||
<string name="adas_data_MsgTypeLaneMarksTran">车道线</string>
|
||||
<string name="adas_data_MsgTypeCollisionReport">碰撞上报</string>
|
||||
<string name="adas_data_MsgTypePowerUnit_SEND">电源模块请求</string>
|
||||
<string name="adas_data_MsgTypePowerUnit_RECEIVE">电源模块响应</string>
|
||||
<string name="adas_data_MsgTypeSSMFuncMsg_SEND">SSM功能控制</string>
|
||||
<string name="adas_data_MsgTypeSSMFuncMsg_RECEIVE">SSM功能响应</string>
|
||||
<string name="adas_data_MsgTypeSSMFuncStatusQuery_SEND">SSM功能状态查询</string>
|
||||
<string name="adas_data_MsgTypeSSMFuncStatusQuery_RECEIVE">SSM功能状态响应</string>
|
||||
<string name="adas_data_MsgTypeCaptureImgReqOnTakeOver">接管时摄像头数据请求</string>
|
||||
<string name="adas_data_MsgTypeEzhouCloud">云控数据</string>
|
||||
<string name="adas_data_MsgTypeCopyBag_SEND">数据落盘控制</string>
|
||||
<string name="adas_data_MsgTypeCopyBag_RECEIVE">数据落盘响应</string>
|
||||
<string name="adas_data_MsgTypeCloudConfig_SEND">云端配置查询</string>
|
||||
<string name="adas_data_MsgTypeCloudConfig_RECEIVE">云端配置响应</string>
|
||||
<string name="adas_data_MsgTypeImgUploadCloudEnable">摄像头上传NDE云开关</string>
|
||||
<string name="adas_data_MsgTypeImgUploadCloudStatusQuery_SEND">摄像头上传NDE云状态查询</string>
|
||||
<string name="adas_data_MsgTypeImgUploadCloudStatusQuery_RECEIVE">摄像头上传NDE云状态响应</string>
|
||||
<string name="adas_data_MsgTypeForceStopOrStartCloudReq">云端配置控制</string>
|
||||
<string name="adas_data_MsgTypeSetObuUploadReq">域控上报OBU开关控制</string>
|
||||
<string name="adas_data_MsgTypeObuUploadStatus_SEND">域控上报OBU开关状态查询</string>
|
||||
<string name="adas_data_MsgTypeObuUploadStatus_RECEIVE">域控上报OBU开关状态响应</string>
|
||||
<string name="adas_data_MsgTypePlanningDecisionState">Planning决策状态</string>
|
||||
<string name="adas_data_MsgTypeSweeperTaskIndexData">清扫车指标数据</string>
|
||||
<string name="adas_data_MsgTypeObuWarningData">OBU预警事件</string>
|
||||
<string name="adas_data_MsgTypeCameraCalibCheckData30">相机标定检查视频30</string>
|
||||
<string name="adas_data_MsgTypeCameraCalibCheckData60">相机标定检查视频60</string>
|
||||
<string name="adas_data_MsgTypeCameraCalibCheckData120Front">相机标定检查视频120前</string>
|
||||
<string name="adas_data_MsgTypeCameraCalibCheckData120Back">相机标定检查视频120后</string>
|
||||
<string name="adas_data_MsgTypeCameraCalibCheckData120Left">相机标定检查视频120左</string>
|
||||
<string name="adas_data_MsgTypeCameraCalibCheckData120Right">相机标定检查视频120右</string>
|
||||
<string name="adas_data_MsgTypeCaptureFrontImgOnTakeOver">人工接管时给PAD发前摄像头数据响应</string>
|
||||
<string name="adas_data_MsgTypeCaptureBackImgOnTakeOver">人工接管时给PAD发后摄像头数据响应</string>
|
||||
|
||||
<string name="adas_data_unknown">未知</string>
|
||||
|
||||
<string name="adas_data_report_result_AUTOPILOT_SYSTEM_UNSTARTED">自动驾驶系统启动失败</string>
|
||||
<string name="adas_data_report_result_AUTOPILOT_DISABLE">无法启动自动驾驶</string>
|
||||
<string name="adas_data_report_result_AUTOPILOT_INFERIOR">自动驾驶效果受影响</string>
|
||||
<string name="adas_data_report_result_REMOTEPILOT_DISABLE">无法启动远程驾驶</string>
|
||||
<string name="adas_data_report_result_REMOTEPILOT_INFERIOR">远程驾驶效果受影响</string>
|
||||
<string name="adas_data_report_result_SHOW_WARNING">存在不确定因素,警示</string>
|
||||
<string name="adas_data_report_action_CONTACT_TECH_SUPPORT">联系技术支持</string>
|
||||
<string name="adas_data_report_action_CONTACT_MAINTENANCE">联系运维</string>
|
||||
<string name="adas_data_report_action_CONTACT_HARDWARE_ENGINEER">联系硬件</string>
|
||||
<string name="adas_data_report_action_REBOOT_PAD">重启PAD</string>
|
||||
<string name="adas_data_report_action_REBOOT_VEHICLE">重启车辆</string>
|
||||
<string name="adas_data_report_action_CHECK_GEAR">检查车辆档位仪表盘等自车因素</string>
|
||||
<string name="adas_data_report_action_CHECK_NETWORK">检查网络连接和路由器等通信因素</string>
|
||||
<string name="adas_data_report_action_TRY_AGAIN_LATER">请稍后重试</string>
|
||||
<string name="adas_data_report_action_REMOTEPILOT_REQUEST">请求远程驾驶</string>
|
||||
<string name="adas_data_report_action_MANUAL_HANDLE_REQUEST">请安全员注意接管</string>
|
||||
<string name="adas_data_report_action_MANUAL_HANDLE_IMMEDIATELY">请安全员立即接管</string>
|
||||
<string name="adas_data_report_action_REBOOT_SYSTEM">系统软重启</string>
|
||||
<string name="adas_data_report_action_KEEP_POWERON_AND_WAIT">请安全位置停车,保持上电,等待修复完成</string>
|
||||
|
||||
<string name="adas_data_abnormal">异常</string>
|
||||
<string name="adas_data_default">缺省</string>
|
||||
<string name="adas_data_unknown_source">未知来源</string>
|
||||
<string name="adas_data_traffic_management_department">交管部门</string>
|
||||
<string name="adas_data_other_government_departments">其他政府部门</string>
|
||||
<string name="adas_data_meteorological_department">气象部门</string>
|
||||
<string name="adas_data_internet">互联网</string>
|
||||
<string name="adas_data_roadside_or_cloud_perception">路侧或云端感知</string>
|
||||
<string name="adas_data_other_source">其他来源</string>
|
||||
|
||||
<string name="adas_data_event_abnormal">异常</string>
|
||||
<string name="adas_data_event_unknown_type">未知类型</string>
|
||||
<string name="adas_data_event_road_traffic_incident">道路交通事件</string>
|
||||
<string name="adas_data_event_road_traffic_sign">道路交通标志</string>
|
||||
<string name="adas_data_event_cloud_decision_suggestion">云端决策建议</string>
|
||||
|
||||
<string name="adas_data_evw_type_abnormal">异常</string>
|
||||
<string name="adas_data_evw_type_reserved">预留</string>
|
||||
<string name="adas_data_evw_type_default">缺省</string>
|
||||
<string name="adas_data_evw_type_invalid">失效</string>
|
||||
<string name="adas_data_evw_type_ambulance">救护车</string>
|
||||
<string name="adas_data_evw_type_police_car">警车</string>
|
||||
<string name="adas_data_evw_type_fire_engine">消防车</string>
|
||||
|
||||
<string name="adas_data_glosa_spd_unknown">未知</string>
|
||||
<string name="adas_data_glosa_spd_default">缺省</string>
|
||||
<string name="adas_data_glosa_spd_straight">直行</string>
|
||||
<string name="adas_data_glosa_spd_left_turn">左转</string>
|
||||
<string name="adas_data_glosa_spd_right_turn">右转</string>
|
||||
<string name="adas_data_glosa_spd_u_turn">掉头</string>
|
||||
|
||||
<string name="adas_data_glosa_abnormal">异常</string>
|
||||
<string name="adas_data_glosa_invalid">失效</string>
|
||||
<string name="adas_data_glosa_guide">引导</string>
|
||||
<string name="adas_data_glosa_parking_instruction">停车指令</string>
|
||||
<string name="adas_data_glosa_start_instruction">启动指令</string>
|
||||
|
||||
<string name="adas_data_instruct_abnormal">异常</string>
|
||||
<string name="adas_data_instruct_default">缺省</string>
|
||||
<string name="adas_data_instruct_lane_keeping_driving">沿车道行驶</string>
|
||||
<string name="adas_data_instruct_first_exit">第一出口</string>
|
||||
<string name="adas_data_instruct_second_exit">第二出口</string>
|
||||
<string name="adas_data_instruct_third_exit">第三出口</string>
|
||||
<string name="adas_data_instruct_fourth_exit">第四出口</string>
|
||||
<string name="adas_data_instruct_fifth_exit">第五出口</string>
|
||||
<string name="adas_data_instruct_sixth_exit">第六出口</string>
|
||||
<string name="adas_data_instruct_seventh_exit">第七出口</string>
|
||||
<string name="adas_data_instruct_eighth_exit">第八出口</string>
|
||||
<string name="adas_data_instruct_left_lane_change">左变道</string>
|
||||
<string name="adas_data_instruct_right_lane_change">右变道</string>
|
||||
|
||||
<string name="adas_data_advice_type_abnormal">异常</string>
|
||||
<string name="adas_data_advice_type_glosa_function_instruction">信号灯路口车速引导功能指令</string>
|
||||
<string name="adas_data_advice_type_glosa_function_instruction_return">信号灯路口车速引导功能指令返回</string>
|
||||
<string name="adas_data_advice_type_no_signal_intersection_right_turn_instruction">无信号灯路口右转功能指令</string>
|
||||
<string name="adas_data_advice_type_no_signal_intersection_right_turn_instruction_return">无信号灯路口右转功能指令返回</string>
|
||||
<string name="adas_data_advice_type_dynamic_lane_speed_limit_instruction">动态车道级限速指令</string>
|
||||
<string name="adas_data_advice_type_dynamic_lane_speed_limit_instruction_return">动态车道级限速指令返回</string>
|
||||
<string name="adas_data_advice_type_ramp_merge_warn_instruction">匝道汇回预警指令</string>
|
||||
<string name="adas_data_advice_type_ramp_merge_warn_instruction_return">匝道汇回预警指令返回</string>
|
||||
<string name="adas_data_advice_type_fcw_instruction">前向碰撞预警指令</string>
|
||||
<string name="adas_data_advice_type_fcw_instruction_return">前向碰撞预警返回</string>
|
||||
<string name="adas_data_advice_type_avw_instruction">异常车辆预警指令</string>
|
||||
<string name="adas_data_advice_type_avw_instruction_return">异常车辆预警返回</string>
|
||||
<string name="adas_data_advice_type_evw_instruction">紧急车辆预警指令</string>
|
||||
<string name="adas_data_advice_type_evw_instruction_return">紧急车辆预警返回</string>
|
||||
<string name="adas_data_advice_type_alg_instruction">匝道辅助指令</string>
|
||||
<string name="adas_data_advice_type_alg_instruction_return">匝道辅助返回</string>
|
||||
<string name="adas_data_advice_type_grsi_warning_instruction">通用RSI预警指令</string>
|
||||
<string name="adas_data_advice_type_grsi_warning_instruction_return">通用RSI预警返回</string>
|
||||
<string name="adas_data_advice_type_arp_instruction">路线规划指令</string>
|
||||
<string name="adas_data_advice_type_arp_instruction_return">路线规划返回</string>
|
||||
|
||||
<string name="adas_data_control_abnormal">异常</string>
|
||||
<string name="adas_data_control_reserved">预留</string>
|
||||
<string name="adas_data_control_default">缺省</string>
|
||||
<string name="adas_data_control_fixed_cycle">固定周期</string>
|
||||
<string name="adas_data_control_manual_control">手动控制</string>
|
||||
<string name="adas_data_control_yellow_flash_control">黄闪控制</string>
|
||||
|
||||
<string name="adas_data_light_state_abnormal">异常</string>
|
||||
<string name="adas_data_light_state_reserved">预留</string>
|
||||
<string name="adas_data_light_state_unknown_status">未知状态</string>
|
||||
<string name="adas_data_light_state_signal_light_not_working">信号灯未工作</string>
|
||||
<string name="adas_data_light_state_red_flashing">红闪</string>
|
||||
<string name="adas_data_light_state_red_light_status">红灯状态</string>
|
||||
<string name="adas_data_light_state_green_light_waiting_status">绿灯待行状态</string>
|
||||
<string name="adas_data_light_state_green_light_status">绿灯状态</string>
|
||||
<string name="adas_data_light_state_protected_phase_green_light_arrow_light">受保护相位绿灯(箭头灯)</string>
|
||||
<string name="adas_data_light_state_yellow_light_status">黄灯状态</string>
|
||||
<string name="adas_data_light_state_yellow_flashing">黄闪</string>
|
||||
<string name="adas_data_light_state_fault">故障</string>
|
||||
|
||||
<string name="adas_data_light_type_abnormal">异常</string>
|
||||
<string name="adas_data_light_type_reserved">预留</string>
|
||||
<string name="adas_data_light_type_straight_direction_indicator_light">直行方向指示信号灯</string>
|
||||
<string name="adas_data_light_type_left_turn_direction_indicator_light">左转方向指示信号灯</string>
|
||||
<string name="adas_data_light_type_right_turn_direction_indicator_light">右转方向指示信号灯</string>
|
||||
<string name="adas_data_light_type_motor_vehicle_light">机动车信号灯</string>
|
||||
<string name="adas_data_light_type_left_turn_non_motor_vehicle_light">左转非机动车信号灯</string>
|
||||
<string name="adas_data_light_type_right_turn_non_motor_vehicle_light">右转非机动车信号灯</string>
|
||||
<string name="adas_data_light_type_non_motor_vehicle_light">非机动车信号灯</string>
|
||||
<string name="adas_data_light_type_pedestrian_crossing_light">人行横道信号灯</string>
|
||||
<string name="adas_data_light_type_u_turn_signal_light">掉头信号灯</string>
|
||||
<string name="adas_data_light_type_lane_signal_light">车道信号灯</string>
|
||||
<string name="adas_data_light_type_railroad_crossing_signal_light">道口信号灯</string>
|
||||
<string name="adas_data_light_type_flashing_warning_signal_light">闪光警告信号灯</string>
|
||||
<string name="adas_data_light_type_straight_tramway_dedicated_signal_light">有轨电车专用信号灯(直行)</string>
|
||||
<string name="adas_data_light_type_left_turn_tramway_dedicated_signal_light">有轨电车专用信号灯(左转)</string>
|
||||
<string name="adas_data_light_type_right_turn_tram_traffic_signal">有轨电车专用信号灯(右转)</string>
|
||||
<string name="adas_data_light_type_invalid_or_unknown_light_group_type">无效或未知灯组类型</string>
|
||||
|
||||
<string name="adas_data_func_type_abnormal">异常</string>
|
||||
<string name="adas_data_func_type_cloud_request_vehicle_video_stream_upload_command">云端请求车辆视频流上传指令</string>
|
||||
<string name="adas_data_func_type_cloud_request_vehicle_video_stream_upload_command_response">云端请求车辆视频流上传指令返回</string>
|
||||
<string name="adas_data_func_type_cloud_request_vehicle_historical_video_upload_command">云端请求车辆历史视频上传指令</string>
|
||||
<string name="adas_data_func_type_cloud_request_vehicle_historical_video_upload_command_response">云端请求车辆历史视频上传指令返回</string>
|
||||
<string name="adas_data_func_type_cloud_request_vehicle_upload_edr_data">云端请求车端上传EDR数据</string>
|
||||
<string name="adas_data_func_type_cloud_request_vehicle_upload_edr_data_response">云端请求车端上传EDR数据返回</string>
|
||||
<string name="adas_data_func_type_cloud_deliver_traffic_light_info">云端下发信号灯信息</string>
|
||||
<string name="adas_data_func_type_cloud_deliver_positioning_enhancement_info">云端下发定位增强信息</string>
|
||||
<string name="adas_data_func_type_cloud_deliver_positioning_enhancement_info_response">云端下发定位增强信息返回</string>
|
||||
<string name="adas_data_func_type_cloud_deliver_real_time_perception_info">云端下发实时感知信息</string>
|
||||
|
||||
<string name="adas_data_data_type_abnormal">异常</string>
|
||||
<string name="adas_data_data_type_heartbeat">心跳</string>
|
||||
<string name="adas_data_data_type_heartbeat_response">心跳回应</string>
|
||||
<string name="adas_data_data_type_vehicle_operation_status_info">车辆运行状态信息</string>
|
||||
<string name="adas_data_data_type_cloud_real_time_control_suggestion">云端实时控制建议</string>
|
||||
<string name="adas_data_data_type_cloud_remote_control">云端远程控制</string>
|
||||
<string name="adas_data_data_type_vehicle_quasi_static_parameter_report">车辆准静态参数上报</string>
|
||||
<string name="adas_data_data_type_vehicle_quasi_static_parameter_report_response">车辆准静态参数上报返回</string>
|
||||
<string name="adas_data_data_type_vehicle_function_subscription_info">车辆功能订阅信息</string>
|
||||
<string name="adas_data_data_type_vehicle_function_subscription_info_response">车辆功能订阅信息返回</string>
|
||||
<string name="adas_data_data_type_real_time_decision_suggestion">实时决策建议</string>
|
||||
<string name="adas_data_data_type_real_time_decision_suggestion_response">实时决策建议返回</string>
|
||||
<string name="adas_data_data_type_auxiliary_function">辅助功能</string>
|
||||
<string name="adas_data_data_type_auxiliary_function_response">辅助功能返回</string>
|
||||
<string name="adas_data_data_type_uplink_custom_function">上行自定义功能</string>
|
||||
<string name="adas_data_data_type_uplink_custom_function_response">上行自定义功能返回</string>
|
||||
<string name="adas_data_data_type_downlink_custom_function">下行自定义功能</string>
|
||||
<string name="adas_data_data_type_downlink_custom_function_response">下行自定义功能返回</string>
|
||||
<string name="adas_data_data_type_vehicle_operation_status_info_retransmission">车辆运行状态信息补发</string>
|
||||
<string name="adas_data_data_type_vehicle_operation_status_info_retransmission_response">车辆运行状态信息补发返回</string>
|
||||
|
||||
<string name="adas_data_rsi_cloud_unknown_or_abnormal">未知/异常</string>
|
||||
<string name="adas_data_rsi_cloud_red_light_running_warning_function">闯红灯预警功能</string>
|
||||
<string name="adas_data_rsi_cloud_road_hazard_condition_prompt_service_function">道路危险状况提示服务功能</string>
|
||||
<string name="adas_data_rsi_cloud_driving_lane_recommendation_function">行驶车道建议功能</string>
|
||||
<string name="adas_data_rsi_cloud_intersection_other_vehicle_red_light_running_warning_function">路口其他车辆闯红灯预警功能</string>
|
||||
<string name="adas_data_rsi_cloud_over_the_horizon_vru_warning_function">超视距弱势交通参与者预警功能</string>
|
||||
<string name="adas_data_rsi_cloud_traffic_congestion_reminder_function">交通拥堵提醒功能</string>
|
||||
<string name="adas_data_rsi_cloud_visibility_warning_function">能见度预警功能</string>
|
||||
<string name="adas_data_rsi_cloud_road_surface_debris_warning_function">路面遗撒预警功能</string>
|
||||
<string name="adas_data_rsi_cloud_red_light_about_to_turn_green_function">红灯即将变绿功能</string>
|
||||
<string name="adas_data_rsi_cloud_green_light_about_to_turn_red_function">绿灯即将变红功能</string>
|
||||
|
||||
<string name="adas_data_rsi_event_unknown_or_abnormal">未知/异常</string>
|
||||
<string name="adas_data_rsi_event_pedestrian_reminder_function">行人提醒</string>
|
||||
<string name="adas_data_rsi_event_non_motor_vehicle_reminder_function">非机动车提醒</string>
|
||||
<string name="adas_data_rsi_event_emergency_brake_warning_function">紧急制动预警</string>
|
||||
<string name="adas_data_rsi_event_reverse_warning_function">倒车预警</string>
|
||||
<string name="adas_data_rsi_event_wrong_way_driving_warning_function">逆行预警</string>
|
||||
<string name="adas_data_rsi_event_abnormal_low_speed_warning_function">异常低速预警</string>
|
||||
<string name="adas_data_rsi_event_abnormal_parking_warning_function">异常停车预警</string>
|
||||
<string name="adas_data_rsi_event_over_speed_warning_function">超速预警</string>
|
||||
<string name="adas_data_rsi_event_traffic_congestion_warning_function">交通拥堵预警</string>
|
||||
<string name="adas_data_rsi_event_special_vehicle_warning_function">特殊车辆预警</string>
|
||||
<string name="adas_data_rsi_event_emergency_vehicle_warning_function">紧急车辆预警</string>
|
||||
<string name="adas_data_rsi_event_vehicle_status_abnormality_warning_function">车辆状态异常预警</string>
|
||||
<string name="adas_data_rsi_event_continuous_lane_change_warning_function">连续并道预警</string>
|
||||
<string name="adas_data_rsi_event_ramp_return_to_main_road_warning_function">匝道退回主路预警</string>
|
||||
<string name="adas_data_rsi_event_traffic_control_warning_function">交通管控预警</string>
|
||||
<string name="adas_data_rsi_event_road_surface_low_friction_warning_function">路面低摩阻预警</string>
|
||||
<string name="adas_data_rsi_event_dynamic_lane_level_speed_limit_warning_function">动态车道级限速预警</string>
|
||||
<string name="adas_data_rsi_event_obstacle_reminder_function">障碍物提醒</string>
|
||||
<string name="adas_data_rsi_event_traffic_light_fault_warning_function">红绿灯故障预警</string>
|
||||
<string name="adas_data_rsi_event_vulnerable_road_user_warning_function">弱势交通参与者预警</string>
|
||||
<string name="adas_data_rsi_event_red_light_running_warning_function">闯红灯预警</string>
|
||||
<string name="adas_data_rsi_event_motor_vehicle_solid_line_violation_lane_change_function">机动车压实线变道</string>
|
||||
<string name="adas_data_rsi_event_motor_vehicle_violation_of_guidance_signs_driving_function">机动车不按导向标识行驶</string>
|
||||
|
||||
</resources>
|
||||
@@ -102,6 +102,7 @@ dependencies {
|
||||
implementation 'com.squareup.okhttp3:okhttp:3.12.3'
|
||||
implementation 'com.tencent:mmkv:1.2.14'
|
||||
implementation project(':libraries:mogo-adas-data')
|
||||
implementation project(':core:mogo-core-utils')
|
||||
}
|
||||
|
||||
task androidSourcesJar(type: Jar) {
|
||||
|
||||
@@ -10,7 +10,7 @@ import static com.zhidao.support.adas.high.chain.AdasChain.CHAIN_SOURCE_ADAS;
|
||||
import static com.zhidao.support.adas.high.chain.AdasChain.CHAIN_TYPE_INIT_STATUS;
|
||||
import static com.zhidao.support.adas.high.chain.AdasChain.CHAIN_TYPE_SOCKET_AUTOPILOT;
|
||||
|
||||
import android.content.Context;
|
||||
import android.app.Application;
|
||||
import android.os.SystemClock;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
@@ -154,7 +154,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
private OnAdasListener mAdasListener;
|
||||
//连接状态listener
|
||||
private final OnAdasConnectStatusListener adasConnectStatusListener;
|
||||
private Context context;
|
||||
private final Application context;
|
||||
|
||||
private final ReceivedAckManager receivedAckManager = new ReceivedAckManager();//消息回执
|
||||
private final AtomicBoolean isInitConfigure = new AtomicBoolean(false);//是否进行配置初始化
|
||||
@@ -199,10 +199,11 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
* @param options
|
||||
* @param listener
|
||||
*/
|
||||
AdasChannel(Context context, @Nullable AdasOptions options, @Nullable OnAdasConnectStatusListener listener) {
|
||||
AdasChannel(Application context, @Nullable AdasOptions options, @Nullable OnAdasConnectStatusListener listener) {
|
||||
this.context = context;
|
||||
this.adasConnectStatusListener = listener;
|
||||
setAdasOptions(options);
|
||||
AutopilotAbilityManager.getInstance().init(context);
|
||||
initData();
|
||||
if (!adasOptions.isPassenger() && listener != null && adasOptions.isAutoConnect())
|
||||
connect();
|
||||
@@ -371,7 +372,6 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
private void initSocket() {
|
||||
if (mSocket == null) {
|
||||
mSocket = new FpgaSocket(context);
|
||||
context = null;
|
||||
mSocket.setWebSocketListener(this);
|
||||
if (isUseQueue) {
|
||||
WebSocketQueueManager.getInstance().registerWebSocketListener(this);
|
||||
@@ -924,7 +924,7 @@ public class AdasChannel implements IAdasNetCommApi, FpgaSocket.IWebSocketConnec
|
||||
}
|
||||
if (args != null && args.length > 0) {
|
||||
if (status == AdasConstants.IpcConnectionStatus.HEARTBEAT_TIMEOUT && args.length > 2) {
|
||||
reason = ReceiveTimeoutManager.buildTimeoutStr(true, (boolean) args[0], (long) args[1], (long) args[2]);
|
||||
reason = ReceiveTimeoutManager.buildTimeoutStr(context, true, (boolean) args[0], (long) args[1], (long) args[2]);
|
||||
} else {
|
||||
reason = String.valueOf(args[0]);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.zhidao.support.adas.high;
|
||||
|
||||
import android.app.Application;
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
|
||||
@@ -127,7 +128,7 @@ public class AdasManager implements IAdasNetCommApi {
|
||||
* @param options 连接参数
|
||||
* @param onAdasConnectStatusListener 连接状态监听
|
||||
*/
|
||||
public synchronized void create(Context context, AdasOptions options, OnAdasConnectStatusListener onAdasConnectStatusListener) {
|
||||
public synchronized void create(Application context, AdasOptions options, OnAdasConnectStatusListener onAdasConnectStatusListener) {
|
||||
if (mChannel != null) {
|
||||
mChannel.disconnect();
|
||||
carConfig = null;
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.zhidao.support.adas.high.common;
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.zhidao.support.adas.high.AdasOptions;
|
||||
import com.zhidao.support.adas.high.R;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
@@ -188,7 +189,8 @@ public class PingAddressHelper {
|
||||
while ((line = in.readLine()) != null) {
|
||||
builder.append(line).append("\n");
|
||||
}
|
||||
builder.append("工控机IP:").append(str).append(" 是否可以连通:").append(status == 0 ? "是" : "否");
|
||||
// builder.append("工控机IP:").append(str).append(" 是否可以连通:").append(status == 0 ? "是" : "否");
|
||||
builder.append(R.string.adas_ipc_ip).append(str).append(R.string.adas_whether_connectable).append(status == 0 ? R.string.adas_connect_yes : R.string.adas_connect_no);
|
||||
CupidLogUtils.i(TAG, builder.toString());
|
||||
return status == 0;
|
||||
} catch (IOException | InterruptedException e) {
|
||||
|
||||
@@ -1,17 +1,20 @@
|
||||
package com.zhidao.support.adas.high.common;
|
||||
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils;
|
||||
import com.zhidao.support.adas.high.R;
|
||||
|
||||
/**
|
||||
* 数据协议解析状态
|
||||
*/
|
||||
public enum ProtocolStatus {
|
||||
|
||||
|
||||
SUCCEED(0x00, "数据解析成功"),
|
||||
MAGIC_CODE_CHECK_FAILED(0x01, "数据头校验失败"),
|
||||
PACKAGE_LENGTH_CHECK_FAILED(0x02, "数据包长度校验失败"),
|
||||
MESSAGE_TYPE_UNKNOWN(0x03, "MessageType未知"),
|
||||
HEADER_DECODE_FAILED(0x04, "Header解析失败"),
|
||||
BUSINESS_DATA_PARSE_FAILED(0x05, "业务数据解析失败");
|
||||
SUCCEED(0x00, StringUtils.getString(R.string.adas_data_parsing_succeeded)),
|
||||
MAGIC_CODE_CHECK_FAILED(0x01, StringUtils.getString(R.string.adas_data_header_verification_failed)),
|
||||
PACKAGE_LENGTH_CHECK_FAILED(0x02, StringUtils.getString(R.string.adas_data_package_length_verification_failed)),
|
||||
MESSAGE_TYPE_UNKNOWN(0x03, StringUtils.getString(R.string.adas_message_type_unknown)),
|
||||
HEADER_DECODE_FAILED(0x04, StringUtils.getString(R.string.adas_header_parsing_failed)),
|
||||
BUSINESS_DATA_PARSE_FAILED(0x05, StringUtils.getString(R.string.adas_business_data_parsing_failed));
|
||||
|
||||
public final int code;
|
||||
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
package com.zhidao.support.adas.high.common;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.SystemClock;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.zhidao.support.adas.high.R;
|
||||
import com.zhjt.mogo.adas.data.AdasConstants;
|
||||
|
||||
import java.util.Locale;
|
||||
@@ -128,7 +131,7 @@ public class ReceiveTimeoutManager {
|
||||
long now = SystemClock.elapsedRealtime();
|
||||
long difference = now - lastRefreshTime;
|
||||
boolean isTimeout = difference >= timeout;
|
||||
CupidLogUtils.e(TAG, buildTimeoutStr(isTimeout, isHaveIpcHeartbeat(), lastDataTimestamp, difference) + " 设备开机到现在的时间:" + now + "ms 最后一条数据刷新时间:" + lastRefreshTime + "ms");
|
||||
CupidLogUtils.e(TAG, buildTimeoutStr(null,isTimeout, isHaveIpcHeartbeat(), lastDataTimestamp, difference) + " 设备开机到现在的时间:" + now + "ms 最后一条数据刷新时间:" + lastRefreshTime + "ms");
|
||||
if (isTimeout) {
|
||||
if (listener != null) {
|
||||
listener.onTimeout(isHaveIpcHeartbeat(), lastDataTimestamp, difference);
|
||||
@@ -147,17 +150,35 @@ public class ReceiveTimeoutManager {
|
||||
}
|
||||
|
||||
public static String buildTimeoutStr(
|
||||
Context context,
|
||||
boolean isTimeout,
|
||||
boolean isHaveIpcHeartbeat,
|
||||
long lastDataTimestamp,
|
||||
long time
|
||||
) {
|
||||
String type = isTimeout
|
||||
? "超时时间:"
|
||||
: "最后刷新时间时间差:";
|
||||
String type1 = isHaveIpcHeartbeat
|
||||
? "最后一条Telematics心跳接收时间"
|
||||
: "最后一条Telematics数据发送时间";
|
||||
String type = null;
|
||||
String type1 = null;
|
||||
if (context != null) {
|
||||
try {
|
||||
type = isTimeout
|
||||
? context.getString(R.string.adas_time_out_period)
|
||||
: context.getString(R.string.adas_last_refresh_time_difference);
|
||||
type1 = isHaveIpcHeartbeat
|
||||
? context.getString(R.string.adas_last_receive_heartbeat_time)
|
||||
: context.getString(R.string.adas_last_receive_data_time);
|
||||
} catch (Exception e) {
|
||||
type = null;
|
||||
type1 = null;
|
||||
}
|
||||
}
|
||||
if (TextUtils.isEmpty(type) || TextUtils.isEmpty(type1)) {
|
||||
type = isTimeout
|
||||
? context.getString(R.string.adas_timeout_duration)
|
||||
: context.getString(R.string.adas_last_refresh_time_interval);
|
||||
type1 = isHaveIpcHeartbeat
|
||||
? context.getString(R.string.adas_last_telematics_heartbeat_receive_time)
|
||||
: context.getString(R.string.adas_last_telematics_data_send_time);
|
||||
}
|
||||
return String.format(Locale.getDefault(),
|
||||
"%s%dms %s:%d",
|
||||
type,
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.zhidao.support.adas.high.common.autopilot.ability;
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.zhidao.support.adas.high.AdasManager;
|
||||
import com.zhidao.support.adas.high.R;
|
||||
import com.zhidao.support.adas.high.common.CupidLogUtils;
|
||||
import com.zhjt.mogo.adas.data.bean.LaunchConditionData;
|
||||
import com.zhjt.mogo.adas.data.bean.UnableLaunchReason;
|
||||
@@ -24,10 +25,13 @@ import system_master.SystemStatusInfo;
|
||||
public class AutopilotAbility250 extends BaseAutopilotAbilityChassis {
|
||||
private volatile Timer timer;
|
||||
private int masterVersion = -1;//Master版本
|
||||
@NonNull
|
||||
private final String[] NODE_INFO_STATE;
|
||||
|
||||
|
||||
public AutopilotAbility250(@NonNull AutopilotAbilityManager manager) {
|
||||
super(manager);
|
||||
NODE_INFO_STATE = manager.getStringArray(R.array.adas_node_info_state);
|
||||
}
|
||||
|
||||
|
||||
@@ -58,14 +62,14 @@ public class AutopilotAbility250 extends BaseAutopilotAbilityChassis {
|
||||
for (SystemStatusInfo.NodeInfo info : list) {
|
||||
String nodeName = info.getNodeName();
|
||||
int state = info.getState();
|
||||
if (state < AutopilotAbilityManager.NODE_INFO_STATE.length) {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, nodeName + AutopilotAbilityManager.NODE_INFO_STATE[state]);
|
||||
if (state < NODE_INFO_STATE.length) {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, nodeName + NODE_INFO_STATE[state]);
|
||||
} else {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, nodeName + "未知异常");
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, nodeName + manager.getString(R.string.adas_unknown_error));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, "未知异常节点");
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, manager.getString(R.string.adas_unknown_error_node));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -75,11 +79,11 @@ public class AutopilotAbility250 extends BaseAutopilotAbilityChassis {
|
||||
boolean isAutopilotAbility = false;
|
||||
String unableAutopilotReason = null;
|
||||
if (systemState == SystemStatusInfo.SystemState.SYS_STARTING) {
|
||||
unableAutopilotReason = "系统正在启动";
|
||||
unableAutopilotReason = manager.getString(R.string.adas_system_starting);
|
||||
} else if (systemState == SystemStatusInfo.SystemState.SYS_EXITING) {
|
||||
unableAutopilotReason = "系统正在关闭";
|
||||
unableAutopilotReason = manager.getString(R.string.adas_system_shutting_down);
|
||||
} else if (systemState == SystemStatusInfo.SystemState.SYS_FAULT) {
|
||||
unableAutopilotReason = "系统异常";
|
||||
unableAutopilotReason = manager.getString(R.string.adas_system_error);
|
||||
} else if (systemState == SystemStatusInfo.SystemState.AUTO_PILOT_STARTING) {
|
||||
//TODO 如果第一次下发了启动自动驾驶,没起来或者存在干预 此时systemState是AUTO_PILOT_STARTING 需要二次下发启动自驾命令 所以需要排除此状态
|
||||
isAutopilotAbility = true;
|
||||
@@ -89,11 +93,11 @@ public class AutopilotAbility250 extends BaseAutopilotAbilityChassis {
|
||||
isAutopilotAbility = true;
|
||||
// unableAutopilotReason = "自动驾驶运行中";
|
||||
} else if (systemState == SystemStatusInfo.SystemState.REMOTE_PILOT_STARTING) {
|
||||
unableAutopilotReason = "平行驾驶启动中";
|
||||
unableAutopilotReason = manager.getString(R.string.adas_parallel_drive_starting);
|
||||
} else if (systemState == SystemStatusInfo.SystemState.REMOTE_PILOT_RUNNING) {
|
||||
unableAutopilotReason = "平行驾驶运行中";
|
||||
unableAutopilotReason = manager.getString(R.string.adas_parallel_drive_running);
|
||||
} else {
|
||||
unableAutopilotReason = "未知系统状态";
|
||||
unableAutopilotReason = manager.getString(R.string.adas_unknown_system_state);
|
||||
}
|
||||
if (!isAutopilotAbility) {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, unableAutopilotReason);
|
||||
@@ -101,7 +105,7 @@ public class AutopilotAbility250 extends BaseAutopilotAbilityChassis {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.SSM_TIMEOUT, "SSM查询超时无响应");
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.SSM_TIMEOUT, manager.getString(R.string.adas_ssm_find_timeout));
|
||||
}
|
||||
//检测底盘相关
|
||||
unableAutopilotReasons = onCallbackChassis(unableAutopilotReasons);
|
||||
|
||||
@@ -5,6 +5,7 @@ import android.text.TextUtils;
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.zhidao.support.adas.high.AdasManager;
|
||||
import com.zhidao.support.adas.high.R;
|
||||
import com.zhidao.support.adas.high.common.CupidLogUtils;
|
||||
import com.zhjt.mogo.adas.data.bean.LaunchConditionData;
|
||||
import com.zhjt.mogo.adas.data.bean.UnableLaunchReason;
|
||||
@@ -35,11 +36,13 @@ public class AutopilotAbility330 {
|
||||
private int mapVersion = -1;//MAP版本
|
||||
private int masterVersion = -1;//Master版本
|
||||
private OnAutopilotAbilityListener listener;
|
||||
private final String[] NODE_INFO_STATE;
|
||||
|
||||
protected AutopilotAbility330(@NonNull AutopilotAbilityManager manager, int mapVersion) {
|
||||
this.manager = manager;
|
||||
this.mapVersion = mapVersion;
|
||||
this.masterVersion = -1;
|
||||
NODE_INFO_STATE = manager.getStringArray(R.array.adas_node_info_state);
|
||||
}
|
||||
|
||||
protected synchronized void setFsmStatusReasonRespond(FSMStatusReasonQueryOuterClass.FSMStatusReasonRespond fsmStatusReasonRespond) {
|
||||
@@ -76,14 +79,14 @@ public class AutopilotAbility330 {
|
||||
for (SystemStatusInfo.NodeInfo info : list) {
|
||||
String nodeName = info.getNodeName();
|
||||
int state = info.getState();
|
||||
if (state < AutopilotAbilityManager.NODE_INFO_STATE.length) {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, nodeName + AutopilotAbilityManager.NODE_INFO_STATE[state]);
|
||||
if (state < NODE_INFO_STATE.length) {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, nodeName + NODE_INFO_STATE[state]);
|
||||
} else {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, nodeName + "未知异常");
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, nodeName + manager.getString(R.string.adas_unknown_error));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, "未知异常节点");
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, manager.getString(R.string.adas_unknown_error_node));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -93,11 +96,11 @@ public class AutopilotAbility330 {
|
||||
isAutopilotAbility = false;
|
||||
String unableAutopilotReason = null;
|
||||
if (systemState == SystemStatusInfo.SystemState.SYS_STARTING) {
|
||||
unableAutopilotReason = "系统正在启动";
|
||||
unableAutopilotReason = manager.getString(R.string.adas_system_starting);
|
||||
} else if (systemState == SystemStatusInfo.SystemState.SYS_EXITING) {
|
||||
unableAutopilotReason = "系统正在关闭";
|
||||
unableAutopilotReason = manager.getString(R.string.adas_system_shutting_down);
|
||||
} else if (systemState == SystemStatusInfo.SystemState.SYS_FAULT) {
|
||||
unableAutopilotReason = "系统异常";
|
||||
unableAutopilotReason = manager.getString(R.string.adas_system_error);
|
||||
} else if (systemState == SystemStatusInfo.SystemState.AUTO_PILOT_STARTING) {
|
||||
//TODO 如果第一次下发了启动自动驾驶,没起来或者存在干预 此时systemState是AUTO_PILOT_STARTING 需要二次下发启动自驾命令 所以需要排除此状态
|
||||
isAutopilotAbility = true;
|
||||
@@ -107,11 +110,11 @@ public class AutopilotAbility330 {
|
||||
isAutopilotAbility = true;
|
||||
// unableAutopilotReason = "自动驾驶运行中";
|
||||
} else if (systemState == SystemStatusInfo.SystemState.REMOTE_PILOT_STARTING) {
|
||||
unableAutopilotReason = "平行驾驶启动中";
|
||||
unableAutopilotReason = manager.getString(R.string.adas_parallel_drive_starting);
|
||||
} else if (systemState == SystemStatusInfo.SystemState.REMOTE_PILOT_RUNNING) {
|
||||
unableAutopilotReason = "平行驾驶运行中";
|
||||
unableAutopilotReason = manager.getString(R.string.adas_parallel_drive_running);
|
||||
} else {
|
||||
unableAutopilotReason = "未知系统状态";
|
||||
unableAutopilotReason = manager.getString(R.string.adas_unknown_system_state);
|
||||
}
|
||||
if (!isAutopilotAbility) {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, unableAutopilotReason);
|
||||
@@ -120,7 +123,7 @@ public class AutopilotAbility330 {
|
||||
}
|
||||
} else {
|
||||
isAutopilotAbility = false;//是否能启动自动驾驶
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.SSM_TIMEOUT, "SSM查询超时无响应");
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.SSM_TIMEOUT, manager.getString(R.string.adas_ssm_find_timeout));
|
||||
}
|
||||
if (fsmStatusReasonRespond != null) {
|
||||
int count = fsmStatusReasonRespond.getFsmStatusReasonRespondCount();
|
||||
@@ -133,7 +136,7 @@ public class AutopilotAbility330 {
|
||||
}
|
||||
}
|
||||
if (unableAutopilotReasons == null || unableAutopilotReasons.isEmpty()) {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.FSM_ERROR, "FSM数据异常");
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.FSM_ERROR, manager.getString(R.string.adas_fsm_data_error));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.zhidao.support.adas.high.common.autopilot.ability;
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.zhidao.support.adas.high.AdasManager;
|
||||
import com.zhidao.support.adas.high.R;
|
||||
import com.zhidao.support.adas.high.common.CupidLogUtils;
|
||||
import com.zhjt.mogo.adas.data.bean.LaunchConditionData;
|
||||
import com.zhjt.mogo.adas.data.bean.UnableLaunchReason;
|
||||
@@ -26,11 +27,6 @@ import system_master.SsmInfo;
|
||||
*/
|
||||
public class AutopilotAbility350And360 {
|
||||
private final String TAG = this.getClass().getSimpleName();
|
||||
private static final String REASON_CHASSIS_BRAKE = "刹车踏板";
|
||||
private static final String REASON_CHASSIS_THROTTLE = "油门踏板";
|
||||
private static final String REASON_CHASSIS_GEAR = "档位";
|
||||
private static final String REASON_CHASSIS_HAZARD_LIGHTS = "危险报警灯";
|
||||
private static final String REASON_CHASSIS_STEERING = "方向盘";
|
||||
@NonNull
|
||||
private final AutopilotAbilityManager manager;
|
||||
private volatile SsmInfo.SsmStatusInf statusInfo;
|
||||
@@ -54,9 +50,11 @@ public class AutopilotAbility350And360 {
|
||||
private int masterVersion = -1;//Master版本
|
||||
|
||||
private long seqNum = -1;//消息条数
|
||||
private final String[] NODE_INFO_STATE_FIXED_FREQUENCY;
|
||||
|
||||
public AutopilotAbility350And360(@NonNull AutopilotAbilityManager manager) {
|
||||
this.manager = manager;
|
||||
NODE_INFO_STATE_FIXED_FREQUENCY = manager.getStringArray(R.array.adas_node_info_state_fixed_frequency);
|
||||
}
|
||||
|
||||
public void setCarConfig(@NonNull MessagePad.CarConfigResp carConfig) {
|
||||
@@ -151,14 +149,14 @@ public class AutopilotAbility350And360 {
|
||||
SsmInfo.NodeInf info = statusInfo.getAutoPilotUnreadyList(i);
|
||||
String nodeName = info.getNodeName();
|
||||
int state = info.getState().getNumber();
|
||||
if (state < AutopilotAbilityManager.NODE_INFO_STATE_FIXED_FREQUENCY.length) {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, nodeName + AutopilotAbilityManager.NODE_INFO_STATE_FIXED_FREQUENCY[state]);
|
||||
if (state < NODE_INFO_STATE_FIXED_FREQUENCY.length) {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, nodeName + NODE_INFO_STATE_FIXED_FREQUENCY[state]);
|
||||
} else {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, nodeName + "未知异常");
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, nodeName + manager.getString(R.string.adas_unknown_error));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, "未知异常节点");
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, manager.getString(R.string.adas_unknown_error_node));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -166,21 +164,21 @@ public class AutopilotAbility350And360 {
|
||||
if (modeState != SsmInfo.ModeState.MODE_RUN_UNREADY && modeState != SsmInfo.ModeState.MODE_RUN_READY) {
|
||||
String unableAutopilotReason = null;
|
||||
if (modeState == SsmInfo.ModeState.MODE_STOP_UNREADY) {
|
||||
unableAutopilotReason = "系统处于停止模式(未就绪)";
|
||||
unableAutopilotReason = manager.getString(R.string.adas_mode_stop_unready);
|
||||
} else if (modeState == SsmInfo.ModeState.MODE_STOP_READY) {
|
||||
unableAutopilotReason = "系统处于停止模式";
|
||||
unableAutopilotReason = manager.getString(R.string.adas_mode_stop_ready);
|
||||
} else if (modeState == SsmInfo.ModeState.MODE_IDLE_UNREADY) {
|
||||
unableAutopilotReason = "系统处于空闲模式(未就绪)";
|
||||
unableAutopilotReason = manager.getString(R.string.adas_mode_idle_unready);
|
||||
} else if (modeState == SsmInfo.ModeState.MODE_IDLE_READY) {
|
||||
unableAutopilotReason = "系统处于空闲模式";
|
||||
unableAutopilotReason = manager.getString(R.string.adas_mode_idle_ready);
|
||||
} else {
|
||||
unableAutopilotReason = "未知系统模式";
|
||||
unableAutopilotReason = manager.getString(R.string.adas_unknown_system_mode);
|
||||
}
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, unableAutopilotReason);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.SSM_TIMEOUT, "SSM超时无响应");
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.SSM_TIMEOUT, manager.getString(R.string.adas_ssm_timeout));
|
||||
}
|
||||
return unableAutopilotReasons;
|
||||
}
|
||||
@@ -240,26 +238,26 @@ public class AutopilotAbility350And360 {
|
||||
if (chassisStates.hasBrakeSystemStates()) {
|
||||
float brake = chassisStates.getBrakeSystemStates().getBrakePedalResponsePosition();
|
||||
if (brake > 0) {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_BRAKE, REASON_CHASSIS_BRAKE);
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_BRAKE, manager.getString(R.string.adas_reason_chassis_brake));
|
||||
}
|
||||
}
|
||||
//油门踏板
|
||||
if (chassisStates.hasDrivingSystemStates()) {
|
||||
float throttle = chassisStates.getDrivingSystemStates().getThrottleResponsePosition();
|
||||
if (throttle > 0) {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_THROTTLE, REASON_CHASSIS_THROTTLE);
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_THROTTLE, manager.getString(R.string.adas_reason_chassis_throttle));
|
||||
}
|
||||
}
|
||||
//档位
|
||||
if (chassisStates.hasGearSystemStates()) {
|
||||
Chassis.GearPosition gear = chassisStates.getGearSystemStates().getGearPosition();
|
||||
if (!isLaunchAutopilotGear(gear)) {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_GEAR, REASON_CHASSIS_GEAR);
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_GEAR, manager.getString(R.string.adas_reason_chassis_gear));
|
||||
}
|
||||
}
|
||||
//危险报警灯
|
||||
if (!isLaunchAutopilotLight(currentLight)) {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_HAZARD_LIGHTS, REASON_CHASSIS_HAZARD_LIGHTS);
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_HAZARD_LIGHTS, manager.getString(R.string.adas_reason_chassis_hazard_lights));
|
||||
}
|
||||
//延迟太高改用timer
|
||||
// //方向盘
|
||||
@@ -288,7 +286,7 @@ public class AutopilotAbility350And360 {
|
||||
// }
|
||||
// Log.i(TAG, "方向盘是否在转动=" + isTurning.get());
|
||||
if (isTurning.get()) {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_STEERING, REASON_CHASSIS_STEERING);
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_STEERING, manager.getString(R.string.adas_reason_chassis_steering));
|
||||
}
|
||||
}
|
||||
if (listener != null) {
|
||||
|
||||
@@ -5,6 +5,7 @@ import android.text.TextUtils;
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.zhidao.support.adas.high.AdasManager;
|
||||
import com.zhidao.support.adas.high.R;
|
||||
import com.zhidao.support.adas.high.common.CupidLogUtils;
|
||||
import com.zhjt.mogo.adas.data.bean.LaunchConditionData;
|
||||
import com.zhjt.mogo.adas.data.bean.UnableLaunchReason;
|
||||
@@ -28,10 +29,12 @@ public class AutopilotAbility360 {
|
||||
private volatile FSMStatusReasonQueryOuterClass.FSMStatusReasonRespond fsmStatusReasonRespond;//自动驾驶状态为OFF的原因
|
||||
private int masterVersion = -1;//Master版本
|
||||
private OnAutopilotAbilityListener listener;
|
||||
private final String[] NODE_INFO_STATE_FIXED_FREQUENCY;
|
||||
|
||||
protected AutopilotAbility360(@NonNull AutopilotAbilityManager manager) {
|
||||
this.manager = manager;
|
||||
this.masterVersion = -1;
|
||||
NODE_INFO_STATE_FIXED_FREQUENCY = manager.getStringArray(R.array.adas_node_info_state_fixed_frequency);
|
||||
}
|
||||
|
||||
protected synchronized void setFsmStatusReasonRespond(FSMStatusReasonQueryOuterClass.FSMStatusReasonRespond fsmStatusReasonRespond) {
|
||||
@@ -68,14 +71,14 @@ public class AutopilotAbility360 {
|
||||
SsmInfo.NodeInf info = statusInfo.getAutoPilotUnreadyList(i);
|
||||
String nodeName = info.getNodeName();
|
||||
int state = info.getState().getNumber();
|
||||
if (state < AutopilotAbilityManager.NODE_INFO_STATE_FIXED_FREQUENCY.length) {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, nodeName + AutopilotAbilityManager.NODE_INFO_STATE_FIXED_FREQUENCY[state]);
|
||||
if (state < NODE_INFO_STATE_FIXED_FREQUENCY.length) {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, nodeName + NODE_INFO_STATE_FIXED_FREQUENCY[state]);
|
||||
} else {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, nodeName + "未知异常");
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, nodeName + manager.getString(R.string.adas_unknown_error));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, "未知异常节点");
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_ERROR, manager.getString(R.string.adas_unknown_error_node));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -84,22 +87,22 @@ public class AutopilotAbility360 {
|
||||
isAutopilotAbility = false;
|
||||
String unableAutopilotReason = null;
|
||||
if (modeState == SsmInfo.ModeState.MODE_STOP_UNREADY) {
|
||||
unableAutopilotReason = "系统处于停止模式(未就绪)";
|
||||
unableAutopilotReason = manager.getString(R.string.adas_mode_stop_unready);
|
||||
} else if (modeState == SsmInfo.ModeState.MODE_STOP_READY) {
|
||||
unableAutopilotReason = "系统处于停止模式";
|
||||
unableAutopilotReason = manager.getString(R.string.adas_mode_stop_ready);
|
||||
} else if (modeState == SsmInfo.ModeState.MODE_IDLE_UNREADY) {
|
||||
unableAutopilotReason = "系统处于空闲模式(未就绪)";
|
||||
unableAutopilotReason = manager.getString(R.string.adas_mode_idle_unready);
|
||||
} else if (modeState == SsmInfo.ModeState.MODE_IDLE_READY) {
|
||||
unableAutopilotReason = "系统处于空闲模式";
|
||||
unableAutopilotReason = manager.getString(R.string.adas_mode_idle_ready);
|
||||
} else {
|
||||
unableAutopilotReason = "未知系统模式";
|
||||
unableAutopilotReason = manager.getString(R.string.adas_unknown_system_mode);
|
||||
}
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.SSM, UnableLaunchReason.UnableType.SSM_OFFER, unableAutopilotReason);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
isAutopilotAbility = false;//是否能启动自动驾驶
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.SSM_TIMEOUT, "SSM超时无响应");
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.SSM_TIMEOUT, manager.getString(R.string.adas_ssm_timeout));
|
||||
}
|
||||
if (fsmStatusReasonRespond != null) {
|
||||
int count = fsmStatusReasonRespond.getFsmStatusReasonRespondCount();
|
||||
@@ -112,7 +115,7 @@ public class AutopilotAbility360 {
|
||||
}
|
||||
}
|
||||
if (unableAutopilotReasons == null || unableAutopilotReasons.isEmpty()) {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.FSM_ERROR, "FSM数据异常");
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.FSM_ERROR, manager.getString(R.string.adas_fsm_data_error));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.zhidao.support.adas.high.common.autopilot.ability;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.zhidao.support.adas.high.R;
|
||||
import com.zhjt.mogo.adas.data.bean.LaunchConditionData;
|
||||
import com.zhjt.mogo.adas.data.bean.UnableLaunchReason;
|
||||
|
||||
@@ -38,7 +39,7 @@ public class AutopilotAbilityFSM {
|
||||
protected void onCallbackFsm(Fsm2024.FSMStateMsg fsmState) {
|
||||
ArrayList<UnableLaunchReason> unableAutopilotReasons = null;//不能启动自动驾驶原因
|
||||
if (fsmState == null) {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.FSM2024_TIMEOUT, "FSM超时无响应");
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.LIB, UnableLaunchReason.UnableType.FSM2024_TIMEOUT, manager.getString(R.string.adas_fsm_timeout));
|
||||
} else {
|
||||
if (!fsmState.getPilotStandbyFlag()) {
|
||||
List<String> list = null;
|
||||
|
||||
@@ -1,15 +1,19 @@
|
||||
package com.zhidao.support.adas.high.common.autopilot.ability;
|
||||
|
||||
|
||||
import android.app.Application;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import androidx.annotation.ArrayRes;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.StringRes;
|
||||
|
||||
import com.zhidao.support.adas.high.AdasManager;
|
||||
import com.zhidao.support.adas.high.AdasOptions;
|
||||
import com.zhidao.support.adas.high.BuildConfig;
|
||||
import com.zhidao.support.adas.high.OnAdasListener;
|
||||
import com.zhidao.support.adas.high.R;
|
||||
import com.zhidao.support.adas.high.common.CupidLogUtils;
|
||||
import com.zhjt.mogo.adas.data.AdasConstants;
|
||||
import com.zhjt.mogo.adas.data.bean.LaunchConditionData;
|
||||
@@ -45,8 +49,6 @@ public class AutopilotAbilityManager implements OnAutopilotAbilityListener {
|
||||
private static final String TAG = AutopilotAbilityManager.class.getSimpleName();
|
||||
protected static final long DEFAULT_TIMEOUT = 5000L;//SSM和FSM超时时间
|
||||
protected static final long DEFAULT_DETECTION_TIME = 3 * 1000L;//默认检测周期
|
||||
protected static final String[] NODE_INFO_STATE = {"未知状态", "依赖未就绪", "启动中", "运行", "停止", "无法启动状态", "人为启动状态", "人为关闭状态"};
|
||||
protected static final String[] NODE_INFO_STATE_FIXED_FREQUENCY = {"未知状态", "依赖未就绪", "启动中", "运行", "停止", "无法启动状态", "非自动启动状态", "非自动关闭状态"};
|
||||
|
||||
private static volatile AutopilotAbilityManager INSTANCE;
|
||||
private OnAdasListener listener;
|
||||
@@ -75,6 +77,7 @@ public class AutopilotAbilityManager implements OnAutopilotAbilityListener {
|
||||
private final AtomicInteger isSupportFSM2024 = new AtomicInteger(-1);//-1:未初始化 0:不支持 1:通过SSM V2判断支持 2:通过FSM数据源判断支持
|
||||
private final Map<AdasConstants.NodeName, NodeStateInfo> nodeStateInfos = new ConcurrentHashMap<>();
|
||||
private int fsm2024Version = -1;//FSM2024版本 -1:未初始化 0:SSM判断存在FSM2024但是并不知道具体版本或根据FMS中Version解析失败 其他数值:根据FSM数据中的version 判断得出
|
||||
private Application context;
|
||||
|
||||
private AutopilotAbilityManager() {
|
||||
}
|
||||
@@ -90,6 +93,10 @@ public class AutopilotAbilityManager implements OnAutopilotAbilityListener {
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
public void init(@NonNull Application context) {
|
||||
this.context = context;
|
||||
}
|
||||
|
||||
private void initStartData() {
|
||||
nodeStateInfos.clear();
|
||||
NodeStateInfo ssmInfo = new NodeStateInfo(AdasConstants.NodeName.SSM, AdasConstants.NodeState.NODE_EXIST);
|
||||
@@ -129,7 +136,7 @@ public class AutopilotAbilityManager implements OnAutopilotAbilityListener {
|
||||
*/
|
||||
protected ArrayList<UnableLaunchReason> addUnableAutopilotReason(ArrayList<UnableLaunchReason> unableAutopilotReasons, UnableLaunchReason.SourceType source, UnableLaunchReason.UnableType unableType, String unableAutopilotReason) {
|
||||
if (TextUtils.isEmpty(unableAutopilotReason)) {
|
||||
unableAutopilotReason = "未知";
|
||||
unableAutopilotReason = getString(R.string.adas_unknown);
|
||||
}
|
||||
List<String> list = new ArrayList<>();
|
||||
list.add(unableAutopilotReason);
|
||||
@@ -587,4 +594,22 @@ public class AutopilotAbilityManager implements OnAutopilotAbilityListener {
|
||||
isJLB2 = false;
|
||||
}
|
||||
|
||||
|
||||
public String getString(@StringRes int resId) {
|
||||
if (context == null) return "";
|
||||
try {
|
||||
return context.getString(resId);
|
||||
} catch (Exception e) {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
public String[] getStringArray(@ArrayRes int resId) {
|
||||
if (context == null) return new String[0];
|
||||
try {
|
||||
return context.getResources().getStringArray(resId);
|
||||
} catch (Exception e) {
|
||||
return new String[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.zhidao.support.adas.high.common.autopilot.ability;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.zhidao.support.adas.high.R;
|
||||
import com.zhjt.mogo.adas.data.bean.UnableLaunchReason;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -17,11 +18,6 @@ import mogo.telematics.pad.MessagePad;
|
||||
*/
|
||||
public abstract class BaseAutopilotAbilityChassis {
|
||||
protected final String TAG = this.getClass().getSimpleName();
|
||||
private static final String REASON_CHASSIS_BRAKE = "刹车踏板";
|
||||
private static final String REASON_CHASSIS_THROTTLE = "油门踏板";
|
||||
private static final String REASON_CHASSIS_GEAR = "档位";
|
||||
private static final String REASON_CHASSIS_HAZARD_LIGHTS = "危险报警灯";
|
||||
private static final String REASON_CHASSIS_STEERING = "方向盘";
|
||||
@NonNull
|
||||
protected final AutopilotAbilityManager manager;
|
||||
protected ChassisStatesOuterClass.ChassisStates chassisStates;
|
||||
@@ -116,26 +112,26 @@ public abstract class BaseAutopilotAbilityChassis {
|
||||
if (chassisStates.hasBrakeSystemStates()) {
|
||||
float brake = chassisStates.getBrakeSystemStates().getBrakePedalResponsePosition();
|
||||
if (brake > 0) {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_BRAKE, REASON_CHASSIS_BRAKE);
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_BRAKE, manager.getString(R.string.adas_reason_chassis_brake));
|
||||
}
|
||||
}
|
||||
//油门踏板
|
||||
if (chassisStates.hasDrivingSystemStates()) {
|
||||
float throttle = chassisStates.getDrivingSystemStates().getThrottleResponsePosition();
|
||||
if (throttle > 0) {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_THROTTLE, REASON_CHASSIS_THROTTLE);
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_THROTTLE, manager.getString(R.string.adas_reason_chassis_throttle));
|
||||
}
|
||||
}
|
||||
//档位
|
||||
if (chassisStates.hasGearSystemStates()) {
|
||||
Chassis.GearPosition gear = chassisStates.getGearSystemStates().getGearPosition();
|
||||
if (!isLaunchAutopilotGear(gear)) {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_GEAR, REASON_CHASSIS_GEAR);
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_GEAR, manager.getString(R.string.adas_reason_chassis_gear));
|
||||
}
|
||||
}
|
||||
//危险报警灯
|
||||
if (!isLaunchAutopilotLight()) {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_HAZARD_LIGHTS, REASON_CHASSIS_HAZARD_LIGHTS);
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_HAZARD_LIGHTS, manager.getString(R.string.adas_reason_chassis_hazard_lights));
|
||||
}
|
||||
//方向盘
|
||||
if (chassisStates.hasSteerSystemStates()) {
|
||||
@@ -150,7 +146,7 @@ public abstract class BaseAutopilotAbilityChassis {
|
||||
oldSteering = steering;
|
||||
// CupidLogUtils.log(TAG, "方向盘是否转动=" + isTurning);
|
||||
if (isTurning) {
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_STEERING, REASON_CHASSIS_STEERING);
|
||||
unableAutopilotReasons = manager.addUnableAutopilotReason(unableAutopilotReasons, UnableLaunchReason.SourceType.CHASSIS, UnableLaunchReason.UnableType.CHASSIS_STEERING, manager.getString(R.string.adas_reason_chassis_steering));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1515,14 +1515,14 @@ public class CloudControlMessage extends MyAbstractMessageHandler {
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Packet{" +
|
||||
"原始数据=" + ByteUtil.byteArrToHex(original) +
|
||||
", 标识位=0x" + Integer.toHexString(marker & 0xFF) +
|
||||
", 负载数据长度=" + payloadLength +
|
||||
", 数据类型=" + cloudDataType +
|
||||
", 版本=" + (version & 0xFF) +
|
||||
", 时间戳=" + timestamp +
|
||||
", 控制=" + (control & 0xFF) +
|
||||
", 负载数据=" + (payload == null ? null : ByteUtil.byteArrToHex(payload.toByteArray())) +
|
||||
"raw_data=" + ByteUtil.byteArrToHex(original) +
|
||||
", marker=0x" + Integer.toHexString(marker & 0xFF) +
|
||||
", payloadLength=" + payloadLength +
|
||||
", cloudDataType=" + cloudDataType +
|
||||
", version=" + (version & 0xFF) +
|
||||
", timestamp=" + timestamp +
|
||||
", control=" + (control & 0xFF) +
|
||||
", payload=" + (payload == null ? null : ByteUtil.byteArrToHex(payload.toByteArray())) +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ public class V2nNioCrossoverEventAndOtherRetrogradeEventMessage extends MyAbstra
|
||||
|
||||
public V2nNioCrossoverEventAndOtherRetrogradeEventMessage(MessagePad.MessageType messageType) {
|
||||
this.messageType = messageType;
|
||||
TAG = messageType == MessageType.TYPE_RECEIVE_V2N_NIO_CROSSOVER_EVENT.typeCode ? "V2N NIO行人横穿(路侧)" : "V2N NIO他车逆行(路侧)";
|
||||
TAG = messageType == MessageType.TYPE_RECEIVE_V2N_NIO_CROSSOVER_EVENT.typeCode ? "V2N NIO roadside_pedestrian_crossing" : "V2N NIO roadside_other_vehicle_retrograde";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -14,7 +14,9 @@ import android.util.Log;
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.google.protobuf.InvalidProtocolBufferException;
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils;
|
||||
import com.zhidao.support.adas.high.AdasChannel;
|
||||
import com.zhidao.support.adas.high.R;
|
||||
import com.zhidao.support.adas.high.common.CupidLogUtils;
|
||||
import com.zhidao.support.adas.high.common.ReceiveTimeoutManager;
|
||||
import com.zhidao.support.adas.high.common.ReconnectManager;
|
||||
@@ -373,13 +375,13 @@ public class FpgaSocket implements IWebSocket {
|
||||
String closeReason = null;
|
||||
AdasConstants.IpcConnectionStatus s = status.get();
|
||||
if (s == AdasConstants.IpcConnectionStatus.DISCONNECTED) {
|
||||
closeReason = "用户主动关闭";
|
||||
closeReason = StringUtils.getString(R.string.adas_user_active_close);
|
||||
} else if (s == AdasConstants.IpcConnectionStatus.CERTIFICATION_FAILED) {
|
||||
closeReason = "认证失败";
|
||||
closeReason = StringUtils.getString(R.string.adas_authentication_failed);
|
||||
} else if (s == AdasConstants.IpcConnectionStatus.HEARTBEAT_TIMEOUT) {
|
||||
closeReason = "心跳超时";
|
||||
closeReason = StringUtils.getString(R.string.adas_heartbeat_timeout);
|
||||
} else if (s == AdasConstants.IpcConnectionStatus.PROTOCOL_MISMATCH) {
|
||||
closeReason = "協議不匹配";
|
||||
closeReason = StringUtils.getString(R.string.adas_protocol_mismatch);
|
||||
}
|
||||
boolean isClose = mWebSocket.close(code, closeReason);
|
||||
CupidLogUtils.log(TAG, "WebSocket code=" + code + " isCancel=" + isCancel + " 断开连接是否成功= " + isClose);
|
||||
|
||||
74
libraries/mogo-adas/src/main/res/values-en/strings.xml
Normal file
74
libraries/mogo-adas/src/main/res/values-en/strings.xml
Normal file
@@ -0,0 +1,74 @@
|
||||
<resources>
|
||||
|
||||
<string name="adas_time_out_period">Timeout period:</string>
|
||||
<string name="adas_last_refresh_time_difference">Time difference since last refresh:</string>
|
||||
<string name="adas_last_receive_heartbeat_time">Last Telematics heartbeat received time</string>
|
||||
<string name="adas_last_receive_data_time">Last Telematics data sent time</string>
|
||||
<string name="adas_timeout_duration">Timeout period:</string>
|
||||
<string name="adas_last_refresh_time_interval">Time difference since last refresh:</string>
|
||||
<string name="adas_last_telematics_heartbeat_receive_time">Last Telematics heartbeat received time</string>
|
||||
<string name="adas_last_telematics_data_send_time">Last Telematics data sent time</string>
|
||||
|
||||
|
||||
<string-array name="adas_node_info_state">
|
||||
<item>Unknown state</item>
|
||||
<item>Dependency not ready</item>
|
||||
<item>Starting</item>
|
||||
<item>Running</item>
|
||||
<item>Stopped</item>
|
||||
<item>Cannot start</item>
|
||||
<item>Manual start</item>
|
||||
<item>Manual stop</item>
|
||||
</string-array>
|
||||
|
||||
|
||||
<string-array name="adas_node_info_state_fixed_frequency">
|
||||
<item>Unknown state</item>
|
||||
<item>Dependency not ready</item>
|
||||
<item>Starting</item>
|
||||
<item>Running</item>
|
||||
<item>Stopped</item>
|
||||
<item>Cannot start</item>
|
||||
<item>Non-auto start</item>
|
||||
<item>Non-auto stop</item>
|
||||
</string-array>
|
||||
|
||||
<string name="adas_unknown">Unknown</string>
|
||||
<string name="adas_unknown_error">Unknown exception</string>
|
||||
<string name="adas_unknown_error_node">Unknown exception node</string>
|
||||
<string name="adas_system_starting">System starting</string>
|
||||
<string name="adas_system_shutting_down">System shutting down</string>
|
||||
<string name="adas_system_error">System error</string>
|
||||
<string name="adas_parallel_drive_starting">Parallel driving starting</string>
|
||||
<string name="adas_parallel_drive_running">Parallel driving running</string>
|
||||
<string name="adas_unknown_system_state">Unknown system state</string>
|
||||
<string name="adas_ssm_find_timeout">SSM query timeout, no response</string>
|
||||
<string name="adas_fsm_data_error">FSM data error</string>
|
||||
<string name="adas_reason_chassis_brake">Brake pedal</string>
|
||||
<string name="adas_reason_chassis_throttle">Throttle pedal</string>
|
||||
<string name="adas_reason_chassis_gear">Gear</string>
|
||||
<string name="adas_reason_chassis_hazard_lights">Hazard lights</string>
|
||||
<string name="adas_reason_chassis_steering">Steering wheel</string>
|
||||
<string name="adas_mode_stop_unready">System in stop mode (not ready)</string>
|
||||
<string name="adas_mode_stop_ready">System in stop mode</string>
|
||||
<string name="adas_mode_idle_unready">System in idle mode (not ready)</string>
|
||||
<string name="adas_mode_idle_ready">System in idle mode</string>
|
||||
<string name="adas_unknown_system_mode">Unknown system mode</string>
|
||||
<string name="adas_ssm_timeout">SSM timeout, no response</string>
|
||||
<string name="adas_fsm_timeout">FSM timeout, no response</string>
|
||||
<string name="adas_ipc_ip">IPC IP:</string>
|
||||
<string name="adas_whether_connectable"> Connectable:</string>
|
||||
<string name="adas_connect_yes">Yes</string>
|
||||
<string name="adas_connect_no">No</string>
|
||||
<string name="adas_data_parsing_succeeded">Data parsing succeeded</string>
|
||||
<string name="adas_data_header_verification_failed">Data header verification failed</string>
|
||||
<string name="adas_data_package_length_verification_failed">Data package length verification failed</string>
|
||||
<string name="adas_message_type_unknown">Unknown MessageType</string>
|
||||
<string name="adas_header_parsing_failed">Header parsing failed</string>
|
||||
<string name="adas_business_data_parsing_failed">Business data parsing failed</string>
|
||||
<string name="adas_user_active_close">User closed manually</string>
|
||||
<string name="adas_authentication_failed">Authentication failed</string>
|
||||
<string name="adas_heartbeat_timeout">Heartbeat timeout</string>
|
||||
<string name="adas_protocol_mismatch">Protocol mismatch</string>
|
||||
|
||||
</resources>
|
||||
@@ -1,3 +1,74 @@
|
||||
<resources>
|
||||
<string name="app_name">adas-high</string>
|
||||
|
||||
<string name="adas_time_out_period">超时时间:</string>
|
||||
<string name="adas_last_refresh_time_difference">最后刷新时间时间差:</string>
|
||||
<string name="adas_last_receive_heartbeat_time">最后一条Telematics心跳接收时间</string>
|
||||
<string name="adas_last_receive_data_time">最后一条Telematics数据发送时间</string>
|
||||
<string name="adas_timeout_duration">超时时间:</string>
|
||||
<string name="adas_last_refresh_time_interval">最后刷新时间时间差:</string>
|
||||
<string name="adas_last_telematics_heartbeat_receive_time">最后一条Telematics心跳接收时间</string>
|
||||
<string name="adas_last_telematics_data_send_time">最后一条Telematics数据发送时间</string>
|
||||
|
||||
|
||||
<string-array name="adas_node_info_state">
|
||||
<item>未知状态</item>
|
||||
<item>依赖未就绪</item>
|
||||
<item>启动中</item>
|
||||
<item>运行</item>
|
||||
<item>停止</item>
|
||||
<item>无法启动状态</item>
|
||||
<item>人为启动状态</item>
|
||||
<item>人为关闭状态</item>
|
||||
</string-array>
|
||||
|
||||
|
||||
<string-array name="adas_node_info_state_fixed_frequency">
|
||||
<item>未知状态</item>
|
||||
<item>依赖未就绪</item>
|
||||
<item>启动中</item>
|
||||
<item>运行</item>
|
||||
<item>停止</item>
|
||||
<item>无法启动状态</item>
|
||||
<item>非自动启动状态</item>
|
||||
<item>非自动关闭状态</item>
|
||||
</string-array>
|
||||
|
||||
<string name="adas_unknown">未知</string>
|
||||
<string name="adas_unknown_error">未知异常</string>
|
||||
<string name="adas_unknown_error_node">未知异常节点</string>
|
||||
<string name="adas_system_starting">系统正在启动</string>
|
||||
<string name="adas_system_shutting_down">系统正在关闭</string>
|
||||
<string name="adas_system_error">系统异常</string>
|
||||
<string name="adas_parallel_drive_starting">平行驾驶启动中</string>
|
||||
<string name="adas_parallel_drive_running">平行驾驶运行中</string>
|
||||
<string name="adas_unknown_system_state">未知系统状态</string>
|
||||
<string name="adas_ssm_find_timeout">SSM查询超时无响应</string>
|
||||
<string name="adas_fsm_data_error">FSM数据异常</string>
|
||||
<string name="adas_reason_chassis_brake">刹车踏板</string>
|
||||
<string name="adas_reason_chassis_throttle">油门踏板</string>
|
||||
<string name="adas_reason_chassis_gear">档位</string>
|
||||
<string name="adas_reason_chassis_hazard_lights">危险报警灯</string>
|
||||
<string name="adas_reason_chassis_steering">方向盘</string>
|
||||
<string name="adas_mode_stop_unready">系统处于停止模式(未就绪)</string>
|
||||
<string name="adas_mode_stop_ready">系统处于停止模式</string>
|
||||
<string name="adas_mode_idle_unready">系统处于空闲模式(未就绪)</string>
|
||||
<string name="adas_mode_idle_ready">系统处于空闲模式</string>
|
||||
<string name="adas_unknown_system_mode">未知系统模式</string>
|
||||
<string name="adas_ssm_timeout">SSM超时无响应</string>
|
||||
<string name="adas_fsm_timeout">FSM超时无响应</string>
|
||||
<string name="adas_ipc_ip">工控机IP:</string>
|
||||
<string name="adas_whether_connectable"> 是否可以连通:</string>
|
||||
<string name="adas_connect_yes">是</string>
|
||||
<string name="adas_connect_no">否</string>
|
||||
<string name="adas_data_parsing_succeeded">数据解析成功</string>
|
||||
<string name="adas_data_header_verification_failed">数据头校验失败</string>
|
||||
<string name="adas_data_package_length_verification_failed">数据包长度校验失败</string>
|
||||
<string name="adas_message_type_unknown">MessageType未知</string>
|
||||
<string name="adas_header_parsing_failed">Header解析失败</string>
|
||||
<string name="adas_business_data_parsing_failed">业务数据解析失败</string>
|
||||
<string name="adas_user_active_close">用户主动关闭</string>
|
||||
<string name="adas_authentication_failed">认证失败</string>
|
||||
<string name="adas_heartbeat_timeout">心跳超时</string>
|
||||
<string name="adas_protocol_mismatch">协议不匹配</string>
|
||||
|
||||
</resources>
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
package com.mogo.support.device
|
||||
|
||||
import androidx.annotation.StringRes
|
||||
|
||||
/**
|
||||
* 日志
|
||||
*/
|
||||
interface IWriteChainLogListener {
|
||||
|
||||
fun onWriteChainLog(tag: String, title: String, info: String)
|
||||
|
||||
fun onGetString(@StringRes id: Int): String
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package com.mogo.support.device.led
|
||||
|
||||
import android.util.Log
|
||||
import com.mogo.support.device.IWriteChainLogListener
|
||||
import com.mogo.support.device.R
|
||||
import com.mogo.support.device.manager.cpower5a.LedScreenCpower5aManager
|
||||
import com.mogo.support.device.manager.cpower5a.common.LedScreen
|
||||
import com.mogo.support.device.manager.cpower5a.common.Program
|
||||
@@ -101,7 +102,8 @@ open class BackLedUIViewModel(writeChainLogListener: IWriteChainLogListener) : B
|
||||
LedScreenCpower5aManager.getInstance()
|
||||
.playProgramLineStationReportHint(
|
||||
LedScreen.OUTWARD_BACK,
|
||||
"车辆进站"
|
||||
// "车辆进站"
|
||||
writeChainLogListener.onGetString(R.string.module_device_vehicle_arrive_station)
|
||||
)
|
||||
writeChainLogListener.onWriteChainLog(
|
||||
TAG,
|
||||
@@ -114,7 +116,8 @@ open class BackLedUIViewModel(writeChainLogListener: IWriteChainLogListener) : B
|
||||
LedScreenCpower5aManager.getInstance()
|
||||
.playProgramLineStationReportHint(
|
||||
LedScreen.OUTWARD_BACK,
|
||||
"车辆起步"
|
||||
// "车辆起步"
|
||||
writeChainLogListener.onGetString(R.string.module_device_vehicle_start)
|
||||
)
|
||||
writeChainLogListener.onWriteChainLog(
|
||||
TAG,
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.mogo.support.device.led
|
||||
|
||||
import android.util.Log
|
||||
import com.mogo.support.device.IWriteChainLogListener
|
||||
import com.mogo.support.device.R
|
||||
import com.mogo.support.device.manager.cpower5a.LedScreenCpower5aManager
|
||||
import com.mogo.support.device.manager.cpower5a.common.LedScreen
|
||||
import com.mogo.support.device.manager.cpower5a.common.Program
|
||||
@@ -94,7 +95,8 @@ class FrontLedUIViewModel(writeChainLogListener: IWriteChainLogListener) : BaseL
|
||||
LedScreenCpower5aManager.getInstance()
|
||||
.playProgramLineStationReportHint(
|
||||
LedScreen.OUTWARD_FRONT,
|
||||
"车辆进站"
|
||||
// "车辆进站"
|
||||
writeChainLogListener.onGetString(R.string.module_device_vehicle_arrive_station)
|
||||
)
|
||||
writeChainLogListener.onWriteChainLog(
|
||||
TAG,
|
||||
@@ -107,7 +109,8 @@ class FrontLedUIViewModel(writeChainLogListener: IWriteChainLogListener) : BaseL
|
||||
LedScreenCpower5aManager.getInstance()
|
||||
.playProgramLineStationReportHint(
|
||||
LedScreen.OUTWARD_FRONT,
|
||||
"车辆起步"
|
||||
// "车辆起步"
|
||||
writeChainLogListener.onGetString(R.string.module_device_vehicle_start)
|
||||
)
|
||||
writeChainLogListener.onWriteChainLog(
|
||||
TAG,
|
||||
|
||||
@@ -4,7 +4,9 @@ package com.mogo.support.device.led
|
||||
import android.content.Context
|
||||
import android.os.CountDownTimer
|
||||
import android.text.TextUtils
|
||||
import androidx.annotation.StringRes
|
||||
import com.mogo.support.device.IWriteChainLogListener
|
||||
import com.mogo.support.device.R
|
||||
import com.mogo.support.device.manager.cpower5a.LedScreenCpower5aManager
|
||||
import com.mogo.support.device.manager.cpower5a.OnLedScreenCpower5aListener
|
||||
import com.mogo.support.device.manager.cpower5a.common.Cpower5aState.Execute
|
||||
@@ -297,20 +299,24 @@ object LedSourceManager : IWriteChainLogListener {
|
||||
//结束
|
||||
frontViewModel.reset()
|
||||
backViewModel.reset()
|
||||
receiveUI(FinishUI())
|
||||
// receiveUI(FinishUI())
|
||||
receiveUI(FinishUI(writeChainLogListener?.onGetString(R.string.module_device_thank_you_for_accompanying_all_the_way) ?: "感谢一路相伴"))
|
||||
} else if (type == 3) {
|
||||
//出站
|
||||
if (arrivalStopName.isNotEmpty()) {
|
||||
updateStationReportUI(arrivalStopName, "下一站")
|
||||
// updateStationReportUI(arrivalStopName, "下一站")
|
||||
updateStationReportUI(arrivalStopName, writeChainLogListener?.onGetString(R.string.module_device_next_station) ?: "下一站")
|
||||
}
|
||||
} else if (type == 4) {
|
||||
//进站
|
||||
if (arrivalStopName.isNotEmpty()) {
|
||||
updateStationReportUI(
|
||||
arrivalStopName, if (isLastStop) {
|
||||
"终点站"
|
||||
// "终点站"
|
||||
writeChainLogListener?.onGetString(R.string.module_device_destination) ?: "终点站"
|
||||
} else {
|
||||
"已到达"
|
||||
// "已到达"
|
||||
writeChainLogListener?.onGetString(R.string.module_device_have_arrived) ?: "已到达"
|
||||
}
|
||||
)
|
||||
}
|
||||
@@ -344,6 +350,10 @@ object LedSourceManager : IWriteChainLogListener {
|
||||
writeChainLogListener?.onWriteChainLog(tag, title, info)
|
||||
}
|
||||
|
||||
override fun onGetString(@StringRes id: Int): String {
|
||||
return writeChainLogListener?.onGetString(id) ?: ""
|
||||
}
|
||||
|
||||
|
||||
private val cpower5aListener: OnLedScreenCpower5aListener =
|
||||
object : OnLedScreenCpower5aListener() {
|
||||
@@ -459,23 +469,28 @@ object LedSourceManager : IWriteChainLogListener {
|
||||
): String {
|
||||
var temp = when (state) {
|
||||
Execute.EXECUTE_SUCCEED -> {
|
||||
"欢迎语更改成功"
|
||||
// "欢迎语更改成功"
|
||||
writeChainLogListener?.onGetString(R.string.module_device_welcome_msg_update_success) ?: "欢迎语更改成功"
|
||||
}
|
||||
|
||||
Execute.CONNECT_FAILED -> {
|
||||
"欢迎语更改失败,无法连接到设备"
|
||||
// "欢迎语更改失败,无法连接到设备"
|
||||
writeChainLogListener?.onGetString(R.string.module_device_welcome_msg_update_fail_connect_failed) ?: "欢迎语更改失败,无法连接到设备"
|
||||
}
|
||||
|
||||
Execute.DATA_EXCEPTION -> {
|
||||
"欢迎语更改失败,数据异常"
|
||||
// "欢迎语更改失败,数据异常"
|
||||
writeChainLogListener?.onGetString(R.string.module_device_welcome_msg_update_fail_data_exception) ?: "欢迎语更改失败,数据异常"
|
||||
}
|
||||
|
||||
Execute.EXECUTE_EXCEPTION -> {
|
||||
"欢迎语更改失败,解析或发送异常"
|
||||
// "欢迎语更改失败,解析或发送异常"
|
||||
writeChainLogListener?.onGetString(R.string.module_device_welcome_msg_update_fail_execute_exception) ?: "欢迎语更改失败,解析或发送异常"
|
||||
}
|
||||
|
||||
else -> {
|
||||
"欢迎语更改失败"
|
||||
// "欢迎语更改失败"
|
||||
writeChainLogListener?.onGetString(R.string.module_device_welcome_msg_update_fail) ?: "欢迎语更改失败"
|
||||
}
|
||||
}
|
||||
if (!TextUtils.isEmpty(errMsg)) {
|
||||
@@ -483,15 +498,18 @@ object LedSourceManager : IWriteChainLogListener {
|
||||
}
|
||||
val device = when (LedScreen.getLedScreen(ip)) {
|
||||
LedScreen.OUTWARD_FRONT -> {
|
||||
"前屏"
|
||||
// "前屏"
|
||||
writeChainLogListener?.onGetString(R.string.module_device_front_screen) ?: "前屏"
|
||||
}
|
||||
|
||||
LedScreen.OUTWARD_BACK -> {
|
||||
"后屏"
|
||||
// "后屏"
|
||||
writeChainLogListener?.onGetString(R.string.module_device_back_screen) ?: "后屏"
|
||||
}
|
||||
|
||||
else -> {
|
||||
"未知屏幕"
|
||||
// "未知屏幕"
|
||||
writeChainLogListener?.onGetString(R.string.module_device_unknown_screen) ?: "未知屏幕"
|
||||
}
|
||||
}
|
||||
return device + temp
|
||||
|
||||
@@ -49,7 +49,8 @@ class WelcomeUI(val hintMsg: String? = null, val isForever: Boolean = false) :
|
||||
}
|
||||
|
||||
//结束提示
|
||||
class FinishUI(val hintMsg: String = "感谢一路相伴") :
|
||||
//class FinishUI(val hintMsg: String = "感谢一路相伴") :
|
||||
class FinishUI(val hintMsg: String) :
|
||||
LedUICountDown(priority = 5, countDownSeconds = 10)
|
||||
|
||||
//线路信息提示
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
<resources>
|
||||
<string name="module_device_thank_you_for_accompanying_all_the_way">Thank you for accompanying all the way</string>
|
||||
<string name="module_device_next_station">Next Station</string>
|
||||
<string name="module_device_destination">Destination</string>
|
||||
<string name="module_device_have_arrived">Arrived</string>
|
||||
<string name="module_device_front_screen">Front Screen</string>
|
||||
<string name="module_device_back_screen">Back Screen</string>
|
||||
<string name="module_device_unknown_screen">Unknown Screen</string>
|
||||
<string name="module_device_welcome_msg_update_success">Welcome message updated successfully</string>
|
||||
<string name="module_device_welcome_msg_update_fail_connect_failed">Welcome message update failed, connection to device failed</string>
|
||||
<string name="module_device_welcome_msg_update_fail_data_exception">Welcome message update failed, data exception</string>
|
||||
<string name="module_device_welcome_msg_update_fail_execute_exception">Welcome message update failed, parsing or sending exception</string>
|
||||
<string name="module_device_welcome_msg_update_fail">Welcome message update failed</string>
|
||||
<string name="module_device_vehicle_arrive_station">Vehicle Arriving at Station</string>
|
||||
<string name="module_device_vehicle_start">Vehicle Starting</string>
|
||||
|
||||
|
||||
</resources>
|
||||
@@ -0,0 +1,18 @@
|
||||
<resources>
|
||||
<string name="module_device_thank_you_for_accompanying_all_the_way">感谢一路相伴</string>
|
||||
<string name="module_device_next_station">下一站</string>
|
||||
<string name="module_device_destination">终点站</string>
|
||||
<string name="module_device_have_arrived">已到达</string>
|
||||
<string name="module_device_front_screen">前屏</string>
|
||||
<string name="module_device_back_screen">后屏</string>
|
||||
<string name="module_device_unknown_screen">未知屏幕</string>
|
||||
<string name="module_device_welcome_msg_update_success">欢迎语更改成功</string>
|
||||
<string name="module_device_welcome_msg_update_fail_connect_failed">欢迎语更改失败,无法连接到设备</string>
|
||||
<string name="module_device_welcome_msg_update_fail_data_exception">欢迎语更改失败,数据异常</string>
|
||||
<string name="module_device_welcome_msg_update_fail_execute_exception">欢迎语更改失败,解析或发送异常</string>
|
||||
<string name="module_device_welcome_msg_update_fail">欢迎语更改失败</string>
|
||||
<string name="module_device_vehicle_arrive_station">车辆进站</string>
|
||||
<string name="module_device_vehicle_start">车辆起步</string>
|
||||
|
||||
|
||||
</resources>
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.mogo.map.utils;
|
||||
|
||||
import com.mogo.eagle.core.data.map.MogoLatLng;
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils;
|
||||
import com.mogo.map.R;
|
||||
import com.mogo.map.exception.MogoMapException;
|
||||
import com.zhidaoauto.map.data.point.LonLatPoint;
|
||||
import com.zhidaoauto.map.sdk.open.logics.camera.LatLngBounds;
|
||||
@@ -18,7 +20,8 @@ public class MogoMapUtils {
|
||||
public static LatLngBounds getLatLngBounds(MogoLatLng carPosition, List< MogoLatLng > lonLats, boolean lockCarPosition ) throws Exception {
|
||||
|
||||
if ( lonLats == null || lonLats.isEmpty() ) {
|
||||
throw new MogoMapException( "经纬度不能为null或空集合" );
|
||||
// throw new MogoMapException( "经纬度不能为null或空集合" );
|
||||
throw new MogoMapException(StringUtils.getString(R.string.module_map_lon_lat_not_null));
|
||||
}
|
||||
LatLngBounds.Builder builder = new LatLngBounds.Builder();
|
||||
for ( MogoLatLng lonLat : lonLats ) {
|
||||
@@ -33,7 +36,8 @@ public class MogoMapUtils {
|
||||
}
|
||||
|
||||
if ( carPosition == null ) {
|
||||
throw new MogoMapException( "自车位置经纬度信息不能为空" );
|
||||
// throw new MogoMapException( "自车位置经纬度信息不能为空" );
|
||||
throw new MogoMapException(StringUtils.getString(R.string.module_map_car_position_not_null));
|
||||
}
|
||||
|
||||
if ( latLngBounds.getNortheast() == null && latLngBounds.getSouthwest() == null ) {
|
||||
|
||||
5
libraries/mogo-map/src/main/res/values-en/strings.xml
Normal file
5
libraries/mogo-map/src/main/res/values-en/strings.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<resources>
|
||||
<string name="app_name">mogo-map</string>
|
||||
<string name="module_map_lon_lat_not_null">Longitude and latitude cannot be null or an empty collection</string>
|
||||
<string name="module_map_car_position_not_null">Own vehicle position longitude and latitude information cannot be empty</string>
|
||||
</resources>
|
||||
@@ -1,3 +1,5 @@
|
||||
<resources>
|
||||
<string name="app_name">mogo-map</string>
|
||||
<string name="module_map_lon_lat_not_null">经纬度不能为null或空集合</string>
|
||||
<string name="module_map_car_position_not_null">自车位置经纬度信息不能为空</string>
|
||||
</resources>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.mogo.mgintelligent.speech
|
||||
|
||||
import android.util.Log
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import org.json.JSONObject
|
||||
|
||||
data class AsrResult(val type: AsrState, val content: String)
|
||||
@@ -35,7 +36,8 @@ fun parseAsrResult(asrResult: String): AsrResult {
|
||||
val bestResult = json.optString("best_result")
|
||||
|
||||
if (error != 0) {
|
||||
return AsrResult(AsrState.STATE_ERROR, "识别失败")
|
||||
// return AsrResult(AsrState.STATE_ERROR, "识别失败")
|
||||
return AsrResult(AsrState.STATE_ERROR, StringUtils.getString(R.string.module_speech_identification_failure))
|
||||
}
|
||||
|
||||
val state = when (resultType) {
|
||||
@@ -44,7 +46,8 @@ fun parseAsrResult(asrResult: String): AsrResult {
|
||||
else -> AsrState.STATE_ERROR
|
||||
}
|
||||
val content = if (state == AsrState.STATE_ERROR) {
|
||||
"识别错误"
|
||||
// "识别错误"
|
||||
StringUtils.getString(R.string.module_speech_state_error)
|
||||
} else bestResult
|
||||
return AsrResult(state, content)
|
||||
}
|
||||
@@ -11,8 +11,10 @@ import com.mogo.commons.AbsMogoApplication
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.util.FileUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ResourceUtils
|
||||
import com.mogo.eagle.core.utilcode.util.StringUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.eagle.core.utilcode.util.Utils
|
||||
import com.mogo.mgintelligent.speech.R
|
||||
import java.io.File
|
||||
|
||||
object WakeManager {
|
||||
@@ -101,6 +103,7 @@ object WakeManager {
|
||||
AbsMogoApplication.getApp()?.let {
|
||||
return it.filesDir.path + File.separator + "iflytek" + File.separator
|
||||
}
|
||||
throw IllegalArgumentException("找不到 Application")
|
||||
// throw IllegalArgumentException("找不到 Application")
|
||||
throw IllegalArgumentException(StringUtils.getString(R.string.module_speech_not_find_application))
|
||||
}
|
||||
}
|
||||
5
libraries/mogo-speech/src/main/res/values-en/strings.xml
Normal file
5
libraries/mogo-speech/src/main/res/values-en/strings.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<resources>
|
||||
<string name="module_speech_identification_failure">Identification failed</string>
|
||||
<string name="module_speech_state_error">Recognition error</string>
|
||||
<string name="module_speech_not_find_application">Application not found</string>
|
||||
</resources>
|
||||
5
libraries/mogo-speech/src/main/res/values/strings.xml
Normal file
5
libraries/mogo-speech/src/main/res/values/strings.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<resources>
|
||||
<string name="module_speech_identification_failure">识别失败</string>
|
||||
<string name="module_speech_state_error">识别错误</string>
|
||||
<string name="module_speech_not_find_application">找不到 Application</string>
|
||||
</resources>
|
||||
Reference in New Issue
Block a user