diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/MogoReport.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/MogoReport.java index 30a69d0759..40ab786a87 100644 --- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/MogoReport.java +++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/MogoReport.java @@ -2,35 +2,42 @@ package com.zhidao.support.adas.high.common; /** * 监控事件报告中定义的事件以及解释 + * 根据240消息定义编写 + * http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=79433139 */ public class MogoReport { - private static final String RESULT_AUTOPILOT_DISABLE = "RESULT_AUTOPILOT_DISABLE"; private static final String RESULT_AUTOPILOT_SYSTEM_UNSTARTED = "RESULT_AUTOPILOT_SYSTEM_UNSTARTED"; - private static final String RESULT_DISCONNECTED_WITH_PAD = "RESULT_DISCONNECTED_WITH_PAD"; + private static final String RESULT_AUTOPILOT_DISABLE = "RESULT_AUTOPILOT_DISABLE"; private static final String RESULT_AUTOPILOT_INFERIOR = "RESULT_AUTOPILOT_INFERIOR"; - private static final String RESULT_PAD_CANNOT_CONNECT_TELEMATICS = "RESULT_PAD_CANNOT_CONNECT_TELEMATICS"; - private static final String RESULT_PAD_INFO_LOST = "RESULT_PAD_INFO_LOST"; - private static final String RESULT_PAD_CANNOT_GET_AUTOPILOT_STATUS = "RESULT_PAD_CANNOT_GET_AUTOPILOT_STATUS"; - private static final String RESULT_PAD_CANNOT_GET_GNS_CHASSIS_STATUS = "RESULT_PAD_CANNOT_GET_GNS_CHASSIS_STATUS"; - private static final String RESULT_PAD_CANNOT_GET_OBSTACLE_INFO = "RESULT_PAD_CANNOT_GET_OBSTACLE_INFO"; - private static final String RESULT_NO_CONNECTION_TO_AICLOUD = "RESULT_NO_CONNECTION_TO_AICLOUD"; - private static final String RESULT_AICLOUD_INFO_LOST = "RESULT_AICLOUD_INFO_LOST"; - private static final String RESULT_CANNOT_CHANGE_LIGHT = "RESULT_CANNOT_CHANGE_LIGHT"; + private static final String RESULT_REMOTEPILOT_DISABLE = "RESULT_REMOTEPILOT_DISABLE"; + private static final String RESULT_REMOTEPILOT_INFERIOR = "RESULT_REMOTEPILOT_INFERIOR"; + +// private static final String RESULT_DISCONNECTED_WITH_PAD = "RESULT_DISCONNECTED_WITH_PAD"; +// private static final String RESULT_PAD_CANNOT_CONNECT_TELEMATICS = "RESULT_PAD_CANNOT_CONNECT_TELEMATICS"; +// private static final String RESULT_PAD_INFO_LOST = "RESULT_PAD_INFO_LOST"; +// private static final String RESULT_PAD_CANNOT_GET_AUTOPILOT_STATUS = "RESULT_PAD_CANNOT_GET_AUTOPILOT_STATUS"; +// private static final String RESULT_PAD_CANNOT_GET_GNS_CHASSIS_STATUS = "RESULT_PAD_CANNOT_GET_GNS_CHASSIS_STATUS"; +// private static final String RESULT_PAD_CANNOT_GET_OBSTACLE_INFO = "RESULT_PAD_CANNOT_GET_OBSTACLE_INFO"; +// private static final String RESULT_NO_CONNECTION_TO_AICLOUD = "RESULT_NO_CONNECTION_TO_AICLOUD"; +// private static final String RESULT_AICLOUD_INFO_LOST = "RESULT_AICLOUD_INFO_LOST"; +// private static final String RESULT_CANNOT_CHANGE_LIGHT = "RESULT_CANNOT_CHANGE_LIGHT"; public enum Result { - + AUTOPILOT_SYSTEM_UNSTARTED(RESULT_AUTOPILOT_SYSTEM_UNSTARTED, "自动驾驶系统启动过程中出错,pad可能无法连接,云端监控可能无法上报"), AUTOPILOT_DISABLE(RESULT_AUTOPILOT_DISABLE, "无法启动自动驾驶"), - AUTOPILOT_SYSTEM_UNSTARTED(RESULT_AUTOPILOT_SYSTEM_UNSTARTED, "某些前置依赖条件未达成,导致的自动驾驶系统(节点)未能运行"), - DISCONNECTED_WITH_PAD(RESULT_DISCONNECTED_WITH_PAD, "未检测到来自pad的链接,如果只报了这个result,可以通过后台/远程驾驶启动自动驾驶"), - AUTOPILOT_INFERIOR(RESULT_AUTOPILOT_INFERIOR, "自动驾驶部分功能受影响,演示模式可以考虑强行启动,需联系人员排查问题"), - PAD_CANNOT_CONNECT_TELEMATICS(RESULT_PAD_INFO_LOST, "Pad无法连接到工控机"), - PAD_INFO_LOST(RESULT_PAD_CANNOT_CONNECT_TELEMATICS, "Pad工控机之间指令信息丢失"), - PAD_CANNOT_GET_AUTOPILOT_STATUS(RESULT_PAD_CANNOT_GET_AUTOPILOT_STATUS, "Pad端无法拿到自动驾驶状态信息"), - PAD_CANNOT_GET_GNS_CHASSIS_STATUS(RESULT_PAD_CANNOT_GET_GNS_CHASSIS_STATUS, "Pad端无法拿到自车状态和底盘状态信息"), - PAD_CANNOT_GET_OBSTACLE_INFO(RESULT_PAD_CANNOT_GET_OBSTACLE_INFO, "Pad端无法拿到障碍物信息"), - NO_CONNECTION_TO_AICLOUD(RESULT_NO_CONNECTION_TO_AICLOUD, "无法和云端通信"), - AICLOUD_INFO_LOST(RESULT_AICLOUD_INFO_LOST, "云端工控机之间信息丢失"), - CANNOT_CHANGE_LIGHT(RESULT_CANNOT_CHANGE_LIGHT, "变灯失败"); + AUTOPILOT_INFERIOR(RESULT_AUTOPILOT_INFERIOR, "自动驾驶部分功能受影响,演示模式可以考虑强行启动,需联系人员排查问题。\n例如定位偏移,camera无数据,算法严重丢帧,属于自动驾驶可以启动,但是效果受影响。"), + REMOTEPILOT_DISABLE(RESULT_REMOTEPILOT_DISABLE, "无法启动远程驾驶"), + REMOTEPILOT_INFERIOR(RESULT_REMOTEPILOT_INFERIOR, "远程驾驶部分功能受影响。例如网络高延迟"); + +// DISCONNECTED_WITH_PAD(RESULT_DISCONNECTED_WITH_PAD, "未检测到来自pad的链接,如果只报了这个result,可以通过后台/远程驾驶启动自动驾驶"), +// PAD_CANNOT_CONNECT_TELEMATICS(RESULT_PAD_INFO_LOST, "Pad无法连接到工控机"), +// PAD_INFO_LOST(RESULT_PAD_CANNOT_CONNECT_TELEMATICS, "Pad工控机之间指令信息丢失"), +// PAD_CANNOT_GET_AUTOPILOT_STATUS(RESULT_PAD_CANNOT_GET_AUTOPILOT_STATUS, "Pad端无法拿到自动驾驶状态信息"), +// PAD_CANNOT_GET_GNS_CHASSIS_STATUS(RESULT_PAD_CANNOT_GET_GNS_CHASSIS_STATUS, "Pad端无法拿到自车状态和底盘状态信息"), +// PAD_CANNOT_GET_OBSTACLE_INFO(RESULT_PAD_CANNOT_GET_OBSTACLE_INFO, "Pad端无法拿到障碍物信息"), +// NO_CONNECTION_TO_AICLOUD(RESULT_NO_CONNECTION_TO_AICLOUD, "无法和云端通信"), +// AICLOUD_INFO_LOST(RESULT_AICLOUD_INFO_LOST, "云端工控机之间信息丢失"), +// CANNOT_CHANGE_LIGHT(RESULT_CANNOT_CHANGE_LIGHT, "变灯失败"); /** * 消息result code @@ -49,30 +56,35 @@ public class MogoReport { public static String getDesc(String resultCode) { switch (resultCode) { - case RESULT_AUTOPILOT_DISABLE: - return AUTOPILOT_DISABLE.desc; case RESULT_AUTOPILOT_SYSTEM_UNSTARTED: return AUTOPILOT_SYSTEM_UNSTARTED.desc; - case RESULT_DISCONNECTED_WITH_PAD: - return DISCONNECTED_WITH_PAD.desc; + case RESULT_AUTOPILOT_DISABLE: + return AUTOPILOT_DISABLE.desc; case RESULT_AUTOPILOT_INFERIOR: return AUTOPILOT_INFERIOR.desc; - case RESULT_PAD_CANNOT_CONNECT_TELEMATICS: - return PAD_CANNOT_CONNECT_TELEMATICS.desc; - case RESULT_PAD_INFO_LOST: - return PAD_INFO_LOST.desc; - case RESULT_PAD_CANNOT_GET_AUTOPILOT_STATUS: - return PAD_CANNOT_GET_AUTOPILOT_STATUS.desc; - case RESULT_PAD_CANNOT_GET_GNS_CHASSIS_STATUS: - return PAD_CANNOT_GET_GNS_CHASSIS_STATUS.desc; - case RESULT_PAD_CANNOT_GET_OBSTACLE_INFO: - return PAD_CANNOT_GET_OBSTACLE_INFO.desc; - case RESULT_NO_CONNECTION_TO_AICLOUD: - return NO_CONNECTION_TO_AICLOUD.desc; - case RESULT_AICLOUD_INFO_LOST: - return AICLOUD_INFO_LOST.desc; - case RESULT_CANNOT_CHANGE_LIGHT: - return CANNOT_CHANGE_LIGHT.desc; + case RESULT_REMOTEPILOT_DISABLE: + return REMOTEPILOT_DISABLE.desc; + case RESULT_REMOTEPILOT_INFERIOR: + return REMOTEPILOT_INFERIOR.desc; + +// case RESULT_DISCONNECTED_WITH_PAD: +// return DISCONNECTED_WITH_PAD.desc; +// case RESULT_PAD_CANNOT_CONNECT_TELEMATICS: +// return PAD_CANNOT_CONNECT_TELEMATICS.desc; +// case RESULT_PAD_INFO_LOST: +// return PAD_INFO_LOST.desc; +// case RESULT_PAD_CANNOT_GET_AUTOPILOT_STATUS: +// return PAD_CANNOT_GET_AUTOPILOT_STATUS.desc; +// case RESULT_PAD_CANNOT_GET_GNS_CHASSIS_STATUS: +// return PAD_CANNOT_GET_GNS_CHASSIS_STATUS.desc; +// case RESULT_PAD_CANNOT_GET_OBSTACLE_INFO: +// return PAD_CANNOT_GET_OBSTACLE_INFO.desc; +// case RESULT_NO_CONNECTION_TO_AICLOUD: +// return NO_CONNECTION_TO_AICLOUD.desc; +// case RESULT_AICLOUD_INFO_LOST: +// return AICLOUD_INFO_LOST.desc; +// case RESULT_CANNOT_CHANGE_LIGHT: +// return CANNOT_CHANGE_LIGHT.desc; default: return resultCode; @@ -88,6 +100,7 @@ public class MogoReport { private static final String ACTION_REBOOT_VEHICLE = "ACTION_REBOOT_VEHICLE"; private static final String ACTION_CHECK_GEAR = "ACTION_CHECK_GEAR"; private static final String ACTION_CHECK_NETWORK = "ACTION_CHECK_NETWORK"; + private static final String ACTION_TRY_AGAIN_LATER = "ACTION_TRY_AGAIN_LATER"; public enum Action { @@ -97,7 +110,8 @@ public class MogoReport { REBOOT_PAD(ACTION_REBOOT_PAD, "重启Pad"), REBOOT_VEHICLE(ACTION_REBOOT_VEHICLE, "重启车辆"), CHECK_GEAR(ACTION_CHECK_GEAR, "检查车辆档位等影响自动驾驶的因素"), - CHECK_NETWORK(ACTION_CHECK_NETWORK, "检查网络连接和路由器等影响通信的因素"); + CHECK_NETWORK(ACTION_CHECK_NETWORK, "检查网络连接和路由器等影响通信的因素"), + TRY_AGAIN_LATER(ACTION_TRY_AGAIN_LATER, "请稍后重试"); /** * 消息Action code @@ -130,12 +144,11 @@ public class MogoReport { return CHECK_GEAR.desc; case ACTION_CHECK_NETWORK: return CHECK_NETWORK.desc; - + case ACTION_TRY_AGAIN_LATER: + return TRY_AGAIN_LATER.desc; default: return actionCode; - } } - } }