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.

117 lines
6.9 KiB

2 years ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year 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 year ago
2 years ago
  1. #pragma once
  2. #define CMDID(cmdid, cmdSubId) ((cmdid << 8) + cmdSubId)
  3. namespace iflytop {
  4. namespace zcr {
  5. typedef enum {
  6. #if 0
  7. virtual int32_t board_reset() = 0;
  8. #endif
  9. kboard_reset = CMDID(0, 0), // para:{}, ack:{}
  10. kevent_bus_reg_change_report = CMDID(0, 100), // para:{}, ack:{}
  11. #if 0
  12. virtual int32_t module_get_state(int32_t state_id, int32_t *state_value) { return err::koperation_not_support; }
  13. virtual int32_t module_read_raw(int32_t startadd, int32_t *data, int32_t *len) { return err::koperation_not_support; }
  14. virtual int32_t module_enable(int32_t enable) { return err::koperation_not_support; }
  15. virtual int32_t module_start() { return err::koperation_not_support; }
  16. #endif
  17. kmodule_ping = CMDID(1, 0), // para:{}, ack:{}
  18. kmodule_stop = CMDID(1, 1), // para:{}, ack:{}
  19. kmodule_break = CMDID(1, 2), // para:{}, ack:{}
  20. // kmodule_get_last_exec_status = CMDID(1, 3), // para:{}, ack:{4}
  21. kmodule_get_status = CMDID(1, 4), // para:{}, ack:{4}
  22. kmodule_set_reg = CMDID(1, 5), // para:{4,4}, ack:{}
  23. kmodule_get_reg = CMDID(1, 6), // para:{4}, ack:{4}I
  24. // kmodule_readio = CMDID(1, 7), // para:{}, ack:{4}
  25. // kmodule_writeio = CMDID(1, 8), // para:{4}, ack:{}
  26. // kmodule_read_adc = CMDID(1, 9), // para:{4}, ack:{4}
  27. kmodule_get_error = CMDID(1, 10), // para:{}, ack:{1}
  28. kmodule_clear_error = CMDID(1, 11), // para:{}, ack:{}
  29. // kmodule_set_inited_flag = CMDID(1, 12), // para:{4}, ack:{}
  30. // kmodule_get_inited_flag = CMDID(1, 13), // para:{}, ack:{4}
  31. // kmodule_factory_reset = CMDID(1, 14), // para:{}, ack:{}
  32. // kmodule_flush_cfg = CMDID(1, 15), // para:{}, ack:{}
  33. // kmodule_active_cfg = CMDID(1, 16), // para:{}, ack:{}
  34. kmodule_read_raw = CMDID(1, 19), // para:{4,4}, ack:{4}
  35. kmodule_enable = CMDID(1, 20), // para:{4}, ack:{}
  36. // kmodule_start = CMDID(1, 21), // para:{4}, ack:{}
  37. #if 0
  38. virtual ~ZIXYMotor() {}
  39. virtual int32_t xymotor_enable(int32_t enable) { return err::koperation_not_support; }
  40. virtual int32_t xymotor_move_by(int32_t dx, int32_t dy, int32_t motor_velocity) { return err::koperation_not_support; }
  41. virtual int32_t xymotor_move_to(int32_t x, int32_t y, int32_t motor_velocity) { return err::koperation_not_support; }
  42. virtual int32_t xymotor_move_to_zero() { return err::koperation_not_support; }
  43. virtual int32_t xymotor_move_to_zero_and_calculated_shift() { return err::koperation_not_support; }
  44. virtual int32_t xymotor_read_pos(int32_t *x, int32_t *y) { return err::koperation_not_support; }
  45. virtual int32_t xymotor_calculated_pos_by_move_to_zero() { return err::koperation_not_support; }
  46. #endif
  47. kxymotor_enable = CMDID(3, 1), // para:{1}, ack:{}
  48. kxymotor_move_by = CMDID(3, 2), // para:{4,4,4}, ack:{}
  49. kxymotor_move_to = CMDID(3, 3), // para:{4,4,4}, ack:{}
  50. kxymotor_move_to_zero = CMDID(3, 4), // para:{}, ack:{}
  51. kxymotor_move_to_zero_and_calculated_shift = CMDID(3, 5), // para:{4,4,4,4}, ack:{} //int32_t findzerospeed, int32_t findzeroedge_speed, int32_t acc, int32_t overtime
  52. kxymotor_read_pos = CMDID(3, 6), // para:{}, ack:{4,4}
  53. kxymotor_calculated_pos_by_move_to_zero = CMDID(3, 7), // para:{}, ack:{}
  54. #if 0
  55. virtual int32_t code_scaner_start_scan() { return err::koperation_not_support; }
  56. virtual int32_t code_scaner_stop_scan() { return err::koperation_not_support; }
  57. virtual int32_t code_scaner_read_scaner_result(int32_t startadd, uint8_t *data, int32_t *len) { return err::koperation_not_support; }
  58. #endif
  59. kcode_scaner_start_scan = CMDID(4, 1), // para:{}, ack:{}
  60. kcode_scaner_stop_scan = CMDID(4, 2), // para:{}, ack:{}
  61. kcode_scaner_read_scaner_result = CMDID(4, 3), // para:{4,4}, ack:{4}
  62. #if 0
  63. virtual int32_t pipette_ctrl_init_device() { return err::koperation_not_support; };
  64. virtual int32_t pipette_ctrl_put_tip() { return err::koperation_not_support; };
  65. virtual int32_t pipette_ctrl_move_to_ul(int32_t ul) { return err::koperation_not_support; };
  66. #endif
  67. kpipette_ctrl_init_device = CMDID(5, 1), // para:{}, ack:{}
  68. kpipette_ctrl_put_tip = CMDID(5, 2), // para:{}, ack:{}
  69. kpipette_ctrl_move_to_ul = CMDID(5, 3), // para:{4}, ack:{}
  70. #if 0
  71. virtual int32_t a8000_optical_module_power_ctrl(int32_t state) = 0;
  72. virtual int32_t a8000_optical_open_laser(int32_t type) = 0;
  73. virtual int32_t a8000_optical_close_laser(int32_t type) = 0;
  74. virtual int32_t a8000_optical_set_laster_gain(int32_t type, int32_t gain) = 0;
  75. virtual int32_t a8000_optical_set_scan_amp_gain(int32_t type, int32_t gain) = 0;
  76. virtual int32_t a8000_optical_read_scanner_adc_val(int32_t type, int32_t* adcval) = 0;
  77. virtual int32_t a8000_optical_read_laster_adc_val(int32_t type, int32_t* adcval) = 0;
  78. 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;
  79. #endif
  80. ka8000_optical_module_power_ctrl = CMDID(6, 0), // para:{4}, ack:{}
  81. ka8000_optical_open_laser = CMDID(6, 1), // para:{4}, ack:{}
  82. ka8000_optical_close_laser = CMDID(6, 2), // para:{4}, ack:{}
  83. ka8000_optical_set_laster_gain = CMDID(6, 3), // para:{4,4}, ack:{}
  84. ka8000_optical_set_scan_amp_gain = CMDID(6, 4), // para:{4,4}, ack:{}
  85. ka8000_optical_read_scanner_adc_val = CMDID(6, 5), // para:{4}, ack:{4}
  86. ka8000_optical_read_laster_adc_val = CMDID(6, 6), // para:{4}, ack:{4}
  87. ka8000_optical_scan_current_point_amp_adc_val = CMDID(6, 7), // para:{4,4,4,4}, ack:{4,4}
  88. /***********************************************************************************************************************
  89. * STEP_MOTOR *
  90. ***********************************************************************************************************************/
  91. kstep_motor_enable = CMDID(2, 1), // para:{1}, ack:{}
  92. kstep_motor_read_pos = CMDID(2, 11), // para:{}, ack:{4}
  93. kstep_motor_easy_rotate = CMDID(2, 17), // para:{4}, ack:{}
  94. kstep_motor_easy_move_by = CMDID(2, 18), // para:{4}, ack:{}
  95. kstep_motor_easy_move_to = CMDID(2, 19), // para:{4}, ack:{}
  96. kstep_motor_easy_move_to_zero = CMDID(2, 20), // para:{1}, ack:{}
  97. kstep_motor_easy_set_current_pos = CMDID(2, 21), // para:{4}, ack:{}
  98. kstep_motor_easy_move_to_io = CMDID(2, 22), // para:{4,4}, ack:{}
  99. kstep_motor_active_cfg = CMDID(2, 23), // para:{4,4}, ack:{}
  100. kstep_motor_stop = CMDID(2, 24), // para:{4}, ack:{}
  101. } cmdid_t;
  102. } // namespace zcr
  103. } // namespace iflytop