|
@ -35,8 +35,8 @@ |
|
|
|
|
|
|
|
|
#define PIPETTE_PREPARE_POS 550
|
|
|
#define PIPETTE_PREPARE_POS 550
|
|
|
#define LLD_PREPARE_DISTRIBUT_POS 100
|
|
|
#define LLD_PREPARE_DISTRIBUT_POS 100
|
|
|
#define LLF_DPOS 1000
|
|
|
|
|
|
#define ASPIRATE_POS 150
|
|
|
|
|
|
|
|
|
// #define LLF_DPOS 1000
|
|
|
|
|
|
#define ASPIRATE_POS 150
|
|
|
|
|
|
|
|
|
using namespace iflytop; |
|
|
using namespace iflytop; |
|
|
// using namespace pipette_module_v3;
|
|
|
// using namespace pipette_module_v3;
|
|
@ -464,9 +464,9 @@ int32_t PipetteModuleV2::pipette_aspirate(int32_t ul) { |
|
|
|
|
|
|
|
|
if (m_state.aspirate_cfg_llf_zm_rpm != 0) { |
|
|
if (m_state.aspirate_cfg_llf_zm_rpm != 0) { |
|
|
if (ul >= 0) { |
|
|
if (ul >= 0) { |
|
|
zm_move_to(m_state.llf_startz, m_state.aspirate_cfg_llf_zm_rpm); |
|
|
|
|
|
} else { |
|
|
|
|
|
zm_move_to(m_state.llf_endz, m_state.aspirate_cfg_llf_zm_rpm); |
|
|
zm_move_to(m_state.llf_endz, m_state.aspirate_cfg_llf_zm_rpm); |
|
|
|
|
|
} else { |
|
|
|
|
|
zm_move_to(m_state.llf_startz, m_state.aspirate_cfg_llf_zm_rpm); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -510,9 +510,9 @@ int32_t PipetteModuleV2::pipette_aspirate_and_verify(int32_t ul) { |
|
|
// if (m_state.aspirate_cfg_llf_zm_rpm != 0) zm_move_by(dpos, m_state.aspirate_cfg_llf_zm_rpm);
|
|
|
// if (m_state.aspirate_cfg_llf_zm_rpm != 0) zm_move_by(dpos, m_state.aspirate_cfg_llf_zm_rpm);
|
|
|
if (m_state.aspirate_cfg_llf_zm_rpm != 0) { |
|
|
if (m_state.aspirate_cfg_llf_zm_rpm != 0) { |
|
|
if (ul >= 0) { |
|
|
if (ul >= 0) { |
|
|
zm_move_to(m_state.llf_startz, m_state.aspirate_cfg_llf_zm_rpm); |
|
|
|
|
|
} else { |
|
|
|
|
|
zm_move_to(m_state.llf_endz, m_state.aspirate_cfg_llf_zm_rpm); |
|
|
zm_move_to(m_state.llf_endz, m_state.aspirate_cfg_llf_zm_rpm); |
|
|
|
|
|
} else { |
|
|
|
|
|
zm_move_to(m_state.llf_startz, m_state.aspirate_cfg_llf_zm_rpm); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -546,7 +546,11 @@ int32_t PipetteModuleV2::pipette_shake_up(int32_t ul, int32_t times) { |
|
|
int32_t startpos = m_zm->getXACTUAL(); |
|
|
int32_t startpos = m_zm->getXACTUAL(); |
|
|
int32_t endpos = 0; |
|
|
int32_t endpos = 0; |
|
|
// first aspirate
|
|
|
// first aspirate
|
|
|
if (m_state.aspirate_cfg_llf_zm_rpm) zm_move_by(LLF_DPOS, m_state.aspirate_cfg_llf_zm_rpm); |
|
|
|
|
|
|
|
|
// if (m_state.aspirate_cfg_llf_zm_rpm) zm_move_by(LLF_DPOS, m_state.aspirate_cfg_llf_zm_rpm);
|
|
|
|
|
|
if (m_state.aspirate_cfg_llf_zm_rpm != 0) { |
|
|
|
|
|
zm_move_to(m_state.llf_endz, m_state.aspirate_cfg_llf_zm_rpm); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
DO_IN_THREAD(m_smtp2.pump_aspirate(m_cfg.aspirate_pump_vel, ul)); |
|
|
DO_IN_THREAD(m_smtp2.pump_aspirate(m_cfg.aspirate_pump_vel, ul)); |
|
|
pump_waitfor_stop(); |
|
|
pump_waitfor_stop(); |
|
|
|
|
|
|
|
|