diff --git a/usrc/service/page/submenu/Page_muPumpTest.cpp b/usrc/service/page/submenu/Page_muPumpTest.cpp index 9bc3df5..d41b7dd 100644 --- a/usrc/service/page/submenu/Page_muPumpTest.cpp +++ b/usrc/service/page/submenu/Page_muPumpTest.cpp @@ -1,6 +1,7 @@ #include "Page_muPumpTest.hpp" #include "service/pump_ctrl_service.hpp" +#include "service/remote_controler.hpp" using namespace iflytop; #define PAGE pg_muPumpTest @@ -16,6 +17,25 @@ void Page_muPumpTest::initialize() { // osTimerDef(statiUpdateTimer, Page_muPumpTest_onTimer); statiUpdateTimerId = osTimerCreate(osTimer(statiUpdateTimer), osTimerPeriodic, this); + + RCTRL->regOnReport([this](uint8_t* rx, int32_t len) { + zble_proto_packet_t* packet = (zble_proto_packet_t*)rx; + if (UIS->getNowPage() != PAGE) { + return; + } + + if (packet->cmd == kzble_app_report_key_event) { + int32_t keyEvent = *(int32_t*)packet->data; + if (keyEvent == hand_acid_remoter_kevent_add_liquid) { + if (m_workFlag) { + pumpStart(1); + } else { + pumpStop(); + } + } + return; + } + }); } bool Page_muPumpTest::isBelongThisPage(int page) { return page == PAGE; } @@ -24,7 +44,8 @@ void Page_muPumpTest::OnPageLoad(OnPageLoadContext* cxt) { // motorTrunsBegin if (!cxt->isFromPopWin) { updateStatiInfo(0, 0); - m_pumpId = 0; + m_pumpId = 0; + m_workFlag = false; } ZLOGI(TAG, "m_pumpId:%d %d", m_pumpId, cxt->isFromPopWin); UIS->setTxt(ob_muPumpTest_pumpId, zfmt("%d", m_pumpId + 1)); @@ -63,12 +84,14 @@ void Page_muPumpTest::pumpStop() { PUMPCS->stopRotate(); osTimerStop(statiUpdateTimerId); updateStatiInfo(); + m_workFlag = false; } void Page_muPumpTest::pumpStart(int32_t direction) { ZLOGI(TAG, "pumpStart %d %d", m_pumpId, direction); PUMPCS->rotate(m_pumpId, direction); osTimerStop(statiUpdateTimerId); osTimerStart(statiUpdateTimerId, 300); + m_workFlag = true; } void Page_muPumpTest::pumpChangeSelectId(int id) { if (id < 0 || id > 3) { diff --git a/usrc/service/page/submenu/Page_muPumpTest.hpp b/usrc/service/page/submenu/Page_muPumpTest.hpp index 4d1e39b..3764c92 100644 --- a/usrc/service/page/submenu/Page_muPumpTest.hpp +++ b/usrc/service/page/submenu/Page_muPumpTest.hpp @@ -12,6 +12,7 @@ class Page_muPumpTest : public IPageProcesser { int m_pumpId = 0; float m_statiTruns = 0; float m_statiVolum = 0; + bool m_workFlag = false; osTimerId statiUpdateTimerId; // diff --git a/usrc/service/page/submenu/Page_muSettings.cpp b/usrc/service/page/submenu/Page_muSettings.cpp index ffcfbbf..00908ed 100644 --- a/usrc/service/page/submenu/Page_muSettings.cpp +++ b/usrc/service/page/submenu/Page_muSettings.cpp @@ -1,6 +1,7 @@ #include "Page_muSettings.hpp" #include "service/remote_controler.hpp" + using namespace iflytop; /** @@ -29,7 +30,33 @@ static bool m_scaning; // GSM->setRemoterS(false); // } // }); +void Page_muSettings::initialize() { // + IPageProcesser::initialize(); + + RCTRL->regOnReport([this](uint8_t* rx, int32_t len) { + zble_proto_packet_t* packet = (zble_proto_packet_t*)rx; + if (UIS->getNowPage() != PAGE) { + return; + } + if (packet->cmd == kzble_app_report_key_event) { + int32_t keyEvent = *(int32_t*)packet->data; + if (keyEvent == hand_acid_remoter_kevent_add_liquid) { + UIS->setTxt(PAGE, ob_muSettings_bleCliName, "加液"); + } + if (keyEvent == hand_acid_remoter_kevent_change_next_mode) { + UIS->setTxt(PAGE, ob_muSettings_bleCliName, "模式切换"); + } + if (keyEvent == hand_acid_remoter_kevent_reflux) { + UIS->setTxt(PAGE, ob_muSettings_bleCliName, "液路回流"); + } + if (keyEvent == hand_acid_remoter_kevent_preFilling) { + UIS->setTxt(PAGE, ob_muSettings_bleCliName, "液路预充"); + } + return; + } + }); +} bool Page_muSettings::isBelongThisPage(int page) { return page == PAGE; } void Page_muSettings::updatePage() { diff --git a/usrc/service/page/submenu/Page_muSettings.hpp b/usrc/service/page/submenu/Page_muSettings.hpp index 59a194e..6e398e4 100644 --- a/usrc/service/page/submenu/Page_muSettings.hpp +++ b/usrc/service/page/submenu/Page_muSettings.hpp @@ -13,11 +13,12 @@ class Page_muSettings : public IPageProcesser { static Page_muSettings instance; return &instance; } + virtual void initialize() override; private: virtual bool isBelongThisPage(int page) override; - virtual void OnPageLoad(OnPageLoadContext*cxt) override; + virtual void OnPageLoad(OnPageLoadContext* cxt) override; virtual void OnInputFieldContentChange(uint8_t bid, const char* text) override; virtual void OnButton(uint8_t bid, uint8_t val) override; virtual void OnAppEvent(AppEvent_t* event) override;