|
@@ -1,4 +1,8 @@
|
|
|
|
|
|
+#define MAIN_TEST 1
|
|
|
+//#define PROCESS_TEST 1
|
|
|
+//#define TIME_TEST 1
|
|
|
+
|
|
|
//Error_code是错误码的底层通用模块,
|
|
|
//功能:用作故障分析和处理。
|
|
|
|
|
@@ -53,9 +57,18 @@ enum Error_code
|
|
|
WARNING = 0x00000003,//警告
|
|
|
FAILED = 0x00000004,//失败
|
|
|
|
|
|
- NO_DATA = 0x00000010,//没有数据,传入参数容器内部没有数据时,
|
|
|
+ NODATA = 0x00000010,//没有数据,传入参数容器内部没有数据时,
|
|
|
INVALID_MESSAGE = 0x00000011, //无效的消息,
|
|
|
- RESPONSE_TIMEOUT = 0x00000012,
|
|
|
+ PARSE_FAILED = 0x00000012,//解析失败
|
|
|
+
|
|
|
+ PAUSE = 0x00000013, //急停
|
|
|
+ TASK_CANCEL = 0x00000014, //任务取消
|
|
|
+
|
|
|
+ DISCONNECT = 0x00000020, //通讯中断/断开连接
|
|
|
+ UNKNOW_STATU = 0x00000021, //未知状态
|
|
|
+
|
|
|
+ TASK_TIMEOVER = 0x00000020,//任务超时
|
|
|
+ RESPONSE_TIMEOUT = 0x00000021,//答复超时
|
|
|
|
|
|
POINTER_IS_NULL = 0x00000101,//空指针
|
|
|
PARAMETER_ERROR = 0x00000102,//参数错误,传入参数不符合规范时,
|
|
@@ -78,6 +91,48 @@ enum Error_code
|
|
|
// 注:错误码的制定从1开始,不要从0开始,
|
|
|
// 0用作错误码的基数,用来位运算,来判断错误码的范围。
|
|
|
|
|
|
+
|
|
|
+ //主控通信
|
|
|
+ LOCATER_MSG_TABLE_NOT_EXIST = 0xa0010000,
|
|
|
+ LOCATER_MSG_RESPONSE_TYPE_ERROR, //测量反馈消息类型错误(致命)
|
|
|
+ LOCATER_MSG_RESPONSE_INFO_ERROR,
|
|
|
+ LOCATER_MSG_REQUEST_CANCELED,
|
|
|
+ LOCATER_MSG_REQUEST_INVALID,
|
|
|
+ LOCATER_MSG_RESPONSE_HAS_NO_REQUEST,
|
|
|
+ LOCATER_MSG_REQUEST_REPEATED,
|
|
|
+
|
|
|
+ /*
|
|
|
+ * parkspace error code
|
|
|
+ */
|
|
|
+ PARKSPACE_REQUEST_MSG_TYPE_ERROR = 0xa1010000,
|
|
|
+ PARKSPACE_ALLOCMSG_RESPONSE_HAS_NO_REQUEST,
|
|
|
+ PARKSPACE_SEARCHMSG_RESPONSE_HAS_NO_REQUEST,
|
|
|
+ PARKSPACE_RELEASEMSG_RESPONSE_HAS_NO_REQUEST,
|
|
|
+ PARKSPACE_ALLOC_REQUEST_INVALID,
|
|
|
+ PARKSPACE_SEARCH_REQUEST_INVALID,
|
|
|
+ PARKSPACE_RELEASE_REQUEST_INVALID,
|
|
|
+
|
|
|
+ PARKSPACE_ALLOC_REQUEST_REPEATED,
|
|
|
+ PARKSPACE_SEARCH_REQUEST_REPEATED,
|
|
|
+ PARKSPACE_RELEASE_REQUEST_REPEATED,
|
|
|
+
|
|
|
+ PARKSPACE_ALLOC_RESPONSE_TYPE_ERROR,
|
|
|
+ PARKSPACE_SEARCH_RESPONSE_TYPE_ERROR,
|
|
|
+ PARKSPACE_RELEASE_RESPONSE_TYPE_ERROR,
|
|
|
+
|
|
|
+ PARKSPACE_ALLOC_RESPONSE_INFO_ERROR,
|
|
|
+ PARKSPACE_SEARCH_RESPONSE_INFO_ERROR,
|
|
|
+ PARKSPACE_RELEASE_RESPONSE_INFO_ERROR,
|
|
|
+
|
|
|
+ PARKSPACE_ALLOC_REQUEST_CANCELED,
|
|
|
+ PARKSPACE_SEARCH_REQUEST_CANCELED,
|
|
|
+ PARKSPACE_RELEASE_REQUEST_CANCELED,
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
// laser扫描模块
|
|
|
LASER_ERROR_BASE = 0x01000000,
|
|
|
|
|
@@ -93,7 +148,7 @@ enum Error_code
|
|
|
LASER_QUEUE_ERROR, //雷达基类模块, 数据缓存错误
|
|
|
|
|
|
|
|
|
-// laser_livox.cpp的错误码
|
|
|
+// livox 大疆雷达
|
|
|
LIVOX_ERROR_BASE = 0x01020000,
|
|
|
LIVOX_START_FAILE, //livox模块,开始扫描失败
|
|
|
LIVOX_TASK_TYPE_ERROR, //livox模块,任务类型错误
|
|
@@ -109,8 +164,8 @@ enum Error_code
|
|
|
LASER_MANAGER_STATUS_ERROR, //雷达管理模块,状态错误
|
|
|
LASER_MANAGER_TASK_TYPE_ERROR, //雷达管理模块,任务类型错误
|
|
|
LASER_MANAGER_IS_NOT_READY, //雷达管理模块,不在准备状态
|
|
|
- LASER_MANAGER_LASER_INDEX_ERRPR, //雷达管理模块,雷达索引错误,编号错误。
|
|
|
LASER_MANAGER_TASK_OVER_TIME, //雷达管理模块,任务超时
|
|
|
+ LASER_MANAGER_LASER_INDEX_ERRPR, //雷达管理模块,雷达索引错误,编号错误。
|
|
|
LASER_MANAGER_LASER_INDEX_REPEAT, //雷达管理模块,需要扫描的雷达索引重复,可忽略的错误,提示作用
|
|
|
|
|
|
//livox_driver 雷达livox驱动模块
|
|
@@ -123,9 +178,21 @@ enum Error_code
|
|
|
|
|
|
|
|
|
|
|
|
+ //PLC error code ...
|
|
|
+ PLC_ERROR_BASE = 0x02010000,
|
|
|
+ PLC_UNKNOWN_ERROR, //plc未知错误
|
|
|
+ PLC_EMPTY_TASK, //plc任务为空
|
|
|
+ PLC_IP_PORT_ERROR, //plc的ip端口错误
|
|
|
+ PLC_SLAVE_ID_ERROR, //plc的身份id错误
|
|
|
+ PLC_CONNECTION_FAILED, //PLC连接失败
|
|
|
+ PLC_READ_FAILED, //plc读取失败
|
|
|
+ PLC_WRITE_FAILED, //plc写入失败
|
|
|
+ PLC_NOT_ENOUGH_DATA_ERROR, //PLC没有足够的数据错误
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
//locate 定位模块,
|
|
|
LOCATER_ERROR_BASE = 0x03000000,
|
|
|
-
|
|
|
//LASER_MANAGER 定位管理模块
|
|
|
LOCATER_MANAGER_ERROR_BASE = 0x03010000,
|
|
|
LOCATER_MANAGER_READ_PROTOBUF_ERROR, //定位管理模块,读取参数错误
|
|
@@ -134,68 +201,73 @@ enum Error_code
|
|
|
LOCATER_MANAGER_TASK_TYPE_ERROR, //定位管理模块,任务类型错误
|
|
|
LOCATER_MANAGER_IS_NOT_READY, //定位管理模块,不在准备状态
|
|
|
LOCATER_MANAGER_CLOUD_MAP_ERROR, //定位管理模块,任务输入点云map的error
|
|
|
- LOCATE_MANAGER_TASK_OVER_TIME,
|
|
|
+ LOCATER_MANAGER_TASK_OVER_TIME, //定位管理模块,任务超时
|
|
|
|
|
|
|
|
|
- //Locater.cpp error from 0x0301000-0x030100FF
|
|
|
- LOCATER_TASK_INIT_CLOUD_EMPTY ,
|
|
|
- LOCATER_TASK_ERROR,
|
|
|
- LOCATER_TASK_INPUT_CLOUD_UNINIT,
|
|
|
- LOCATER_INPUT_CLOUD_EMPTY,
|
|
|
- LOCATER_YOLO_UNINIT,
|
|
|
- LOCATER_POINTSIFT_UNINIT,
|
|
|
- LOCATER_3DCNN_UNINIT,
|
|
|
- LOCATER_INPUT_YOLO_CLOUD_EMPTY,
|
|
|
- LOCATER_Y_OUT_RANGE_BY_PLC,
|
|
|
- LOCATER_MEASURE_HEIGHT_CLOUD_UNINIT,
|
|
|
- LOCATER_MEASURE_HEIGHT_CLOUD_EMPTY,
|
|
|
- LOCATER_INPUT_CLOUD_UNINIT,
|
|
|
+ //Locater 算法模块
|
|
|
+ LOCATER_ALGORITHM_ERROR_BASE = 0x03020000,
|
|
|
+ LOCATER_TASK_INIT_CLOUD_EMPTY, //定位任务初始化点云为空
|
|
|
+ LOCATER_TASK_ERROR, //定位任务错误
|
|
|
+ LOCATER_TASK_INPUT_CLOUD_UNINIT, //定位任务输入点云为空
|
|
|
+ LOCATER_INPUT_CLOUD_EMPTY, //定位输入点云为空
|
|
|
+ LOCATER_YOLO_UNINIT, //定位yolo未初始化
|
|
|
+ LOCATER_POINTSIFT_UNINIT, //定位POINTSIFT未初始化
|
|
|
+ LOCATER_3DCNN_UNINIT, //定位3DCNN未初始化
|
|
|
+ LOCATER_INPUT_YOLO_CLOUD_EMPTY, //定位输入yolo点云为空
|
|
|
+ LOCATER_Y_OUT_RANGE_BY_PLC, //定位超出plc的限制范围
|
|
|
+ LOCATER_MEASURE_HEIGHT_CLOUD_UNINIT, //定位测量高点云未初始化
|
|
|
+ LOCATER_MEASURE_HEIGHT_CLOUD_EMPTY, //定位测量高点云为空
|
|
|
+ LOCATER_INPUT_CLOUD_UNINIT, //定位输入点云未初始化
|
|
|
|
|
|
|
|
|
//point sift from 0x03010100-0x030101FF
|
|
|
- LOCATER_SIFT_INIT_FAILED=0x03010100,
|
|
|
- LOCATER_SIFT_INPUT_CLOUD_UNINIT,
|
|
|
- LOCATER_SIFT_INPUT_CLOUD_EMPTY,
|
|
|
- LOCATER_SIFT_GRID_ERROR,
|
|
|
- LOCATER_SIFT_SELECT_ERROR,
|
|
|
- LOCATER_SIFT_CLOUD_VERY_LITTLE,
|
|
|
- LOCATER_SIFT_CREATE_INPUT_DATA_FAILED,
|
|
|
- LOCATER_SIFT_PREDICT_FAILED,
|
|
|
- LOCATER_SIFT_PREDICT_NO_WHEEL_POINT,
|
|
|
- LOCATER_SIFT_PREDICT_NO_CAR_POINT,
|
|
|
-
|
|
|
- LOCATER_SIFT_FILTE_OBS_FAILED,
|
|
|
- LOCATER_SIFT_INPUT_BOX_PARAMETER_FAILED,
|
|
|
-
|
|
|
-// //yolo from 0x03010200-0x030102FF
|
|
|
-// LOCATER_YOLO_DETECT_FAILED=0x03010200,
|
|
|
+ LOCATER_SIFT_ERROR_BASE =0x03020100,
|
|
|
+ LOCATER_SIFT_INIT_FAILED, //定位过滤模块,初始化失败
|
|
|
+ LOCATER_SIFT_INPUT_CLOUD_UNINIT, //定位过滤模块,输入点云未初始化
|
|
|
+ LOCATER_SIFT_INPUT_CLOUD_EMPTY, //定位过滤模块,输入点云为空
|
|
|
+ LOCATER_SIFT_GRID_ERROR, //定位过滤模块,筛选网格错误
|
|
|
+ LOCATER_SIFT_SELECT_ERROR, //定位过滤模块,筛选选择错误
|
|
|
+ LOCATER_SIFT_CLOUD_VERY_LITTLE, //定位过滤模块,筛选点云很少
|
|
|
+ LOCATER_SIFT_CREATE_INPUT_DATA_FAILED, //定位过滤模块,筛选创建输入数据失败
|
|
|
+ LOCATER_SIFT_PREDICT_FAILED, //定位过滤模块,预测失败
|
|
|
+ LOCATER_SIFT_PREDICT_TIMEOUT, //定位过滤模块,预测超时
|
|
|
+ LOCATER_SIFT_PREDICT_NO_WHEEL_POINT, //定位过滤模块,预测结果没有车轮点云
|
|
|
+ LOCATER_SIFT_PREDICT_NO_CAR_POINT, //定位过滤模块,预测结果没有车身点云
|
|
|
+
|
|
|
+ LOCATER_SIFT_FILTE_OBS_FAILED, //定位过滤模块,过滤OBS失败
|
|
|
+ LOCATER_SIFT_INPUT_BOX_PARAMETER_FAILED, //定位过滤模块,输入范围参数错误
|
|
|
+
|
|
|
+// //yolo
|
|
|
+// LOCATER_YOLO_ERROR_BASE =0x03020200,
|
|
|
+// LOCATER_YOLO_DETECT_FAILED,
|
|
|
// LOCATER_YOLO_DETECT_NO_TARGET,
|
|
|
// LOCATER_YOLO_PARAMETER_INVALID,
|
|
|
// LOCATER_YOLO_INPUT_CLOUD_UNINIT,
|
|
|
|
|
|
//3dcnn from 0x03010300-0x030103FF
|
|
|
- LOCATER_3DCNN_INIT_FAILED=0x03010300,
|
|
|
- LOCATER_3DCNN_INPUT_CLOUD_UNINIT,
|
|
|
- LOCATER_3DCNN_INPUT_CLOUD_EMPTY,
|
|
|
- LOCATER_3DCNN_INPUT_CLOUD_MAP_ERROR,
|
|
|
- LOCATER_3DCNN_PCA_OUT_ERROR,
|
|
|
- LOCATER_3DCNN_EXTRACT_RECT_ERROR,
|
|
|
- LOCATER_3DCNN_RECT_SIZE_ERROR,
|
|
|
-
|
|
|
- LOCATER_3DCNN_PREDICT_FAILED,
|
|
|
- LOCATER_3DCNN_VERIFY_RECT_FAILED_3,
|
|
|
- LOCATER_3DCNN_VERIFY_RECT_FAILED_4,
|
|
|
- LOCATER_3DCNN_KMEANS_FAILED,
|
|
|
- LOCATER_3DCNN_IIU_FAILED,
|
|
|
- LOCATER_3DCNN_PCA_OUT_CLOUD_EMPTY,
|
|
|
+ LOCATER_3DCNN_ERROR_BASE =0x03020300,
|
|
|
+ LOCATER_3DCNN_INIT_FAILED, //定位3DCNN模块,初始化失败
|
|
|
+ LOCATER_3DCNN_INPUT_CLOUD_UNINIT, //定位3DCNN模块,输入点云未初始化
|
|
|
+ LOCATER_3DCNN_INPUT_CLOUD_EMPTY, //定位3DCNN模块,输入点云为空
|
|
|
+ LOCATER_3DCNN_INPUT_CLOUD_MAP_ERROR, //定位3DCNN模块,输入点云的map错误
|
|
|
+ LOCATER_3DCNN_PCA_OUT_ERROR, //定位3DCNN模块,pca错误
|
|
|
+ LOCATER_3DCNN_EXTRACT_RECT_ERROR, //定位3DCNN模块,提取矩形错误
|
|
|
+ LOCATER_3DCNN_RECT_SIZE_ERROR, //定位3DCNN模块,矩形范围错误
|
|
|
+
|
|
|
+ LOCATER_3DCNN_PREDICT_FAILED, //定位3DCNN模块,预测失败
|
|
|
+ LOCATER_3DCNN_VERIFY_RECT_FAILED_3, //定位3DCNN模块,验证矩形失败3
|
|
|
+ LOCATER_3DCNN_VERIFY_RECT_FAILED_4, //定位3DCNN模块,验证矩形失败4
|
|
|
+ LOCATER_3DCNN_KMEANS_FAILED, //定位3DCNN模块,k均值失败
|
|
|
+ LOCATER_3DCNN_IIU_FAILED, //定位3DCNN模块,IIU失败
|
|
|
+ LOCATER_3DCNN_PCA_OUT_CLOUD_EMPTY, //定位3DCNN模块,pca输出点云为空
|
|
|
|
|
|
//System_manager error from 0x04010000-0x0401FFFF
|
|
|
- SYSTEM_READ_PARAMETER_ERROR=0x04010100,
|
|
|
+ SYSTEM_READ_PARAMETER_ERROR =0x04010100,
|
|
|
SYSTEM_PARAMETER_ERROR,
|
|
|
SYSTEM_INPUT_TERMINOR_NO_LASERS,
|
|
|
|
|
|
//terminor_command_executor.cpp from 0x04010200-0x040102FF
|
|
|
- TERMINOR_NOT_READY=0x04010200,
|
|
|
+ TERMINOR_NOT_READY =0x04010200,
|
|
|
TERMINOR_INPUT_LASER_NULL,
|
|
|
TERMINOR_NOT_CONTAINS_LASER,
|
|
|
TERMINOR_INPUT_PLC_NULL,
|
|
@@ -208,7 +280,7 @@ enum Error_code
|
|
|
|
|
|
////Hardware limit from 0x05010000 - 0x0501ffff
|
|
|
///railing.cpp from 0x05010100-0x050101ff
|
|
|
- HARDWARE_LIMIT_LEFT_RAILING=0x05010100, //左栏杆限制
|
|
|
+ HARDWARE_LIMIT_LEFT_RAILING =0x05010100, //左栏杆限制
|
|
|
HARDWARE_LIMIT_RAILING_PARAMETER_ERROR,
|
|
|
HARDWARE_LIMIT_RAILING_ERROR,
|
|
|
HARDWARE_LIMIT_CENTER_X_LEFT,
|
|
@@ -223,40 +295,109 @@ enum Error_code
|
|
|
HARDWARE_LIMIT_TERMINAL_LR_ERROR,
|
|
|
|
|
|
|
|
|
- //wj_lidar error from 0x06010000-0x0601FFFF
|
|
|
- WJ_LIDAR_CONNECT_FAILED=0x06010000,
|
|
|
- WJ_LIDAR_UNINITIALIZED,
|
|
|
- WJ_LIDAR_READ_FAILED,
|
|
|
- WJ_LIDAR_WRITE_FAILED,
|
|
|
- WJ_LIDAR_GET_CLOUD_TIMEOUT,
|
|
|
-
|
|
|
- //wj lidar protocol error from 0x06020000-0x0602FFFF
|
|
|
- WJ_PROTOCOL_ERROR_BASE=0x06020000,
|
|
|
- WJ_PROTOCOL_INTEGRITY_ERROR,
|
|
|
- WJ_PROTOCOL_PARSE_FAILED,
|
|
|
- WJ_PROTOCOL_EMPTY_PACKAGE,
|
|
|
- WJ_PROTOCOL_EXCEED_MAX_SIZE,
|
|
|
-
|
|
|
- //wj region detect error from 0x06030000-0x0603FFFF
|
|
|
- WJ_REGION_EMPTY_CLOUD=0x06030000,
|
|
|
- WJ_REGION_RECTANGLE_ANGLE_ERROR,
|
|
|
- WJ_REGION_RECTANGLE_SIZE_ERROR,
|
|
|
- WJ_REGION_RECTANGLE_SYMMETRY_ERROR,
|
|
|
- WJ_REGION_CLUSTER_SIZE_ERROR,
|
|
|
-
|
|
|
- //wj manager error from 0x06040000-0x0604FFFF
|
|
|
- WJ_MANAGER_UNINITIALIZED=0x06040000,
|
|
|
- WJ_MANAGER_LIDAR_DISCONNECTED,
|
|
|
- WJ_MANAGER_PLC_DISCONNECTED,
|
|
|
- WJ_MANAGER_EMPTY_CLOUD,
|
|
|
-
|
|
|
- WJ_LIDAR_TASK_EMPTY_RESULT=0x06050000,
|
|
|
- WJ_LIDAR_TASK_EMPTY_TASK,
|
|
|
- WJ_LIDAR_TASK_WRONG_TYPE,
|
|
|
- WJ_LIDAR_TASK_INVALID_TASK,
|
|
|
- WJ_LIDAR_TASK_MEASURE_FAILED,
|
|
|
-
|
|
|
-
|
|
|
+//万集设备模块,
|
|
|
+ WANJI_LIDAR_DEVICE_ERROR_BASE =0x06080000,//万集设备模块,错误基类
|
|
|
+ WANJI_LIDAR_DEVICE_STATUS_BUSY, //万集设备模块,状态正忙
|
|
|
+ WANJI_LIDAR_DEVICE_STATUS_ERROR, //万集设备模块,状态错误
|
|
|
+ WANJI_LIDAR_DEVICE_TASK_TYPE_ERROR, //万集设备模块,任务类型错误
|
|
|
+ WANJI_LIDAR_DEVICE_TASK_OVER_TIME, //万集设备模块,任务超时
|
|
|
+ WANJI_LIDAR_DEVICE_NO_CLOUD, //万集设备模块,没有点云
|
|
|
+ // velodyne设备模块
|
|
|
+ VELODYNE_LIDAR_DEVICE_ERROR_BASE, //velodyne设备模块,错误基类
|
|
|
+ VELODYNE_LIDAR_DEVICE_STATUS_BUSY, //velodyne设备模块,状态正忙
|
|
|
+ VELODYNE_LIDAR_DEVICE_STATUS_ERROR, //velodyne设备模块,状态错误
|
|
|
+ VELODYNE_LIDAR_DEVICE_TASK_TYPE_ERROR, //velodyne设备模块,任务类型错误
|
|
|
+ VELODYNE_LIDAR_DEVICE_TASK_OVER_TIME, //velodyne设备模块,任务超时
|
|
|
+ VELODYNE_LIDAR_DEVICE_NO_CLOUD, //velodyne设备模块,没有点云
|
|
|
+
|
|
|
+
|
|
|
+ //万集通信wj_lidar error from 0x06010000-0x0601FFFF
|
|
|
+ WJ_LIDAR_COMMUNICATION_ERROR_BASE =0x06010000,
|
|
|
+ WJ_LIDAR_COMMUNICATION_UNINITIALIZED, //万集通信,未初始化
|
|
|
+ WJ_LIDAR_COMMUNICATION_DISCONNECT, //万集通信,断连
|
|
|
+ WJ_LIDAR_COMMUNICATION_FAULT, //万集通信,故障
|
|
|
+ WJ_LIDAR_CONNECT_FAILED, //万集通信,连接失败
|
|
|
+ WJ_LIDAR_UNINITIALIZED, //万集通信,未初始化
|
|
|
+ WJ_LIDAR_READ_FAILED, //万集通信,读取失败
|
|
|
+ WJ_LIDAR_WRITE_FAILED, //万集通信,写入失败
|
|
|
+ WJ_LIDAR_GET_CLOUD_TIMEOUT, //万集通信,获取点云超时
|
|
|
+ // velodyne通信
|
|
|
+ VELODYNE_LIDAR_COMMUNICATION_UNINITIALIZED, //velodyne通信,未初始化
|
|
|
+ VELODYNE_LIDAR_COMMUNICATION_DISCONNECT, //velodyne通信,断连
|
|
|
+ VELODYNE_LIDAR_COMMUNICATION_FAULT, //velodyne通信,故障
|
|
|
+ VELODYNE_LIDAR_CONNECT_FAILED, //velodyne通信,连接失败
|
|
|
+ VELODYNE_LIDAR_UNINITIALIZED, //velodyne通信,未初始化
|
|
|
+ VELODYNE_LIDAR_READ_FAILED, //velodyne通信,读取失败
|
|
|
+ VELODYNE_LIDAR_WRITE_FAILED, //velodyne通信,写入失败
|
|
|
+ VELODYNE_LIDAR_GET_CLOUD_TIMEOUT, //velodyne通信,获取点云超时
|
|
|
+
|
|
|
+ //万集解析 wj lidar protocol error from 0x06020000-0x0602FFFF
|
|
|
+ WJ_PROTOCOL_ERROR_BASE =0x06020000,
|
|
|
+ WJ_PROTOCOL_STATUS_BUSY, //万集解析, 状态正忙
|
|
|
+ WJ_PROTOCOL_STATUS_ERROR, //万集解析, 状态错误
|
|
|
+ WJ_PROTOCOL_INTEGRITY_ERROR, //万集解析, 完整性错误
|
|
|
+ WJ_PROTOCOL_PARSE_FAILED, //万集解析, 解析失败
|
|
|
+ WJ_PROTOCOL_EMPTY_PACKAGE, //万集解析, 空包
|
|
|
+ WJ_PROTOCOL_EXCEED_MAX_SIZE, //万集解析, 超出最大范围
|
|
|
+
|
|
|
+ //万集测量范围 wj region detect error from 0x06030000-0x0603FFFF
|
|
|
+ WJ_REGION_ERROR_BASE = 0x06030000,
|
|
|
+ WJ_REGION_EMPTY_CLOUD, //万集测量,空点云
|
|
|
+ WJ_REGION_EMPTY_NO_WHEEL_INFORMATION, //万集测量,没有车轮信息
|
|
|
+ WJ_REGION_RECTANGLE_ANGLE_ERROR, //万集测量,矩形旋转角错误
|
|
|
+ WJ_REGION_RECTANGLE_SIZE_ERROR, //万集测量,矩形大小错误
|
|
|
+ WJ_REGION_RECTANGLE_SYMMETRY_ERROR, //万集测量,矩形对称错误
|
|
|
+ WJ_REGION_CLUSTER_SIZE_ERROR, //万集测量,簇大小错误
|
|
|
+ WJ_REGION_CERES_SOLVE_ERROR, //万集测量,优化失败
|
|
|
+ //velodyne测量范围
|
|
|
+ VELODYNE_REGION_ERROR_BASE,
|
|
|
+ VELODYNE_REGION_EMPTY_CLOUD, //velodyne测量,空点云
|
|
|
+ VELODYNE_REGION_EMPTY_NO_WHEEL_INFORMATION, //velodyne测量,没有车轮信息
|
|
|
+ VELODYNE_REGION_RECTANGLE_ANGLE_ERROR, //velodyne测量,矩形旋转角错误
|
|
|
+ VELODYNE_REGION_RECTANGLE_SIZE_ERROR, //velodyne测量,矩形大小错误
|
|
|
+ VELODYNE_REGION_RECTANGLE_SYMMETRY_ERROR, //velodyne测量,矩形对称错误
|
|
|
+ VELODYNE_REGION_CLUSTER_SIZE_ERROR, //velodyne测量,簇大小错误
|
|
|
+ VELODYNE_REGION_CERES_SOLVE_ERROR, //velodyne测量,优化失败
|
|
|
+
|
|
|
+ //万集管理模块 wj manager error from 0x06040000-0x0604FFFF
|
|
|
+ WJ_MANAGER_ERROR_BASE = 0x06040000,
|
|
|
+ WJ_MANAGER_UNINITIALIZED, //万集管理模块,未初始化
|
|
|
+ WJ_MANAGER_LIDAR_DISCONNECTED, //万集管理模块,雷达断链
|
|
|
+ WJ_MANAGER_PLC_DISCONNECTED, //万集管理模块,plc断链
|
|
|
+ WJ_MANAGER_EMPTY_CLOUD, //万集管理模块,空点云
|
|
|
+ WJ_MANAGER_READ_PROTOBUF_ERROR, //万集管理模块,读取参数错误
|
|
|
+ WJ_MANAGER_INIT_ERROR, //万集管理模块,初始化error
|
|
|
+ WJ_MANAGER_TASK_TYPE_ERROR, //万集管理模块,任务类型错误
|
|
|
+ WJ_MANAGER_STATUS_BUSY, //万集管理模块,状态正忙
|
|
|
+ WJ_MANAGER_STATUS_ERROR, //万集管理模块,状态错误
|
|
|
+ WJ_MANAGER_LASER_INDEX_ERRPR, //万集管理模块,雷达索引错误,编号错误。
|
|
|
+ WJ_MANAGER_LASER_INDEX_REPEAT, //万集管理模块,需要扫描的雷达索引重复,可忽略的错误,提示作用
|
|
|
+ WJ_MANAGER_TASK_OVER_TIME, //万集管理模块,任务超时
|
|
|
+ VELODYNE_MANAGER_ERROR_BASE,
|
|
|
+ VELODYNE_MANAGER_UNINITIALIZED, //velodyne管理模块,未初始化
|
|
|
+ VELODYNE_MANAGER_LIDAR_DISCONNECTED, //velodyne管理模块,雷达断链
|
|
|
+ VELODYNE_MANAGER_EMPTY_CLOUD, //velodyne管理模块,空点云
|
|
|
+ VELODYNE_MANAGER_READ_PROTOBUF_ERROR, //velodyne管理模块,读取参数错误
|
|
|
+ VELODYNE_MANAGER_INIT_ERROR, //velodyne管理模块,初始化error
|
|
|
+ VELODYNE_MANAGER_TASK_TYPE_ERROR, //velodyne管理模块,任务类型错误
|
|
|
+ VELODYNE_MANAGER_STATUS_BUSY, //velodyne管理模块,状态正忙
|
|
|
+ VELODYNE_MANAGER_STATUS_ERROR, //velodyne管理模块,状态错误
|
|
|
+ VELODYNE_MANAGER_LASER_INDEX_ERRPR, //velodyne管理模块,雷达索引错误,编号错误。
|
|
|
+ VELODYNE_MANAGER_LASER_INDEX_REPEAT, //velodyne管理模块,需要扫描的雷达索引重复,可忽略的错误,提示作用
|
|
|
+ VELODYNE_MANAGER_TASK_OVER_TIME, //velodyne管理模块,任务超时
|
|
|
+
|
|
|
+//万集任务模块
|
|
|
+ WJ_LIDAR_TASK_ERROR_BASE =0x06050000,
|
|
|
+ WJ_LIDAR_TASK_EMPTY_RESULT, //万集任务模块,空结果
|
|
|
+ WJ_LIDAR_TASK_EMPTY_TASK, //万集任务模块,空任务
|
|
|
+ WJ_LIDAR_TASK_WRONG_TYPE, //万集任务模块,错误类型
|
|
|
+ WJ_LIDAR_TASK_INVALID_TASK, //万集任务模块,无效任务
|
|
|
+ WJ_LIDAR_TASK_MEASURE_FAILED, //万集任务模块,测量失败
|
|
|
+
|
|
|
+ // 万集滤波
|
|
|
+ WJ_FILTER_ERROR_BASE =0x06060000,
|
|
|
+ WJ_FILTER_LACK_OF_RESULT, //万集滤波,结果不足以进行滤波
|
|
|
+ WJ_FILTER_FLUCTUATING, //万集滤波,结果波动过大
|
|
|
|
|
|
//task module, 任务模块 error from 0x10010000-0x1001FFFF
|
|
|
TASK_MODULE_ERROR_BASE = 0x10010000,
|
|
@@ -272,6 +413,9 @@ enum Error_code
|
|
|
COMMUNICATION_ANALYSIS_TIME_OUT, //解析超时,
|
|
|
COMMUNICATION_EXCUTER_IS_BUSY, //处理器正忙, 请稍等
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
//system module, 系统模块
|
|
|
SYSTEM_EXECUTOR_ERROR_BASE = 0x12010000, //系统执行模块,
|
|
|
SYSTEM_EXECUTOR_PARSE_ERROR, //系统执行模块, 解析消息错误
|
|
@@ -279,12 +423,110 @@ enum Error_code
|
|
|
SYSTEM_EXECUTOR_STATUS_ERROR, //系统执行模块, 状态错误
|
|
|
SYSTEM_EXECUTOR_CHECK_ERROR, //系统执行模块, 检查错误
|
|
|
|
|
|
- LOCATER_MSG_TABLE_NOT_EXIST ,
|
|
|
- LOCATER_MSG_RESPONSE_TYPE_ERROR,
|
|
|
- LOCATER_MSG_RESPONSE_INFO_ERROR,
|
|
|
- LOCATER_MSG_REQUEST_INVALID,
|
|
|
- LOCATER_MSG_RESPONSE_HAS_NO_REQUEST,
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+ //Dispatch 调度 模块 错误码
|
|
|
+ DISPATCH_ERROR_BASE = 0x13000000,
|
|
|
+
|
|
|
+ //Dispatch_manager 调度管理模块 错误码
|
|
|
+ DISPATCH_MANAGER_ERROR_BASE = 0x13010000,
|
|
|
+ DISPATCH_MANAGER_READ_PROTOBUF_ERROR, //调度管理模块,读取参数错误
|
|
|
+ DISPATCH_MANAGER_STATUS_BUSY, //调度管理模块,状态正忙
|
|
|
+ DISPATCH_MANAGER_STATUS_ERROR, //调度管理模块,状态错误
|
|
|
+ DISPATCH_MANAGER_TASK_TYPE_ERROR, //调度管理模块,任务类型错误
|
|
|
+ DISPATCH_MANAGER_IS_NOT_READY, //调度管理模块,不在准备状态
|
|
|
+ DISPATCH_MANAGER_SPACE_LOCK_ERROR, //调度管理模块,空间锁错误
|
|
|
+
|
|
|
+
|
|
|
+ DISPATCH_PROCESS_ERROR_BASE = 0x13020000,
|
|
|
+ DISPATCH_PROCESS_IS_NOT_READY, //调度流程, 不在准备状态
|
|
|
+ DISPATCH_PROCESS_DEVICE_TYPE_ERROR, //调度流程, 设备类型错误
|
|
|
+ DISPATCH_PROCESS_DEVICE_STATUS_ERROR, //调度流程, 设备状态错误
|
|
|
+ DISPATCH_PROCESS_TASK_STATUS_ERROR, //调度流程, 任务类型错误
|
|
|
+ DISPATCH_PROCESS_COMMAND_KEY_REPEAT, //调度流程, 唯一码错误
|
|
|
+ DISPATCH_PROCESS_INIT_ERROR, //调度流程, 初始化错误
|
|
|
+
|
|
|
+
|
|
|
+ DISPATCH_DEVICE_ERROR_BASE = 0x13030000,
|
|
|
+ DISPATCH_DEVICE_READ_PROTOBUF_ERROR, //调度设备模块,读取参数错误
|
|
|
+ DISPATCH_DEVICE_STATUS_BUSY, //调度设备模块,状态正忙
|
|
|
+ DISPATCH_DEVICE_STATUS_ERROR, //调度设备模块,状态错误
|
|
|
+ DISPATCH_DEVICE_STATUS_DISCONNECT, //调度设备模块,状态断连
|
|
|
+ DISPATCH_DEVICE_TASK_TYPE_ERROR, //调度设备模块,任务类型错误
|
|
|
+ DISPATCH_DEVICE_TASK_OVER_TIME, //调度设备模块,任务超时
|
|
|
+ DISPATCH_DEVICE_TASK_REPEAT, //调度设备模块,任务重复, 任务已经存在
|
|
|
+ DISPATCH_DEVICE_IS_NOT_READY, //调度设备模块,不在准备状态
|
|
|
+ DISPATCH_DEVICE_RESPONS_ERROR, //调度设备模块,指令的执行失败
|
|
|
+ DISPATCH_DEVICE_TASK_NOTHINGNESS, //调度设备模块,任务不存在
|
|
|
+ DISPATCH_DEVICE_TASK_LEVEL_ERROR, //调度设备模块,任务等级错误
|
|
|
+
|
|
|
+
|
|
|
+ CARRIER_ERROR_BASE = 0x13040000,
|
|
|
+ CARRIER_READ_PROTOBUF_ERROR, //搬运器模块,读取参数错误
|
|
|
+ CARRIER_STATUS_BUSY, //搬运器模块,状态正忙
|
|
|
+ CARRIER_STATUS_ERROR, //搬运器模块,状态错误
|
|
|
+ CARRIER_STATUS_DISCONNECT, //搬运器模块,状态断连
|
|
|
+ CARRIER_TASK_TYPE_ERROR, //搬运器模块,任务类型错误
|
|
|
+ CARRIER_TASK_OVER_TIME, //搬运器模块,任务超时
|
|
|
+ CARRIER_IS_NOT_READY, //搬运器模块,不在准备状态
|
|
|
+ CARRIER_RESPONS_ERROR, //搬运器模块,指令的执行失败
|
|
|
+ CARRIER_TASK_NOTHINGNESS, //搬运器模块,任务不存在
|
|
|
+ CARRIER_POSE_ERROR, //搬运器模块,姿态错误
|
|
|
+ CARRIER_CONRTOL_PARAMETER_ERROR, //搬运器模块,控制参数错误
|
|
|
+
|
|
|
+ CATCHER_ERROR_BASE = 0x13050000,
|
|
|
+ CATCHER_READ_PROTOBUF_ERROR, //抓取器模块,读取参数错误
|
|
|
+ CATCHER_STATUS_BUSY, //抓取器模块,状态正忙
|
|
|
+ CATCHER_STATUS_ERROR, //抓取器模块,状态错误
|
|
|
+ CATCHER_STATUS_DISCONNECT, //抓取器模块,状态断连
|
|
|
+ CATCHER_TASK_TYPE_ERROR, //抓取器模块,任务类型错误
|
|
|
+ CATCHER_TASK_OVER_TIME, //抓取器模块,任务超时
|
|
|
+ CATCHER_IS_NOT_READY, //抓取器模块,不在准备状态
|
|
|
+ CATCHER_RESPONS_ERROR, //抓取器模块,指令的执行失败
|
|
|
+ CATCHER_TASK_NOTHINGNESS, //抓取器模块,任务不存在
|
|
|
+ CATCHER_POSE_ERROR, //抓取器模块,姿态错误
|
|
|
+ CATCHER_CONRTOL_PARAMETER_ERROR, //抓取器模块,控制参数错误
|
|
|
+
|
|
|
+ PASSAGEWAY_ERROR_BASE = 0x13060000,
|
|
|
+ PASSAGEWAY_READ_PROTOBUF_ERROR, //通道口模块,读取参数错误
|
|
|
+ PASSAGEWAY_STATUS_BUSY, //通道口模块,状态正忙
|
|
|
+ PASSAGEWAY_STATUS_ERROR, //通道口模块,状态错误
|
|
|
+ PASSAGEWAY_STATUS_DISCONNECT, //通道口模块,状态断连
|
|
|
+ PASSAGEWAY_TASK_TYPE_ERROR, //通道口模块,任务类型错误
|
|
|
+ PASSAGEWAY_TASK_OVER_TIME, //通道口模块,任务超时
|
|
|
+ PASSAGEWAY_IS_NOT_READY, //通道口模块,不在准备状态
|
|
|
+ PASSAGEWAY_RESPONS_ERROR, //通道口模块,指令的执行失败
|
|
|
+ PASSAGEWAY_TASK_NOTHINGNESS, //通道口模块,任务不存在
|
|
|
+
|
|
|
+
|
|
|
+ //DISPATCH_COORDINATES module, 通信模块
|
|
|
+ DISPATCH_COORDINATES_ERROR_BASE = 0x13060000,
|
|
|
+ DISPATCH_COORDINATES_READ_PROTOBUF_ERROR, //调度坐标模块,读取参数错误
|
|
|
+ DISPATCH_COORDINATES_ID_ERROR, //调度坐标模块,坐标id错误
|
|
|
+ DISPATCH_COORDINATES_PATH_ERROR, //调度坐标模块,路径方向错误
|
|
|
+ DISPATCH_COORDINATES_CAN_NOT_LOCK, //调度坐标模块,不能加锁
|
|
|
+
|
|
|
+ //Dispatch_plc 调度plc模块
|
|
|
+ DISPATCH_PLC_ERROR_BASE = 0x13070000,
|
|
|
+ DISPATCH_PLC_REQUEST_ERROR, //调度plc模块,请求错误
|
|
|
+ DISPATCH_PLC_RESPONS_ERROR, //调度plc模块,指令的执行失败
|
|
|
+ DISPATCH_PLC_STATUS_ERROR, //调度plc模块,状态错误
|
|
|
+ DISPATCH_PLC_TIME_OUT, //调度plc模块,超时
|
|
|
+
|
|
|
+
|
|
|
+ //snap7 通信模块 错误码
|
|
|
+ SNAP7_ERROR_BASE = 0x1401000,
|
|
|
+ SNAP7_READ_PROTOBUF_ERROR, //snap7通信模块,读取参数错误
|
|
|
+ SNAP7_CONNECT_ERROR, //snap7通信模块,连接错误
|
|
|
+ SNAP7_DISCONNECT_ERROR, //snap7通信模块,断连错误
|
|
|
+ SNAP7_READ_ERROR, //snap7通信模块,读取错误
|
|
|
+ SNAP7_WRITE_ERROR, //snap7通信模块,写入错误
|
|
|
+ SNAP7_ANALYSIS_TIME_OUT, //解析超时,
|
|
|
+ SNAP7_EXCUTER_IS_BUSY, //处理器正忙, 请稍等
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
//parkspace allocator,车位分配模块
|
|
|
PARKSPACE_ALLOCATOR_ERROR_BASE = 0x20010000,
|
|
@@ -323,7 +565,6 @@ enum Error_code
|
|
|
DB_PROTOBUF_ERROR //数据库配置参数读取错误
|
|
|
|
|
|
|
|
|
-
|
|
|
};
|
|
|
|
|
|
//错误等级,用来做故障处理
|
|
@@ -375,7 +616,7 @@ public://外部接口函数
|
|
|
Error_manager(const Error_manager & error_manager);
|
|
|
//赋值构造
|
|
|
Error_manager(Error_code error_code, Error_level error_level = NORMAL,
|
|
|
- const char* p_error_description = NULL, int description_length = 0);
|
|
|
+ const char* p_error_description = NULL);
|
|
|
//赋值构造
|
|
|
Error_manager(Error_code error_code, Error_level error_level , std::string & error_aggregate_string);
|
|
|
//析构函数
|
|
@@ -385,12 +626,12 @@ public://外部接口函数
|
|
|
void error_manager_init();
|
|
|
//初始化
|
|
|
void error_manager_init(Error_code error_code, Error_level error_level = NORMAL,
|
|
|
- const char* p_error_description = NULL, int description_length = 0);
|
|
|
+ const char* p_error_description = NULL);
|
|
|
//初始化
|
|
|
void error_manager_init(Error_code error_code, Error_level error_level , std::string & error_aggregate_string);
|
|
|
//重置
|
|
|
void error_manager_reset(Error_code error_code, Error_level error_level = NORMAL,
|
|
|
- const char* p_error_description = NULL, int description_length = 0);
|
|
|
+ const char* p_error_description = NULL);
|
|
|
//重置
|
|
|
void error_manager_reset(Error_code error_code, Error_level error_level , std::string & error_aggregate_string);
|
|
|
//重置
|
|
@@ -419,14 +660,12 @@ public://外部接口函数
|
|
|
//获取错误等级
|
|
|
Error_level get_error_level();
|
|
|
//获取错误描述的指针,(浅拷贝)
|
|
|
- char* get_error_description();
|
|
|
-
|
|
|
- int get_description_length();
|
|
|
+ std::string get_error_description();
|
|
|
|
|
|
//复制错误描述,(深拷贝)
|
|
|
//output:p_error_description 错误描述的字符串指针,不可以为NULL,必须要有实际的内存
|
|
|
//output:description_length 错误描述的字符串长度,不可以为0,长度最好足够大,一般256即可。
|
|
|
- void copy_error_description(const char* p_error_description, int description_length);
|
|
|
+ void copy_error_description(const char* p_error_description);
|
|
|
//复制错误描述,(深拷贝)
|
|
|
//output:error_description_string 错误描述的string
|
|
|
void copy_error_description(std::string & error_description_string);
|
|
@@ -440,12 +679,12 @@ public://外部接口函数
|
|
|
//错误等级,设定到固定值
|
|
|
void set_error_level_location(Error_level error_level);
|
|
|
//设置错误描述
|
|
|
- void set_error_description(const char* p_error_description, int description_length = 0);
|
|
|
+ void set_error_description(const char* p_error_description);
|
|
|
//设置错误描述
|
|
|
void set_error_description(std::string & error_description_string);
|
|
|
|
|
|
//尾部追加错误描述
|
|
|
- void add_error_description(const char* p_error_description, int description_length = 0);
|
|
|
+ void add_error_description(const char* p_error_description);
|
|
|
//尾部追加错误描述
|
|
|
void add_error_description(std::string & error_description_string);
|
|
|
|
|
@@ -459,10 +698,6 @@ public://外部接口函数
|
|
|
//如果错误相同,则保留this的,将输入参数转入描述。
|
|
|
void compare_and_cover_error( Error_manager * p_error_manager);
|
|
|
|
|
|
- //将所有的错误信息,格式化为字符串,用作日志打印。
|
|
|
- //output:p_error_description 错误汇总的字符串指针,不可以为NULL,必须要有实际的内存
|
|
|
- //output:description_length 错误汇总的字符串长度,不可以为0,长度最好足够大,一般256即可。
|
|
|
- void translate_error_to_string(char* p_error_aggregate, int aggregate_length);
|
|
|
//output:error_description_string 错误汇总的string
|
|
|
void translate_error_to_string(std::string & error_aggregate_string);
|
|
|
//错误码转字符串的简易版,可支持cout<<
|
|
@@ -474,8 +709,7 @@ public://外部接口函数
|
|
|
protected:
|
|
|
Error_code m_error_code; //错误码
|
|
|
Error_level m_error_level; //错误等级
|
|
|
- char* pm_error_description; //错误描述
|
|
|
- int m_description_length; //错误描述的字符长度
|
|
|
+ std::string m_error_description; // 错误描述
|
|
|
|
|
|
protected://内部功能函数
|
|
|
public:
|