7 changed files with 173 additions and 31 deletions
-
2stm32components
-
5usrc/project_configs.h
-
87usrc/service/page/submenu/Page_muPumpTest.cpp
-
22usrc/service/page/submenu/Page_muPumpTest.hpp
-
2usrc/service/page/submenu/Page_muSettings.cpp
-
81usrc/service/pump_ctrl_service.cpp
-
5usrc/service/pump_ctrl_service.hpp
@ -1 +1 @@ |
|||||
Subproject commit 3c9d276aab2de07bf1dfdcf5bd31c531efa311d9 |
|
||||
|
Subproject commit f45df89965564db5c5ad518c7a704571726b8a6e |
@ -1,18 +1,101 @@ |
|||||
#include "Page_muPumpTest.hpp"
|
#include "Page_muPumpTest.hpp"
|
||||
|
|
||||
|
#include "service/pump_ctrl_service.hpp"
|
||||
using namespace iflytop; |
using namespace iflytop; |
||||
|
|
||||
#define PAGE pg_muPumpTest
|
#define PAGE pg_muPumpTest
|
||||
#define TAG "Page_muPumpTest"
|
#define TAG "Page_muPumpTest"
|
||||
|
|
||||
|
static void Page_muPumpTest_onTimer(const void* tid) { |
||||
|
Page_muPumpTest* thisClass = (Page_muPumpTest*)pvTimerGetTimerID((TimerHandle_t)tid); |
||||
|
thisClass->onTimer(); |
||||
|
} |
||||
|
|
||||
|
void Page_muPumpTest::initialize() { //
|
||||
|
IPageProcesser::initialize(); |
||||
|
|
||||
|
osTimerDef(statiUpdateTimer, Page_muPumpTest_onTimer); |
||||
|
statiUpdateTimerId = osTimerCreate(osTimer(statiUpdateTimer), osTimerPeriodic, this); |
||||
|
} |
||||
|
|
||||
bool Page_muPumpTest::isBelongThisPage(int page) { return page == PAGE; } |
bool Page_muPumpTest::isBelongThisPage(int page) { return page == PAGE; } |
||||
|
|
||||
void Page_muPumpTest::OnPageLoad(OnPageLoadContext*cxt) {} |
|
||||
|
void Page_muPumpTest::OnPageLoad(OnPageLoadContext* cxt) { |
||||
|
// motorTrunsBegin
|
||||
|
if (!cxt->isFromPopWin) { |
||||
|
updateStatiInfo(0, 0); |
||||
|
m_pumpId = 1; |
||||
|
} |
||||
|
UIS->setVal(ob_muPumpTest_pumpId, m_pumpId + 1); |
||||
|
} |
||||
|
|
||||
void Page_muPumpTest::OnInputFieldContentChange(uint8_t bid, const char* text) { //
|
void Page_muPumpTest::OnInputFieldContentChange(uint8_t bid, const char* text) { //
|
||||
ZLOGI(TAG, "bid:%d %s", bid, text); |
ZLOGI(TAG, "bid:%d %s", bid, text); |
||||
|
// ob_muPumpTest_frompage
|
||||
|
if (bid == ob_muPumpTest_pumpId) { |
||||
|
pumpChangeSelectId(atoi(text)); |
||||
|
} |
||||
} |
} |
||||
void Page_muPumpTest::OnButton(uint8_t bid, uint8_t val) { |
void Page_muPumpTest::OnButton(uint8_t bid, uint8_t val) { |
||||
ZLOGI(TAG, "bid:%d", bid); |
ZLOGI(TAG, "bid:%d", bid); |
||||
if (bid == ob_muPumpTest_bak) { |
if (bid == ob_muPumpTest_bak) { |
||||
|
pumpStop(); |
||||
UIS->chpage(pg_muSettings); |
UIS->chpage(pg_muSettings); |
||||
|
} else if (bid == ob_muPumpTest_clearStati) { |
||||
|
ZLOGI(TAG, "clearStati"); |
||||
|
clearStatisInfo(); |
||||
|
} else if (bid == ob_muPumpTest_forward) { |
||||
|
ZLOGI(TAG, "forward"); |
||||
|
pumpStart(1); |
||||
|
} else if (bid == ob_muPumpTest_bakward) { |
||||
|
ZLOGI(TAG, "bakward"); |
||||
|
pumpStart(-1); |
||||
|
} else if (bid == ob_muPumpTest_stop) { |
||||
|
ZLOGI(TAG, "stop"); |
||||
|
pumpStop(); |
||||
} |
} |
||||
} |
|
||||
|
} |
||||
|
/***********************************************************************************************************************
|
||||
|
* LOGIC * |
||||
|
***********************************************************************************************************************/ |
||||
|
void Page_muPumpTest::pumpStop() { |
||||
|
PUMPCS->stopRotate(); |
||||
|
osTimerStop(statiUpdateTimerId); |
||||
|
updateStatiInfo(); |
||||
|
} |
||||
|
void Page_muPumpTest::pumpStart(int32_t direction) { |
||||
|
PUMPCS->rotate(m_pumpId, direction); |
||||
|
osTimerStop(statiUpdateTimerId); |
||||
|
osTimerStart(statiUpdateTimerId, 300); |
||||
|
} |
||||
|
void Page_muPumpTest::pumpChangeSelectId(int id) { |
||||
|
if (id < 0 || id > 3) { |
||||
|
ZLOGW(TAG, "pumpId out of range"); |
||||
|
return; |
||||
|
} |
||||
|
if ((id) != m_pumpId) { |
||||
|
ZLOGI(TAG, "pumpId change to %d", id); |
||||
|
m_pumpId = id; |
||||
|
PUMPCS->stopRotate(); |
||||
|
clearStatisInfo(); |
||||
|
} |
||||
|
} |
||||
|
void Page_muPumpTest::updateStatiInfo(float statiTruns, float statiVolum) { |
||||
|
m_statiTruns = statiTruns; |
||||
|
m_statiVolum = statiVolum; |
||||
|
UIS->setVal(ob_muPumpTest_statiTrun, zfmt("%.2f", m_statiTruns)); |
||||
|
UIS->setVal(ob_muPumpTest_statiVolum, zfmt("%.2f", m_statiVolum)); |
||||
|
} |
||||
|
void Page_muPumpTest::clearStatisInfo() { |
||||
|
updateStatiInfo(0, 0); |
||||
|
m_motorTrunsBegin = PUMPCS->getMotorNowPosR(m_pumpId); |
||||
|
} |
||||
|
|
||||
|
void Page_muPumpTest::updateStatiInfo() { |
||||
|
double nowPos = PUMPCS->getMotorNowPosR(m_pumpId); |
||||
|
double truns = (nowPos - m_motorTrunsBegin); |
||||
|
float motorX_mLPR = getMotorMLPR(m_pumpId); |
||||
|
double volum = truns * motorX_mLPR; |
||||
|
updateStatiInfo(truns, volum); |
||||
|
} |
||||
|
void Page_muPumpTest::onTimer() { updateStatiInfo(); } |
Write
Preview
Loading…
Cancel
Save
Reference in new issue