#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(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), }; 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