Browse Source

update

sunlight
zhaohe 11 months ago
parent
commit
f90ee4af50
  1. 3
      README.md
  2. 4
      usrc/service/page/page_processer.hpp
  3. 72
      usrc/service/page/submenu/Page_muBleHandSett.cpp
  4. 30
      usrc/service/page/submenu/Page_muBleHandSett.hpp
  5. 72
      usrc/service/page/submenu/Page_muMotorSett.cpp
  6. 30
      usrc/service/page/submenu/Page_muMotorSett.hpp
  7. 152
      usrc/service/page/submenu/Page_muPumpSett.cpp
  8. 30
      usrc/service/page/submenu/Page_muPumpSett.hpp
  9. 11
      usrc/service/page/submenu/Page_muSettings.cpp
  10. 29
      usrc/service/page/utils/page_bak_router.cpp
  11. 8
      usrc/service/page/utils/page_bak_router.hpp

3
README.md

@ -9,6 +9,8 @@ V102:
1.设备在工作时,禁止离开首页 1.设备在工作时,禁止离开首页
2.设备在工作时,禁止切换模式 2.设备在工作时,禁止切换模式
``` ```
``` ```
@ -18,6 +20,7 @@ TODO:
1. 输入超过10次错误密码后,弹出提示框,请等待24小时,24小时后,页面将自动切换到恢复出厂设置页面。 1. 输入超过10次错误密码后,弹出提示框,请等待24小时,24小时后,页面将自动切换到恢复出厂设置页面。
2. 添加恢复出厂设置按键,且恢复出厂设置按键按下后,需要根用户二次确认。 2. 添加恢复出厂设置按键,且恢复出厂设置按键按下后,需要根用户二次确认。
3. 转换比设置错误可能到只泵机不转 3. 转换比设置错误可能到只泵机不转
4. 修改muSetting名为 muAdvanced
``` ```

4
usrc/service/page/page_processer.hpp

@ -1,8 +1,10 @@
#pragma once #pragma once
#include "apphardware/apphardware.hpp" #include "apphardware/apphardware.hpp"
#include "service\front_end_controler.hpp"
#include "uappbase/base.hpp" #include "uappbase/base.hpp"
#include "service\front_end_controler.hpp"
#include "utils/page_bak_router.hpp"
#include "ui/ui.h" #include "ui/ui.h"
namespace iflytop { namespace iflytop {
using namespace std; using namespace std;

72
usrc/service/page/submenu/Page_muBleHandSett.cpp

@ -0,0 +1,72 @@
#include "Page_muBleHandSett.hpp"
#include "service/remote_controler.hpp"
using namespace iflytop;
/**
* @brief
*
*/
#define PAGE pg_muBleHandSett
#define TAG "Page_muBleHandSett"
static CfgItermCache cfgcache;
static bool m_scaning;
void Page_muBleHandSett::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_muBleHandSett_bleCliName, "加液");
}
if (keyEvent == hand_acid_remoter_kevent_change_next_mode) {
UIS->setTxt(PAGE, ob_muBleHandSett_bleCliName, "模式切换");
}
if (keyEvent == hand_acid_remoter_kevent_reflux) {
UIS->setTxt(PAGE, ob_muBleHandSett_bleCliName, "液路回流");
}
if (keyEvent == hand_acid_remoter_kevent_preFilling) {
UIS->setTxt(PAGE, ob_muBleHandSett_bleCliName, "液路预充");
}
return;
}
});
}
bool Page_muBleHandSett::isBelongThisPage(int page) { return page == PAGE; }
void Page_muBleHandSett::updatePage() { UIS->setTxt(PAGE, ob_muBleHandSett_bleCliName, getCfgStr(kcfg_bleClientName)); }
void Page_muBleHandSett::OnPageLoad(OnPageLoadContext* cxt) { //
updatePage();
};
void Page_muBleHandSett::OnAppEvent(AppEvent_t* event) {
if (event->type == kAppEvent_BleConnectEvent) {
ZLOGI(TAG, "ble connect success");
UIS->setTxt(PAGE, ob_muBleHandSett_bleCliName, "绑定成功");
CS->setcfgAndFlush(kcfg_bleClientName, event->d.bleName);
m_scaning = false;
}
}
void Page_muBleHandSett::OnInputFieldContentChange(uint8_t bid, const char* text) { updatePage(); }
void Page_muBleHandSett::OnButton(uint8_t bid, uint8_t val) {
static CfgItermCache usrpasswdcache;
ZLOGI(TAG, "bid:%d", bid);
if (bid == ob_muBleHandSett_bak) {
if (m_scaning) {
RCTRL->startScan("XXXXXXXXX", false); // 相当于停止扫描
}
UIS->chpage(getBakPage(PAGE));
} else if (bid == ob_muBleHandSett_bleScan) {
ZLOGI(TAG, "bleScan");
bool suc = RCTRL->startScan(BLENAME, true);
if (suc) UIS->setTxt(PAGE, ob_muBleHandSett_bleCliName, "扫描中...");
m_scaning = true;
}
};
// muAcidType

