Browse Source

update

master
zhaohe 2 years ago
parent
commit
40bae4b887
  1. 8
      api/basic_type.hpp
  2. 51
      api/i_pipette_module.hpp

8
api/basic_type.hpp

@ -30,4 +30,12 @@ typedef enum {
kmodule_statu_exception, kmodule_statu_exception,
} module_statu_type_t; } module_statu_type_t;
#ifndef ZSTRUCT
#define ZSTRUCT(name, ...) \
typedef struct { \
__VA_ARGS__ \
} name;
#endif
} // namespace iflytop } // namespace iflytop

51
api/i_pipette_module.hpp

@ -0,0 +1,51 @@
#pragma once
#include <stdint.h>
#include <functional>
#include "basic_type.hpp"
//
namespace iflytop {
using namespace std;
class I_PipetteModule {
public:
#if 0
0.
1. Z轴步数和高度的换算系数
2. Z轴偏移
3. Z轴最大高度
1.
1.
2.
3.
4.
3.
1. tip高度
2. tip高度
3.
4. tip头型号
#endif
ZSTRUCT(devicepara_t, u8 z_shaft; s16 z_shift; s16 z_step2mm; u16 z_max_height_mm;);
ZSTRUCT(tubepara_t, uint8_t id; int16_t bottom_height_mm; uint8_t follow_liquid;);
ZSTRUCT(tippara_t, uint8_t id; int16_t tiphight;);
ZSTRUCT(platformpara_t, uint8_t id; int16_t take_tip_height_mm; int16_t remove_tip_height_mm; int16_t transfer_height_mm;);
ZSTRUCT(action_cb_status_t, u8 exec_status;);
virtual int32_t enable(u8 enable) = 0;
virtual int32_t stop(u8 stop_type) = 0;
virtual int32_t zero_pos_calibrate(function<void(action_cb_status_t status)> exec_complete_cb) = 0;
virtual int32_t reset_device(function<void(action_cb_status_t status)> exec_complete_cb) = 0;
virtual int32_t take_tip(int tipid, function<void(action_cb_status_t status)> exec_complete_cb) = 0;
virtual int32_t remove_tip(function<void(action_cb_status_t status)> exec_complete_cb) = 0;
// 取液(平台参数,试管参数, 取样体积,取样高度,摇匀次数,摇匀体积)
virtual int32_t take_and_split_liquid(u8 tube_id, s16 liquid_volume, s16 zhight, s16 abs_zhight, s16 shake_times, s16 shake_volume, //
function<void(action_cb_status_t status)> exec_complete_cb) = 0;
};
} // namespace iflytop
Loading…
Cancel
Save