|
@ -45,6 +45,9 @@ class PipetteModule : public ZIModule, public ZIPipetteCtrlModule { |
|
|
|
|
|
|
|
|
typedef struct { |
|
|
typedef struct { |
|
|
int32_t placeholder; |
|
|
int32_t placeholder; |
|
|
|
|
|
int32_t load_val_ul; // 已装载量
|
|
|
|
|
|
int32_t aspirated; // 已经吸入过液体
|
|
|
|
|
|
int32_t lld_prepared; // 已经准备液面探测
|
|
|
} state_t; |
|
|
} state_t; |
|
|
|
|
|
|
|
|
private: |
|
|
private: |
|
@ -101,8 +104,11 @@ class PipetteModule : public ZIModule, public ZIPipetteCtrlModule { |
|
|
virtual int32_t pipette_ctrl_init_device() override; |
|
|
virtual int32_t pipette_ctrl_init_device() override; |
|
|
virtual int32_t pipette_ctrl_put_tip() override; |
|
|
virtual int32_t pipette_ctrl_put_tip() override; |
|
|
virtual int32_t pipette_ctrl_move_to_ul(int32_t ul) override; |
|
|
virtual int32_t pipette_ctrl_move_to_ul(int32_t ul) override; |
|
|
virtual int32_t pipette_clld_test(int32_t zdpos) override; |
|
|
|
|
|
virtual int32_t pipette_plld_test(int32_t zdpos) override; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
virtual int32_t pipette_lld_prepare() override; |
|
|
|
|
|
virtual int32_t pipette_lld(int32_t zdpos, int32_t c_threshold, int32_t p_threshold) override; |
|
|
|
|
|
virtual int32_t pipette_aspirate(int32_t ul) override; |
|
|
|
|
|
virtual int32_t pipette_distribut(int32_t ul) override; |
|
|
|
|
|
|
|
|
virtual int32_t pipette_enable_zmotor(int32_t enable); |
|
|
virtual int32_t pipette_enable_zmotor(int32_t enable); |
|
|
virtual int32_t pipette_write_cmd_direct(uint8_t *tx, int32_t len, uint8_t *rx, int32_t *rxlen) override; |
|
|
virtual int32_t pipette_write_cmd_direct(uint8_t *tx, int32_t len, uint8_t *rx, int32_t *rxlen) override; |
|
@ -110,11 +116,15 @@ class PipetteModule : public ZIModule, public ZIPipetteCtrlModule { |
|
|
virtual int32_t pipette_get_sensor_sample_data_num(int32_t *num) override; |
|
|
virtual int32_t pipette_get_sensor_sample_data_num(int32_t *num) override; |
|
|
|
|
|
|
|
|
private: |
|
|
private: |
|
|
|
|
|
virtual int32_t do_pipette_lld(int32_t zdpos, int32_t c_threshold, int32_t p_threshold); |
|
|
|
|
|
|
|
|
int32_t do_pipette_ctrl_init_device(); |
|
|
int32_t do_pipette_ctrl_init_device(); |
|
|
int32_t do_pipette_ctrl_put_tip(); |
|
|
int32_t do_pipette_ctrl_put_tip(); |
|
|
int32_t do_pipette_ctrl_move_to_ul(int32_t ul); |
|
|
int32_t do_pipette_ctrl_move_to_ul(int32_t ul); |
|
|
int32_t do_pipette_clld_test(int32_t zdpos); |
|
|
|
|
|
int32_t do_pipette_plld_test(int32_t zdpos); |
|
|
|
|
|
|
|
|
int32_t do_pipette_lld_prepare(); |
|
|
|
|
|
int32_t do_pipette_lld(int32_t zdpos, int32_t c_threshold, int32_t p_threshold); |
|
|
|
|
|
int32_t do_pipette_aspirate(int32_t ul); |
|
|
|
|
|
int32_t do_pipette_distribut(int32_t ul); |
|
|
|
|
|
|
|
|
private: |
|
|
private: |
|
|
int32_t befor_run(); |
|
|
int32_t befor_run(); |
|
|