#pragma once #include 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(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), // kmicro_adcRecvFail = ERROR_CODE(500, 3), // } error_t; const char* error2str(int32_t code); } // namespace err } // namespace iflytop