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.

143 lines
5.7 KiB

#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_water_cooling_tmp_controler_pid_target),
REG_ITERM(kreg_water_cooling_tmp_controler_pid_nowoutput),
REG_ITERM(kreg_water_cooling_tmp_controler_pid_feedbackval),
REG_ITERM(kreg_water_cooling_tmp_controler_temp0),
REG_ITERM(kreg_water_cooling_tmp_controler_temp1),
REG_ITERM(kreg_water_cooling_tmp_controler_temp2),
REG_ITERM(kreg_water_cooling_tmp_controler_temp3),
REG_ITERM(kreg_water_cooling_tmp_controler_pid_kp),
REG_ITERM(kreg_water_cooling_tmp_controler_pid_ki),
REG_ITERM(kreg_water_cooling_tmp_controler_pid_kd),
REG_ITERM(kreg_water_cooling_tmp_controler_pid_max_output),
REG_ITERM(kreg_water_cooling_tmp_controler_pid_min_output),
REG_ITERM(kreg_water_cooling_tmp_controler_pid_max_integral),
REG_ITERM(kreg_water_cooling_tmp_controler_pid_min_integral),
REG_ITERM(kreg_water_cooling_tmp_controler_pid_error_limit),
REG_ITERM(kreg_water_cooling_tmp_controler_pid_compute_interval),
REG_ITERM(kreg_pipette_pos_ul),
REG_ITERM(kreg_pipette_capactitance_val),
REG_ITERM(kreg_pipette_tip_state),
REG_ITERM(kreg_pipette_limit_ul),
REG_ITERM(kreg_self_reflecting_laser_sensor_transmitting_power),
REG_ITERM(kreg_self_reflecting_laser_sensor_receiving_tube_gain),
REG_ITERM(kreg_self_reflecting_laser_sensor_sample_interval_ms),
REG_ITERM(kreg_self_reflecting_laser_sensor_num_samples),
REG_ITERM(kreg_boditech_optical_scan_type),
REG_ITERM(kreg_boditech_optical_scan_start_pos),
REG_ITERM(kreg_boditech_optical_scan_direction),
REG_ITERM(kreg_boditech_optical_scan_step_interval),
REG_ITERM(kreg_boditech_optical_scan_pointnum),
REG_ITERM(kreg_boditech_optical_channel_select_num),
REG_ITERM(kreg_boditech_optical_laster_gain),
REG_ITERM(kreg_boditech_optical_scan_gain),
REG_ITERM(kreg_boditech_optical_trf_uvled_on_duration_us),
REG_ITERM(kreg_boditech_optical_trf_uvled_off_duration_us),
REG_ITERM(kreg_boditech_optical_trf_scan_delay_us),
REG_ITERM(kreg_boditech_optical_trf_scan_duration_us),
REG_ITERM(kreg_boditech_optical_scan_gain_adjust_suggestion),
REG_ITERM(kreg_boditech_optical_adc_result_overflow),
REG_ITERM(kreg_boditech_optical_laster_intensity),
REG_ITERM(kreg_laster_scaner_scan_type),
REG_ITERM(kreg_laster_scaner_scan_start_pos),
REG_ITERM(kreg_laster_scaner_scan_direction),
REG_ITERM(kreg_laster_scaner_scan_step_interval),
REG_ITERM(kreg_laster_scaner_scan_pointnum),
REG_ITERM(kreg_laster_scaner_laster_gain),
REG_ITERM(kreg_laster_scaner_scan_gain),
REG_ITERM(kreg_laster_scaner_scan_gain_adjust_suggestion),
REG_ITERM(kreg_laster_scaner_adc_result_overflow),
REG_ITERM(kreg_laster_scaner_laster_intensity),
REG_ITERM(kreg_xyrobot_default_velocity),
REG_ITERM(kreg_xyrobot_default_acc),
REG_ITERM(kreg_xyrobot_default_dec),
REG_ITERM(kreg_xyrobot_default_break_dec),
REG_ITERM(kreg_xyrobot_run_to_zero_speed),
REG_ITERM(kreg_xyrobot_run_to_zero_dec),
REG_ITERM(kreg_xyrobot_look_zero_edge_speed),
REG_ITERM(kreg_xyrobot_look_zero_edge_dec),
REG_ITERM(kreg_xyrobot_ihold),
REG_ITERM(kreg_xyrobot_irun),
REG_ITERM(kreg_xyrobot_iholddelay),
REG_ITERM(kreg_xyrobot_robot_type),
REG_ITERM(kreg_xyrobot_x_shift),
REG_ITERM(kreg_xyrobot_y_shift),
REG_ITERM(kreg_xyrobot_x_shaft),
REG_ITERM(kreg_xyrobot_y_shaft),
REG_ITERM(kreg_xyrobot_x_one_circle_pulse),
REG_ITERM(kreg_xyrobot_y_one_circle_pulse),
REG_ITERM(kreg_xyrobot_run_to_zero_max_x_d),
REG_ITERM(kreg_xyrobot_run_to_zero_max_y_d),
REG_ITERM(kreg_xyrobot_look_zero_edge_max_x_d),
REG_ITERM(kreg_xyrobot_look_zero_edge_max_y_d),
REG_ITERM(kreg_xyrobot_io_state0),
REG_ITERM(kreg_xyrobot_io_state1),
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(uint32_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(uint32_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