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.

239 lines
18 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
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
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. #include "protocol_proxy.hpp"
  2. using namespace iflytop;
  3. #define PROXY_IMPL_0X_PARA()
  4. #define PROXY_IMPL_1X_PARA() param[0] = para0;
  5. #define PROXY_IMPL_2X_PARA() \
  6. PROXY_IMPL_1X_PARA(); \
  7. param[1] = para1;
  8. #define PROXY_IMPL_3X_PARA() \
  9. PROXY_IMPL_2X_PARA(); \
  10. param[2] = para2;
  11. #define PROXY_IMPL_4X_PARA() \
  12. PROXY_IMPL_3X_PARA(); \
  13. param[3] = para3;
  14. #define PROXY_IMPL_5X_PARA() \
  15. PROXY_IMPL_4X_PARA(); \
  16. param[4] = para4;
  17. #define PROXY_IMPL_X0_ACK()
  18. #define PROXY_IMPL_X1_ACK() *ack0 = ack[0];
  19. #define PROXY_IMPL_X2_ACK() \
  20. PROXY_IMPL_X1_ACK(); \
  21. *ack1 = ack[1];
  22. #define PROXY_IMPL_X3_ACK() \
  23. PROXY_IMPL_X2_ACK(); \
  24. *ack2 = ack[2];
  25. #define PROXY_IMPL_X4_ACK() \
  26. PROXY_IMPL_X3_ACK(); \
  27. *ack3 = ack[3]
  28. #define PROXY_IMPL_X5_ACK() \
  29. PROXY_IMPL_X4_ACK(); \
  30. *ack4 = ack[4];
  31. #define PROXY_IMPL_XX(cmdindex, paramnum, acknum, paraassign, ackassign, overtime) \
  32. int32_t param[1 + paramnum] = {0}; \
  33. int32_t ack[1 + acknum] = {0}; \
  34. paraassign; \
  35. int32_t ecode = m_cancmder->sendCmd(cmdindex, m_id, param, paramnum, ack, acknum, overtime); \
  36. ackassign; \
  37. return ecode;
  38. #define PROXY_IMPL_00(cmdindex, overtime) PROXY_IMPL_XX(cmdindex, 0, 0, PROXY_IMPL_0X_PARA(), PROXY_IMPL_X0_ACK(), overtime);
  39. #define PROXY_IMPL_01(cmdindex, overtime) PROXY_IMPL_XX(cmdindex, 0, 1, PROXY_IMPL_0X_PARA(), PROXY_IMPL_X1_ACK(), overtime);
  40. #define PROXY_IMPL_02(cmdindex, overtime) PROXY_IMPL_XX(cmdindex, 0, 2, PROXY_IMPL_0X_PARA(), PROXY_IMPL_X2_ACK(), overtime);
  41. #define PROXY_IMPL_03(cmdindex, overtime) PROXY_IMPL_XX(cmdindex, 0, 3, PROXY_IMPL_0X_PARA(), PROXY_IMPL_X3_ACK(), overtime);
  42. #define PROXY_IMPL_04(cmdindex, overtime) PROXY_IMPL_XX(cmdindex, 0, 4, PROXY_IMPL_0X_PARA(), PROXY_IMPL_X4_ACK(), overtime);
  43. #define PROXY_IMPL_10(cmdindex, overtime) PROXY_IMPL_XX(cmdindex, 1, 0, PROXY_IMPL_1X_PARA(), PROXY_IMPL_X0_ACK(), overtime);
  44. #define PROXY_IMPL_11(cmdindex, overtime) PROXY_IMPL_XX(cmdindex, 1, 1, PROXY_IMPL_1X_PARA(), PROXY_IMPL_X1_ACK(), overtime);
  45. #define PROXY_IMPL_12(cmdindex, overtime) PROXY_IMPL_XX(cmdindex, 1, 2, PROXY_IMPL_1X_PARA(), PROXY_IMPL_X2_ACK(), overtime);
  46. #define PROXY_IMPL_13(cmdindex, overtime) PROXY_IMPL_XX(cmdindex, 1, 3, PROXY_IMPL_1X_PARA(), PROXY_IMPL_X3_ACK(), overtime);
  47. #define PROXY_IMPL_14(cmdindex, overtime) PROXY_IMPL_XX(cmdindex, 1, 4, PROXY_IMPL_1X_PARA(), PROXY_IMPL_X4_ACK(), overtime);
  48. #define PROXY_IMPL_20(cmdindex, overtime) PROXY_IMPL_XX(cmdindex, 2, 0, PROXY_IMPL_2X_PARA(), PROXY_IMPL_X0_ACK(), overtime);
  49. #define PROXY_IMPL_21(cmdindex, overtime) PROXY_IMPL_XX(cmdindex, 2, 1, PROXY_IMPL_2X_PARA(), PROXY_IMPL_X1_ACK(), overtime);
  50. #define PROXY_IMPL_22(cmdindex, overtime) PROXY_IMPL_XX(cmdindex, 2, 2, PROXY_IMPL_2X_PARA(), PROXY_IMPL_X2_ACK(), overtime);
  51. #define PROXY_IMPL_23(cmdindex, overtime) PROXY_IMPL_XX(cmdindex, 2, 3, PROXY_IMPL_2X_PARA(), PROXY_IMPL_X3_ACK(), overtime);
  52. #define PROXY_IMPL_24(cmdindex, overtime) PROXY_IMPL_XX(cmdindex, 2, 4, PROXY_IMPL_2X_PARA(), PROXY_IMPL_X4_ACK(), overtime);
  53. #define PROXY_IMPL_30(cmdindex, overtime) PROXY_IMPL_XX(cmdindex, 3, 0, PROXY_IMPL_3X_PARA(), PROXY_IMPL_X0_ACK(), overtime);
  54. #define PROXY_IMPL_31(cmdindex, overtime) PROXY_IMPL_XX(cmdindex, 3, 1, PROXY_IMPL_3X_PARA(), PROXY_IMPL_X1_ACK(), overtime);
  55. #define PROXY_IMPL_32(cmdindex, overtime) PROXY_IMPL_XX(cmdindex, 3, 2, PROXY_IMPL_3X_PARA(), PROXY_IMPL_X2_ACK(), overtime);
  56. #define PROXY_IMPL_33(cmdindex, overtime) PROXY_IMPL_XX(cmdindex, 3, 3, PROXY_IMPL_3X_PARA(), PROXY_IMPL_X3_ACK(), overtime);
  57. #define PROXY_IMPL_40(cmdindex, overtime) PROXY_IMPL_XX(cmdindex, 4, 0, PROXY_IMPL_4X_PARA(), PROXY_IMPL_X0_ACK(), overtime);
  58. #define PROXY_IMPL_41(cmdindex, overtime) PROXY_IMPL_XX(cmdindex, 4, 1, PROXY_IMPL_4X_PARA(), PROXY_IMPL_X1_ACK(), overtime);
  59. #define PROXY_IMPL_42(cmdindex, overtime) PROXY_IMPL_XX(cmdindex, 4, 2, PROXY_IMPL_4X_PARA(), PROXY_IMPL_X2_ACK(), overtime);
  60. #define PROXY_IMPL_43(cmdindex, overtime) PROXY_IMPL_XX(cmdindex, 4, 3, PROXY_IMPL_4X_PARA(), PROXY_IMPL_X3_ACK(), overtime);
  61. #define OVERTIME 300
  62. int32_t ZIProtocolProxy::module_ping() { PROXY_IMPL_00(kmodule_ping, 30); }
  63. int32_t ZIProtocolProxy::module_stop() { PROXY_IMPL_00(kmodule_stop, OVERTIME); }
  64. int32_t ZIProtocolProxy::module_break() { PROXY_IMPL_00(kmodule_break, OVERTIME); }
  65. int32_t ZIProtocolProxy::module_start() { PROXY_IMPL_00(kmodule_start, OVERTIME); }
  66. int32_t ZIProtocolProxy::module_get_last_exec_status(int32_t *ack0) { PROXY_IMPL_01(kmodule_get_last_exec_status, OVERTIME); }
  67. int32_t ZIProtocolProxy::module_get_status(int32_t *ack0) { PROXY_IMPL_01(kmodule_get_status, OVERTIME); }
  68. int32_t ZIProtocolProxy::module_set_reg(int32_t para0, int32_t para1) { PROXY_IMPL_20(kmodule_set_reg, OVERTIME); }
  69. int32_t ZIProtocolProxy::module_get_reg(int32_t para0, int32_t *ack0) { PROXY_IMPL_11(kmodule_get_reg, OVERTIME); }
  70. int32_t ZIProtocolProxy::module_readio(int32_t *ack0) { PROXY_IMPL_01(kmodule_readio, OVERTIME); }
  71. int32_t ZIProtocolProxy::module_writeio(int32_t para0, int32_t para1) { PROXY_IMPL_20(kmodule_writeio, OVERTIME); }
  72. int32_t ZIProtocolProxy::module_read_adc(int32_t para0, int32_t *ack0) { PROXY_IMPL_11(kmodule_read_adc, OVERTIME); }
  73. int32_t ZIProtocolProxy::module_get_error(int32_t *ack0) { PROXY_IMPL_01(kmodule_get_error, OVERTIME); }
  74. int32_t ZIProtocolProxy::module_clear_error() { PROXY_IMPL_00(kmodule_clear_error, OVERTIME); }
  75. int32_t ZIProtocolProxy::module_set_inited_flag(int32_t para0) { PROXY_IMPL_10(kmodule_set_inited_flag, OVERTIME); };
  76. int32_t ZIProtocolProxy::module_get_inited_flag(int32_t *ack0) { PROXY_IMPL_01(kmodule_get_inited_flag, OVERTIME); };
  77. int32_t ZIProtocolProxy::module_factory_reset() { PROXY_IMPL_00(kmodule_factory_reset, OVERTIME); }
  78. int32_t ZIProtocolProxy::module_flush_cfg() { PROXY_IMPL_00(kmodule_flush_cfg, 5000); }
  79. int32_t ZIProtocolProxy::module_active_cfg() { PROXY_IMPL_00(kmodule_active_cfg, OVERTIME); }
  80. int32_t ZIProtocolProxy::module_read_raw(int32_t startadd, uint8_t *data, int32_t *len) {
  81. int32_t param[1 + 1] = {0};
  82. param[0] = startadd;
  83. int32_t ecode = m_cancmder->sendCmdAndReceiveBuf(kmodule_read_raw, m_id, param, 1, data, len, 100);
  84. return ecode;
  85. }
  86. int32_t ZIProtocolProxy::module_enable(int32_t para0) { PROXY_IMPL_10(kmodule_enable, OVERTIME); }
  87. /*******************************************************************************
  88. * ZIMotor *
  89. *******************************************************************************/
  90. #if 0
  91. virtual int32_t motor_enable(int32_t enable) { return err::koperation_not_support; }
  92. virtual int32_t motor_rotate(int32_t direction, int32_t motor_velocity, int32_t acc) { return err::koperation_not_support; }
  93. virtual int32_t motor_move_by(int32_t distance, int32_t motor_velocity, int32_t acc) { return err::koperation_not_support; }
  94. virtual int32_t motor_move_to(int32_t position, int32_t motor_velocity, int32_t acc) { return err::koperation_not_support; }
  95. virtual int32_t motor_rotate_acctime(int32_t direction, int32_t motor_velocity, int32_t acctime) { return err::koperation_not_support; }
  96. virtual int32_t motor_move_by_acctime(int32_t distance, int32_t motor_velocity, int32_t acctime) { return err::koperation_not_support; }
  97. virtual int32_t motor_move_to_acctime(int32_t position, int32_t motor_velocity, int32_t acctime) { return err::koperation_not_support; }
  98. virtual int32_t motor_rotate_with_torque(int32_t direction, int32_t torque) { return err::koperation_not_support; }
  99. virtual int32_t motor_move_to_torque(int32_t pos, int32_t torque, int32_t overtime) { return err::koperation_not_support; }
  100. virtual int32_t motor_move_to_zero_forward(int32_t findzerospeed, int32_t findzeroedge_speed, int32_t acc, int32_t overtime) { return err::koperation_not_support; }
  101. virtual int32_t motor_move_to_zero_backward(int32_t findzerospeed, int32_t findzeroedge_speed, int32_t acc, int32_t overtime) { return err::koperation_not_support; }
  102. virtual int32_t motor_move_to_zero_forward_and_calculated_shift(int32_t findzerospeed, int32_t findzeroedge_speed, int32_t acc, int32_t overtime) { return err::koperation_not_support; }
  103. virtual int32_t motor_move_to_zero_backward_and_calculated_shift(int32_t findzerospeed, int32_t findzeroedge_speed, int32_t acc, int32_t overtime) { return err::koperation_not_support; }
  104. virtual int32_t motor_read_pos(int32_t* pos) { return err::koperation_not_support; }
  105. virtual int32_t motor_set_current_pos_by_change_shift(int32_t pos) { return err::koperation_not_support; } // һ�����ڶ���
  106. virtual int32_t motor_calculated_pos_by_move_to_zero() { return err::koperation_not_support; }
  107. virtual int32_t motor_easy_rotate(int32_t direction) { return err::koperation_not_support; };
  108. virtual int32_t motor_easy_move_by(int32_t distance) { return err::koperation_not_support; };
  109. virtual int32_t motor_easy_move_to(int32_t position) { return err::koperation_not_support; };
  110. virtual int32_t motor_easy_move_to_zero(int32_t direction) { return err::koperation_not_support; };
  111. virtual int32_t motor_easy_set_current_pos(int32_t pos) { return err::koperation_not_support; };
  112. virtual int32_t motor_easy_move_to_io(int32_t ioindex, int32_t direction) { return err::koperation_not_support; };
  113. #endif
  114. int32_t ZIProtocolProxy::motor_enable(int32_t para0) { PROXY_IMPL_10(kmotor_enable, OVERTIME); }
  115. int32_t ZIProtocolProxy::motor_rotate(int32_t para0, int32_t para1, int32_t para2) { PROXY_IMPL_30(kmotor_rotate, OVERTIME); }
  116. int32_t ZIProtocolProxy::motor_move_by(int32_t para0, int32_t para1, int32_t para2) { PROXY_IMPL_30(kmotor_move_by, OVERTIME); }
  117. int32_t ZIProtocolProxy::motor_move_to(int32_t para0, int32_t para1, int32_t para2) { PROXY_IMPL_30(kmotor_move_to, OVERTIME); }
  118. int32_t ZIProtocolProxy::motor_rotate_with_torque(int32_t para0, int32_t para1) { PROXY_IMPL_20(kmotor_rotate_with_torque, OVERTIME); }
  119. int32_t ZIProtocolProxy::motor_rotate_acctime(int32_t para0, int32_t para1, int32_t para2) { PROXY_IMPL_30(kmotor_rotate_acctime, OVERTIME); }
  120. int32_t ZIProtocolProxy::motor_move_by_acctime(int32_t para0, int32_t para1, int32_t para2) { PROXY_IMPL_30(kmotor_move_by_acctime, OVERTIME); }
  121. int32_t ZIProtocolProxy::motor_move_to_acctime(int32_t para0, int32_t para1, int32_t para2) { PROXY_IMPL_30(kmotor_move_to_acctime, OVERTIME); }
  122. int32_t ZIProtocolProxy::motor_move_to_zero_forward(int32_t para0, int32_t para1, int32_t para2, int32_t para3) { PROXY_IMPL_40(kmotor_move_to_zero_forward, OVERTIME); }
  123. int32_t ZIProtocolProxy::motor_move_to_zero_backward(int32_t para0, int32_t para1, int32_t para2, int32_t para3) { PROXY_IMPL_40(kmotor_move_to_zero_backward, OVERTIME); }
  124. int32_t ZIProtocolProxy::motor_read_pos(int32_t *ack0) { PROXY_IMPL_01(kmotor_read_pos, OVERTIME); }
  125. int32_t ZIProtocolProxy::motor_set_current_pos_by_change_shift(int32_t para0) { PROXY_IMPL_10(kmotor_set_current_pos_by_change_shift, OVERTIME); }
  126. int32_t ZIProtocolProxy::motor_move_to_zero_forward_and_calculated_shift(int32_t para0, int32_t para1, int32_t para2, int32_t para3) { PROXY_IMPL_40(kmotor_motor_move_to_zero_forward_and_calculated_shift, OVERTIME); };
  127. int32_t ZIProtocolProxy::motor_move_to_zero_backward_and_calculated_shift(int32_t para0, int32_t para1, int32_t para2, int32_t para3) { PROXY_IMPL_40(kmotor_motor_move_to_zero_backward_and_calculated_shift, OVERTIME); };
  128. int32_t ZIProtocolProxy::motor_move_to_torque(int32_t para0, int32_t para1, int32_t para2) { PROXY_IMPL_30(kmotor_move_to_torque, OVERTIME); }
  129. int32_t ZIProtocolProxy::motor_calculated_pos_by_move_to_zero() { PROXY_IMPL_00(kmotor_calculated_pos_by_move_to_zero, OVERTIME); }
  130. int32_t ZIProtocolProxy::motor_easy_rotate(int32_t para0) { PROXY_IMPL_10(kmotor_easy_rotate, OVERTIME); }
  131. int32_t ZIProtocolProxy::motor_easy_move_by(int32_t para0) { PROXY_IMPL_10(kmotor_easy_move_by, OVERTIME); }
  132. int32_t ZIProtocolProxy::motor_easy_move_to(int32_t para0) { PROXY_IMPL_10(kmotor_easy_move_to, OVERTIME); }
  133. int32_t ZIProtocolProxy::motor_easy_move_to_zero(int32_t para0) { PROXY_IMPL_10(kmotor_easy_move_to_zero, OVERTIME); }
  134. int32_t ZIProtocolProxy::motor_easy_set_current_pos(int32_t para0) { PROXY_IMPL_10(kmotor_easy_set_current_pos, OVERTIME); }
  135. int32_t ZIProtocolProxy::motor_easy_move_to_io(int32_t para0, int32_t para1) { PROXY_IMPL_20(kmotor_easy_move_to_io, OVERTIME); }
  136. /*******************************************************************************
  137. * ZIXYMotor *
  138. *******************************************************************************/
  139. #if 0
  140. virtual ~ZIXYMotor() {}
  141. virtual int32_t xymotor_enable(int32_t enable) { return err::koperation_not_support; }
  142. virtual int32_t xymotor_move_by(int32_t dx, int32_t dy, int32_t motor_velocity) { return err::koperation_not_support; }
  143. virtual int32_t xymotor_move_to(int32_t x, int32_t y, int32_t motor_velocity) { return err::koperation_not_support; }
  144. virtual int32_t xymotor_move_to_zero() { return err::koperation_not_support; }
  145. virtual int32_t xymotor_move_to_zero_and_calculated_shift() { return err::koperation_not_support; }
  146. virtual int32_t xymotor_read_pos(int32_t *x, int32_t *y) { return err::koperation_not_support; }
  147. virtual int32_t xymotor_calculated_pos_by_move_to_zero() { return err::koperation_not_support; }
  148. #endif
  149. int32_t ZIProtocolProxy::xymotor_enable(int32_t para0) { PROXY_IMPL_10(kxymotor_enable, OVERTIME); }
  150. int32_t ZIProtocolProxy::xymotor_move_by(int32_t para0, int32_t para1, int32_t para2) { PROXY_IMPL_30(kxymotor_move_by, OVERTIME); }
  151. int32_t ZIProtocolProxy::xymotor_move_to(int32_t para0, int32_t para1, int32_t para2) { PROXY_IMPL_30(kxymotor_move_to, OVERTIME); }
  152. int32_t ZIProtocolProxy::xymotor_move_to_zero() { PROXY_IMPL_00(kxymotor_move_to_zero, OVERTIME); }
  153. int32_t ZIProtocolProxy::xymotor_move_to_zero_and_calculated_shift() { PROXY_IMPL_00(kxymotor_move_to_zero_and_calculated_shift, OVERTIME); }
  154. int32_t ZIProtocolProxy::xymotor_read_pos(int32_t *ack0, int32_t *ack1) { PROXY_IMPL_02(kxymotor_read_pos, OVERTIME); }
  155. int32_t ZIProtocolProxy::xymotor_calculated_pos_by_move_to_zero() { PROXY_IMPL_00(kxymotor_calculated_pos_by_move_to_zero, OVERTIME); }
  156. #if 0
  157. virtual int32_t code_scaner_start_scan() { return err::koperation_not_support; }
  158. virtual int32_t code_scaner_stop_scan() { return err::koperation_not_support; }
  159. virtual int32_t code_scaner_read_scaner_result(int32_t startadd, uint8_t *data, int32_t *len) { return err::koperation_not_support; }
  160. int32_t ZIProtocolProxy::code_scaner_start_scan() { PROXY_IMPL_00(kcode_scaner_start_scan, OVERTIME); }
  161. int32_t ZIProtocolProxy::code_scaner_stop_scan() { PROXY_IMPL_00(kcode_scaner_stop_scan, OVERTIME); }
  162. int32_t ZIProtocolProxy::code_scaner_read_scaner_result(int32_t para0, uint8_t *data, int32_t *len) {
  163. int32_t param[1 + 1] = {0};
  164. param[0] = para0;
  165. int32_t ecode = m_cancmder->sendCmdAndReceiveBuf(kmodule_read_raw, m_id, param, 1, data, len, 100);
  166. return ecode;
  167. }
  168. #endif
  169. #if 0
  170. virtual int32_t pipette_ctrl_init_device() { return err::koperation_not_support; };
  171. virtual int32_t pipette_ctrl_put_tip() { return err::koperation_not_support; };
  172. virtual int32_t pipette_ctrl_move_to_ul(int32_t ul) { return err::koperation_not_support; };
  173. #endif
  174. int32_t ZIProtocolProxy::pipette_ctrl_init_device() { PROXY_IMPL_00(kpipette_ctrl_init_device, OVERTIME); };
  175. int32_t ZIProtocolProxy::pipette_ctrl_put_tip() { PROXY_IMPL_00(kpipette_ctrl_put_tip, OVERTIME); };
  176. int32_t ZIProtocolProxy::pipette_ctrl_move_to_ul(int32_t para0) { PROXY_IMPL_10(kpipette_ctrl_move_to_ul, OVERTIME); };
  177. #if 0
  178. virtual int32_t a8000_optical_module_power_ctrl(int32_t state) = 0;
  179. virtual int32_t a8000_optical_open_laser(int32_t type) = 0;
  180. virtual int32_t a8000_optical_close_laser(int32_t type) = 0;
  181. virtual int32_t a8000_optical_set_laster_gain(int32_t type, int32_t gain) = 0;
  182. virtual int32_t a8000_optical_set_scan_amp_gain(int32_t type, int32_t gain) = 0;
  183. virtual int32_t a8000_optical_read_scanner_adc_val(int32_t type, int32_t* adcval) = 0;
  184. virtual int32_t a8000_optical_read_laster_adc_val(int32_t type, int32_t* adcval) = 0;
  185. virtual int32_t a8000_optical_scan_current_point_amp_adc_val(int32_t type, int32_t lastergain, int32_t ampgain, int32_t* laster_fb_val, int32_t* adcval) = 0;
  186. #endif
  187. int32_t ZIProtocolProxy::a8000_optical_module_power_ctrl(int32_t para0) { PROXY_IMPL_10(ka8000_optical_module_power_ctrl, OVERTIME); }
  188. int32_t ZIProtocolProxy::a8000_optical_open_laser(int32_t para0) { PROXY_IMPL_10(ka8000_optical_open_laser, OVERTIME); }
  189. int32_t ZIProtocolProxy::a8000_optical_close_laser(int32_t para0) { PROXY_IMPL_10(ka8000_optical_close_laser, OVERTIME); }
  190. int32_t ZIProtocolProxy::a8000_optical_set_laster_gain(int32_t para0, int32_t para1) { PROXY_IMPL_20(ka8000_optical_set_laster_gain, OVERTIME); }
  191. int32_t ZIProtocolProxy::a8000_optical_set_scan_amp_gain(int32_t para0, int32_t para1) { PROXY_IMPL_20(ka8000_optical_set_scan_amp_gain, OVERTIME); }
  192. int32_t ZIProtocolProxy::a8000_optical_read_scanner_adc_val(int32_t para0, int32_t *ack0) { PROXY_IMPL_11(ka8000_optical_read_scanner_adc_val, OVERTIME); }
  193. int32_t ZIProtocolProxy::a8000_optical_read_laster_adc_val(int32_t para0, int32_t *ack0) { PROXY_IMPL_11(ka8000_optical_read_laster_adc_val, OVERTIME); }
  194. int32_t ZIProtocolProxy::a8000_optical_scan_current_point_amp_adc_val(int32_t para0, int32_t para1, int32_t para2, int32_t *ack0, int32_t *ack1) { PROXY_IMPL_22(ka8000_optical_scan_current_point_amp_adc_val, OVERTIME); }