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.

244 lines
14 KiB

2 years ago
2 years ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
8 months ago
11 months 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
2 years ago
1 year ago
2 years ago
  1. #pragma once
  2. #include <stdint.h>
  3. namespace iflytop {
  4. using namespace std;
  5. typedef enum {
  6. /*******************************************************************************
  7. * *
  8. *******************************************************************************/
  9. // kreg_module_version = 0, // 模块版本
  10. // kreg_module_type = 1, // 模块类型
  11. // kreg_module_status = 2, // 0idle,1busy,2error
  12. // kreg_module_errorcode = 3, // inited_flag
  13. // kreg_module_detail_errorcode = 4, // 详细的错误信息,该位置的定义根据module_errorcode的不同,而不同
  14. /*******************************************************************************
  15. * *
  16. *******************************************************************************/
  17. kreg_extboard_resetflag = 100, // 板子复位标识
  18. /***********************************************************************************************************************
  19. * *
  20. ***********************************************************************************************************************/
  21. kreg_water_cooling_tmp_controler_pid_target = 3000, // 目标数值
  22. kreg_water_cooling_tmp_controler_pid_nowoutput = 3001, // 当前输出
  23. kreg_water_cooling_tmp_controler_pid_feedbackval = 3002, // 当前输出
  24. kreg_water_cooling_tmp_controler_temp0 = 3003, // 温度1
  25. kreg_water_cooling_tmp_controler_temp1 = 3004, // 温度2
  26. kreg_water_cooling_tmp_controler_temp2 = 3005, // 温度3
  27. kreg_water_cooling_tmp_controler_temp3 = 3006, // 温度4
  28. kreg_water_cooling_tmp_controler_pid_kp = 3050, // kp
  29. kreg_water_cooling_tmp_controler_pid_ki = 3051, // ki
  30. kreg_water_cooling_tmp_controler_pid_kd = 3052, // kd
  31. kreg_water_cooling_tmp_controler_pid_max_output = 3053, // 最大输出
  32. kreg_water_cooling_tmp_controler_pid_min_output = 3054, // 最小输出
  33. kreg_water_cooling_tmp_controler_pid_max_integral = 3055, // 最大积分
  34. kreg_water_cooling_tmp_controler_pid_min_integral = 3056, // 最小积分
  35. kreg_water_cooling_tmp_controler_pid_error_limit = 3057, // 误差限制
  36. kreg_water_cooling_tmp_controler_pid_compute_interval = 3058, // 计算间隔
  37. /*******************************************************************************
  38. * *
  39. *******************************************************************************/
  40. kreg_pipette_pos_nl = 4000, // 移液枪位置
  41. kreg_pipette_capactitance_val = 4001, // 移液枪电容值
  42. kreg_pipette_tip_state = 4002, // 移动液枪tip状态
  43. kreg_pipette_zm_pos = 4101,
  44. kreg_pipette_zm_is_enable = 4102,
  45. kreg_pipette_zm_dpos = 4103,
  46. kreg_pipette_zm_shift = 4105,
  47. kreg_pipette_zm_shaft = 4106,
  48. kreg_pipette_zm_one_circle_pulse = 4107,
  49. kreg_pipette_zm_one_circle_pulse_denominator = 4108,
  50. kreg_pipette_zm_default_velocity = 4109,
  51. kreg_pipette_zm_ihold = 4110,
  52. kreg_pipette_zm_irun = 4111,
  53. kreg_pipette_zm_iholddelay = 4112,
  54. kreg_pipette_zm_iglobalscaler = 4113,
  55. kreg_pipette_zm_run_to_zero_speed = 4114,
  56. kreg_pipette_zm_look_zero_edge_speed = 4115,
  57. kreg_pipette_zm_max_d = 4116,
  58. kreg_pipette_zm_min_d = 4117,
  59. kreg_pipette_zm_in_debug_mode = 4118,
  60. kreg_pipette_zm_vstart = 4119,
  61. kreg_pipette_zm_a1 = 4120,
  62. kreg_pipette_zm_amax = 4121,
  63. kreg_pipette_zm_v1 = 4122,
  64. kreg_pipette_zm_dmax = 4123,
  65. kreg_pipette_zm_d1 = 4124,
  66. kreg_pipette_zm_vstop = 4125,
  67. kreg_pipette_zm_tzerowait = 4126,
  68. kreg_pipette_zm_enc_resolution = 4127,
  69. kreg_pipette_zm_enable_enc = 4128,
  70. kreg_pipette_zm_dzero = 4129,
  71. kreg_pipette_zm_pos_devi_tolerance = 4130,
  72. kreg_pipette_zm_io_trigger_append_distance = 4131,
  73. kreg_pipette_zm_has_move_zero = 4132,
  74. kreg_pipette_zm_mres = 4133,
  75. kreg_pipette_zm_encpos = 4134, // readonly
  76. /**
  77. * @brief
  78. *
  79. * ------------------------------------------------------
  80. *
  81. *
  82. * :F光学向左扫描的起始位置
  83. * :1:-1
  84. * :1200
  85. * :1
  86. *
  87. * :(1200)
  88. *
  89. *
  90. */
  91. // 坐标参数
  92. kreg_a8k_opt_t_pos_offset = 4501, // T光学正向扫描,扫描起始位距离零点的偏移
  93. kreg_a8k_opt_f_pos_offset = 4502, // F光学正向扫描,扫描起始位距离零点的偏移
  94. kreg_a8k_opt_t_reverse_scan_pos_offset = 4503, // T光学逆向扫描,扫描起始位距离零点的偏移
  95. kreg_a8k_opt_f_reverse_scan_pos_offset = 4504, // F光学逆向扫描,扫描起始位距离零点的偏移
  96. kreg_a8k_opt_scan_step_interval = 4505, // 参数固定:为1
  97. kreg_a8k_opt_scan_pointnum = 4506, // 参数固定:为1200个点
  98. kreg_a8k_opt_scan_vdefault = 4520, // 扫描时vdefault
  99. kreg_a8k_opt_scan_vstart = 4521, //
  100. kreg_a8k_opt_scan_a1 = 4522, //
  101. kreg_a8k_opt_scan_amax = 4523, //
  102. kreg_a8k_opt_scan_v1 = 4524, //
  103. kreg_a8k_opt_scan_dmax = 4525, //
  104. kreg_a8k_opt_scan_d1 = 4526, //
  105. kreg_a8k_opt_scan_vstop = 4527, //
  106. kreg_a8k_opt_scan_tzerowait = 4528, //
  107. /***********************************************************************************************************************
  108. * XYROBOT *
  109. ***********************************************************************************************************************/
  110. kreg_xyrobot_io_state = 9900, //
  111. kreg_xyrobot_is_enable = 9901, //
  112. kreg_xyrobot_has_move_to_zero = 9902, //
  113. kreg_xyrobot_robot_type = 9950, //
  114. kreg_xyrobot_one_circle_pulse = 9951, //
  115. kreg_xyrobot_one_circle_pulse_denominator = 9952, //
  116. kreg_xyrobot_ihold = 9954, //
  117. kreg_xyrobot_irun = 9955, //
  118. kreg_xyrobot_iholddelay = 9956, //
  119. kreg_xyrobot_iglobalscaler = 9957, //
  120. kreg_xyrobot_vstart = 9958, //
  121. kreg_xyrobot_a1 = 9959, //
  122. kreg_xyrobot_amax = 9960, //
  123. kreg_xyrobot_v1 = 9961, //
  124. kreg_xyrobot_dmax = 9962, //
  125. kreg_xyrobot_d1 = 9963, //
  126. kreg_xyrobot_vstop = 9964, //
  127. kreg_xyrobot_tzerowait = 9965, //
  128. kreg_xyrobot_enc_resolution = 9966, //
  129. kreg_xyrobot_enable_enc = 9967, //
  130. kreg_xyrobot_x_shaft = 9968, //
  131. kreg_xyrobot_y_shaft = 9969, //
  132. kreg_xyrobot_min_x = 9972, //
  133. kreg_xyrobot_min_y = 9973, //
  134. kreg_xyrobot_max_x = 9974, //
  135. kreg_xyrobot_max_y = 9975, //
  136. kreg_xyrobot_run_to_zero_speed = 9976, //
  137. kreg_xyrobot_look_zero_edge_speed = 9977, //
  138. kreg_xyrobot_shift_x = 9978, //
  139. kreg_xyrobot_shift_y = 9979, //
  140. kreg_xyrobot_pos_devi_tolerance = 9980, //
  141. kreg_xyrobot_io_trigger_append_distance = 9981, //
  142. kreg_xyrobot_default_velocity = 10000, //
  143. /***********************************************************************************************************************
  144. * step_motor *
  145. ***********************************************************************************************************************/
  146. kreg_step_motor_pos = 10101, // 机器人x坐标
  147. kreg_step_motor_is_enable = 10102, // 步进电机是否使能
  148. kreg_step_motor_dpos = 10103, // 执行完上一条指令后的相对位移
  149. kreg_step_motor_has_move_zero = 10104, // 是否回零
  150. kreg_step_motor_lost_step = 10105, // 丢失步数
  151. kreg_step_motor_shift = 10150, // x偏移
  152. kreg_step_motor_shaft = 10151, // x轴是否反转
  153. kreg_step_motor_one_circle_pulse = 10152, // x轴一圈脉冲数
  154. kreg_step_motor_one_circle_pulse_denominator = 10153, // 设置一圈脉冲数的分母
  155. kreg_step_motor_default_velocity = 10154, // 默认速度
  156. kreg_step_motor_ihold = 10158, // 步进电机电流配置
  157. kreg_step_motor_irun = 10159, // 步进电机电流配置
  158. kreg_step_motor_iholddelay = 10160, // 步进电机电流配置
  159. kreg_step_motor_iglobalscaler = 10161, // 步进电机电流配置
  160. kreg_step_motor_mres = 10162, // 步进细分配置
  161. kreg_step_motor_run_to_zero_speed = 10173, // 回零速度
  162. kreg_step_motor_look_zero_edge_speed = 10175, // 找零边缘速度
  163. kreg_step_motor_max_d = 10178, // 最大限制距离
  164. kreg_step_motor_min_d = 10179, // 最小限制距离
  165. kreg_step_motor_in_debug_mode = 10180, // 驱动器处于调试模式
  166. kreg_step_motor_vstart = 10181, // a1起作用的速度
  167. kreg_step_motor_a1 = 10182, //
  168. kreg_step_motor_amax = 10183, //
  169. kreg_step_motor_v1 = 10184, //
  170. kreg_step_motor_dmax = 10185, //
  171. kreg_step_motor_d1 = 10186, //
  172. kreg_step_motor_vstop = 10187, //
  173. kreg_step_motor_tzerowait = 10188, //
  174. kreg_step_motor_enc_resolution = 10189, // 编码器分辨率 1000,1024,4000,4096,16384
  175. kreg_step_motor_enable_enc = 10190, //
  176. kreg_step_motor_dzero_pos = 10191, //
  177. kreg_step_motor_pos_devi_tolerance = 10192, // 位置偏差容忍度
  178. kreg_step_motor_io_trigger_append_distance = 10193, // 移动到IO时,会在原点触发的边沿,稍稍里面移动一点,用来保证IO稳定触发
  179. /***********************************************************************************************************************
  180. * step_motor *
  181. ***********************************************************************************************************************/
  182. kreg_mini_servo_pos = 10201, // 位置
  183. kreg_mini_servo_is_enable = 10202,
  184. kreg_mini_servo_limit_velocity = 10251, // 限制速度
  185. kreg_mini_servo_limit_torque = 10252, // 限制扭矩
  186. kreg_mini_servo_protective_torque = 10253, // 保护扭矩
  187. kreg_mini_servo_is_move = 10254, // isMove
  188. kreg_mini_servo_status = 10255, // status
  189. kreg_mini_servo_voltage = 10256, // 电压 反馈当前舵机工作电压,反馈精度为0.1V,即120*0.1=12V
  190. kreg_mini_servo_current = 10257, // 电流 反馈当前工作电流值,单位为ma
  191. kreg_mini_servo_temperature = 10258, // 温度 反馈当前舵机内部工作温度,反馈精度为1摄氏度
  192. kreg_mini_servo_loadvalue = 10259, // 负载值 输出驱动电机的当前占空比电压,单位为0.1%,取值0-1000
  193. kreg_mini_servo_target_pos_tolerance = 10260, // 目标位置容忍度
  194. /***********************************************************************************************************************
  195. * ID_CARD_READER *
  196. ***********************************************************************************************************************/
  197. kreg_id_card_reader_raw_sector_size = 10301, //
  198. kreg_id_card_reader_raw_sector_num = 10302, //
  199. kreg_id_card_reader_is_online = 10303, //
  200. /***********************************************************************************************************************
  201. * *
  202. ***********************************************************************************************************************/
  203. kreg_plate_code_scaner_laster_intensity = 10401, //
  204. kreg_plate_code_scaner_scan_gain = 10402, //
  205. kreg_plate_code_scaner_scan_velocity = 10403, //
  206. kreg_plate_code_scaner_scan_start_pos = 10404, //
  207. kreg_plate_code_scaner_final_stop_pos = 10405, //
  208. kreg_plate_code_scaner_code_judgment_threshold = 10406, //
  209. kreg_plate_code_scaner_item = 10407, //
  210. kreg_plate_code_scaner_lot = 10408, //
  211. kreg_plate_code_scaner_rawcode = 10409, //
  212. kreg_plate_code_scaner_code_legal = 10410, //
  213. } reg_index_t;
  214. typedef struct {
  215. int index;
  216. const char* regname;
  217. } reginfo_t;
  218. const char* regindex2str(int32_t code);
  219. reginfo_t* reg_get_table();
  220. int reg_get_table_size();
  221. } // namespace iflytop