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
50 lines
1.5 KiB
|
|
#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(action_cb_status_t status_cb) = 0;
|
|
virtual int32_t reset_device(action_cb_status_t status_cb) = 0;
|
|
|
|
virtual int32_t take_tip(int tipid, action_cb_status_t status_cb) = 0;
|
|
virtual int32_t remove_tip(action_cb_status_t status_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, action_cb_status_t status_cb) = 0;
|
|
};
|
|
} // namespace iflytop
|