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.

117 lines
3.8 KiB

#include "errorcode.hpp"
#define ERR2STR(code) \
case code: \
return #code;
namespace iflytop {
namespace err {
#define ERR_ITERM(enum) \
{ enum, #enum }
static ecode_table_item_t table[] = {
ERR_ITERM(ksucc),
ERR_ITERM(kfail),
ERR_ITERM(kparam_out_of_range),
ERR_ITERM(koperation_not_support),
ERR_ITERM(kdevice_is_busy),
ERR_ITERM(kdevice_is_offline),
ERR_ITERM(kovertime),
ERR_ITERM(knoack),
ERR_ITERM(kerrorack),
ERR_ITERM(kdevice_offline),
ERR_ITERM(kparse_json_err),
ERR_ITERM(ksubdevice_overtime),
ERR_ITERM(kbuffer_not_enough),
ERR_ITERM(kcmd_not_found),
ERR_ITERM(kcmd_param_num_error),
ERR_ITERM(kcheckcode_is_error),
ERR_ITERM(kcatch_exception),
ERR_ITERM(khwardware_error_fan_error),
ERR_ITERM(khwardware_error),
ERR_ITERM(ksys_error),
ERR_ITERM(ksys_create_file_error),
ERR_ITERM(ksys_create_dir_error),
ERR_ITERM(ksys_open_file_error),
ERR_ITERM(ksys_open_dir_error),
ERR_ITERM(ksys_read_file_error),
ERR_ITERM(ksys_write_file_error),
ERR_ITERM(ksys_close_file_error),
ERR_ITERM(ksys_close_dir_error),
ERR_ITERM(ksys_delete_file_error),
ERR_ITERM(ksys_delete_dir_error),
ERR_ITERM(ksys_copy_file_error),
ERR_ITERM(kmodule_not_inited),
ERR_ITERM(kmodule_not_found),
ERR_ITERM(kmodule_opeation_break_by_user),
ERR_ITERM(kmodule_error),
ERR_ITERM(kmodule_not_find_config_index),
ERR_ITERM(kmodule_not_find_state_index),
ERR_ITERM(kmodule_not_support_action),
ERR_ITERM(kmodule_not_find_reg),
ERR_ITERM(kmotor_not_found_zero_point),
ERR_ITERM(kmotor_did_not_go_zero),
ERR_ITERM(kmotor_over_temperature),
ERR_ITERM(kmotor_over_voltage),
ERR_ITERM(kxymotor_not_found_x_zero_point),
ERR_ITERM(kxymotor_not_found_y_zero_point),
ERR_ITERM(kxymotor_x_find_zero_edge_fail),
ERR_ITERM(kxymotor_y_find_zero_edge_fail),
ERR_ITERM(kmotor_run_overtime),
ERR_ITERM(kmotor_not_enable),
ERR_ITERM(kSMTP2_NoError),
ERR_ITERM(kSMTP2_InitFail),
ERR_ITERM(kSMTP2_InvalidCmd),
ERR_ITERM(kSMTP2_InvalidArg),
ERR_ITERM(kSMTP2_PressureSensorError),
ERR_ITERM(kSMTP2_OverPressure),
ERR_ITERM(kSMTP2_LLDError),
ERR_ITERM(kSMTP2_DeviceNotInit),
ERR_ITERM(kSMTP2_TipPopError),
ERR_ITERM(kSMTP2_PumpOverload),
ERR_ITERM(kSMTP2_TipDrop),
ERR_ITERM(kSMTP2_CanBusError),
ERR_ITERM(kSMTP2_InvalidChecksum),
ERR_ITERM(kSMTP2_EEPROMError),
ERR_ITERM(kSMTP2_CmdBufferEmpty),
ERR_ITERM(kSMTP2_CmdBufferOverflow),
ERR_ITERM(kSMTP2_TipBlock),
ERR_ITERM(kSMTP2_AirSuction),
ERR_ITERM(kSMTP2_Bubble),
ERR_ITERM(kSMTP2_VolumeError),
ERR_ITERM(kSMTP2_TipAlreadyLoad),
ERR_ITERM(kSMTP2_TipLoadFail),
ERR_ITERM(kmicro_noErr),
ERR_ITERM(kmicro_uartSendFail),
ERR_ITERM(kmicro_uartRecvFail),
ERR_ITERM(kmicro_adcRecvFail),
ERR_ITERM(kstep_motor_not_found_zero_point),
ERR_ITERM(kstep_motor_not_go_zero),
ERR_ITERM(kstep_motor_over_temperature),
ERR_ITERM(kstep_motor_over_voltage),
ERR_ITERM(kstep_motor_run_overtime),
ERR_ITERM(kstep_motor_not_enable),
ERR_ITERM(kstep_motor_ioindex_out_of_range),
ERR_ITERM(kstep_motor_subic_reset),
ERR_ITERM(kstep_motor_drv_err),
ERR_ITERM(kstep_motor_uv_cp),
ERR_ITERM(kstep_motor_not_found_point_edge),
ERR_ITERM(kmini_servo_not_enable),
ERR_ITERM(kmini_servo_mode_not_support),
};
const char* error2str(int32_t code) {
for (int i = 0; i < sizeof(table) / sizeof(table[0]); i++) {
if (table[i].index == code) {
return table[i].info;
}
}
return "unknown error";
}
ecode_table_item_t* error_get_table() { return table; }
int error_get_table_size() { return sizeof(table) / sizeof(table[0]); }
} // namespace err
} // namespace iflytop