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.

181 lines
6.8 KiB

#include "errorcode.hpp"
#define ERR2STR(code) \
case code: \
return #code;
#if 0
ksucc = ERROR_CODE(0, 0),
kfail = ERROR_CODE(0, 1),
kparam_out_of_range = ERROR_CODE(0, 2), // 参数超出范围
koperation_not_support = ERROR_CODE(0, 3), // 操作不支持
kdevice_is_busy = ERROR_CODE(0, 4), // 设备忙
kdevice_is_offline = ERROR_CODE(0, 5), // 设备离线
kovertime = ERROR_CODE(0, 6),
knoack = ERROR_CODE(0, 7),
kerrorack = ERROR_CODE(0, 8),
kdevice_offline = ERROR_CODE(0, 9),
kparse_json_err = ERROR_CODE(0, 10),
ksubdevice_overtime = ERROR_CODE(0, 11),
kbuffer_not_enough = ERROR_CODE(0, 12),
kcmd_not_found = ERROR_CODE(0, 13),
kcmd_param_num_error = ERROR_CODE(0, 14),
kcheckcode_is_error = ERROR_CODE(0, 15),
kcatch_exception = ERROR_CODE(0, 16),
khwardware_error_fan_error = ERROR_CODE(0, 17),
/**
* @brief 系统错误
*/
ksys_error = ERROR_CODE(100, 0),
ksys_create_file_error = ERROR_CODE(100, 1),
ksys_create_dir_error = ERROR_CODE(100, 2),
ksys_open_file_error = ERROR_CODE(100, 3),
ksys_open_dir_error = ERROR_CODE(100, 4),
ksys_read_file_error = ERROR_CODE(100, 5),
ksys_write_file_error = ERROR_CODE(100, 6),
ksys_close_file_error = ERROR_CODE(100, 7),
ksys_close_dir_error = ERROR_CODE(100, 8),
ksys_delete_file_error = ERROR_CODE(100, 9),
ksys_delete_dir_error = ERROR_CODE(100, 10),
ksys_copy_file_error = ERROR_CODE(100, 11),
/**
* @brief module error
*/
kmodule_not_inited = ERROR_CODE(200, 0),
kmodule_not_found = ERROR_CODE(200, 1),
kmodule_opeation_break_by_user = ERROR_CODE(200, 2), // 用户中断
kmodule_error = ERROR_CODE(200, 3), // 未知错误
kmodule_not_find_config_index = ERROR_CODE(200, 4), // 未找到配置索引
kmodule_not_find_state_index = ERROR_CODE(200, 5), // 未找到配置索引
/**
* @brief motor error
*/
kmotor_not_found_zero_point = ERROR_CODE(300, 0), // 未找到零点
kmotor_did_not_go_zero = ERROR_CODE(300, 1), // 设备未归零
kmotor_over_temperature = ERROR_CODE(300, 2), // 过温
kmotor_over_voltage = ERROR_CODE(300, 3), // 过压
kxymotor_not_found_x_zero_point = ERROR_CODE(300, 4), // 未找到零点
kxymotor_not_found_y_zero_point = ERROR_CODE(300, 5), // 未找到零点
kxymotor_x_find_zero_edge_fail = ERROR_CODE(300, 6), // 离开零点失败
kxymotor_y_find_zero_edge_fail = ERROR_CODE(300, 7), // 离开零点失败
kmotor_run_overtime = ERROR_CODE(300, 8), // 运行超时
/**
* @brief STMP2错误
*/
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),
/**
* @brief 单片机硬件错误
*/
kmicro_noErr = ERROR_CODE(500, 0), //
kmicro_uartSendFail = ERROR_CODE(500, 1), //
kmicro_uartRecvFail = ERROR_CODE(500, 2), //
#endif
namespace iflytop {
namespace err {
const char* error2str(int32_t code) {
switch (code) {
ERR2STR(ksucc);
ERR2STR(kfail);
ERR2STR(kparam_out_of_range);
ERR2STR(koperation_not_support);
ERR2STR(kdevice_is_busy);
ERR2STR(kdevice_is_offline);
ERR2STR(kovertime);
ERR2STR(knoack);
ERR2STR(kerrorack);
ERR2STR(kdevice_offline);
ERR2STR(kparse_json_err);
ERR2STR(ksubdevice_overtime);
ERR2STR(kbuffer_not_enough);
ERR2STR(kcmd_not_found);
ERR2STR(kcmd_param_num_error);
ERR2STR(kcheckcode_is_error);
ERR2STR(kcatch_exception);
ERR2STR(khwardware_error_fan_error);
ERR2STR(ksys_error);
ERR2STR(ksys_create_file_error);
ERR2STR(ksys_create_dir_error);
ERR2STR(ksys_open_file_error);
ERR2STR(ksys_open_dir_error);
ERR2STR(ksys_read_file_error);
ERR2STR(ksys_write_file_error);
ERR2STR(ksys_close_file_error);
ERR2STR(ksys_close_dir_error);
ERR2STR(ksys_delete_file_error);
ERR2STR(ksys_delete_dir_error);
ERR2STR(ksys_copy_file_error);
ERR2STR(kmodule_not_inited);
ERR2STR(kmodule_not_found);
ERR2STR(kmodule_opeation_break_by_user);
ERR2STR(kmodule_error);
ERR2STR(kmodule_not_find_config_index);
ERR2STR(kmodule_not_find_state_index);
ERR2STR(kmotor_not_found_zero_point);
ERR2STR(kmotor_did_not_go_zero);
ERR2STR(kmotor_over_temperature);
ERR2STR(kmotor_over_voltage);
ERR2STR(kxymotor_not_found_x_zero_point);
ERR2STR(kxymotor_not_found_y_zero_point);
ERR2STR(kxymotor_x_find_zero_edge_fail);
ERR2STR(kxymotor_y_find_zero_edge_fail);
ERR2STR(kSMTP2_NoError);
ERR2STR(kSMTP2_InitFail);
ERR2STR(kSMTP2_InvalidCmd);
ERR2STR(kSMTP2_InvalidArg);
ERR2STR(kSMTP2_PressureSensorError);
ERR2STR(kSMTP2_OverPressure);
ERR2STR(kSMTP2_LLDError);
ERR2STR(kSMTP2_DeviceNotInit);
ERR2STR(kSMTP2_TipPopError);
ERR2STR(kSMTP2_PumpOverload);
ERR2STR(kSMTP2_TipDrop);
ERR2STR(kSMTP2_CanBusError);
ERR2STR(kSMTP2_InvalidChecksum);
ERR2STR(kSMTP2_EEPROMError);
ERR2STR(kSMTP2_CmdBufferEmpty);
ERR2STR(kSMTP2_CmdBufferOverflow);
ERR2STR(kSMTP2_TipBlock);
ERR2STR(kSMTP2_AirSuction);
ERR2STR(kSMTP2_Bubble);
ERR2STR(kSMTP2_VolumeError);
ERR2STR(kSMTP2_TipAlreadyLoad);
ERR2STR(kSMTP2_TipLoadFail);
ERR2STR(kmicro_noErr);
ERR2STR(kmicro_uartSendFail);
ERR2STR(kmicro_uartRecvFail);
default:
return "known";
break;
}
}
} // namespace err
} // namespace iflytop