30
usrc/service/page/submenu/Page_muBleHandSett.hpp

@ -0,0 +1,30 @@
#pragma once
//
#include "../page_processer.hpp"
namespace iflytop {
using namespace std;
// page: keybAcidCh
class Page_muBleHandSett : public IPageProcesser {
private:
/* data */
public:
static Page_muBleHandSett* ins() {
static Page_muBleHandSett instance;
return &instance;
}
virtual void initialize() override;
private:
virtual bool isBelongThisPage(int page) 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;
private:
void updatePage();
};
} // namespace iflytop

72
usrc/service/page/submenu/Page_muMotorSett.cpp

@ -0,0 +1,72 @@
#include "Page_muMotorSett.hpp"
#include "service/remote_controler.hpp"
using namespace iflytop;
/**
* @brief
*
*/
#define PAGE pg_muMotorSett
#define TAG "Page_muMotorSett"
static CfgItermCache cfgcache;
static bool m_scaning;
void Page_muMotorSett::initialize() { //
IPageProcesser::initialize();
}
bool Page_muMotorSett::isBelongThisPage(int page) { return page == PAGE; }
void Page_muMotorSett::updatePage() {
UIS->setTxt(PAGE, ob_muMotorSett_irun0, zitoa(getMxIRun(0)));
UIS->setTxt(PAGE, ob_muMotorSett_irun1, zitoa(getMxIRun(1)));
UIS->setTxt(PAGE, ob_muMotorSett_irun2, zitoa(getMxIRun(2)));
UIS->setTxt(PAGE, ob_muMotorSett_irun3, zitoa(getMxIRun(3)));
}
void Page_muMotorSett::OnPageLoad(OnPageLoadContext* cxt) { //
updatePage();
};
void Page_muMotorSett::OnAppEvent(AppEvent_t* event) {}
void Page_muMotorSett::OnInputFieldContentChange(uint8_t bid, const char* text) {
/***********************************************************************************************************************
* irunx *
***********************************************************************************************************************/
if (bid == ob_muMotorSett_irun0 || bid == ob_muMotorSett_irun1 || bid == ob_muMotorSett_irun2 || bid == ob_muMotorSett_irun3) {
int irun = atoi(text);
if (irun < 1 || irun > 31) {
UIS->alert("IRUN需要限制在1..31");
return;
}
}
if (bid == ob_muMotorSett_irun0) {
setMxIRun(0, atoi(text));
UIS->setTxt(bid, zfmt("%d", getMxIRun(0)));
} else if (bid == ob_muMotorSett_irun1) {
setMxIRun(1, atoi(text));
UIS->setTxt(bid, zfmt("%d", getMxIRun(1)));
} else if (bid == ob_muMotorSett_irun2) {
setMxIRun(2, atoi(text));
UIS->setTxt(bid, zfmt("%d", getMxIRun(2)));
} else if (bid == ob_muMotorSett_irun3) {
setMxIRun(3, atoi(text));
UIS->setTxt(bid, zfmt("%d", getMxIRun(3)));
}
/***********************************************************************************************************************
* addAcidVel *
***********************************************************************************************************************/
updatePage();
}
void Page_muMotorSett::OnButton(uint8_t bid, uint8_t val) {
if (bid == ob_muMotorSett_bak) {
UIS->chpage(getBakPage(PAGE));
}
};
// muAcidType

30
usrc/service/page/submenu/Page_muMotorSett.hpp

@ -0,0 +1,30 @@
#pragma once
//
#include "../page_processer.hpp"
namespace iflytop {
using namespace std;
// page: keybAcidCh
class Page_muMotorSett : public IPageProcesser {
private:
/* data */
public:
static Page_muMotorSett* ins() {
static Page_muMotorSett instance;
return &instance;
}
virtual void initialize() override;
private:
virtual bool isBelongThisPage(int page) 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;
private:
void updatePage();
};
} // namespace iflytop

