|
|
#include "reg_index.hpp"
#include <stdint.h>
namespace iflytop {
#define REG_ITERM(enum) \
{ enum, #enum }
static reginfo_t table[] = { REG_ITERM(kreg_module_version), REG_ITERM(kreg_module_type), REG_ITERM(kreg_module_status), REG_ITERM(kreg_module_errorcode),
REG_ITERM(kreg_opt_module_do_action0), REG_ITERM(kreg_opt_module_action_param1), REG_ITERM(kreg_opt_module_action_param2), REG_ITERM(kreg_opt_module_action_param3), REG_ITERM(kreg_opt_module_action_ack1), REG_ITERM(kreg_opt_module_action_ack2),
REG_ITERM(kreg_step_motor_pos), REG_ITERM(kreg_step_motor_dpos), REG_ITERM(kreg_step_motor_shift), REG_ITERM(kreg_step_motor_shaft), REG_ITERM(kreg_step_motor_one_circle_pulse), REG_ITERM(kreg_step_motor_one_circle_pulse_denominator), REG_ITERM(kreg_step_motor_default_velocity), REG_ITERM(kreg_step_motor_ihold), REG_ITERM(kreg_step_motor_irun), REG_ITERM(kreg_step_motor_iholddelay), REG_ITERM(kreg_step_motor_iglobalscaler), REG_ITERM(kreg_step_motor_run_to_zero_speed), REG_ITERM(kreg_step_motor_look_zero_edge_speed), REG_ITERM(kreg_step_motor_max_d), REG_ITERM(kreg_step_motor_min_d), REG_ITERM(kreg_step_motor_in_debug_mode), REG_ITERM(kreg_step_motor_vstart), REG_ITERM(kreg_step_motor_a1), REG_ITERM(kreg_step_motor_amax), REG_ITERM(kreg_step_motor_v1), REG_ITERM(kreg_step_motor_dmax), REG_ITERM(kreg_step_motor_d1), REG_ITERM(kreg_step_motor_vstop), REG_ITERM(kreg_step_motor_tzerowait), REG_ITERM(kreg_mini_servo_pos), REG_ITERM(kreg_mini_servo_limit_velocity), REG_ITERM(kreg_mini_servo_limit_torque), REG_ITERM(kreg_mini_servo_protective_torque),
};
reginfo_t *get_reginfo_by_index(int32_t index) { for (int i = 0; i < sizeof(table) / sizeof(table[0]); i++) { if (table[i].index == index) { return &table[i]; } } return nullptr; }
const char *regindex2str(int32_t index) { for (int i = 0; i < sizeof(table) / sizeof(table[0]); i++) { if (table[i].index == index) { return table[i].regname; } } return "unknown reg"; }
reginfo_t *reg_get_table() { return table; } int reg_get_table_size() { return sizeof(table) / sizeof(table[0]); }
} // namespace iflytop
|