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.

165 lines
6.5 KiB

1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
  1. #include "reg_index.hpp"
  2. #include <stdint.h>
  3. namespace iflytop {
  4. #define REG_ITERM(enum) \
  5. { enum, #enum }
  6. static reginfo_t table[] = {
  7. REG_ITERM(kreg_module_version),
  8. REG_ITERM(kreg_module_type),
  9. REG_ITERM(kreg_module_status),
  10. REG_ITERM(kreg_module_errorcode),
  11. REG_ITERM(kreg_opt_module_do_action0),
  12. REG_ITERM(kreg_opt_module_action_param1),
  13. REG_ITERM(kreg_opt_module_action_param2),
  14. REG_ITERM(kreg_opt_module_action_param3),
  15. REG_ITERM(kreg_opt_module_action_ack1),
  16. REG_ITERM(kreg_opt_module_action_ack2),
  17. REG_ITERM(kreg_water_cooling_tmp_controler_pid_target),
  18. REG_ITERM(kreg_water_cooling_tmp_controler_pid_nowoutput),
  19. REG_ITERM(kreg_water_cooling_tmp_controler_pid_feedbackval),
  20. REG_ITERM(kreg_water_cooling_tmp_controler_temp0),
  21. REG_ITERM(kreg_water_cooling_tmp_controler_temp1),
  22. REG_ITERM(kreg_water_cooling_tmp_controler_temp2),
  23. REG_ITERM(kreg_water_cooling_tmp_controler_temp3),
  24. REG_ITERM(kreg_water_cooling_tmp_controler_pid_kp),
  25. REG_ITERM(kreg_water_cooling_tmp_controler_pid_ki),
  26. REG_ITERM(kreg_water_cooling_tmp_controler_pid_kd),
  27. REG_ITERM(kreg_water_cooling_tmp_controler_pid_max_output),
  28. REG_ITERM(kreg_water_cooling_tmp_controler_pid_min_output),
  29. REG_ITERM(kreg_water_cooling_tmp_controler_pid_max_integral),
  30. REG_ITERM(kreg_water_cooling_tmp_controler_pid_min_integral),
  31. REG_ITERM(kreg_water_cooling_tmp_controler_pid_error_limit),
  32. REG_ITERM(kreg_water_cooling_tmp_controler_pid_compute_interval),
  33. REG_ITERM(kreg_pipette_pos_ul),
  34. REG_ITERM(kreg_pipette_capactitance_val),
  35. REG_ITERM(kreg_pipette_tip_state),
  36. REG_ITERM(kreg_pipette_limit_ul),
  37. REG_ITERM(kreg_pipette_pump_acc),
  38. REG_ITERM(kreg_pipette_pump_dec),
  39. REG_ITERM(kreg_pipette_pump_vstart),
  40. REG_ITERM(kreg_pipette_pump_vstop),
  41. REG_ITERM(kreg_pipette_pump_vmax),
  42. REG_ITERM(kreg_pipette_aspirate_distribut_pump_vel),
  43. REG_ITERM(kreg_pipette_lld_pump_vel),
  44. REG_ITERM(kreg_pipette_lld_motor_vel_rpm),
  45. REG_ITERM(kreg_pipette_lld_detect_period_ms),
  46. REG_ITERM(kreg_pipette_lld_prepare_pos),
  47. REG_ITERM(kreg_pipette_lld_prepare_distribut_pos),
  48. //
  49. REG_ITERM(kreg_boditech_optical_module_raw_sector_size),
  50. REG_ITERM(kreg_boditech_optical_module_raw_sector_num),
  51. REG_ITERM(kreg_boditech_optical_scan_type),
  52. REG_ITERM(kreg_boditech_optical_scan_start_pos),
  53. REG_ITERM(kreg_boditech_optical_scan_direction),
  54. REG_ITERM(kreg_boditech_optical_scan_step_interval),
  55. REG_ITERM(kreg_boditech_optical_scan_pointnum),
  56. REG_ITERM(kreg_boditech_optical_channel_select_num),
  57. REG_ITERM(kreg_boditech_optical_laster_gain_potentiometer_val),
  58. REG_ITERM(kreg_boditech_optical_scan_gain_potentiometer),
  59. REG_ITERM(kreg_boditech_optical_trf_uvled_on_duration_us),
  60. REG_ITERM(kreg_boditech_optical_trf_uvled_off_duration_us),
  61. REG_ITERM(kreg_boditech_optical_trf_scan_delay_us),
  62. REG_ITERM(kreg_boditech_optical_trf_scan_duration_us),
  63. REG_ITERM(kreg_boditech_optical_scan_gain_potentiometer_adjust_suggestion),
  64. REG_ITERM(kreg_boditech_optical_adc_result_overflow),
  65. REG_ITERM(kreg_boditech_optical_laster_intensity),
  66. REG_ITERM(kreg_laster_scaner_scan_type),
  67. REG_ITERM(kreg_laster_scaner_scan_start_pos),
  68. REG_ITERM(kreg_laster_scaner_scan_direction),
  69. REG_ITERM(kreg_laster_scaner_scan_step_interval),
  70. REG_ITERM(kreg_laster_scaner_scan_pointnum),
  71. REG_ITERM(kreg_laster_scaner_laster_gain),
  72. REG_ITERM(kreg_laster_scaner_scan_gain),
  73. REG_ITERM(kreg_laster_scaner_scan_gain_adjust_suggestion),
  74. REG_ITERM(kreg_laster_scaner_adc_result_overflow),
  75. REG_ITERM(kreg_laster_scaner_laster_intensity),
  76. REG_ITERM(kreg_xyrobot_default_velocity),
  77. REG_ITERM(kreg_xyrobot_default_acc),
  78. REG_ITERM(kreg_xyrobot_default_dec),
  79. REG_ITERM(kreg_xyrobot_default_break_dec),
  80. REG_ITERM(kreg_xyrobot_run_to_zero_speed),
  81. REG_ITERM(kreg_xyrobot_run_to_zero_dec),
  82. REG_ITERM(kreg_xyrobot_look_zero_edge_speed),
  83. REG_ITERM(kreg_xyrobot_look_zero_edge_dec),
  84. REG_ITERM(kreg_xyrobot_ihold),
  85. REG_ITERM(kreg_xyrobot_irun),
  86. REG_ITERM(kreg_xyrobot_iholddelay),
  87. REG_ITERM(kreg_xyrobot_robot_type),
  88. REG_ITERM(kreg_xyrobot_x_shift),
  89. REG_ITERM(kreg_xyrobot_y_shift),
  90. REG_ITERM(kreg_xyrobot_x_shaft),
  91. REG_ITERM(kreg_xyrobot_y_shaft),
  92. REG_ITERM(kreg_xyrobot_x_one_circle_pulse),
  93. REG_ITERM(kreg_xyrobot_y_one_circle_pulse),
  94. REG_ITERM(kreg_xyrobot_run_to_zero_max_x_d),
  95. REG_ITERM(kreg_xyrobot_run_to_zero_max_y_d),
  96. REG_ITERM(kreg_xyrobot_look_zero_edge_max_x_d),
  97. REG_ITERM(kreg_xyrobot_look_zero_edge_max_y_d),
  98. REG_ITERM(kreg_xyrobot_io_state0),
  99. REG_ITERM(kreg_xyrobot_io_state1),
  100. REG_ITERM(kreg_step_motor_pos),
  101. REG_ITERM(kreg_step_motor_dpos),
  102. REG_ITERM(kreg_step_motor_shift),
  103. REG_ITERM(kreg_step_motor_shaft),
  104. REG_ITERM(kreg_step_motor_one_circle_pulse),
  105. REG_ITERM(kreg_step_motor_one_circle_pulse_denominator),
  106. REG_ITERM(kreg_step_motor_default_velocity),
  107. REG_ITERM(kreg_step_motor_ihold),
  108. REG_ITERM(kreg_step_motor_irun),
  109. REG_ITERM(kreg_step_motor_iholddelay),
  110. REG_ITERM(kreg_step_motor_iglobalscaler),
  111. REG_ITERM(kreg_step_motor_run_to_zero_speed),
  112. REG_ITERM(kreg_step_motor_look_zero_edge_speed),
  113. REG_ITERM(kreg_step_motor_max_d),
  114. REG_ITERM(kreg_step_motor_min_d),
  115. REG_ITERM(kreg_step_motor_in_debug_mode),
  116. REG_ITERM(kreg_step_motor_vstart),
  117. REG_ITERM(kreg_step_motor_a1),
  118. REG_ITERM(kreg_step_motor_amax),
  119. REG_ITERM(kreg_step_motor_v1),
  120. REG_ITERM(kreg_step_motor_dmax),
  121. REG_ITERM(kreg_step_motor_d1),
  122. REG_ITERM(kreg_step_motor_vstop),
  123. REG_ITERM(kreg_step_motor_tzerowait),
  124. REG_ITERM(kreg_mini_servo_pos),
  125. REG_ITERM(kreg_mini_servo_limit_velocity),
  126. REG_ITERM(kreg_mini_servo_limit_torque),
  127. REG_ITERM(kreg_mini_servo_protective_torque),
  128. REG_ITERM(kreg_id_card_reader_raw_sector_size),
  129. REG_ITERM(kreg_id_card_reader_raw_sector_num),
  130. REG_ITERM(kreg_id_card_reader_is_online),
  131. };
  132. reginfo_t *get_reginfo_by_index(int32_t index) {
  133. for (int i = 0; i < sizeof(table) / sizeof(table[0]); i++) {
  134. if (table[i].index == index) {
  135. return &table[i];
  136. }
  137. }
  138. return nullptr;
  139. }
  140. const char *regindex2str(int32_t index) {
  141. for (int i = 0; i < sizeof(table) / sizeof(table[0]); i++) {
  142. if (table[i].index == index) {
  143. return table[i].regname;
  144. }
  145. }
  146. return "unknown reg";
  147. }
  148. reginfo_t *reg_get_table() { return table; }
  149. int reg_get_table_size() { return sizeof(table) / sizeof(table[0]); }
  150. } // namespace iflytop