152
usrc/service/page/submenu/Page_muPumpSett.cpp

@ -0,0 +1,152 @@
#include "Page_muPumpSett.hpp"
#include "service/remote_controler.hpp"
using namespace iflytop;
/**
* @brief
*
*/
#define PAGE pg_muPumpSett
#define TAG "Page_muPumpSett"
static CfgItermCache cfgcache;
static bool m_scaning;
void Page_muPumpSett::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;
return;
}
});
}
bool Page_muPumpSett::isBelongThisPage(int page) { return page == PAGE; }
void Page_muPumpSett::updatePage() {
UIS->setTxt(PAGE, ob_muPumpSett_pumpCoef0, zfmt("%.4f", getMotorMLPR(0)));
UIS->setTxt(PAGE, ob_muPumpSett_pumpCoef1, zfmt("%.4f", getMotorMLPR(1)));
UIS->setTxt(PAGE, ob_muPumpSett_pumpCoef2, zfmt("%.4f", getMotorMLPR(2)));
UIS->setTxt(PAGE, ob_muPumpSett_pumpCoef3, zfmt("%.4f", getMotorMLPR(3)));
UIS->setTxt(PAGE, ob_muPumpSett_pipeLen0, zfmt("%.2f", getCfgPipeLengthML(0)));
UIS->setTxt(PAGE, ob_muPumpSett_pipeLen1, zfmt("%.2f", getCfgPipeLengthML(1)));
UIS->setTxt(PAGE, ob_muPumpSett_pipeLen2, zfmt("%.2f", getCfgPipeLengthML(2)));
UIS->setTxt(PAGE, ob_muPumpSett_pipeLen3, zfmt("%.2f", getCfgPipeLengthML(3)));
// TODO:改成4个输入框
UIS->setTxt(PAGE, ob_muPumpSett_addAcidVel0, zitoa(getMxRunRPM(0)));
UIS->setTxt(PAGE, ob_muPumpSett_addAcidVel1, zitoa(getMxRunRPM(1)));
UIS->setTxt(PAGE, ob_muPumpSett_addAcidVel2, zitoa(getMxRunRPM(2)));
UIS->setTxt(PAGE, ob_muPumpSett_addAcidVel3, zitoa(getMxRunRPM(3)));
}
void Page_muPumpSett::OnPageLoad(OnPageLoadContext* cxt) { //
updatePage();
};
void Page_muPumpSett::OnAppEvent(AppEvent_t* event) {}
void Page_muPumpSett::OnInputFieldContentChange(uint8_t bid, const char* text) {
/***********************************************************************************************************************
* irunx *
***********************************************************************************************************************/
/***********************************************************************************************************************
* pumpCoef *
***********************************************************************************************************************/
if (bid == ob_muPumpSett_pumpCoef0) {
setMotorMLPR(0, atof(text));
UIS->setTxt(bid, zfmt("%.4f", getMotorMLPR(0)));
} else if (bid == ob_muPumpSett_pumpCoef1) {
setMotorMLPR(1, atof(text));
UIS->setTxt(bid, zfmt("%.4f", getMotorMLPR(1)));
} else if (bid == ob_muPumpSett_pumpCoef2) {
setMotorMLPR(2, atof(text));
UIS->setTxt(bid, zfmt("%.4f", getMotorMLPR(2)));
} else if (bid == ob_muPumpSett_pumpCoef3) {
setMotorMLPR(3, atof(text));
UIS->setTxt(bid, zfmt("%.4f", getMotorMLPR(3)));
}
/***********************************************************************************************************************
* pipeLen *
***********************************************************************************************************************/
if (bid == ob_muPumpSett_pipeLen0 || bid == ob_muPumpSett_pipeLen1 || bid == ob_muPumpSett_pipeLen2 || bid == ob_muPumpSett_pipeLen3) {
float len = atof(text);
if (len < 0.1) {
UIS->alert("管道长度不能小于0.1");
return;
}
}
if (bid == ob_muPumpSett_pipeLen0) {
setCfgPipeLengthML(0, atof(text));
UIS->setTxt(bid, zfmt("%.2f", getCfgPipeLengthML(0)));
}
if (bid == ob_muPumpSett_pipeLen1) {
setCfgPipeLengthML(1, atof(text));
UIS->setTxt(bid, zfmt("%.2f", getCfgPipeLengthML(1)));
}
if (bid == ob_muPumpSett_pipeLen2) {
setCfgPipeLengthML(2, atof(text));
UIS->setTxt(bid, zfmt("%.2f", getCfgPipeLengthML(2)));
}
if (bid == ob_muPumpSett_pipeLen3) {
setCfgPipeLengthML(3, atof(text));
UIS->setTxt(bid, zfmt("%.2f", getCfgPipeLengthML(3)));
}
/***********************************************************************************************************************
* addAcidVel *
***********************************************************************************************************************/
// TODO改成4个输入框
if (bid == ob_muPumpSett_addAcidVel0 || bid == ob_muPumpSett_addAcidVel1 || bid == ob_muPumpSett_addAcidVel2 || bid == ob_muPumpSett_addAcidVel3) {
int rpm = atoi(text);
if (rpm < 300) {
UIS->alert("转速不能小于300");
return;
}
if (rpm > 1000) {
UIS->alert("转速不能大于1000");
return;
}
switch (bid) {
case ob_muPumpSett_addAcidVel0:
setMxRunRPM(0, rpm);
break;
case ob_muPumpSett_addAcidVel1:
setMxRunRPM(1, rpm);
break;
case ob_muPumpSett_addAcidVel2:
setMxRunRPM(2, rpm);
break;
case ob_muPumpSett_addAcidVel3:
setMxRunRPM(3, rpm);
break;
}
UIS->setTxt(bid, zitoa(rpm));
}
updatePage();
}
void Page_muPumpSett::OnButton(uint8_t bid, uint8_t val) {
if (bid == ob_muPumpSett_bak) {
UIS->chpage(getBakPage(PAGE));
}
};
// muAcidType

