[620][adas]新增3.7.1版本消息定义;整理2.3.0~3.7.1所有的消息定义,增加注解用于确定启用版本和弃用版本

This commit is contained in:
xinfengkun
2023-11-08 12:51:18 +08:00
parent b17f00c856
commit e78afb7bd8
3 changed files with 428 additions and 7 deletions

View File

@@ -0,0 +1,19 @@
package com.zhjt.mogo.adas.data.bean;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* MAP系统消息报告版本管理
* 主要用于标记新增Code的版本以及标记弃用的的Code
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface CodeInfo {
String value();//Code新增版本
String deprecated() default "";//Code弃用版本
}

View File

@@ -1,9 +1,13 @@
package com.zhjt.mogo.adas.data.bean;
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
/**
* 监控事件报告中定义的事件以及解释
* 根据MAP3.5.0事件定义编写
* http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=113713916 最后修改于2023-07-27
* 根据MAP3.7.1事件定义编写
* http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=123445235 最后修改于2023-11-07
*/
public class MogoReport {
public static final String RESULT_AUTOPILOT_SYSTEM_UNSTARTED = "RESULT_AUTOPILOT_SYSTEM_UNSTARTED";//自动驾驶系统启动失败
@@ -137,6 +141,7 @@ public class MogoReport {
* 系统初始化阶段错误
*/
interface EINIT {
@CodeInfo("2.4.0")
String LOST_FILE = "EINIT_LOST_FILE";//系统启动时缺失必要文件,或者容器配置错误
}
@@ -144,9 +149,15 @@ public class MogoReport {
* 硬件故障
*/
interface EHW {
@CodeInfo("2.3.0")
String LIDAR = "EHW_LIDAR";//未检测到雷达
@CodeInfo("2.3.0")
String GNSS = "EHW_GNSS";//未检测到gnss
@Deprecated
@CodeInfo(value = "2.3.0", deprecated = "3.4.0")
String RTK = "EHW_RTK";//定位不准gnss节点反馈的状态不是42
@Deprecated
@CodeInfo(value = "2.3.0", deprecated = "3.4.0")
String CAN = "EHW_CAN";//无法与底盘通信,获取不到地盘状态,无法进入自动驾驶
}
@@ -154,50 +165,144 @@ public class MogoReport {
* 自动驾驶系统故障
*/
interface EMAP {
/*******自动驾驶系统故障*******/
@CodeInfo("2.3.0")
String NODE = "EMAP_NODE";//节点异常退出
@CodeInfo("2.3.0")
String NODE_DEAD = "EMAP_NODE_DEAD";//节点异常退出过多,放弃重启
@CodeInfo("2.5.0")
String DATA_NOT_EXIST = "EMAP_DATA_NOT_EXIST";//无法加载到正确的sqlite文件
@CodeInfo("2.4.0")
String TRA_NOT_EXIST = "EMAP_TRA_NOT_EXIST";//无法找到轨迹文件
@CodeInfo("2.4.0")
String TRA_LOAD_FAILED = "EMAP_TRA_LOAD_FAILED";//加载轨迹文件失败
@CodeInfo("3.3.0")
String ENGINE_INIT_FAILED = "EMAP_ENGINE_INIT_FAILED";//引擎初始化失败包括轨迹路径不存在vehicle_config.txt加载失败
@CodeInfo("3.5.0")
String ATTITUDE_INIT_FAILED = "EMAP_ATTITUDE_INIT_FAILED";//当前位置距离轨迹距离大于15m
@CodeInfo("2.4.0")
String EXIT_AUTOPILOT_FOR_PLANNING = "EMAP_EXIT_AUTOPILOT_FOR_PLANNING";//因planning掉帧强退自动驾驶
@CodeInfo("2.4.0")
String EXIT_AUTOPILOT_FOR_LOCATION = "EMAP_EXIT_AUTOPILOT_FOR_LOCATION";//因location掉帧强退自动驾驶
@CodeInfo("2.4.0")
String EXIT_AUTOPILOT_FOR_CHASSIS = "EMAP_EXIT_AUTOPILOT_FOR_CHASSIS";//因底盘消息掉帧强退自动驾驶
@CodeInfo("2.4.0")
String EXIT_AUTOPILOT_FOR_DISTANCE = "EMAP_EXIT_AUTOPILOT_FOR_DISTANCE";//因planning起点距离当前过远强退自动驾驶
@CodeInfo("2.7.0")
String EXIT_AUTOPILOT_FOR_BRAKE = "EMAP_EXIT_AUTOPILOT_FOR_BRAKE";//制动踏板干预而强退自动驾驶
@CodeInfo("2.7.0")
String EXIT_AUTOPILOT_FOR_ACCEL = "EMAP_EXIT_AUTOPILOT_FOR_ACCEL";//加速踏板干预而强退自动驾驶
@CodeInfo("2.7.0")
String EXIT_AUTOPILOT_FOR_STEER = "EMAP_EXIT_AUTOPILOT_FOR_STEER";//方向盘干预而强退自动驾驶
@CodeInfo("2.7.0")
String EXIT_AUTOPILOT_FOR_GEAR_SWITCH = "EMAP_EXIT_AUTOPILOT_FOR_GEAR_SWITCH";//档位切换干预而强退自动驾驶
@CodeInfo("2.7.0")
String EXIT_AUTOPILOT_FOR_CHASSIS_NO_RESPONSE = "EMAP_EXIT_AUTOPILOT_FOR_CHASSIS_NO_RESPONSE";//底盘不响应请求而强退自动驾驶
@CodeInfo("2.7.0")
String EXIT_AUTOPILOT_FOR_CHASSIS_UNKNOWN = "EMAP_EXIT_AUTOPILOT_FOR_CHASSIS_UNKNOWN";//底盘退出原因未知而强退自动驾驶
@CodeInfo("2.9.0")
String ENTRY_AUTOPILOT_FOR_CANADAPTER_TIMEOUT = "EMAP_ENTRY_AUTOPILOT_FOR_CANADAPTER_TIMEOUT";//can_adapter消息超时未进入自驾
@CodeInfo("2.9.0")
String ENTRY_AUTOPILOT_FOR_PLANNING_TIMEOUT = "EMAP_ENTRY_AUTOPILOT_FOR_PLANNING_TIMEOUT";//PLANNING消息超时未进自驾
@CodeInfo("2.9.0")
String ENTRY_AUTOPILOT_FOR_LOCATION_TIMEOUT = "EMAP_ENTRY_AUTOPILOT_FOR_LOCATION_TIMEOUT";//定位消息超时未进自驾
@CodeInfo("2.9.0")
String ENTRY_AUTOPILOT_FOR_BRAKE = "EMAP_ENTRY_AUTOPILOT_FOR_BRAKE";//制动踏板干预未进自驾
@CodeInfo("2.9.0")
String ENTRY_AUTOPILOT_FOR_ACCEL = "EMAP_ENTRY_AUTOPILOT_FOR_ACCEL";//加速踏板干预未进自驾
@CodeInfo("2.9.0")
String ENTRY_AUTOPILOT_FOR_STEER = "EMAP_ENTRY_AUTOPILOT_FOR_STEER";//方向盘干预未进自驾
@CodeInfo("2.9.0")
String ENTRY_AUTOPILOT_FOR_GEAR_SWITCH = "EMAP_ENTRY_AUTOPILOT_FOR_GEAR_SWITCH";//档位切换干预未进自驾
@CodeInfo("3.2.0")
String ENTRY_AUTOPILOT_FOR_DISTANCE = "EMAP_ENTRY_AUTOPILOT_FOR_DISTANCE";//因planning起点距离太远不可进自驾
@CodeInfo("3.2.0")
String ENTRY_AUTOPILOT_FOR_VEHICLE_ERROR = "EMAP_ENTRY_AUTOPILOT_FOR_VEHICLE_ERROR";//车辆故障需要保修故障原因见msg信息
String ENTRY_AUTOPILOT_FOR_CHASSIS_FAULT = "EMAP_ENTRY_AUTOPILOT_FOR_CHASSIS_FAULT ";//底盘异常,需要下电重启
String ENTRY_AUTOPILOT_FOR_UNKNOWN = "EMAP_ENTRY_AUTOPILOT_FOR_UNKNOWN ";//进自驾原因确实未知,必须联系软硬件技术进行排查
@CodeInfo("3.2.0")
String ENTRY_AUTOPILOT_FOR_CHASSIS_FAULT = "EMAP_ENTRY_AUTOPILOT_FOR_CHASSIS_FAULT";//底盘异常,需要下电重启
@CodeInfo("3.2.0")
String ENTRY_AUTOPILOT_FOR_UNKNOWN = "EMAP_ENTRY_AUTOPILOT_FOR_UNKNOWN";//进自驾原因确实未知,必须联系软硬件技术进行排查
@CodeInfo("2.9.0")
String ENTRY_AUTOPILOT_FOR_OTHER_CTL = "EMAP_ENTRY_AUTOPILOT_FOR_OTHER_CTL";//其他干预未进自驾,请检查仪表盘和开关项(如双闪,制动灯灯等 可在msg中补充原因信息
@Deprecated
@CodeInfo(value = "2.4.0", deprecated = "3.4.0")
String HADMAP_ENGINE_NO_ROUTING_INFO = "EMAP_HADMAP_ENGINE_NO_ROUTING_INFO";//hadmap_engine算路失败或未找到轨迹文件导致的轨迹文件信息未发布
@Deprecated
@CodeInfo(value = "2.4.0", deprecated = "3.4.0")
String HADMAP_NO_TRAJECTORY = "EMAP_HADMAP_NO_TRAJECTORY";//hadmap未发布全局路径
@Deprecated
@CodeInfo(value = "2.4.0", deprecated = "3.4.0")
String HADMAP_PLANNING_NO_TRAJECTORY = "EMAP_HADMAP_PLANNING_NO_TRAJECTORY";//local_planning未发布局部轨迹
@Deprecated
@CodeInfo(value = "2.4.0", deprecated = "3.4.0")
String CONTROL_ABNORMAL_COMMAND = "EMAP_CONTROL_ABNORMAL_COMMAND";//controller发布的控制指令异常
@Deprecated
@CodeInfo(value = "2.4.0", deprecated = "3.4.0")
String CAN_ADAPTER_NO_CHASSIS_INFO = "EMAP_CAN_ADAPTER_NO_CHASSIS_INFO";//can_adapter未成功转发地盘信息
@CodeInfo("3.3.1")
String TRAJECTORY_LOST_WHEN_AUTOPILOT = "EMAP_TRAJECTORY_LOST_WHEN_AUTOPILOT";//自驾状态但是全局轨迹丢失超过1.5s
@CodeInfo("3.3.1")
String PLANNING_FOR_PERCEPTION_TIMEOUT = "EMAP_PLANNING_FOR_PERCEPTION_TIMEOUT";//鹰眼下发进入自驾指令自车还未进入自驾感知延迟超过1s
@CodeInfo("3.3.1")
String PLANNING_FOR_HADMAP_ENGINE_LANES_MSG_TIMEOUT = "EMAP_PLANNING_FOR_HADMAP_ENGINE_LANES_MSG_TIMEOUT";//鹰眼下发进入自驾指令自车还未进入自驾地图车道数据延迟超过1s
@CodeInfo("3.3.1")
String PLANNING_FOR_PREDICTION_TIMEOUT = "EMAP_PLANNING_FOR_PREDICTION_TIMEOUT";//鹰眼下发进入自驾指令自车还未进入自驾预测数据延迟超过1s
@CodeInfo("3.6.0")
String NODE_CPU_EXCEED = "EMAP_NODE_CPU_EXCEED";//节点cpu占用超过阈值
@CodeInfo("3.6.0")
String NODE_MEMORY_EXCEED = "EMAP_NODE_MEMORY_EXCEED";//节点内存占用超过阈值
/*******平行驾驶相关故障*******/
@CodeInfo("3.6.0")
String ENTRY_REMOTEPILOT_FOR_BRAKE = "EMAP_ENTRY_REMOTEPILOT_FOR_BRAKE";//制动踏板干预未进平行驾驶
@CodeInfo("3.6.0")
String ENTRY_REMOTEPILOT_FOR_STEER = "EMAP_ENTRY_REMOTEPILOT_FOR_STEER";//方向盘干预未进平行驾驶
@CodeInfo("3.6.0")
String ENTRY_REMOTEPILOT_FOR_ACCEL = "EMAP_ENTRY_REMOTEPILOT_FOR_ACCEL";//加速踏板干预未进平行驾驶
@CodeInfo("3.6.0")
String ENTRY_REMOTEPILOT_FOR_GEAR_SWITCH = "EMAP_ENTRY_REMOTEPILOT_FOR_GEAR_SWITCH";//档位切换干预未进平行驾驶
@CodeInfo("3.6.0")
String ENTRY_REMOTEPILOT_FOR_CANADAPTER_TIMEOUT = "EMAP_ENTRY_REMOTEPILOT_FOR_CANADAPTER_TIMEOUT";//底盘消息超时未进平行驾驶
@CodeInfo("3.6.0")
String ENTRY_REMOTEPILOT_FOR_CTRLCMD_TIMEOUT = "EMAP_ENTRY_REMOTEPILOT_FOR_CTRLCMD_TIMEOUT";//平行驾驶控制指令超时未进平行驾驶
@CodeInfo("3.6.0")
String ENTRY_REMOTEPILOT_FOR_CHASSIS_FAULT = "EMAP_ENTRY_REMOTEPILOT_FOR_CHASSIS_FAULT";//底盘异常未进平行驾驶,需要下电重启
@CodeInfo("3.6.0")
String ENTRY_REMOTEPILOT_FOR_CHASSIS_NO_RESPONSE = "EMAP_ENTRY_REMOTEPILOT_FOR_CHASSIS_NO_RESPONSE";//底盘不响应请求未进平行驾驶
@CodeInfo("3.6.0")
String ENTRY_REMOTEPILOT_FOR_OTHER_CTL = "EMAP_ENTRY_REMOTEPILOT_FOR_OTHER_CTL";//其他干预未进平行驾驶其他干预的原因见msg信息
@CodeInfo("3.6.0")
String ENTRY_REMOTEPILOT_FOR_VEHICLE_ERROR = "EMAP_ENTRY_REMOTEPILOT_FOR_VEHICLE_ERROR";//车辆故障需要保修故障原因见msg信息
@CodeInfo("3.6.0")
String ENTRY_REMOTEPILOT_FOR_UNKNOWN = "EMAP_ENTRY_REMOTEPILOT_FOR_UNKNOWN";//未进平行驾驶原因确实未知,必须联系软硬件技术进行排查
@CodeInfo("3.6.0")
String EXIT_REMOTEPILOT_FOR_CTRLCMD_TIMEOUT = "EMAP_EXIT_REMOTEPILOT_FOR_CTRLCMD_TIMEOUT";//因平行驾驶控制指令掉帧强退平行驾驶
@CodeInfo("3.6.0")
String EXIT_REMOTEPILOT_FOR_CANADAPTER_TIMEOUT = "EMAP_EXIT_REMOTEPILOT_FOR_CANADAPTER_TIMEOUT";//因底盘消息掉帧强退平行驾驶
@CodeInfo("3.6.0")
String EXIT_REMOTEPILOT_FOR_BRAKE = "EMAP_EXIT_REMOTEPILOT_FOR_BRAKE";//制动踏板干预而强退平行驾驶
@CodeInfo("3.6.0")
String EXIT_REMOTEPILOT_FOR_ACCEL = "EMAP_EXIT_REMOTEPILOT_FOR_ACCEL";//加速踏板干预而强退平行驾驶
@CodeInfo("3.6.0")
String EXIT_REMOTEPILOT_FOR_STEER = "EMAP_EXIT_REMOTEPILOT_FOR_STEER";//方向盘干预而强退平行驾驶
@CodeInfo("3.6.0")
String EXIT_REMOTEPILOT_FOR_GEAR_SWITCH = "EMAP_EXIT_REMOTEPILOT_FOR_GEAR_SWITCH";//档位切换干预而强退平行驾驶
@CodeInfo("3.6.0")
String EXIT_REMOTEPILOT_FOR_CHASSIS_FAULT = "EMAP_EXIT_REMOTEPILOT_FOR_CHASSIS_FAULT";//底盘异常强退平行驾驶,需要下电重启
@CodeInfo("3.6.0")
String EXIT_REMOTEPILOT_FOR_CHASSIS_NO_RESPONSE = "EMAP_EXIT_REMOTEPILOT_FOR_CHASSIS_NO_RESPONSE";//底盘不响应请求强退平行驾驶
@CodeInfo("3.6.0")
String EXIT_REMOTEPILOT_FOR_OTHER_CTL = "EMAP_EXIT_REMOTEPILOT_FOR_OTHER_CTL";//其他干预退出平行驾驶其他干预的原因见msg信息
@CodeInfo("3.6.0")
String EXIT_REMOTEPILOT_FOR_UNKNOWN = "EMAP_EXIT_REMOTEPILOT_FOR_UNKNOWN";//退出平行驾驶原因确实未知,必须联系软硬件技术进行排查
}
/**
* telematics相关故障
*/
interface ETELEMATICS {
@CodeInfo("2.3.0")
String AICLOUD_AUTH_ERROR = "ETELEMATICS_AICLOUD_AUTH_ERROR";//telematics连接云端失败
}
@@ -205,12 +310,24 @@ public class MogoReport {
* 车辆故障或其他状态引起的问题
*/
interface EVHC {
@Deprecated
@CodeInfo(value = "2.5.0", deprecated = "3.4.0")
String GEAR_INFERENCE = "EVHC_GEAR_INFERENCE";//由于档位干预退出自动驾驶或无法进入自动驾驶
@Deprecated
@CodeInfo(value = "2.5.0", deprecated = "3.4.0")
String BRAKE_INFERENCE = "EVHC_BRAKE_INFERENCE";//由于刹车干预退出自动驾驶或无法进入自动驾驶
@Deprecated
@CodeInfo(value = "2.5.0", deprecated = "3.4.0")
String STEER_INFERENCE = "EVHC_STEER_INFERENCE";//由于方向盘干预退出自动驾驶或无法进入自动驾驶
@Deprecated
@CodeInfo(value = "2.5.0", deprecated = "3.4.0")
String ACCEL_INFERENCE = "EVHC_ACCEL_INFERENCE";//由于油门干预退出自动驾驶或无法进入自动驾驶
@Deprecated
@CodeInfo(value = "2.3.0", deprecated = "3.4.0")
String CSS = "EVHC_CSS";//底盘不允许进入自动驾驶
@CodeInfo("2.3.0")
String GEAR = "EVHC_GEAR";//档位不是D或N档
@CodeInfo("3.4.0")
String EPB = "EVHC_EPB";//驻车(手刹)不是锁止(拉起)状态
}
@@ -218,32 +335,62 @@ public class MogoReport {
* 系统状态检测异常
*/
interface ESYS {
@CodeInfo("2.4.0")
String AUTOPILOT_FAILED = "ESYS_AUTOPILOT_FAILED";//在尝试启动自动驾驶,但是超过指定时间后底盘未进入,会发送此事件
@Deprecated
@CodeInfo(value = "2.4.0", deprecated = "2.5.0")
String IN_INIT = "ESYS_IN_INIT";//系统处于启动中,拒绝进入自动驾驶/远程驾驶
@CodeInfo("2.4.0")
String IN_EXIT = "ESYS_IN_EXIT";//系统处于退出中,拒绝进入自动驾驶
@CodeInfo("2.4.0")
String NOT_ALLOW_AUTOPILOT_FOR_REMOTE = "ESYS_NOT_ALLOW_AUTOPILOT_FOR_REMOTE";//系统处于远程驾驶中,拒绝进入自动驾驶
@CodeInfo("2.4.0")
String NOT_ALLOW_REBOOT = "ESYS_NOT_ALLOW_REBOOT";//重启拒绝
@CodeInfo("2.4.0")
String TOPIC_FREQ_DROPED = "ESYS_TOPIC_FREQ_DROPED";//存在topic严重掉频
@Deprecated
@CodeInfo(value = "2.4.0", deprecated = "3.3.1")
String AUTOPILOT_TAKEN_OVER_BY_REMOTE = "ESYS_AUTOPILOT_TAKEN_OVER_BY_REMOTE";//自动驾驶被远程驾驶接管
@Deprecated
@CodeInfo(value = "2.4.0", deprecated = "2.5.0")
String RTK_STATUS_FAULT = "ESYS_RTK_STATUS_FAULT";//RTK状态持续错误
@CodeInfo("2.5.0")
String ROUTING_REQ_TIMEOUT = "ESYS_ROUTING_REQ_TIMEOUT";//自动驾驶开始前routing请求无响应
@CodeInfo("2.6.0")
String PLANNING_CHANGE_FAILIED = "ESYS_PLANNING_CHANGE_FAILIED";//planning版本切换启动失败
@CodeInfo("2.6.0")
String CHECK_TRAJECTORY_FAILURE = "ESYS_CHECK_TRAJECTORY_FAILURE";//轨迹文件检查超时或检查结果无可用轨迹
@CodeInfo("3.7.0")
String CHECK_TRAJECTORY_TIMEOUT = "ESYS_CHECK_TRAJECTORY_TIMEOUT";//轨迹文件检查超时
@CodeInfo("3.7.0")
String CHECK_TRAJECTORY_LOADING = "ESYS_CHECK_TRAJECTORY_LOADING";//当前轨迹下载中(检查中)
@CodeInfo("3.5.0")
String TRAJECTORY_AGENT_NOT_READY = "ESYS_TRAJECTORY_AGENT_NOT_READY";//轨迹下载客户端未就绪拒绝轨迹下载请求
@CodeInfo("3.5.0")
String MAP_ENGINE_NOT_READY = "ESYS_MAP_ENGINE_NOT_READY";//地图引擎未就绪拒绝自驾
@CodeInfo("2.5.0")
String FAULT = "ESYS_FAULT";//master启动10分钟仍有agent未连接
@CodeInfo("2.8.0")
String REBOOT_WARNING = "ESYS_REBOOT_WARNING";//命令重启不完全提示(部分模块没有关闭成功)
@CodeInfo("2.8.0")
String CAN_MSG_LOST = "ESYS_CAN_MSG_LOST";//master接收底盘消息超时
@CodeInfo("3.6.0")
String AGENT_NET_TIMEOUT = "ESYS_AGENT_NET_TIMEOUT";//ssm agent 心跳连接master超时
/*******update_config_simple 配置(包含轨迹)下载相关异常*******/
@CodeInfo("3.3.0")
String CONFIG_UPDATING_SPEED_JUMP = "ESYS_CONFIG_UPDATING_SPEED_JUMP";//文件下载速度跳变,低于阈值
@CodeInfo("3.3.0")
String CONFIG_UPDATING_INPUT_PARAM_ABNORMAL = "ESYS_CONFIG_UPDATING_INPUT_PARAM_ABNORMAL";//配置下载传入参数异常
@CodeInfo("3.3.0")
String CONFIG_UPDATING_DNS_ERROR = "ESYS_CONFIG_UPDATING_DNS_ERROR";//DNS解析异常
@CodeInfo("3.3.0")
String CONFIG_UPDATING_URL_NOT_ARRIVED = "ESYS_CONFIG_UPDATING_URL_NOT_ARRIVED";//url不可达
@CodeInfo("3.3.0")
String CONFIG_UPDATING_MD5_CHECK_ERROR = "ESYS_CONFIG_UPDATING_MD5_CHECK_ERROR";//md5检查失败
@CodeInfo("3.3.0")
String CONFIG_UPDATING_REJECT_SAME_TRAJ_TASK = "ESYS_CONFIG_UPDATING_REJECT_SAME_TRAJ_TASK";//拒绝同名轨迹任务
@CodeInfo("3.5.0")
String CONFIG_UPDATING_HTTP_FAILED = "ESYS_CONFIG_UPDATING_HTTP_FAILED";//获取下载列表失败
}
@@ -251,20 +398,36 @@ public class MogoReport {
* 系统异常状态上报
*/
interface ESSM {
@CodeInfo("2.10.0")
String IN_INIT = "ESSM_IN_INIT";//SSM初始化非任何模式拒绝进入自动驾驶/平行驾驶
@CodeInfo("2.10.0")
String IN_EXIT = "ESSM_IN_EXIT";//SSM处于停止模式拒绝进入自动驾驶/平行驾驶
@CodeInfo("2.10.0")
String AUTOPILOT_UNREADY = "ESSM_AUTOPILOT_UNREADY";//因自动驾驶状态未就绪拒绝自驾
@CodeInfo("3.3.0")
String AUTOPILOT_KEY_NODE_BORKEN = "ESSM_AUTOPILOT_KEY_NODE_BORKEN";//因自驾驾驶关键节点挂掉拒绝自动驾驶
@CodeInfo("2.10.0")
String REMOTEPILOT_UNREADY = "ESSM_REMOTEPILOT_UNREADY";//因平行驾驶状态未就绪拒绝平行驾驶
@CodeInfo("2.10.0")
String MAP_IMAGE_DIFF = "ESSM_MAP_IMAGE_DIFF";//Agent镜像存在版本不一致的问题
@CodeInfo("3.6.0")
String SYS_TIME_SKIPED = "ESSM_SYS_TIME_SKIPED";//系统时间发生跳变
@CodeInfo("3.6.0")
String ROSCORE_HAVE_REBOOT = "ESSM_ROSCORE_HAVE_REBOOT";//roscore发生重启触发所有节点重启
@CodeInfo("2.10.0")
String COLD_START_TIMEOUT = "ESSM_COLD_START_TIMEOUT";//系统冷启动超时未完成
@CodeInfo("3.3.0")
String HAVE_AGENT_LOST_CONNECT = "ESSM_HAVE_AGENT_LOST_CONNECT";//存在agent失联
String IGNORED_CMD_DUE_PAD_CONTROL = "ESSM_IGNORED_CMD_DUE_PAD_CONTROL ";//pad自驾中拒绝云控的自驾命令
String IGNORED_CMD_DUE_AICLOUD_CONTROL = "ESSM_IGNORED_CMD_DUE_AICLOUD_CONTROL ";//云控自驾中,拒绝pad的自驾命令
@CodeInfo("3.3.1")
String IGNORED_CMD_DUE_PAD_CONTROL = "ESSM_IGNORED_CMD_DUE_PAD_CONTROL";//pad自驾中,拒绝云控的自驾命令
@CodeInfo("3.3.1")
String IGNORED_CMD_DUE_AICLOUD_CONTROL = "ESSM_IGNORED_CMD_DUE_AICLOUD_CONTROL";//云控自驾中拒绝pad的自驾命令
}
interface EAGENT {
@CodeInfo("2.4.0")
String FATAL = "EAGENT_FATAL";//agent严重故障,无法恢复
@CodeInfo("2.4.0")
String MASTER_COMMAND_HANDLER_FAILED = "EAGENT_MASTER_COMMAND_HANDLER_FAILED";//agent未能成功执行master指令
}
@@ -272,17 +435,24 @@ public class MogoReport {
* 相机相关异常
*/
interface ECAM {
@CodeInfo("2.5.0")
String INIT = "ECAM_INIT";//相机初始化失败
@CodeInfo("2.5.0")
String CALIB = "ECAM_CALIB";//标定信息读取失败
@CodeInfo("2.7.0")
String GRAB_FATAL = "ECAM_GRAB_FATAL";//相机数据采集异常
@CodeInfo("3.5.0")
String TS_ERROR = "ECAM_TS_ERROR";//图像时间戳异常
}
/**
* 定位异常
*/
interface ELCT {
@CodeInfo("2.5.0")
String RTK_STATUS_FAULT = "ELCT_RTK_STATUS_FAULT";//RTK状态错误
@CodeInfo("2.5.0")
String RTK_STATUS_UNKNOWN = "ELCT_RTK_STATUS_UNKNOWN";//RTK状态不确定
}
@@ -290,7 +460,9 @@ public class MogoReport {
* 推流异常
*/
interface EPUSH {
@CodeInfo("2.10.0")
String VIDEO_INIT_ERROR = "EPUSH_VIDEO_INIT_ERROR";//初始化失败
@CodeInfo("2.10.0")
String VIDEO_START_SERVICE_ERROR = "EPUSH_VIDEO_START_SERVICE_ERROR";//启动服务失败
}
@@ -298,9 +470,13 @@ public class MogoReport {
* 录包异常
*/
interface ERECORD {
@CodeInfo("2.10.0")
String TASK_BAG_INIT = "ERECORD_TASK_BAG_INIT";//包初始化失败
@CodeInfo("2.10.0")
String TASK_SPACE = "ERECORD_TASK_SPACE";//空间不足
@CodeInfo("2.10.0")
String TASK_CONFIG_EMPTY = "ERECORD_TASK_CONFIG_EMPTY";//配置为空
@CodeInfo("2.10.0")
String TASK_QUEUE_EMPTY = "ERECORD_TASK_QUEUE_EMPTY";//数据队列为空
}
@@ -308,7 +484,9 @@ public class MogoReport {
* 平行驾驶相关异常
*/
interface EPARALLEL {
@CodeInfo("2.11.0")
String AICLOUD_CONNECTION_ERROR = "EPARALLEL_AICLOUD_CONNECTION_ERROR";//平行驾驶长连接异常 断网(此时不符合平行驾驶条件) 平行驾驶退出到自驾,同时减速停车
@CodeInfo("3.3.0")
String AICLOUD_NETWORK_WEAK = "EPARALLEL_AICLOUD_NETWORK_WEAK";//车端系统检测到弱网 弱网 平行驾驶退出到自驾,同时减速停车
}
@@ -316,6 +494,7 @@ public class MogoReport {
* 车辆处于困境,等待平行驾驶接管
*/
interface EVEHICLE {
@CodeInfo("2.11.0")
String IN_TROUBLE = "EVEHICLE_IN_TROUBLE";//planning 检测到车处于困境,把困境状态汇报给 SSMssm 发出该事件,等待驾舱端开始平行驾驶
}
@@ -323,7 +502,9 @@ public class MogoReport {
* EFM(FM故障)
*/
interface EFM {
@CodeInfo("3.4.0")
String ERROR3_STOP_PILOT = "EFM_ERROR3_STOP_PILOT";//触发降级停车策略
@CodeInfo("3.4.0")
String ERROR2_FUNC_FORBID = "EFM_ERROR2_FUNC_FORBID";//禁止车辆部分功能
}
}
@@ -336,9 +517,13 @@ public class MogoReport {
* 系统初始化阶段
*/
interface IINIT {
@CodeInfo("2.4.0")
String BOOST = "IINIT_BOOST";//linux系统已启动此事件会延迟发出timestamp填linux启动时的事件
@CodeInfo("2.3.0")
String TIME_SYNC = "IINIT_TIME_SYNC";//时间已同步
@CodeInfo("2.3.0")
String SENSOR_NORMAL = "IINIT_SENSOR_NORMAL";//各传感器正常
@CodeInfo("2.3.0")
String MAP_STARTED = "IBOOT_MAP_STARTED";//当前xavier上所有节点已启动成功
}
@@ -347,22 +532,52 @@ public class MogoReport {
* 自动驾驶运行信息
*/
interface IMAP {
@CodeInfo("2.4.0")
String TRA_EXIST = "IMAP_TRA_EXIST";//已找到轨迹文件
@CodeInfo("2.5.0")
String DATA_EXIST = "IMAP_DATA_EXIST";//加载正确的sqlite
@CodeInfo("2.4.0")
String TRA_LOADED = "IMAP_TRA_LOADED";//轨迹文件加载成功
@CodeInfo("2.4.0")
String TRA_ROUTING = "IMAP_TRA_ROUTING";//算路成功
@CodeInfo("2.6.0")
String TRA_TYPE = "IMAP_TRA_TYPE";//加载轨迹类型通知
@CodeInfo("2.7.0")
String PARAM_SERVER = "IMAP_PARAM_SERVER";//当前系统使用的param server版本(rosmaster或redis)
@CodeInfo("3.6.0")
String ENGINE_INIT_FINISHED = "IMAP_ENGINE_INIT_FINISHED";//地图引擎初始化完成
@CodeInfo("3.6.0")
String RECEIVED_ROUTING_REQUEST = "IMAP_RECEIVED_ROUTING_REQUEST";//成功接收订单信息
@CodeInfo("2.8.0")
String ENTRY_AUTOPILOT = "IMAP_ENTRY_AUTOPILOT";//控制进入自动驾驶成功
@CodeInfo("3.3.1")
String PLANNING_FOR_PREDICTION_RECEIVED = "IMAP_PLANNING_FOR_PREDICTION_RECEIVED";//自车进入车自驾,收到预测消息时解除预测数据超时警报
@CodeInfo("3.3.1")
String PLANNING_FOR_HADMAP_ENGINE_LANES_MSG_RECEIVED = "IMAP_PLANNING_FOR_HADMAP_ENGINE_LANES_MSG_RECEIVED";//自车进入车自驾,收到地图车道消息时解除地图数据超时警报
@CodeInfo("3.3.1")
String PLANNING_FOR_PERCEPTION_RECEIVED = "IMAP_PLANNING_FOR_PERCEPTION_RECEIVED";//自车进入车自驾,收到感知消息时解除感知数据超时警报
@CodeInfo("3.4.0")
String START_AUTOPILOT = "IMAP_START_AUTOPILOT";//控制侧开始自驾
@CodeInfo("3.4.0")
String EXIT_AUTOPILOT = "IMAP_EXIT_AUTOPILOT";//控制侧正常退出自驾
@CodeInfo("3.4.0")
String START_REMOTEPILOT = "IMAP_START_REMOTEPILOT";//控制侧开始平行驾驶
@CodeInfo("3.4.0")
String ENTRY_REMOTEPILOT = "IMAP_ENTRY_REMOTEPILOT";//控制侧进入平行驾驶
@CodeInfo("3.4.0")
String EXIT_REMOTEPILOT = "IMAP_EXIT_REMOTEPILOT";//控制侧退出平行驾驶
@CodeInfo("3.4.0")
String CONTROLLER_START_FM_COMMAND = "IMAP_CONTROLLER_START_FM_COMMAND";//控制侧开始故障处理命令
@CodeInfo("3.4.0")
String CONTROLLER_FINISH_FM_COMMAND = "IMAP_CONTROLLER_FINISH_FM_COMMAND";//控制侧完成故障处理命令
@CodeInfo("3.7.1")
String CONTROLLER_ABORT_FM_COMMAND = "IMAP_CONTROLLER_ABORT_FM_COMMAND";//控制侧未完成停车但终止原因写入msg
@CodeInfo("3.7.1")
String PLANNING_START_FM_COMMAND = "IMAP_PLANNING_START_FM_COMMAND";//规划开始执行故障停车处理命令
@CodeInfo("3.7.1")
String PLANNING_FINISH_FM_COMMAND = "IMAP_PLANNING_FINISH_FM_COMMAND";//规划完成故障停车处理命令
@CodeInfo("3.7.1")
String PLANNING_ABORT_FM_COMMAND = "IMAP_PLANNING_ABORT_FM_COMMAND";//规划未完成停车但终止原因写入msg
}
/**
@@ -370,8 +585,11 @@ public class MogoReport {
*/
interface ITELEMATICS {
@Deprecated
@CodeInfo(value = "2.4.0", deprecated = "2.5.0")
String ROUTING_REQUEST_SENT = "ITELEMATICS_ROUTING_REQUEST_SENT";//已发送算路请求
@CodeInfo("2.3.0")
String AUTOPILOT_CMD_FORWARDED = "ITELEMATICS_AUTOPILOT_CMD_FORWARDED";//自动驾驶命令已转发
@CodeInfo("2.3.0")
String AICLOUD_AUTH_OK = "ITELEMATICS_AICLOUD_AUTH_OK";//aicloud连接认证成功
}
@@ -381,51 +599,96 @@ public class MogoReport {
*/
interface ISYS {
/*******常规信息*******/
@CodeInfo("2.4.0")
String STARTING = "ISYS_STARTING";//系统启动中
@CodeInfo("2.4.0")
String RUNNING = "ISYS_RUNNING";//所有Xavier启动完成
@CodeInfo("2.4.0")
String EXITING = "ISYS_EXITING";//系统退出中
@CodeInfo("2.4.0")
String AUTOPILOT_READY = "ISYS_AUTOPILOT_READY";//自动驾驶状态就绪
@CodeInfo("2.4.0")
String AUTOPILOT_STARTING = "ISYS_AUTOPILOT_STARTING";//自动驾驶启动中
@CodeInfo("2.4.0")
String AUTOPILOT_RUNING = "ISYS_AUTOPILOT_RUNING";//自动驾驶运行中
@CodeInfo("2.4.0")
String TOPIC_FREQ_NORMAL = "ISYS_TOPIC_FREQ_NORMAL";//topic频率正常或者恢复正常
@Deprecated
@CodeInfo(value = "2.4.0", deprecated = "2.5.0")
String RTK_STATUS_NORMAL = "ISYS_RTK_STATUS_NORMAL";//rtk状态正常或恢复正常
@CodeInfo("2.4.0")
String CAN_NORMAL = "ISYS_CAN_NORMAL";//底盘状态正常或恢复正常
@CodeInfo("2.5.0")
String REOMTEPILOT_STARTING = "ISYS_REOMTEPILOT_STARTING";//平行驾驶启动中
@CodeInfo("2.5.0")
String REOMTEPILOT_RUNING = "ISYS_REOMTEPILOT_RUNING";//平行驾驶运行中
@CodeInfo("2.6.0")
String SYSTEM_IN_IDLE = "ISYS_SYSTEM_IN_IDLE";//系统进入空闲状态
@CodeInfo("2.6.0")
String SYSTEM_OUT_IDLE = "ISYS_SYSTEM_OUT_IDLE";//系统退出空闲状态
@CodeInfo("3.3.0")
String ALREADY_AUTOPILOT_STATE = "ISYS_ALREADY_AUTOPILOT_STATE";//已经在自驾状态驾驶,忽略自驾命令
@CodeInfo("3.3.1")
String AUTOPILOT_TAKEN_OVER_BY_REMOTE = "ISYS_AUTOPILOT_TAKEN_OVER_BY_REMOTE";//自动驾驶被远程驾驶接管
@CodeInfo("3.6.0")
String AUTOPILOT_TRA_LOADED = "ISYS_AUTOPILOT_TRA_LOADED";//自动驾驶路线加载成功
@CodeInfo("3.6.0")
String AUTOPILOT_SHELL_WASTETIME = "ISYS_AUTOPILOT_SHELL_WASTETIME";//记录autopilot.sh脚本耗时
/*******轨迹下载相关*******/
@CodeInfo("2.5.0")
String INIT_TRAJECTORY_START = "ISYS_INIT_TRAJECTORY_START";//轨迹管理_轨迹开始下载
@CodeInfo("2.5.0")
String INIT_TRAJECTORY_SUCCESS = "ISYS_INIT_TRAJECTORY_SUCCESS";//轨迹管理_轨迹下载成功
@CodeInfo("2.5.0")
String INIT_TRAJECTORY_FAILURE = "ISYS_INIT_TRAJECTORY_FAILURE";//轨迹管理_轨迹下载失败本地无对应轨迹
@CodeInfo("2.5.0")
String INIT_TRAJECTORY_WARNING = "ISYS_INIT_TRAJECTORY_WARNING";//轨迹管理_轨迹下载失败本地有对应轨迹认为成功
@CodeInfo("2.5.0")
String INIT_TRAJECTORY_TIMEOUT = "ISYS_INIT_TRAJECTORY_TIMEOUT";//轨迹管理_轨迹下载超时
/*******配置更新相关*******/
@CodeInfo("2.6.0")
String CONFIG_UPDATE_HADMAP = "ISYS_CONFIG_UPDATE_HADMAP";//需要重启升级高精地图
@CodeInfo("2.9.0")
String CONFIG_UPDATE_AI_MODEL = "ISYS_CONFIG_UPDATE_AI_MODEL";//需要重启升级AI模型
@CodeInfo("2.9.0")
String CONFIG_UPDATE_SLAM_MAP = "ISYS_CONFIG_UPDATE_SLAM_MAP";//需要重启升级SLAM地图
@CodeInfo("2.10.0")
String CONFIG_UPDATING_HD_MAP = "ISYS_CONFIG_UPDATING_HD_MAP";//高精地图更新中
@CodeInfo("2.10.0")
String CONFIG_UPDATING_SLAM_MAP = "ISYS_CONFIG_UPDATING_SLAM_MAP";//slam 地图更新中
@CodeInfo("2.10.0")
String CONFIG_UPDATING_AI_MODEL = "ISYS_CONFIG_UPDATING_AI_MODEL";//AI模型更新中
@CodeInfo("2.10.0")
String CONFIG_UPDATING_GRID_MAP = "ISYS_CONFIG_UPDATING_GRID_MAP";//珊格地图更新中
String TRAJECTORY_AGENT_READY = "ISYS_TRAJECTORY_AGENT_READY ";//配置下载客户端已就绪
@CodeInfo("3.5.0")
String TRAJECTORY_AGENT_READY = "ISYS_TRAJECTORY_AGENT_READY";//配置下载客户端已就绪
}
/**
* 系统状态 常规信息
*/
interface ISSM {
@CodeInfo("2.10.0")
String INIT = "ISSM_INIT";//SSM系统上电初始化
@CodeInfo("2.10.0")
String RESTARTED = "ISSM_RESTARTED";//SSM系统发生重启
@CodeInfo("3.4.0")
String AUTO_PILOT_STATE_CHANGE = "ISSM_AUTO_PILOT_STATE_CHANGE";//自驾状态变化msg填写 1 to 0
@CodeInfo("3.4.0")
String REMOTE_PILOT_STATE_CHANGE = "ISSM_REMOTE_PILOT_STATE_CHANGE";//平行驾驶状态变化, msg填写 1 to 6
@CodeInfo("3.4.0")
String AUTO_PILOT_FINISH = "ISSM_AUTO_PILOT_FINISH";//一次自驾请求处理结束
@CodeInfo("3.4.0")
String REMOTE_PILOT_FINISH = "ISSM_REMOTE_PILOT_FINISH";//一次平行驾驶处理结束
@CodeInfo("3.7.0")
String OTA_UPGRADE_START = "ISSM_OTA_UPGRADE_START";//OTA升级开始升级内容见msg
@CodeInfo("3.7.0")
String OTA_UPGRADE_FINISH = "ISSM_OTA_UPGRADE_FINISH";//OTA升级结束升级内容见msg
@CodeInfo("3.7.0")
String RECEIVE_SHUTDOWN_SIGNAL = "ISSM_RECEIVE_SHUTDOWN_SIGNAL";//SSM收到下电信号
@CodeInfo("3.3.0")
String HAVE_AGENT_CONNECTED = "ISSM_HAVE_AGENT_CONNECTED";//agent已连接成功
// String MODE_XX_START = "ISSM_MODE_XX_START";//SSM变更模式开始
@@ -437,25 +700,43 @@ public class MogoReport {
//以上6组被注释掉的字段 中的MODE_XX分别替换成MODE_RUN、MODE_IDLE、MODE_STOP
@CodeInfo("2.10.0")
String MODE_RUN_START = "ISSM_MODE_RUN_START";//SSM变更模式开始
@CodeInfo("2.10.0")
String MODE_RUN_FINISH = "ISSM_MODE_RUN_FINISH";//SSM变更模式完成第一次ready
@CodeInfo("2.10.0")
String MODE_RUN_ABORT = "ISSM_MODE_RUN_ABORT";//SSM变更模式中止
@CodeInfo("2.10.0")
String MODE_RUN_TIMEOUT = "ISSM_MODE_RUN_TIMEOUT";//SSM变更模式超时
@CodeInfo("2.10.0")
String MODE_RUN_READY = "ISSM_MODE_RUN_READY";//SSM模式就绪
@CodeInfo("2.10.0")
String MODE_RUN_UNREADY = "ISSM_MODE_RUN_UNREADY";//SSM未就绪
@CodeInfo("2.10.0")
String MODE_IDLE_START = "ISSM_MODE_IDLE_START";//SSM变更模式开始
@CodeInfo("2.10.0")
String MODE_IDLE_FINISH = "ISSM_MODE_IDLE_FINISH";//SSM变更模式完成第一次ready
@CodeInfo("2.10.0")
String MODE_IDLE_ABORT = "ISSM_MODE_IDLE_ABORT";//SSM变更模式中止
@CodeInfo("2.10.0")
String MODE_IDLE_TIMEOUT = "ISSM_MODE_IDLE_TIMEOUT";//SSM变更模式超时
@CodeInfo("2.10.0")
String MODE_IDLE_READY = "ISSM_MODE_IDLE_READY";//SSM模式就绪
@CodeInfo("2.10.0")
String MODE_IDLE_UNREADY = "ISSM_MODE_IDLE_UNREADY";//SSM未就绪
@CodeInfo("2.10.0")
String MODE_STOP_START = "ISSM_MODE_STOP_START";//SSM变更模式开始
@CodeInfo("2.10.0")
String MODE_STOP_FINISH = "ISSM_MODE_STOP_FINISH";//SSM变更模式完成第一次ready
@CodeInfo("2.10.0")
String MODE_STOP_ABORT = "ISSM_MODE_STOP_ABORT";//SSM变更模式中止
@CodeInfo("2.10.0")
String MODE_STOP_TIMEOUT = "ISSM_MODE_STOP_TIMEOUT";//SSM变更模式超时
@CodeInfo("2.10.0")
String MODE_STOP_READY = "ISSM_MODE_STOP_READY";//SSM模式就绪
@CodeInfo("2.10.0")
String MODE_STOP_UNREADY = "ISSM_MODE_STOP_UNREADY";//SSM未就绪
// String FUNC_YY_START = "ISSM_FUNC_YY_START";//产品状态检查开始
@@ -466,38 +747,60 @@ public class MogoReport {
// String FUNC_YY_READY = "ISSM_FUNC_YY_READY";//产品状态就绪
//以上6组被注释掉的字段 中的FUNC_YY分别替换成FUNC_COLD_START、FUNC_AUTO_PILOT、FUNC_REMOTE_PILOT
@CodeInfo("2.10.0")
String FUNC_COLD_START_START = "ISSM_FUNC_COLD_START_START";//产品状态检查开始
@CodeInfo("2.10.0")
String FUNC_COLD_START_FINISH = "ISSM_FUNC_COLD_START_FINISH";//产品状态达成第一次ready
@CodeInfo("2.10.0")
String FUNC_COLD_START_TIMEOUT = "ISSM_FUNC_COLD_START_TIMEOUT";//产品状态检查超时
@CodeInfo("2.10.0")
String FUNC_COLD_START_ABORT = "ISSM_FUNC_COLD_START_ABORT";//产品状态检查中止
@CodeInfo("2.10.0")
String FUNC_COLD_START_UNREADY = "ISSM_FUNC_COLD_START_UNREADY";//产品状态未就绪
@CodeInfo("2.10.0")
String FUNC_COLD_START_READY = "ISSM_FUNC_COLD_START_READY";//产品状态就绪
@CodeInfo("2.10.0")
String FUNC_AUTO_PILOT_START = "ISSM_FUNC_AUTO_PILOT_START";//产品状态检查开始
@CodeInfo("2.10.0")
String FUNC_AUTO_PILOT_FINISH = "ISSM_FUNC_AUTO_PILOT_FINISH";//产品状态达成第一次ready
@CodeInfo("2.10.0")
String FUNC_AUTO_PILOT_TIMEOUT = "ISSM_FUNC_AUTO_PILOT_TIMEOUT";//产品状态检查超时
@CodeInfo("2.10.0")
String FUNC_AUTO_PILOT_ABORT = "ISSM_FUNC_AUTO_PILOT_ABORT";//产品状态检查中止
@CodeInfo("2.10.0")
String FUNC_AUTO_PILOT_UNREADY = "ISSM_FUNC_AUTO_PILOT_UNREADY";//产品状态未就绪
@CodeInfo("2.10.0")
String FUNC_AUTO_PILOT_READY = "ISSM_FUNC_AUTO_PILOT_READY";//产品状态就绪
@CodeInfo("2.10.0")
String FUNC_REMOTE_PILOT_START = "ISSM_FUNC_REMOTE_PILOT_START";//产品状态检查开始
@CodeInfo("2.10.0")
String FUNC_REMOTE_PILOT_FINISH = "ISSM_FUNC_REMOTE_PILOT_FINISH";//产品状态达成第一次ready
@CodeInfo("2.10.0")
String FUNC_REMOTE_PILOT_TIMEOUT = "ISSM_FUNC_REMOTE_PILOT_TIMEOUT";//产品状态检查超时
@CodeInfo("2.10.0")
String FUNC_REMOTE_PILOT_ABORT = "ISSM_FUNC_REMOTE_PILOT_ABORT";//产品状态检查中止
@CodeInfo("2.10.0")
String FUNC_REMOTE_PILOT_UNREADY = "ISSM_FUNC_REMOTE_PILOT_UNREADY";//产品状态未就绪
@CodeInfo("2.10.0")
String FUNC_REMOTE_PILOT_READY = "ISSM_FUNC_REMOTE_PILOT_READY";//产品状态就绪
}
interface IAGENT {
@CodeInfo("2.4.0")
String EXECUTE_MASTER_COMMAND = "IAGENT_EXECUTE_MASTER_COMMAND";//执行系统指令成功
}
interface ICAM {
@CodeInfo("2.5.0")
String READY = "ICAM_READY";//相机已就绪
}
interface ILCT {
@CodeInfo("2.5.0")
String RTK_STATUS_NORMAL = "ILCT_RTK_STATUS_NORMAL";//rtk状态正常或恢复正常
@CodeInfo("2.6.0")
String RTK_OR_SLAM_CHANGE = "ILCT_RTK_OR_SLAM_CHANGE";//定位输出源发生RTK和SLAM变换
}
@@ -505,7 +808,9 @@ public class MogoReport {
* 推流状态
*/
interface IPUSH {
@CodeInfo("2.10.0")
String VIDEO_INIT_SUCCESS = "IPUSH_VIDEO_INIT_SUCCESS";//推流初始化成功
@CodeInfo("2.10.0")
String VIDEO_START_SERVICE_SUCCESS = "IPUSH_VIDEO_START_SERVICE_SUCCESS";//推流服务启动成功
}
@@ -513,7 +818,9 @@ public class MogoReport {
* 录包状态
*/
interface IRECORDER {
@CodeInfo("2.10.0")
String TASK_AUTO = "IRECORDER_TASK_AUTO";//自动录包任务创建
@CodeInfo("2.10.0")
String TASK_CMD = "IRECORDER_TASK_CMD";//指令录包任务创建
}
@@ -521,6 +828,7 @@ public class MogoReport {
* 平行驾驶相关
*/
interface IPARALLEL {
@CodeInfo("2.11.0")
String AICLOUD_CONNECTION_OK = "IPARALLEL_AICLOUD_CONNECTION_OK";//长连接连接恢复后, 5s 内如果长连状态一直 ok 的话,会触发该事件 建议鹰眼展示该事件
}
@@ -528,6 +836,7 @@ public class MogoReport {
* 车辆处于困境相关
*/
interface IVEHICLE {
@CodeInfo("2.11.0")
String NOT_IN_TROUBLE = "IVEHICLE_NOT_IN_TROUBLE";//车辆脱离困境,恢复正常,可继续开始自动驾驶了 触发频率:处于困境中,触发一次; 脱困后,触发一次 云端驾舱会接入该事件 建议鹰眼也接入,展示困境状态/脱困状态
}
@@ -535,8 +844,11 @@ public class MogoReport {
* IFSM(功能状态管理)
*/
interface IFSM {
@CodeInfo("3.5.0")
String AUTO_PILOT_STATE_CHANGED = "IFSM_AUTO_PILOT_STATE_CHANGED";//自动驾驶状态机变化 msg 填写如 standby to active
@CodeInfo("3.5.0")
String REMOTE_PILOT_STATE_CHANGED = "IFSM_REMOTE_PILOT_STATE_CHANGED";//平行驾驶状态机变化
@CodeInfo("3.5.0")
String TELECTRL_PILOT_STATE_CHANGED = "IFSM_TELECTRL_PILOT_STATE_CHANGED";//遥感驾驶状态机变化
}
@@ -544,12 +856,74 @@ public class MogoReport {
* IFM (故障管理)
*/
interface IFM {
@CodeInfo("3.4.0")
String HANDLE_FAULTS_START = "IFM_HANDLE_FAULTS_START";//FM开始处理故障
@CodeInfo("3.4.0")
String HANDLE_FAULTS_STOP = "IFM_HANDLE_FAULTS_STOP";//FM停止处理故障
@CodeInfo("3.4.0")
String ALL_FAULTS_RECOVER = "IFM_ALL_FAULTS_RECOVER";//FM当前已无故障 (只有有故障到全都消失时候上报)
@CodeInfo("3.4.0")
String ONLY_WARNING_FAULTS = "IFM_ONLY_WARNING_FAULTS";//FM仅存在警示故障
@CodeInfo("3.4.0")
String ERROR1_SLOW_SPEED = "IFM_ERROR1_SLOW_SPEED";//存在故障触发减速策略
}
/**
* IMF蘑方消息回执
*/
interface IMF {
@CodeInfo("3.7.1")
String SPEED_CHANGE_RECEIVE = "IMF_SPEED_CHANGE_RECEIVE";//蘑方加速度变化指令收到msg字段的拼接方式为传进来的加速度值$$其它想加的内容,没有可以不填)
@CodeInfo("3.7.1")
String SPEED_CHANGE_EXECUTE = "IMF_SPEED_CHANGE_EXECUTE";//蘑方加速度变化指令执行msg字段的拼接方式为传进来的加速度值$$其它想加的内容,没有可以不填)
@CodeInfo("3.7.1")
String SPEED_RESET_RECEIVE = "IMF_SPEED_RESET_RECEIVE";//蘑方复位指令收到msg字段的拼接方式为传进来的加速度值$$其它想加的内容,没有可以不填)
@CodeInfo("3.7.1")
String SPEED_RESET_EXECUTE = "IMF_SPEED_RESET_EXECUTE";// 蘑方复位指令执行msg字段的拼接方式为传进来的加速度值$$其它想加的内容,没有可以不填)
@CodeInfo("3.7.1")
String LAN_CHANG_RECEIVE = "IMF_LAN_CHANG_RECEIVE";//蘑方变道指令收到msg字段的拼接方式为-1/1$$其它想加的内容,没有可以不填) -1: 左变道1: 右变道
@CodeInfo("3.7.1")
String LAN_CHANG_EXECUTE = "IMF_LAN_CHANG_EXECUTE";//蘑方变道指令执行msg字段的拼接方式为-1/1$$其它想加的内容,没有可以不填) -1: 左变道1: 右变道
@CodeInfo("3.7.1")
String HORN_RECEIVE = "IMF_HORN_RECEIVE";//蘑方鸣笛指令收到msg字段的拼接方式为1.0/2.0$$其它想加的内容,没有可以不填) 1.0开始鸣笛2.0: 结束鸣笛
@CodeInfo("3.7.1")
String HORN_EXECUTE = "IMF_HORN_EXECUTE";//蘑方鸣笛指令执行msg字段的拼接方式为1.0/2.0$$其它想加的内容,没有可以不填) 1.0开始鸣笛2.0: 结束鸣笛
}
}
}
private static final Map<String, ReportCodeInfo> codeInfoMap = new HashMap<>();
/**
* 获取指定Code的相关信息
*
* @param code 指定Code {@link Code}
* @return 输入Code的相关信息 不存在返回null
*/
public static ReportCodeInfo getReportCodeState(String code) {
if (codeInfoMap.isEmpty()) {
getAllFieldAnnotation(Code.class);
}
return codeInfoMap.get(code);
}
//获取所有的字段
private static void getAllFieldAnnotation(Class<?> clazz) {
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
boolean fieldHasAnno = field.isAnnotationPresent(CodeInfo.class);
if (fieldHasAnno) {
CodeInfo fieldAnno = field.getAnnotation(CodeInfo.class);
if (fieldAnno != null) {
String code = clazz.getSimpleName() + "_" + field.getName();
ReportCodeInfo state = new ReportCodeInfo(code, fieldAnno.value(), fieldAnno.deprecated());
codeInfoMap.put(code, state);
}
}
}
Class<?>[] innerClazz = clazz.getDeclaredClasses();
for (Class<?> inner : innerClazz) {
getAllFieldAnnotation(inner);
}
}
}

View File

@@ -0,0 +1,28 @@
package com.zhjt.mogo.adas.data.bean;
public class ReportCodeInfo {
public final String code;
/**
* 开始支持的版本(包含)
*/
public final String sinceVersion;
/**
* 弃用的版本(不包含)
* null或"" 表示还未弃用
*/
public final String deprecatedVersion;
public ReportCodeInfo(String code, String sinceVersion, String deprecatedVersion) {
this.code = code;
this.sinceVersion = sinceVersion;
this.deprecatedVersion = deprecatedVersion;
}
@Override
public String toString() {
return code +
" sinceVersion='" + sinceVersion + '\'' +
", deprecatedVersion='" + deprecatedVersion + '\'' +
'}';
}
}