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.

309 lines
20 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. #pragma once
  2. #include <stdint.h>
  3. namespace iflytop {
  4. using namespace std;
  5. #define REG_INDEX(type, offset, subconfigindex) (type * 100 + offset + subconfigindex)
  6. typedef enum {
  7. /*******************************************************************************
  8. * ģͨú״̬ *
  9. *******************************************************************************/
  10. kreg_module_version = REG_INDEX(0, 0, 0), // ģ���汾
  11. kreg_module_type = REG_INDEX(0, 0, 1), // �����
  12. kreg_module_status = REG_INDEX(0, 0, 2), // 0idle,1busy,2error
  13. kreg_module_errorcode = REG_INDEX(0, 0, 3), // inited_flag
  14. kreg_module_initflag = REG_INDEX(0, 0, 4), // inited_flag
  15. kreg_module_enableflag = REG_INDEX(0, 0, 5), // 0idle,1busy,2error
  16. kreg_module_errorbitflag0 = REG_INDEX(0, 0, 6), // ģ���쳣��־��bit��ÿ��ģ���Զ���
  17. kreg_module_errorbitflag1 = REG_INDEX(0, 0, 7), //
  18. kreg_module_input_state = REG_INDEX(0, 0, 8), //
  19. kreg_module_output_state = REG_INDEX(0, 0, 9), //
  20. kreg_module_raw_sector_size = REG_INDEX(0, 0, 10), // sector_size
  21. kreg_module_raw_sector_num = REG_INDEX(0, 0, 11), //
  22. kreg_module_is_online = REG_INDEX(0, 0, 12), //
  23. kreg_module_last_cmd_exec_status = REG_INDEX(0, 0, 20), // ��һ��ָ��ִ�е�״̬
  24. kreg_module_last_cmd_exec_val0 = REG_INDEX(0, 0, 21), // ��һ��ָ��ִ�еĽ���0
  25. kreg_module_last_cmd_exec_val1 = REG_INDEX(0, 0, 22), // ��һ��ָ��ִ�еĽ���1
  26. kreg_module_last_cmd_exec_val2 = REG_INDEX(0, 0, 23), // ��һ��ָ��ִ�еĽ���2
  27. kreg_module_last_cmd_exec_val3 = REG_INDEX(0, 0, 24), // ��һ��ָ��ִ�еĽ���3
  28. kreg_module_last_cmd_exec_val4 = REG_INDEX(0, 0, 25), // ��һ��ָ��ִ�еĽ���4
  29. kreg_module_last_cmd_exec_val5 = REG_INDEX(0, 0, 26), // ��һ��ָ��ִ�еĽ���5
  30. kreg_module_private0 = REG_INDEX(0, 0, 30), // ģ��˽��״̬0
  31. kreg_module_private1 = REG_INDEX(0, 0, 31), // ģ��˽��״̬1
  32. kreg_module_private2 = REG_INDEX(0, 0, 32), // ģ��˽��״̬2
  33. kreg_module_private3 = REG_INDEX(0, 0, 33), // ģ��˽��״̬3
  34. kreg_module_private4 = REG_INDEX(0, 0, 34), // ģ��˽��״̬4
  35. kreg_module_private5 = REG_INDEX(0, 0, 35), // ģ��˽��״̬5
  36. kreg_module_private6 = REG_INDEX(0, 0, 36), // ģ��˽��״̬6
  37. kreg_module_private7 = REG_INDEX(0, 0, 37), // ģ��˽��״̬7
  38. kreg_module_private8 = REG_INDEX(0, 0, 38), // ģ��˽��״̬8
  39. kreg_module_private9 = REG_INDEX(0, 0, 39), // ģ��˽��״̬9
  40. kreg_module_do_action0 = REG_INDEX(0, 0, 40), // ����0
  41. kreg_module_action_param1 = REG_INDEX(0, 0, 41), // ����1
  42. kreg_module_action_param2 = REG_INDEX(0, 0, 42), // ����2
  43. kreg_module_action_param3 = REG_INDEX(0, 0, 43), // ����3
  44. kreg_module_action_param4 = REG_INDEX(0, 0, 44), // ����4
  45. kreg_module_action_param5 = REG_INDEX(0, 0, 45), // ����5
  46. kreg_module_action_param6 = REG_INDEX(0, 0, 46), // ����6
  47. kreg_module_action_param7 = REG_INDEX(0, 0, 47), // ����7
  48. kreg_module_action_param8 = REG_INDEX(0, 0, 48), // ����8
  49. kreg_module_action_param9 = REG_INDEX(0, 0, 49), // ����9
  50. /*******************************************************************************
  51. * SENSOR *
  52. *******************************************************************************/
  53. kreg_sensor_current = REG_INDEX(1, 0, 0), // ����
  54. kreg_sensor_voltage = REG_INDEX(1, 0, 1), // ��ѹ
  55. kreg_sensor_temperature = REG_INDEX(1, 0, 2), // �¶�
  56. kreg_sensor_humidity = REG_INDEX(1, 0, 3), // ʪ��
  57. kreg_sensor_wind_speed = REG_INDEX(1, 0, 4), // ����
  58. kreg_sensor_wind_dir = REG_INDEX(1, 0, 5), // ����
  59. kreg_sensor_air_press = REG_INDEX(1, 0, 6), // ��ѹ
  60. kreg_sensor_pm25 = REG_INDEX(1, 0, 7), // PM2.5
  61. kreg_sensor_pm10 = REG_INDEX(1, 0, 8), // PM10
  62. kreg_sensor_co = REG_INDEX(1, 0, 9), // CO
  63. kreg_sensor_co2 = REG_INDEX(1, 0, 10), // CO
  64. kreg_sensor_no2 = REG_INDEX(1, 0, 11), // NO2
  65. kreg_sensor_so2 = REG_INDEX(1, 0, 12), // SO2
  66. kreg_sensor_o3 = REG_INDEX(1, 0, 13), // O3
  67. kreg_sensor_light_intensity = REG_INDEX(1, 0, 14), // ����ǿ��
  68. kreg_sensor_radiation = REG_INDEX(1, 0, 15), // �ܷ�����
  69. kreg_sensor_hydrogen_peroxide_volume = REG_INDEX(1, 0, 16), // ppm 0x0100
  70. kreg_sensor_h2o_h2o2_rs = REG_INDEX(1, 0, 17), // %RS * 100
  71. kreg_sensor_relative_humidity = REG_INDEX(1, 0, 18), // %RH * 100
  72. kreg_sensor_absolute_hydrogen_peroxide = REG_INDEX(1, 0, 19), // mg/m3
  73. kreg_sensor_h2o_h2o2dew_point_temperature = REG_INDEX(1, 0, 20), // ��C * 100
  74. kreg_sensor_water_volume = REG_INDEX(1, 0, 21), // ppm
  75. kreg_sensor_water_vapor_pressure = REG_INDEX(1, 0, 22), // hpa
  76. kreg_sensor_absolute_humidity = REG_INDEX(1, 0, 23), // g/m3
  77. kreg_sensor_water_vapor_saturation_pressure_h2o = REG_INDEX(1, 0, 24), // hpa
  78. kreg_sensor_h2o2_vapor_pressure = REG_INDEX(1, 0, 25), // hpa
  79. kreg_sensor_water_vapor_saturation_pressure_h2o_h2o2 = REG_INDEX(1, 0, 26), // hpa
  80. kreg_sensor_temperature0 = REG_INDEX(2, 0, 0), // �¶�1
  81. kreg_sensor_temperature1 = REG_INDEX(2, 0, 1), // �¶�2
  82. kreg_sensor_temperature2 = REG_INDEX(2, 0, 2), // �¶�3
  83. kreg_sensor_temperature3 = REG_INDEX(2, 0, 3), // �¶�4
  84. kreg_sensor_temperature4 = REG_INDEX(2, 0, 4), // �¶�5
  85. kreg_sensor_temperature5 = REG_INDEX(2, 0, 5), // �¶�6
  86. kreg_sensor_temperature6 = REG_INDEX(2, 0, 6), // �¶�7
  87. kreg_sensor_temperature7 = REG_INDEX(2, 0, 7), // �¶�8
  88. kreg_sensor_temperature8 = REG_INDEX(2, 0, 8), // �¶�9
  89. kreg_sensor_temperature9 = REG_INDEX(2, 0, 9), // �¶�10
  90. kreg_sensor_pressure0 = REG_INDEX(2, 10, 0), // ѹ��0
  91. kreg_sensor_pressure1 = REG_INDEX(2, 10, 1), // ѹ��1
  92. kreg_sensor_pressure2 = REG_INDEX(2, 10, 2), // ѹ��2
  93. kreg_sensor_pressure3 = REG_INDEX(2, 10, 3), // ѹ��3
  94. kreg_sensor_pressure4 = REG_INDEX(2, 10, 4), // ѹ��4
  95. kreg_sensor_pressure5 = REG_INDEX(2, 10, 5), // ѹ��5
  96. kreg_sensor_pressure6 = REG_INDEX(2, 10, 6), // ѹ��6
  97. kreg_sensor_pressure7 = REG_INDEX(2, 10, 7), // ѹ��7
  98. kreg_sensor_pressure8 = REG_INDEX(2, 10, 8), // ѹ��8
  99. kreg_sensor_pressure9 = REG_INDEX(2, 10, 9), // ѹ��9
  100. kreg_sensor_humidity0 = REG_INDEX(2, 20, 0), // ʪ��0
  101. kreg_sensor_humidity1 = REG_INDEX(2, 20, 1), // ʪ��1
  102. kreg_sensor_humidity2 = REG_INDEX(2, 20, 2), // ʪ��2
  103. kreg_sensor_humidity3 = REG_INDEX(2, 20, 3), // ʪ��3
  104. kreg_sensor_humidity4 = REG_INDEX(2, 20, 4), // ʪ��4
  105. kreg_sensor_humidity5 = REG_INDEX(2, 20, 5), // ʪ��5
  106. kreg_sensor_humidity6 = REG_INDEX(2, 20, 6), // ʪ��6
  107. kreg_sensor_humidity7 = REG_INDEX(2, 20, 7), // ʪ��7
  108. kreg_sensor_humidity8 = REG_INDEX(2, 20, 8), // ʪ��8
  109. kreg_sensor_humidity9 = REG_INDEX(2, 20, 9), // ʪ��9
  110. /*******************************************************************************
  111. * еͨ *
  112. *******************************************************************************/
  113. /*******************************************************************************
  114. * MOTOR_DEFAULT *
  115. *******************************************************************************/
  116. kreg_robot_move = REG_INDEX(10, 0, 0), // ������X�Ƿ����ƶ�
  117. kreg_robot_pos = REG_INDEX(10, 0, 1), // ������x����
  118. kreg_robot_velocity = REG_INDEX(10, 0, 2), // ������x�ٶ�
  119. kreg_robot_torque = REG_INDEX(10, 0, 3), // ������x����
  120. kreg_motor_shift = REG_INDEX(10, 50, 0), // xƫ��
  121. kreg_motor_shaft = REG_INDEX(10, 50, 1), // x���Ƿ���ת
  122. kreg_motor_one_circle_pulse = REG_INDEX(10, 50, 2), // x��һȦ������
  123. kreg_motor_default_velocity = REG_INDEX(10, 50, 3), // Ĭ���ٶ�
  124. kreg_motor_default_acc = REG_INDEX(10, 50, 4), // Ĭ�ϼ��ٶ�
  125. kreg_motor_default_dec = REG_INDEX(10, 50, 5), // Ĭ�ϼ��ٶ�
  126. kreg_motor_default_break_dec = REG_INDEX(10, 50, 6), // Ĭ�ϼ��ٶ�
  127. kreg_stepmotor_ihold = REG_INDEX(10, 50, 7), // ����������������
  128. kreg_stepmotor_irun = REG_INDEX(10, 50, 8), // ����������������
  129. kreg_stepmotor_iholddelay = REG_INDEX(10, 50, 9), // ����������������
  130. kreg_motor_run_to_zero_max_d = REG_INDEX(10, 50, 20), // x��������������
  131. kreg_motor_look_zero_edge_max_d = REG_INDEX(10, 50, 21), // x��������Ե��������
  132. kreg_motor_run_to_zero_speed = REG_INDEX(10, 50, 22), // �����ٶ�
  133. kreg_motor_run_to_zero_dec = REG_INDEX(10, 50, 23), // �������ٶ�
  134. kreg_motor_look_zero_edge_speed = REG_INDEX(10, 50, 24), // ������Ե�ٶ�
  135. kreg_motor_look_zero_edge_dec = REG_INDEX(10, 50, 25), // ������Ե���ٶ�
  136. /*******************************************************************************
  137. * MOTOR_X *
  138. *******************************************************************************/
  139. kreg_robot_x_move = REG_INDEX(11, 0, 0), // ������X�Ƿ����ƶ�
  140. kreg_robot_x_pos = REG_INDEX(11, 0, 1), // ������x����
  141. kreg_robot_x_velocity = REG_INDEX(11, 0, 2), // ������x�ٶ�
  142. kreg_robot_x_torque = REG_INDEX(11, 0, 3), // ������x����
  143. kreg_motor_x_shift = REG_INDEX(11, 50, 0), // xƫ��
  144. kreg_motor_x_shaft = REG_INDEX(11, 50, 1), // x���Ƿ���ת
  145. kreg_motor_x_one_circle_pulse = REG_INDEX(11, 50, 2), // x��һȦ������
  146. kreg_motor_x_default_velocity = REG_INDEX(11, 50, 3), // Ĭ���ٶ�
  147. kreg_motor_x_default_acc = REG_INDEX(11, 50, 4), // Ĭ�ϼ��ٶ�
  148. kreg_motor_x_default_dec = REG_INDEX(11, 50, 5), // Ĭ�ϼ��ٶ�
  149. kreg_motor_x_default_break_dec = REG_INDEX(11, 50, 6), // Ĭ�ϼ��ٶ�
  150. kreg_stepmotor_x_ihold = REG_INDEX(11, 50, 7), // ����������������
  151. kreg_stepmotor_x_irun = REG_INDEX(11, 50, 8), // ����������������
  152. kreg_stepmotor_x_iholddelay = REG_INDEX(11, 50, 9), // ����������������
  153. kreg_motor_run_to_zero_max_x_d = REG_INDEX(11, 50, 20), // x��������������
  154. kreg_motor_look_zero_edge_max_x_d = REG_INDEX(11, 50, 21), // x��������Ե��������
  155. kreg_motor_x_run_to_zero_speed = REG_INDEX(11, 50, 22), // �����ٶ�
  156. kreg_motor_x_run_to_zero_dec = REG_INDEX(11, 50, 23), // �������ٶ�
  157. kreg_motor_x_look_zero_edge_speed = REG_INDEX(11, 50, 24), // ������Ե�ٶ�
  158. kreg_motor_x_look_zero_edge_dec = REG_INDEX(11, 50, 25), // ������Ե���ٶ�
  159. /*******************************************************************************
  160. * MOTOR_Y *
  161. *******************************************************************************/
  162. kreg_robot_y_move = REG_INDEX(12, 0, 0), // ������X�Ƿ����ƶ�
  163. kreg_robot_y_pos = REG_INDEX(12, 0, 1), // ������x����
  164. kreg_robot_y_velocity = REG_INDEX(12, 0, 2), // ������x�ٶ�
  165. kreg_robot_y_torque = REG_INDEX(12, 0, 3), // ������x����
  166. kreg_motor_y_shift = REG_INDEX(12, 50, 0), // xƫ��
  167. kreg_motor_y_shaft = REG_INDEX(12, 50, 1), // x���Ƿ���ת
  168. kreg_motor_y_one_circle_pulse = REG_INDEX(12, 50, 2), // x��һȦ������
  169. kreg_motor_y_default_velocity = REG_INDEX(12, 50, 3), // Ĭ���ٶ�
  170. kreg_motor_y_default_acc = REG_INDEX(12, 50, 4), // Ĭ�ϼ��ٶ�
  171. kreg_motor_y_default_dec = REG_INDEX(12, 50, 5), // Ĭ�ϼ��ٶ�
  172. kreg_motor_y_default_break_dec = REG_INDEX(12, 50, 6), // Ĭ�ϼ��ٶ�
  173. kreg_stepmotor_y_ihold = REG_INDEX(12, 50, 7), // ����������������
  174. kreg_stepmotor_y_irun = REG_INDEX(12, 50, 8), // ����������������
  175. kreg_stepmotor_y_iholddelay = REG_INDEX(12, 50, 9), // ����������������
  176. kreg_motor_run_to_zero_max_y_d = REG_INDEX(12, 50, 20), // x��������������
  177. kreg_motor_look_zero_edge_max_y_d = REG_INDEX(12, 50, 21), // x��������Ե��������
  178. kreg_motor_y_run_to_zero_speed = REG_INDEX(12, 50, 22), // �����ٶ�
  179. kreg_motor_y_run_to_zero_dec = REG_INDEX(12, 50, 23), // �������ٶ�
  180. kreg_motor_y_look_zero_edge_speed = REG_INDEX(12, 50, 24), // ������Ե�ٶ�
  181. kreg_motor_y_look_zero_edge_dec = REG_INDEX(12, 50, 25), // ������Ե���ٶ�
  182. /*******************************************************************************
  183. * MOTOR_Z *
  184. *******************************************************************************/
  185. kreg_robot_z_move = REG_INDEX(13, 0, 0), // ������X�Ƿ����ƶ�
  186. kreg_robot_z_pos = REG_INDEX(13, 0, 1), // ������x����
  187. kreg_robot_z_velocity = REG_INDEX(13, 0, 2), // ������x�ٶ�
  188. kreg_robot_z_torque = REG_INDEX(13, 0, 3), // ������x����
  189. kreg_motor_z_shift = REG_INDEX(13, 50, 0), // xƫ��
  190. kreg_motor_z_shaft = REG_INDEX(13, 50, 1), // x���Ƿ���ת
  191. kreg_motor_z_one_circle_pulse = REG_INDEX(13, 50, 2), // x��һȦ������
  192. kreg_motor_z_default_velocity = REG_INDEX(13, 50, 3), // Ĭ���ٶ�
  193. kreg_motor_z_default_acc = REG_INDEX(13, 50, 4), // Ĭ�ϼ��ٶ�
  194. kreg_motor_z_default_dec = REG_INDEX(13, 50, 5), // Ĭ�ϼ��ٶ�
  195. kreg_motor_z_default_break_dec = REG_INDEX(13, 50, 6), // Ĭ�ϼ��ٶ�
  196. kreg_stepmotor_z_ihold = REG_INDEX(13, 50, 7), // ����������������
  197. kreg_stepmotor_z_irun = REG_INDEX(13, 50, 8), // ����������������
  198. kreg_stepmotor_z_iholddelay = REG_INDEX(13, 50, 9), // ����������������
  199. kreg_motor_run_to_zero_max_z_d = REG_INDEX(13, 50, 20), // x��������������
  200. kreg_motor_look_zero_edge_max_z_d = REG_INDEX(13, 50, 21), // x��������Ե��������
  201. kreg_motor_z_run_to_zero_speed = REG_INDEX(13, 50, 22), // �����ٶ�
  202. kreg_motor_z_run_to_zero_dec = REG_INDEX(13, 50, 23), // �������ٶ�
  203. kreg_motor_z_look_zero_edge_speed = REG_INDEX(13, 50, 24), // ������Ե�ٶ�
  204. kreg_motor_z_look_zero_edge_dec = REG_INDEX(13, 50, 25), // ������Ե���ٶ�
  205. kreg_xyrobot_robot_type = REG_INDEX(20, 50, 0), // ���������� 0:hbot 1:corexy
  206. /*******************************************************************************
  207. * PID(3000->4000) *
  208. *******************************************************************************/
  209. kreg_pid_target = REG_INDEX(30, 0, 0), // Ŀ����ֵ
  210. kreg_pid_nowoutput = REG_INDEX(30, 0, 1), // ��ǰ����
  211. kreg_pid_feedbackval = REG_INDEX(30, 0, 2), // ��ǰ����
  212. kreg_pid_kp = REG_INDEX(30, 50, 0), // kp
  213. kreg_pid_ki = REG_INDEX(30, 50, 1), // ki
  214. kreg_pid_kd = REG_INDEX(30, 50, 2), // kd
  215. kreg_pid_max_output = REG_INDEX(30, 50, 3), // ��������
  216. kreg_pid_min_output = REG_INDEX(30, 50, 4), // ������
  217. kreg_pid_max_integral = REG_INDEX(30, 50, 5), // ��������
  218. kreg_pid_min_integral = REG_INDEX(30, 50, 6), // ������
  219. kreg_error_limit = REG_INDEX(30, 50, 7), // ��������
  220. kreg_compute_interval = REG_INDEX(30, 50, 8), // ��������
  221. /*******************************************************************************
  222. * ȿ *
  223. *******************************************************************************/
  224. kreg_fan0_ctrl_speed_level = REG_INDEX(31, 0, 0), // ����ת��0,1,2,3
  225. kreg_fan1_ctrl_speed_level = REG_INDEX(31, 0, 1), // ����ת��0,1,2,3
  226. kreg_fan2_ctrl_speed_level = REG_INDEX(31, 0, 2), // ����ת��0,1,2,3
  227. kreg_fan3_ctrl_speed_level = REG_INDEX(31, 0, 3), // ����ת��0,1,2,3
  228. kreg_fan4_ctrl_speed_level = REG_INDEX(31, 0, 4), // ����ת��0,1,2,3
  229. kreg_fan0_speed_level = REG_INDEX(31, 10, 0), // ����ʵʱת��0,1,2,3
  230. kreg_fan1_speed_level = REG_INDEX(31, 10, 1), // ����ʵʱת��0,1,2,3
  231. kreg_fan2_speed_level = REG_INDEX(31, 10, 2), // ����ʵʱת��0,1,2,3
  232. kreg_fan3_speed_level = REG_INDEX(31, 10, 3), // ����ʵʱת��0,1,2,3
  233. kreg_fan4_speed_level = REG_INDEX(31, 10, 4), // ����ʵʱת��0,1,2,3
  234. kreg_pwm_pump0_ctrl_speed_level = REG_INDEX(32, 0, 0), // PWMˮ��0,1,2,3
  235. kreg_pwm_pump1_ctrl_speed_level = REG_INDEX(32, 0, 1), // PWMˮ��0,1,2,3
  236. kreg_pwm_pump2_ctrl_speed_level = REG_INDEX(32, 0, 2), // PWMˮ��0,1,2,3
  237. kreg_pwm_pump3_ctrl_speed_level = REG_INDEX(32, 0, 3), // PWMˮ��0,1,2,3
  238. kreg_pwm_pump4_ctrl_speed_level = REG_INDEX(32, 0, 4), // PWMˮ��0,1,2,3
  239. kreg_pwm_pump0_speed_level = REG_INDEX(32, 10, 0), // PWMˮ��0,1,2,3
  240. kreg_pwm_pump1_speed_level = REG_INDEX(32, 10, 1), // PWMˮ��0,1,2,3
  241. kreg_pwm_pump2_speed_level = REG_INDEX(32, 10, 2), // PWMˮ��0,1,2,3
  242. kreg_pwm_pump3_speed_level = REG_INDEX(32, 10, 3), // PWMˮ��0,1,2,3
  243. kreg_pwm_pump4_speed_level = REG_INDEX(32, 10, 4), // PWMˮ��0,1,2,3
  244. /*******************************************************************************
  245. * Һǹ״̬ *
  246. *******************************************************************************/
  247. kreg_pipette_pos_ul = REG_INDEX(40, 0, 0), // ��Һǹλ��
  248. kreg_pipette_capactitance_val = REG_INDEX(40, 0, 1), // ��Һǹ����ֵ
  249. kreg_pipette_tip_state = REG_INDEX(40, 0, 2), // �ƶ�Һǹtip״̬
  250. kreg_pipette_limit_ul = REG_INDEX(40, 50, 0), // ��Һǹul����
  251. /*******************************************************************************
  252. * smartADC *
  253. *******************************************************************************/
  254. kreg_self_reflecting_laser_sensor_transmitting_power = REG_INDEX(41, 0, 0), // ���书��
  255. kreg_self_reflecting_laser_sensor_receiving_tube_gain = REG_INDEX(41, 0, 1), // ���չܷŴ�����
  256. kreg_self_reflecting_laser_sensor_sample_interval_ms = REG_INDEX(41, 0, 2), // ������
  257. kreg_self_reflecting_laser_sensor_num_samples = REG_INDEX(41, 0, 3), // ��������
  258. /*******************************************************************************
  259. * smartADC *
  260. *******************************************************************************/
  261. // scan action
  262. kreg_boditech_optical_scan_type = REG_INDEX(42, 0, 0), // 0 t��ѧ��1 f��ѧ
  263. kreg_boditech_optical_scan_start_pos = REG_INDEX(42, 0, 1),
  264. kreg_boditech_optical_scan_direction = REG_INDEX(42, 0, 2),
  265. kreg_boditech_optical_scan_step_interval = REG_INDEX(42, 0, 3),
  266. kreg_boditech_optical_scan_pointnum = REG_INDEX(42, 0, 4),
  267. // main(f��ѧ)
  268. kreg_boditech_optical_main_amp_gain = REG_INDEX(42, 20, 0),
  269. kreg_boditech_optical_main_laser_gain = REG_INDEX(42, 20, 1),
  270. // trf(t��ѧ)
  271. kreg_boditech_optical_trf_amp_gain = REG_INDEX(42, 40, 0),
  272. kreg_boditech_optical_trf_uvled_gain = REG_INDEX(42, 40, 1),
  273. kreg_boditech_optical_trf_uvled_on_duration_us = REG_INDEX(42, 40, 2),
  274. kreg_boditech_optical_trf_uvled_off_duration_us = REG_INDEX(42, 40, 3),
  275. kreg_boditech_optical_trf_scan_delay_us = REG_INDEX(42, 40, 4),
  276. kreg_boditech_optical_trf_scan_duration_us = REG_INDEX(42, 40, 5),
  277. } reg_index_t;
  278. } // namespace iflytop
  279. /**
  280. * @brief
  281. *
  282. * ģͨú״̬ 0->1000
  283. * Robot/Motorͨú״̬ 1000->2000
  284. * Sensorͨú״̬ 2000->3000
  285. * PIDͨú״̬ 4000->4100
  286. */