You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
116 lines
7.2 KiB
116 lines
7.2 KiB
#pragma once
|
|
#include <stdint.h>
|
|
|
|
namespace iflytop {
|
|
namespace err {
|
|
using namespace std;
|
|
|
|
#define ERROR_CODE(errortype, suberrorcode) (errortype + suberrorcode)
|
|
|
|
typedef enum {
|
|
|
|
ksucc = ERROR_CODE(0, 0),
|
|
kfail = ERROR_CODE(0, 1),
|
|
/***********************************************************************************************************************
|
|
* 协议错误码 *
|
|
***********************************************************************************************************************/
|
|
kparam_out_of_range = ERROR_CODE(100, 2), // 参数超出范围
|
|
kcmd_not_support = ERROR_CODE(100, 3), // 操作不支持
|
|
kdevice_is_busy = ERROR_CODE(100, 4), // 设备忙
|
|
kdevice_is_offline = ERROR_CODE(100, 5), // 设备离线
|
|
kovertime = ERROR_CODE(100, 6),
|
|
knoack = ERROR_CODE(100, 7),
|
|
kerrorack = ERROR_CODE(100, 8),
|
|
kdevice_offline = ERROR_CODE(100, 9),
|
|
ksubdevice_overtime = ERROR_CODE(100, 11),
|
|
kbuffer_not_enough = ERROR_CODE(100, 12),
|
|
kcmd_param_num_error = ERROR_CODE(100, 14),
|
|
kcheckcode_is_error = ERROR_CODE(100, 15),
|
|
|
|
/***********************************************************************************************************************
|
|
* 模块错误码 *
|
|
***********************************************************************************************************************/
|
|
kmodule_opeation_break_by_user = ERROR_CODE(200, 2), // 用户中断
|
|
kmodule_not_find_reg = ERROR_CODE(200, 7), // 未找到配置索引
|
|
|
|
/***********************************************************************************************************************
|
|
* XY电机驱动错误码 *
|
|
***********************************************************************************************************************/
|
|
kxymotor_x_find_zero_edge_fail = ERROR_CODE(300, 6), // 离开零点失败
|
|
kxymotor_y_find_zero_edge_fail = ERROR_CODE(300, 7), // 离开零点失败
|
|
kxymotor_not_enable = ERROR_CODE(300, 8),
|
|
kxymotor_target_pos_outof_range = ERROR_CODE(300, 9),
|
|
/***********************************************************************************************************************
|
|
* 移液枪错误码 *
|
|
***********************************************************************************************************************/
|
|
kSMTP2_NoError = ERROR_CODE(400, 0), // 无错误
|
|
kSMTP2_InitFail = ERROR_CODE(400, 1), // 初始化失败
|
|
kSMTP2_InvalidCmd = ERROR_CODE(400, 2), // 无效命令
|
|
kSMTP2_InvalidArg = ERROR_CODE(400, 3), // 无效参数
|
|
kSMTP2_PressureSensorError = ERROR_CODE(400, 4), // 压力传感器故障
|
|
kSMTP2_OverPressure = ERROR_CODE(400, 5), // 超过压力
|
|
kSMTP2_LLDError = ERROR_CODE(400, 6), // LLD 错误
|
|
kSMTP2_DeviceNotInit = ERROR_CODE(400, 7), // 设备未初始化
|
|
kSMTP2_TipPopError = ERROR_CODE(400, 8), // Tip 弹出错误
|
|
kSMTP2_PumpOverload = ERROR_CODE(400, 9), // 泵过载
|
|
kSMTP2_TipDrop = ERROR_CODE(400, 10), // Tip 脱落
|
|
kSMTP2_CanBusError = ERROR_CODE(400, 11), // CAN 总线故障
|
|
kSMTP2_InvalidChecksum = ERROR_CODE(400, 12), // 无效校验和
|
|
kSMTP2_EEPROMError = ERROR_CODE(400, 13), // EEPROM 故障
|
|
kSMTP2_CmdBufferEmpty = ERROR_CODE(400, 14), // 命令缓冲区为空
|
|
kSMTP2_CmdBufferOverflow = ERROR_CODE(400, 15), // 命令溢出
|
|
kSMTP2_TipBlock = ERROR_CODE(400, 16), // Tip 堵塞
|
|
kSMTP2_AirSuction = ERROR_CODE(400, 17), // 吸入空气
|
|
kSMTP2_Bubble = ERROR_CODE(400, 18), // 液体中有气泡/泡沫
|
|
kSMTP2_VolumeError = ERROR_CODE(400, 19), // 吸取/分配量不准确
|
|
kSMTP2_TipAlreadyLoad = ERROR_CODE(400, 20), // Tip已经装载
|
|
kSMTP2_TipLoadFail = ERROR_CODE(400, 21),
|
|
|
|
/***********************************************************************************************************************
|
|
* 步进电机错误码 *
|
|
***********************************************************************************************************************/
|
|
kstep_motor_not_found_zero_point = ERROR_CODE(600, 0), // 未找到零点
|
|
kstep_motor_not_go_zero = ERROR_CODE(600, 1), // 设备未归零
|
|
kstep_motor_over_temperature = ERROR_CODE(600, 2), // 过温
|
|
kstep_motor_over_voltage = ERROR_CODE(600, 3), // 过压
|
|
kstep_motor_run_overtime = ERROR_CODE(600, 4), // 运行超时
|
|
kstep_motor_not_enable = ERROR_CODE(600, 5), // 电机未使能
|
|
kstep_motor_ioindex_out_of_range = ERROR_CODE(600, 6), // IO超出范围
|
|
kstep_motor_subic_reset = ERROR_CODE(600, 7), // 子IC复位
|
|
kstep_motor_drv_err = ERROR_CODE(600, 8), // 驱动器异常
|
|
kstep_motor_uv_cp = ERROR_CODE(600, 9), // 驱动器异常
|
|
kstep_motor_not_found_point_edge = ERROR_CODE(600, 10), // 未找到零点
|
|
|
|
/***********************************************************************************************************************
|
|
* 舵机错误码 *
|
|
***********************************************************************************************************************/
|
|
kmini_servo_not_enable = ERROR_CODE(700, 0), //
|
|
kmini_servo_mode_not_support = ERROR_CODE(700, 1), //
|
|
|
|
/***********************************************************************************************************************
|
|
* 风扇错误码 *
|
|
***********************************************************************************************************************/
|
|
kfan_hardware_fault = ERROR_CODE(800, 0), //
|
|
|
|
/***********************************************************************************************************************
|
|
* 水冷错误码 *
|
|
***********************************************************************************************************************/
|
|
kwater_cooling_fan_error = ERROR_CODE(900, 0), //
|
|
kwater_cooling_temperature_sensor_error = ERROR_CODE(900, 2), //
|
|
kwater_cooling_pump_is_error = ERROR_CODE(900, 3), //
|
|
kwater_cooling_pelter_is_error = ERROR_CODE(900, 4), //
|
|
|
|
} error_t;
|
|
|
|
typedef struct {
|
|
int index;
|
|
const char* info;
|
|
} ecode_table_item_t;
|
|
|
|
const char* error2str(int32_t code);
|
|
|
|
ecode_table_item_t* error_get_table();
|
|
int error_get_table_size();
|
|
|
|
} // namespace err
|
|
} // namespace iflytop
|