#pragma once #include #include #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