diff --git a/components/pipette_module/pipette_ctrl_module_v2.cpp b/components/pipette_module/pipette_ctrl_module_v2.cpp index c082c8a..c9c5d27 100644 --- a/components/pipette_module/pipette_ctrl_module_v2.cpp +++ b/components/pipette_module/pipette_ctrl_module_v2.cpp @@ -25,6 +25,7 @@ using namespace iflytop; } #define PIPETTE_PREPARE_POS 800 +#define LLF_DPOS 1000 void PipetteModule::initialize(int32_t id, config_t *config, StepMotorCtrlModule *zmotor, hardward_config_t *hardwaredcfg) { // ZASSERT(config != nullptr); @@ -146,12 +147,12 @@ int32_t PipetteModule::pipette_mlld(int32_t zdpos, int32_t c_threshold, int32_t int32_t PipetteModule::pipette_aspirate(int32_t ul) { ZLOGI(TAG, "pipette_aspirate %d", ul); if (creg.module_status == 1) return err::kdevice_is_busy; - return do_pipette_aspirate(ul, 0, 0); + return do_pipette_aspirate(ul, 0); }; int32_t PipetteModule::pipette_distribut(int32_t ul) { ZLOGI(TAG, "pipette_distribut %d", ul); if (creg.module_status == 1) return err::kdevice_is_busy; - return do_pipette_distribut(ul, 0, 0); + return do_pipette_distribut(ul, 0); }; int32_t PipetteModule::pipette_shake_up(int32_t ul, int32_t times) { ZLOGI(TAG, "pipette_shake_up %d %d", ul, times); @@ -164,18 +165,18 @@ int32_t PipetteModule::pipette_lld_is_detect_liquid(int32_t *detect_liquid) { / return 0; } -int32_t PipetteModule::pipette_aspirate_llf(int32_t ul, int32_t dpos, int32_t zmotor_v) { // - ZLOGI(TAG, "pipette_aspirate_llf %d %d %d", ul, dpos, zmotor_v); +int32_t PipetteModule::pipette_aspirate_llf(int32_t ul, int32_t zmotor_v) { // + ZLOGI(TAG, "pipette_aspirate_llf %d %d %d", ul, zmotor_v); if (creg.module_status == 1) return err::kdevice_is_busy; - return do_pipette_aspirate(ul, dpos, zmotor_v); + return do_pipette_aspirate(ul, zmotor_v); } -int32_t PipetteModule::pipette_distribut_llf(int32_t ul, int32_t dpos, int32_t zmotor_v) { // - ZLOGI(TAG, "pipette_distribut_llf %d %d %d", ul, dpos, zmotor_v); +int32_t PipetteModule::pipette_distribut_llf(int32_t ul, int32_t zmotor_v) { // + ZLOGI(TAG, "pipette_distribut_llf %d %d %d", ul, zmotor_v); if (creg.module_status == 1) return err::kdevice_is_busy; - return do_pipette_distribut(ul, dpos, zmotor_v); + return do_pipette_distribut(ul, zmotor_v); } -int32_t PipetteModule::pipette_shake_up_llf(int32_t ul, int32_t dpos, int32_t zmotor_v, int32_t times) { // - ZLOGI(TAG, "pipette_shake_up_llf %d %d %d %d", ul, dpos, zmotor_v, times); +int32_t PipetteModule::pipette_shake_up_llf(int32_t ul, int32_t zmotor_v, int32_t times) { // + ZLOGI(TAG, "pipette_shake_up_llf %d %d %d %d", ul, zmotor_v, times); return 0; } @@ -482,7 +483,7 @@ int32_t PipetteModule::do_pipette_lld(lld_mode_t mode, int32_t zdpos, int32_t c_ ); return 0; } -int32_t PipetteModule::do_pipette_aspirate(int32_t ul, int32_t dpos, int32_t zmotor_v) { +int32_t PipetteModule::do_pipette_aspirate(int32_t ul, int32_t zmotor_v) { /** * @brief */ @@ -496,12 +497,12 @@ int32_t PipetteModule::do_pipette_aspirate(int32_t ul, int32_t dpos, int32_t zmo m_thread.stop(); creg.module_status = 1; m_thread.start( - [this, ul, dpos, zmotor_v]() { // + [this, ul, zmotor_v]() { // auto submotor = m_zmotor->getMotor(); DO_IN_THREAD(befor_run()); - if (dpos != 0) { - submotor->moveBy(dpos, zmotor_v); + if (zmotor_v != 0) { + submotor->moveBy(LLF_DPOS, zmotor_v); } DO_IN_THREAD(m_smtp2.pump_aspirate(m_config.aspirate_distribut_pump_vel, ul)); while (true) { @@ -530,7 +531,7 @@ int32_t PipetteModule::do_pipette_aspirate(int32_t ul, int32_t dpos, int32_t zmo ); return 0; } -int32_t PipetteModule::do_pipette_distribut(int32_t ul, int32_t dpos, int32_t zmotor_v) { +int32_t PipetteModule::do_pipette_distribut(int32_t ul, int32_t zmotor_v) { /** * @brief */ @@ -540,12 +541,13 @@ int32_t PipetteModule::do_pipette_distribut(int32_t ul, int32_t dpos, int32_t zm m_thread.stop(); creg.module_status = 1; m_thread.start( - [this, ul, dpos, zmotor_v]() { // + + [this, ul, zmotor_v]() { // auto submotor = m_zmotor->getMotor(); DO_IN_THREAD(befor_run()); DO_IN_THREAD(m_smtp2.pump_distribut(m_config.aspirate_distribut_pump_vel, ul)); - if (dpos != 0) { - submotor->moveBy(-dpos, zmotor_v); + if (zmotor_v != 0) { + submotor->moveBy(-LLF_DPOS, zmotor_v); } while (true) { if (!check_when_run()) break; diff --git a/components/pipette_module/pipette_ctrl_module_v2.hpp b/components/pipette_module/pipette_ctrl_module_v2.hpp index b4cb7a8..9c977bd 100644 --- a/components/pipette_module/pipette_ctrl_module_v2.hpp +++ b/components/pipette_module/pipette_ctrl_module_v2.hpp @@ -146,9 +146,9 @@ class PipetteModule : public ZIModule, public ZIPipetteCtrlModule { virtual int32_t pipette_distribut(int32_t ul) override; virtual int32_t pipette_shake_up(int32_t ul, int32_t times) override; - virtual int32_t pipette_aspirate_llf(int32_t ul, int32_t dpos, int32_t zmotor_v) override; - virtual int32_t pipette_distribut_llf(int32_t ul, int32_t dpos, int32_t zmotor_v) override; - virtual int32_t pipette_shake_up_llf(int32_t ul, int32_t dpos, int32_t zmotor_v, int32_t times) override; + virtual int32_t pipette_aspirate_llf(int32_t ul, int32_t zmotor_v) override; + virtual int32_t pipette_distribut_llf(int32_t ul, int32_t zmotor_v) override; + virtual int32_t pipette_shake_up_llf(int32_t ul, int32_t zmotor_v, int32_t times) override; 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; @@ -162,8 +162,8 @@ class PipetteModule : public ZIModule, public ZIPipetteCtrlModule { int32_t do_pipette_lld_prepare(); int32_t do_pipette_lld(lld_mode_t mode, int32_t zdpos, int32_t c_threshold, int32_t p_threshold); - int32_t do_pipette_aspirate(int32_t ul, int32_t dpos, int32_t zmotor_v); - int32_t do_pipette_distribut(int32_t ul, int32_t dpos, int32_t zmotor_v); + int32_t do_pipette_aspirate(int32_t ul, int32_t zmotor_v); + int32_t do_pipette_distribut(int32_t ul, int32_t zmotor_v); private: int32_t befor_run(); diff --git a/components/zcancmder/zcan_protocol_parser.cpp b/components/zcancmder/zcan_protocol_parser.cpp index 6b1a532..ecf5d40 100644 --- a/components/zcancmder/zcan_protocol_parser.cpp +++ b/components/zcancmder/zcan_protocol_parser.cpp @@ -542,18 +542,18 @@ int32_t ZCanProtocolParser::pipette_shake_up(cmdcontxt_t* cxt) { } int32_t ZCanProtocolParser::pipette_aspirate_llf(cmdcontxt_t* cxt) { - CHECK_AND_GET_MODULE(3); - return module->pipette_aspirate_llf(cxt->params[0], cxt->params[1], cxt->params[2]); + CHECK_AND_GET_MODULE(2); + return module->pipette_aspirate_llf(cxt->params[0], cxt->params[1]); } int32_t ZCanProtocolParser::pipette_distribut_llf(cmdcontxt_t* cxt) { - CHECK_AND_GET_MODULE(3); - return module->pipette_distribut_llf(cxt->params[0], cxt->params[1], cxt->params[2]); + CHECK_AND_GET_MODULE(2); + return module->pipette_distribut_llf(cxt->params[0], cxt->params[1]); } int32_t ZCanProtocolParser::pipette_shake_up_llf(cmdcontxt_t* cxt) { - CHECK_AND_GET_MODULE(4); - return module->pipette_shake_up_llf(cxt->params[0], cxt->params[1], cxt->params[2], cxt->params[3]); + CHECK_AND_GET_MODULE(3); + return module->pipette_shake_up_llf(cxt->params[0], cxt->params[1], cxt->params[2]); } int32_t ZCanProtocolParser::pipette_enable_zmotor(cmdcontxt_t* cxt) {