From a35d3c803f69d880c16be3ac772de459440d60d7 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Sat, 3 Feb 2024 14:45:43 +0800 Subject: [PATCH] add reg index table --- api/api.hpp | 3 +- api/reg_index_table.cpp | 290 ++++++++++++++++++++++++++++++++++++++++++++++++ api/reg_index_table.hpp | 13 +++ 3 files changed, 305 insertions(+), 1 deletion(-) create mode 100644 api/reg_index_table.cpp create mode 100644 api/reg_index_table.hpp diff --git a/api/api.hpp b/api/api.hpp index 52ccd79..a169cbe 100644 --- a/api/api.hpp +++ b/api/api.hpp @@ -32,4 +32,5 @@ #include "zi_board_module.hpp" // -#include "zi_pipette_ctrl_module.hpp" \ No newline at end of file +#include "zi_pipette_ctrl_module.hpp" +#include "reg_index_table.hpp" \ No newline at end of file diff --git a/api/reg_index_table.cpp b/api/reg_index_table.cpp new file mode 100644 index 0000000..f798bcc --- /dev/null +++ b/api/reg_index_table.cpp @@ -0,0 +1,290 @@ +#include "reg_index_table.hpp" + +#include +#include + +#include "reg_index.hpp" +using namespace iflytop; +static reg_index_table_iterm_t iterms[] = { + {"module_version", kreg_module_version}, + {"module_type", kreg_module_type}, + {"module_status", kreg_module_status}, + {"module_errorcode", kreg_module_errorcode}, + {"module_initflag", kreg_module_initflag}, + {"module_enableflag", kreg_module_enableflag}, + {"module_errorbitflag0", kreg_module_errorbitflag0}, + {"module_errorbitflag1", kreg_module_errorbitflag1}, + {"module_input_state", kreg_module_input_state}, + {"module_output_state", kreg_module_output_state}, + {"module_raw_sector_size", kreg_module_raw_sector_size}, + {"module_raw_sector_num", kreg_module_raw_sector_num}, + {"module_is_online", kreg_module_is_online}, + {"module_last_cmd_exec_status", kreg_module_last_cmd_exec_status}, + {"module_last_cmd_exec_val0", kreg_module_last_cmd_exec_val0}, + {"module_last_cmd_exec_val1", kreg_module_last_cmd_exec_val1}, + {"module_last_cmd_exec_val2", kreg_module_last_cmd_exec_val2}, + {"module_last_cmd_exec_val3", kreg_module_last_cmd_exec_val3}, + {"module_last_cmd_exec_val4", kreg_module_last_cmd_exec_val4}, + {"module_last_cmd_exec_val5", kreg_module_last_cmd_exec_val5}, + {"module_private0", kreg_module_private0}, + {"module_private1", kreg_module_private1}, + {"module_private2", kreg_module_private2}, + {"module_private3", kreg_module_private3}, + {"module_private4", kreg_module_private4}, + {"module_private5", kreg_module_private5}, + {"module_private6", kreg_module_private6}, + {"module_private7", kreg_module_private7}, + {"module_private8", kreg_module_private8}, + {"module_private9", kreg_module_private9}, + {"module_do_action0", kreg_module_do_action0}, + {"module_action_param1", kreg_module_action_param1}, + {"module_action_param2", kreg_module_action_param2}, + {"module_action_param3", kreg_module_action_param3}, + {"module_action_param4", kreg_module_action_param4}, + {"module_action_param5", kreg_module_action_param5}, + {"module_action_param6", kreg_module_action_param6}, + {"module_action_param7", kreg_module_action_param7}, + {"module_action_param8", kreg_module_action_param8}, + {"module_action_param9", kreg_module_action_param9}, + {"module_action_ack1", kreg_module_action_ack1}, + {"module_action_ack2", kreg_module_action_ack2}, + {"module_action_ack3", kreg_module_action_ack3}, + {"module_action_ack4", kreg_module_action_ack4}, + {"module_action_ack5", kreg_module_action_ack5}, + {"module_action_ack6", kreg_module_action_ack6}, + {"module_action_ack7", kreg_module_action_ack7}, + {"module_action_ack8", kreg_module_action_ack8}, + {"module_action_ack9", kreg_module_action_ack9}, + {"sensor_current", kreg_sensor_current}, + {"sensor_voltage", kreg_sensor_voltage}, + {"sensor_temperature", kreg_sensor_temperature}, + {"sensor_humidity", kreg_sensor_humidity}, + {"sensor_wind_speed", kreg_sensor_wind_speed}, + {"sensor_wind_dir", kreg_sensor_wind_dir}, + {"sensor_air_press", kreg_sensor_air_press}, + {"sensor_pm25", kreg_sensor_pm25}, + {"sensor_pm10", kreg_sensor_pm10}, + {"sensor_co", kreg_sensor_co}, + {"sensor_co2", kreg_sensor_co2}, + {"sensor_no2", kreg_sensor_no2}, + {"sensor_so2", kreg_sensor_so2}, + {"sensor_o3", kreg_sensor_o3}, + {"sensor_light_intensity", kreg_sensor_light_intensity}, + {"sensor_radiation", kreg_sensor_radiation}, + {"sensor_hydrogen_peroxide_volume", kreg_sensor_hydrogen_peroxide_volume}, + {"sensor_h2o_h2o2_rs", kreg_sensor_h2o_h2o2_rs}, + {"sensor_relative_humidity", kreg_sensor_relative_humidity}, + {"sensor_absolute_hydrogen_peroxide", kreg_sensor_absolute_hydrogen_peroxide}, + {"sensor_h2o_h2o2dew_point_temperature", kreg_sensor_h2o_h2o2dew_point_temperature}, + {"sensor_water_volume", kreg_sensor_water_volume}, + {"sensor_water_vapor_pressure", kreg_sensor_water_vapor_pressure}, + {"sensor_absolute_humidity", kreg_sensor_absolute_humidity}, + {"sensor_water_vapor_saturation_pressure_h2o", kreg_sensor_water_vapor_saturation_pressure_h2o}, + {"sensor_h2o2_vapor_pressure", kreg_sensor_h2o2_vapor_pressure}, + {"sensor_water_vapor_saturation_pressure_h2o_h2o2", kreg_sensor_water_vapor_saturation_pressure_h2o_h2o2}, + {"sensor_temperature0", kreg_sensor_temperature0}, + {"sensor_temperature1", kreg_sensor_temperature1}, + {"sensor_temperature2", kreg_sensor_temperature2}, + {"sensor_temperature3", kreg_sensor_temperature3}, + {"sensor_temperature4", kreg_sensor_temperature4}, + {"sensor_temperature5", kreg_sensor_temperature5}, + {"sensor_temperature6", kreg_sensor_temperature6}, + {"sensor_temperature7", kreg_sensor_temperature7}, + {"sensor_temperature8", kreg_sensor_temperature8}, + {"sensor_temperature9", kreg_sensor_temperature9}, + {"sensor_pressure0", kreg_sensor_pressure0}, + {"sensor_pressure1", kreg_sensor_pressure1}, + {"sensor_pressure2", kreg_sensor_pressure2}, + {"sensor_pressure3", kreg_sensor_pressure3}, + {"sensor_pressure4", kreg_sensor_pressure4}, + {"sensor_pressure5", kreg_sensor_pressure5}, + {"sensor_pressure6", kreg_sensor_pressure6}, + {"sensor_pressure7", kreg_sensor_pressure7}, + {"sensor_pressure8", kreg_sensor_pressure8}, + {"sensor_pressure9", kreg_sensor_pressure9}, + {"sensor_humidity0", kreg_sensor_humidity0}, + {"sensor_humidity1", kreg_sensor_humidity1}, + {"sensor_humidity2", kreg_sensor_humidity2}, + {"sensor_humidity3", kreg_sensor_humidity3}, + {"sensor_humidity4", kreg_sensor_humidity4}, + {"sensor_humidity5", kreg_sensor_humidity5}, + {"sensor_humidity6", kreg_sensor_humidity6}, + {"sensor_humidity7", kreg_sensor_humidity7}, + {"sensor_humidity8", kreg_sensor_humidity8}, + {"sensor_humidity9", kreg_sensor_humidity9}, + {"robot_move", kreg_robot_move}, + {"robot_pos", kreg_robot_pos}, + {"robot_velocity", kreg_robot_velocity}, + {"robot_torque", kreg_robot_torque}, + {"motor_shift", kreg_motor_shift}, + {"motor_shaft", kreg_motor_shaft}, + {"motor_one_circle_pulse", kreg_motor_one_circle_pulse}, + {"motor_one_circle_pulse_denominator", kreg_motor_one_circle_pulse_denominator}, + {"motor_default_velocity", kreg_motor_default_velocity}, + {"motor_default_acc", kreg_motor_default_acc}, + {"motor_default_dec", kreg_motor_default_dec}, + {"motor_default_break_dec", kreg_motor_default_break_dec}, + {"stepmotor_ihold", kreg_stepmotor_ihold}, + {"stepmotor_irun", kreg_stepmotor_irun}, + {"stepmotor_iholddelay", kreg_stepmotor_iholddelay}, + {"stepmotor_iglobalscaler", kreg_stepmotor_iglobalscaler}, + {"motor_run_to_zero_max_d", kreg_motor_run_to_zero_max_d}, + {"motor_look_zero_edge_max_d", kreg_motor_look_zero_edge_max_d}, + {"motor_run_to_zero_speed", kreg_motor_run_to_zero_speed}, + {"motor_run_to_zero_dec", kreg_motor_run_to_zero_dec}, + {"motor_look_zero_edge_speed", kreg_motor_look_zero_edge_speed}, + {"motor_look_zero_edge_dec", kreg_motor_look_zero_edge_dec}, + {"motor_default_torque", kreg_motor_default_torque}, + {"motor_max_d", kreg_motor_max_d}, + {"motor_min_d", kreg_motor_min_d}, + {"robot_x_move", kreg_robot_x_move}, + {"robot_x_pos", kreg_robot_x_pos}, + {"robot_x_velocity", kreg_robot_x_velocity}, + {"robot_x_torque", kreg_robot_x_torque}, + {"motor_x_shift", kreg_motor_x_shift}, + {"motor_x_shaft", kreg_motor_x_shaft}, + {"motor_x_one_circle_pulse", kreg_motor_x_one_circle_pulse}, + {"motor_x_default_velocity", kreg_motor_x_default_velocity}, + {"motor_x_default_acc", kreg_motor_x_default_acc}, + {"motor_x_default_dec", kreg_motor_x_default_dec}, + {"motor_x_default_break_dec", kreg_motor_x_default_break_dec}, + {"stepmotor_x_ihold", kreg_stepmotor_x_ihold}, + {"stepmotor_x_irun", kreg_stepmotor_x_irun}, + {"stepmotor_x_iholddelay", kreg_stepmotor_x_iholddelay}, + {"motor_run_to_zero_max_x_d", kreg_motor_run_to_zero_max_x_d}, + {"motor_look_zero_edge_max_x_d", kreg_motor_look_zero_edge_max_x_d}, + {"motor_x_run_to_zero_speed", kreg_motor_x_run_to_zero_speed}, + {"motor_x_run_to_zero_dec", kreg_motor_x_run_to_zero_dec}, + {"motor_x_look_zero_edge_speed", kreg_motor_x_look_zero_edge_speed}, + {"motor_x_look_zero_edge_dec", kreg_motor_x_look_zero_edge_dec}, + {"motor_x_default_torque", kreg_motor_x_default_torque}, + {"motor_max_x_d", kreg_motor_max_x_d}, + {"motor_min_x_d", kreg_motor_min_x_d}, + {"robot_y_move", kreg_robot_y_move}, + {"robot_y_pos", kreg_robot_y_pos}, + {"robot_y_velocity", kreg_robot_y_velocity}, + {"robot_y_torque", kreg_robot_y_torque}, + {"motor_y_shift", kreg_motor_y_shift}, + {"motor_y_shaft", kreg_motor_y_shaft}, + {"motor_y_one_circle_pulse", kreg_motor_y_one_circle_pulse}, + {"motor_y_default_velocity", kreg_motor_y_default_velocity}, + {"motor_y_default_acc", kreg_motor_y_default_acc}, + {"motor_y_default_dec", kreg_motor_y_default_dec}, + {"motor_y_default_break_dec", kreg_motor_y_default_break_dec}, + {"stepmotor_y_ihold", kreg_stepmotor_y_ihold}, + {"stepmotor_y_irun", kreg_stepmotor_y_irun}, + {"stepmotor_y_iholddelay", kreg_stepmotor_y_iholddelay}, + {"motor_run_to_zero_max_y_d", kreg_motor_run_to_zero_max_y_d}, + {"motor_look_zero_edge_max_y_d", kreg_motor_look_zero_edge_max_y_d}, + {"motor_y_run_to_zero_speed", kreg_motor_y_run_to_zero_speed}, + {"motor_y_run_to_zero_dec", kreg_motor_y_run_to_zero_dec}, + {"motor_y_look_zero_edge_speed", kreg_motor_y_look_zero_edge_speed}, + {"motor_y_look_zero_edge_dec", kreg_motor_y_look_zero_edge_dec}, + {"motor_y_default_torque", kreg_motor_y_default_torque}, + {"motor_max_y_d", kreg_motor_max_y_d}, + {"motor_min_y_d", kreg_motor_min_y_d}, + {"robot_z_move", kreg_robot_z_move}, + {"robot_z_pos", kreg_robot_z_pos}, + {"robot_z_velocity", kreg_robot_z_velocity}, + {"robot_z_torque", kreg_robot_z_torque}, + {"motor_z_shift", kreg_motor_z_shift}, + {"motor_z_shaft", kreg_motor_z_shaft}, + {"motor_z_one_circle_pulse", kreg_motor_z_one_circle_pulse}, + {"motor_z_default_velocity", kreg_motor_z_default_velocity}, + {"motor_z_default_acc", kreg_motor_z_default_acc}, + {"motor_z_default_dec", kreg_motor_z_default_dec}, + {"motor_z_default_break_dec", kreg_motor_z_default_break_dec}, + {"stepmotor_z_ihold", kreg_stepmotor_z_ihold}, + {"stepmotor_z_irun", kreg_stepmotor_z_irun}, + {"stepmotor_z_iholddelay", kreg_stepmotor_z_iholddelay}, + {"motor_run_to_zero_max_z_d", kreg_motor_run_to_zero_max_z_d}, + {"motor_look_zero_edge_max_z_d", kreg_motor_look_zero_edge_max_z_d}, + {"motor_z_run_to_zero_speed", kreg_motor_z_run_to_zero_speed}, + {"motor_z_run_to_zero_dec", kreg_motor_z_run_to_zero_dec}, + {"motor_z_look_zero_edge_speed", kreg_motor_z_look_zero_edge_speed}, + {"motor_z_look_zero_edge_dec", kreg_motor_z_look_zero_edge_dec}, + {"motor_z_default_torque", kreg_motor_z_default_torque}, + {"motor_max_z_d", kreg_motor_max_z_d}, + {"motor_min_z_d", kreg_motor_min_z_d}, + {"xyrobot_robot_type", kreg_xyrobot_robot_type}, + {"pid_target", kreg_pid_target}, + {"pid_nowoutput", kreg_pid_nowoutput}, + {"pid_feedbackval", kreg_pid_feedbackval}, + {"pid_kp", kreg_pid_kp}, + {"pid_ki", kreg_pid_ki}, + {"pid_kd", kreg_pid_kd}, + {"pid_max_output", kreg_pid_max_output}, + {"pid_min_output", kreg_pid_min_output}, + {"pid_max_integral", kreg_pid_max_integral}, + {"pid_min_integral", kreg_pid_min_integral}, + {"error_limit", kreg_error_limit}, + {"compute_interval", kreg_compute_interval}, + {"fan0_ctrl_speed_level", kreg_fan0_ctrl_speed_level}, + {"fan1_ctrl_speed_level", kreg_fan1_ctrl_speed_level}, + {"fan2_ctrl_speed_level", kreg_fan2_ctrl_speed_level}, + {"fan3_ctrl_speed_level", kreg_fan3_ctrl_speed_level}, + {"fan4_ctrl_speed_level", kreg_fan4_ctrl_speed_level}, + {"fan0_speed_level", kreg_fan0_speed_level}, + {"fan1_speed_level", kreg_fan1_speed_level}, + {"fan2_speed_level", kreg_fan2_speed_level}, + {"fan3_speed_level", kreg_fan3_speed_level}, + {"fan4_speed_level", kreg_fan4_speed_level}, + {"pwm_pump0_ctrl_speed_level", kreg_pwm_pump0_ctrl_speed_level}, + {"pwm_pump1_ctrl_speed_level", kreg_pwm_pump1_ctrl_speed_level}, + {"pwm_pump2_ctrl_speed_level", kreg_pwm_pump2_ctrl_speed_level}, + {"pwm_pump3_ctrl_speed_level", kreg_pwm_pump3_ctrl_speed_level}, + {"pwm_pump4_ctrl_speed_level", kreg_pwm_pump4_ctrl_speed_level}, + {"pwm_pump0_speed_level", kreg_pwm_pump0_speed_level}, + {"pwm_pump1_speed_level", kreg_pwm_pump1_speed_level}, + {"pwm_pump2_speed_level", kreg_pwm_pump2_speed_level}, + {"pwm_pump3_speed_level", kreg_pwm_pump3_speed_level}, + {"pwm_pump4_speed_level", kreg_pwm_pump4_speed_level}, + {"pipette_pos_ul", kreg_pipette_pos_ul}, + {"pipette_capactitance_val", kreg_pipette_capactitance_val}, + {"pipette_tip_state", kreg_pipette_tip_state}, + {"pipette_limit_ul", kreg_pipette_limit_ul}, + {"self_reflecting_laser_sensor_transmitting_power", kreg_self_reflecting_laser_sensor_transmitting_power}, + {"self_reflecting_laser_sensor_receiving_tube_gain", kreg_self_reflecting_laser_sensor_receiving_tube_gain}, + {"self_reflecting_laser_sensor_sample_interval_ms", kreg_self_reflecting_laser_sensor_sample_interval_ms}, + {"self_reflecting_laser_sensor_num_samples", kreg_self_reflecting_laser_sensor_num_samples}, + {"boditech_optical_scan_type", kreg_boditech_optical_scan_type}, + {"boditech_optical_scan_start_pos", kreg_boditech_optical_scan_start_pos}, + {"boditech_optical_scan_direction", kreg_boditech_optical_scan_direction}, + {"boditech_optical_scan_step_interval", kreg_boditech_optical_scan_step_interval}, + {"boditech_optical_scan_pointnum", kreg_boditech_optical_scan_pointnum}, + {"boditech_optical_channel_select_num", kreg_boditech_optical_channel_select_num}, + {"boditech_optical_laster_gain", kreg_boditech_optical_laster_gain}, + {"boditech_optical_scan_gain", kreg_boditech_optical_scan_gain}, + {"boditech_optical_trf_uvled_on_duration_us", kreg_boditech_optical_trf_uvled_on_duration_us}, + {"boditech_optical_trf_uvled_off_duration_us", kreg_boditech_optical_trf_uvled_off_duration_us}, + {"boditech_optical_trf_scan_delay_us", kreg_boditech_optical_trf_scan_delay_us}, + {"boditech_optical_trf_scan_duration_us", kreg_boditech_optical_trf_scan_duration_us}, + {"boditech_optical_scan_gain_adjust_suggestion", kreg_boditech_optical_scan_gain_adjust_suggestion}, + {"boditech_optical_adc_result_overflow", kreg_boditech_optical_adc_result_overflow}, + {"boditech_optical_laster_intensity", kreg_boditech_optical_laster_intensity}, + {"laster_scaner_scan_type", kreg_laster_scaner_scan_type}, + {"laster_scaner_scan_start_pos", kreg_laster_scaner_scan_start_pos}, + {"laster_scaner_scan_direction", kreg_laster_scaner_scan_direction}, + {"laster_scaner_scan_step_interval", kreg_laster_scaner_scan_step_interval}, + {"laster_scaner_scan_pointnum", kreg_laster_scaner_scan_pointnum}, + {"laster_scaner_laster_gain", kreg_laster_scaner_laster_gain}, + {"laster_scaner_scan_gain", kreg_laster_scaner_scan_gain}, + {"laster_scaner_scan_gain_adjust_suggestion", kreg_laster_scaner_scan_gain_adjust_suggestion}, + {"laster_scaner_adc_result_overflow", kreg_laster_scaner_adc_result_overflow}, + {"laster_scaner_laster_intensity", kreg_laster_scaner_laster_intensity}, +}; +namespace iflytop{ +void reg_index_table_get(reg_index_table_iterm_t** table, int32_t* size) { + *size = sizeof(iterms) / sizeof(iterms[0]); + *table = iterms; +} + +int32_t str_to_reg_index(const char* val) { + for (int32_t i = 0; i < sizeof(iterms) / sizeof(iterms[0]); i++) { + if (strcmp(iterms[i].name, val) == 0) { + return iterms[i].index; + } + } + return atoi(val); +} +} \ No newline at end of file diff --git a/api/reg_index_table.hpp b/api/reg_index_table.hpp new file mode 100644 index 0000000..a09bc45 --- /dev/null +++ b/api/reg_index_table.hpp @@ -0,0 +1,13 @@ +#pragma once +#include + +namespace iflytop { +typedef struct { + const char* name; + int32_t index; +} reg_index_table_iterm_t; + +void reg_index_table_get(reg_index_table_iterm_t** table, int32_t* size); +int32_t str_to_reg_index(const char* val); + +} // namespace iflytop