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.

50 lines
1.5 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
  1. #pragma once
  2. #include <stdint.h>
  3. #include <functional>
  4. #include "basic_type.hpp"
  5. //
  6. namespace iflytop {
  7. using namespace std;
  8. class I_PipetteModule {
  9. public:
  10. #if 0
  11. 0. Ϣ
  12. 1. Z͸߶ȵĻϵ
  13. 2. Zƫ
  14. 3. Z߶
  15. 1. ԤԹϢ
  16. 1.׸߶
  17. 2.ƽ̨ƶ߶
  18. 3.߶ȹʽ
  19. 4.Һ
  20. 3. ƽ̨ãƽ̨Ϣ
  21. 1. ȡtip߶
  22. 2. tip߶
  23. 3. תƸ߶
  24. 4. tipͷͺ
  25. #endif
  26. ZSTRUCT(devicepara_t, u8 z_shaft; s16 z_shift; s16 z_step2mm; u16 z_max_height_mm;);
  27. ZSTRUCT(tubepara_t, uint8_t id; int16_t bottom_height_mm; uint8_t follow_liquid;);
  28. ZSTRUCT(tippara_t, uint8_t id; int16_t tiphight;);
  29. ZSTRUCT(platformpara_t, uint8_t id; int16_t take_tip_height_mm; int16_t remove_tip_height_mm; int16_t transfer_height_mm;);
  30. // ZSTRUCT(action_cb_status_t, u8 exec_status;);
  31. virtual int32_t enable(u8 enable) = 0;
  32. virtual int32_t stop(u8 stop_type) = 0;
  33. virtual int32_t zero_pos_calibrate(action_cb_status_t status_cb) = 0;
  34. virtual int32_t reset_device(action_cb_status_t status_cb) = 0;
  35. virtual int32_t take_tip(int tipid, action_cb_status_t status_cb) = 0;
  36. virtual int32_t remove_tip(action_cb_status_t status_cb) = 0;
  37. // ȡҺ(ƽ̨�������Թܲ���, ȡ��������ȡ���߶ȣ�ҡ�ȴ�����ҡ������)
  38. virtual int32_t take_and_split_liquid(u8 tube_id, s16 liquid_volume, s16 zhight, s16 abs_zhight, s16 shake_times, s16 shake_volume, action_cb_status_t status_cb) = 0;
  39. };
  40. } // namespace iflytop