From 7f65cd4925aba8da316a0d28a3b124925acdbf08 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Sun, 20 Oct 2024 21:36:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B5=8B=E8=AF=95=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E7=94=B5=E6=9C=BA=E5=81=9C=E6=AD=A2=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .settings/language.settings.xml | 4 ++-- stm32components | 2 +- usrc/service/page/submenu/Page_muPumpTest.cpp | 4 ++-- usrc/service/page/submenu/Page_muPumpTest.hpp | 1 - usrc/service/pump_ctrl_service.cpp | 10 +++++++++- usrc/service/pump_ctrl_service.hpp | 1 + 6 files changed, 15 insertions(+), 7 deletions(-) diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml index 5a79ae1..adb54ce 100644 --- a/.settings/language.settings.xml +++ b/.settings/language.settings.xml @@ -5,7 +5,7 @@ - + @@ -16,7 +16,7 @@ - + diff --git a/stm32components b/stm32components index d8826b5..3b82b7a 160000 --- a/stm32components +++ b/stm32components @@ -1 +1 @@ -Subproject commit d8826b58d64f4f69f5d867d110e5a8705b8bcdef +Subproject commit 3b82b7adf76a40c6931d8578725a72c8c7886bd9 diff --git a/usrc/service/page/submenu/Page_muPumpTest.cpp b/usrc/service/page/submenu/Page_muPumpTest.cpp index a3fed58..395f2f6 100644 --- a/usrc/service/page/submenu/Page_muPumpTest.cpp +++ b/usrc/service/page/submenu/Page_muPumpTest.cpp @@ -115,12 +115,12 @@ void Page_muPumpTest::updateStatiInfo(float statiTruns, float statiVolum) { } void Page_muPumpTest::clearStatisInfo() { updateStatiInfo(0, 0); - m_motorTrunsBegin = PUMPCS->getMotorNowPosR(m_pumpId); + PUMPCS->setCurrentPosAsZero(m_pumpId); } void Page_muPumpTest::updateStatiInfo() { double nowPos = PUMPCS->getMotorNowPosR(m_pumpId); - double truns = (nowPos - m_motorTrunsBegin); + double truns = (nowPos); float motorX_mLPR = getMotorMLPR(m_pumpId); double volum = truns * motorX_mLPR; updateStatiInfo(truns, volum); diff --git a/usrc/service/page/submenu/Page_muPumpTest.hpp b/usrc/service/page/submenu/Page_muPumpTest.hpp index 3764c92..37707e2 100644 --- a/usrc/service/page/submenu/Page_muPumpTest.hpp +++ b/usrc/service/page/submenu/Page_muPumpTest.hpp @@ -8,7 +8,6 @@ class Page_muPumpTest : public IPageProcesser { private: /* data */ - double m_motorTrunsBegin = 0; int m_pumpId = 0; float m_statiTruns = 0; float m_statiVolum = 0; diff --git a/usrc/service/pump_ctrl_service.cpp b/usrc/service/pump_ctrl_service.cpp index 04767da..5ba8164 100644 --- a/usrc/service/pump_ctrl_service.cpp +++ b/usrc/service/pump_ctrl_service.cpp @@ -204,7 +204,8 @@ void PumpCtrlService::rotate(int32_t mid, int32_t direction) { ValveStateSyncService::ins()->setValveState(1); TMC51X0* cur_motor = m_motors[mid]; - cur_motor->rotate(direction > 0 ? getMxRunRPM(mid) : -getMxRunRPM(mid)); + // cur_motor->rotate(direction > 0 ? getMxRunRPM(mid) : -getMxRunRPM(mid)); + cur_motor->moveToEnd(direction > 0 ? 1 : -1,getMxRunRPM(mid)); } void PumpCtrlService::stopRotate() { if (isWorking()) { @@ -229,6 +230,13 @@ double PumpCtrlService::getMotorNowPosR(int32_t mid) { } return m_motors[mid]->getXactualRAW() / 51200.0; } +void PumpCtrlService::setCurrentPosAsZero(int32_t mid) { + if (mid > 3) { + ZLOGE(TAG, "mid:%d is invalid", mid); + return; + } + m_motors[mid]->setXACTUAL(0); +} void PumpCtrlService::doMotorsMoveByOnce() { int32_t step0 = int32_t((getCfgFloat(kcfg_acideval0) + getPumpAppendMl(0)) * 1000); diff --git a/usrc/service/pump_ctrl_service.hpp b/usrc/service/pump_ctrl_service.hpp index d857903..c1554c4 100644 --- a/usrc/service/pump_ctrl_service.hpp +++ b/usrc/service/pump_ctrl_service.hpp @@ -39,6 +39,7 @@ class PumpCtrlService { void rotate(int32_t mid, int32_t direction); void stopRotate(); double getMotorNowPosR(int32_t mid); + void setCurrentPosAsZero(int32_t mid); private: void doMotorsMoveByOnce();