30
usrc/service/page/submenu/Page_muPumpSett.hpp

@ -0,0 +1,30 @@
#pragma once
//
#include "../page_processer.hpp"
namespace iflytop {
using namespace std;
// page: keybAcidCh
class Page_muPumpSett : public IPageProcesser {
private:
/* data */
public:
static Page_muPumpSett* ins() {
static Page_muPumpSett instance;
return &instance;
}
virtual void initialize() override;
private:
virtual bool isBelongThisPage(int page) 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;
private:
void updatePage();
};
} // namespace iflytop

11
usrc/service/page/submenu/Page_muSettings.cpp

@ -205,19 +205,8 @@ void Page_muSettings::OnInputFieldContentChange(uint8_t bid, const char* text) {
updatePage(); updatePage();
} }
void Page_muSettings::OnButton(uint8_t bid, uint8_t val) { void Page_muSettings::OnButton(uint8_t bid, uint8_t val) {
static CfgItermCache usrpasswdcache;
ZLOGI(TAG, "bid:%d", bid);
if (bid == ob_muSettings_bak) { if (bid == ob_muSettings_bak) {
UIS->chpage(GSM->getMenuPage()); UIS->chpage(GSM->getMenuPage());
if (m_scaning) {
RCTRL->startScan("XXXXXXXXX", false); // Ï൱ÓÚֹͣɨÃè
}
} else if (bid == ob_muSettings_bleScan) {
ZLOGI(TAG, "bleScan");
bool suc = RCTRL->startScan(BLENAME, true);
if (suc) UIS->setTxt(PAGE, ob_muSettings_bleCliName, "ɨÃèÖÐ...");
m_scaning = true;
} }
}; };

29
usrc/service/page/utils/page_bak_router.cpp

@ -0,0 +1,29 @@
#include "page_bak_router.hpp"
using namespace iflytop;
namespace iflytop {
int getBakPage(int nowPage) {
if (
nowPage == pg_muInterval || //
nowPage == pg_muUsrMgr || //
nowPage == pg_muTmrMgr || //
nowPage == pg_muAcidType || //
nowPage == pg_muDeviceInfo || //
nowPage == pg_muSettings || //
nowPage == pg_muAudit //
) {
return GSM->getMenuPage();
}
if (nowPage == pg_muPumpTest || //
nowPage == pg_muBleHandSett || //
nowPage == pg_muMotorSett || //
nowPage == pg_muPumpSett //
) {
return pg_muSettings;
}
return pg_main;
}
} // namespace iflytop

8
usrc/service/page/utils/page_bak_router.hpp

@ -0,0 +1,8 @@
#pragma once
#include "apphardware/apphardware.hpp"
#include "uappbase/base.hpp"
#include "service\front_end_controler.hpp"
namespace iflytop {
int getBakPage(int nowPage);
}
Loading…
Cancel
Save