Browse Source

recode some

sunlight
zhaohe 11 months ago
parent
commit
90ef51993d
  1. 3
      README.md
  2. 4
      uappbase/service/gstate_mgr.cpp
  3. 10
      uappbase/service/gstate_mgr.hpp
  4. 194
      ui/ui.h
  5. 24
      usrc/service/front_end_controler.cpp
  6. 8
      usrc/service/front_end_controler.hpp
  7. 3
      usrc/service/page/Page_login.cpp
  8. 8
      usrc/service/page/Page_main.cpp
  9. 4
      usrc/service/page/keyboard/Page_keybAcidCh.cpp
  10. 5
      usrc/service/page/keyboard/Page_keybAcidCh.hpp
  11. 2
      usrc/service/page/page_processer.hpp
  12. 5
      usrc/service/page/submenu/Page_changePasswd.cpp
  13. 1
      usrc/service/page/submenu/Page_muAcidType.cpp
  14. 3
      usrc/service/page/submenu/Page_muInterval.cpp
  15. 11
      usrc/service/tjc/tjc_constant.hpp

3
README.md

@ -26,5 +26,8 @@ UI
5. 调整5s的位置
6. 首页添加加酸间隔时间单位显示
7. 修改confirm页面取消按键和确定按键位置
8. 修改主页面 menu按键切换页面由后台处理逻辑
9. 修改每个页面的后初始化事件,区分当前页面是键盘,还是弹窗,还是普通页面。
10. 去掉menu页面的setfrompage
```

4
uappbase/service/gstate_mgr.cpp

@ -84,4 +84,6 @@ void GStateMgr::setPumpSelectState(int32_t index, bool state) {
bool GStateMgr::getPumpSelectState(int32_t index) {
zlock_guard l(m_mutex);
return pumpSelectState[index];
}
}
void GStateMgr::setMenuPage(int32_t page) { m_menuPage = page; }
int32_t GStateMgr::getMenuPage() { return m_menuPage; }

10
uappbase/service/gstate_mgr.hpp

@ -16,9 +16,10 @@ class GStateMgr {
bool m_isLogin;
char m_loginUsr[MAX_USR_NAME_SIZE + 1];
int32_t m_AcidState; // 酸液桶状态 1:在线,0:离线
int32_t m_RemoterS; // 遥控器状态 1:在线,0:离线
hand_acid_mode_t m_RunMode = khand_acid_m_jog_mode; // 运行模式
int32_t m_AcidState; // 酸液桶状态 1:在线,0:离线
int32_t m_RemoterS; // 遥控器状态 1:在线,0:离线
hand_acid_mode_t m_RunMode = khand_acid_m_jog_mode; // 运行模式
int32_t m_menuPage = 0;
bool pumpSelectState[4] = {false};
@ -44,9 +45,12 @@ class GStateMgr {
void setRunMode(hand_acid_mode_t mode);
void changeToNextRunMode();
void setMenuPage(int32_t page);
int32_t getAcidState();
int32_t getRemoterS();
hand_acid_mode_t getRunMode();
int32_t getMenuPage();
void setPumpSelectState(int32_t index, bool state);
bool getPumpSelectState(int32_t index);

194
ui/ui.h

@ -3,25 +3,25 @@
#define pg_pStart 1
#define pg_login 2
#define pg_main 3
#define pg_keybAcidCh 4
#define pg_menuAdmin 5
#define pg_menuAdmin2 6
#define pg_menuUsr 7
#define pg_muInterval 8
#define pg_muUsrMgr 9
#define pg_muTmrMgr 10
#define pg_muAcidType 11
#define pg_menuAdmin 4
#define pg_menuAdmin2 5
#define pg_menuUsr 6
#define pg_muInterval 7
#define pg_muUsrMgr 8
#define pg_muTmrMgr 9
#define pg_muAcidType 10
#define pg_changePasswd 11
#define pg_muSettings 12
#define pg_muDeviceInfo 13
#define pg_muAudit 14
#define pg_alert 15
#define pg_confirm 16
#define pg_changePasswd 17
#define pg_keybdB 18
#define pg_keybdAP 19
#define pg_keybdA 20
#define pg_keyPasswd 21
#define pg_testPage 22
#define pg_testPage 15
#define pg_alert 16
#define pg_confirm 17
#define pg_keybAcidCh 18
#define pg_keybdB 19
#define pg_keybdAP 20
#define pg_keybdA 21
#define pg_keyPasswd 22
//gvar.objs
#define ob_gvar_gvar 0
#define ob_gvar_menupageid 1
@ -75,29 +75,6 @@
#define ob_main_acidname3 22
#define ob_main_acideval3 23
#define ob_main_RunModeValUint 24
//keybAcidCh.objs
#define ob_keybAcidCh_keybAcidCh 0
#define ob_keybAcidCh_bak 1
#define ob_keybAcidCh_b0 2
#define ob_keybAcidCh_b1 3
#define ob_keybAcidCh_b2 4
#define ob_keybAcidCh_b3 5
#define ob_keybAcidCh_b4 6
#define ob_keybAcidCh_b5 7
#define ob_keybAcidCh_b6 8
#define ob_keybAcidCh_b7 9
#define ob_keybAcidCh_b8 10
#define ob_keybAcidCh_b9 11
#define ob_keybAcidCh_b10 12
#define ob_keybAcidCh_b11 13
#define ob_keybAcidCh_b12 14
#define ob_keybAcidCh_b13 15
#define ob_keybAcidCh_b14 16
#define ob_keybAcidCh_loadpageid 17
#define ob_keybAcidCh_loadcmpid 18
#define ob_keybAcidCh_loadcmname 19
#define ob_keybAcidCh_txt 20
#define ob_keybAcidCh_fn0 21
//menuAdmin.objs
#define ob_menuAdmin_menuAdmin 0
#define ob_menuAdmin_home 1
@ -132,9 +109,8 @@
#define ob_muInterval_t0 1
#define ob_muInterval_t1 2
#define ob_muInterval_bak 3
#define ob_muInterval_frompage 4
#define ob_muInterval_stAcidInte 5
#define ob_muInterval_t2 6
#define ob_muInterval_stAcidInte 4
#define ob_muInterval_t2 5
//muUsrMgr.objs
#define ob_muUsrMgr_muUsrMgr 0
#define ob_muUsrMgr_bak 1
@ -154,7 +130,6 @@
#define ob_muUsrMgr_b0 15
#define ob_muUsrMgr_b2 16
#define ob_muUsrMgr_b3 17
#define ob_muUsrMgr_frompage 18
//muTmrMgr.objs
#define ob_muTmrMgr_muTmrMgr 0
#define ob_muTmrMgr_select0 1
@ -165,34 +140,41 @@
#define ob_muTmrMgr_select4 6
#define ob_muTmrMgr_select5 7
#define ob_muTmrMgr_b0 8
#define ob_muTmrMgr_frompage 9
//muAcidType.objs
#define ob_muAcidType_muAcidType 0
#define ob_muAcidType_frompage 1
#define ob_muAcidType_bak 2
#define ob_muAcidType_t1 3
#define ob_muAcidType_t2 4
#define ob_muAcidType_t3 5
#define ob_muAcidType_t4 6
#define ob_muAcidType_t5 7
#define ob_muAcidType_t6 8
#define ob_muAcidType_t7 9
#define ob_muAcidType_t8 10
#define ob_muAcidType_t9 11
#define ob_muAcidType_t10 12
#define ob_muAcidType_t11 13
#define ob_muAcidType_t12 14
#define ob_muAcidType_t13 15
#define ob_muAcidType_t14 16
#define ob_muAcidType_t15 17
#define ob_muAcidType_bak 1
#define ob_muAcidType_t1 2
#define ob_muAcidType_t2 3
#define ob_muAcidType_t3 4
#define ob_muAcidType_t4 5
#define ob_muAcidType_t5 6
#define ob_muAcidType_t6 7
#define ob_muAcidType_t7 8
#define ob_muAcidType_t8 9
#define ob_muAcidType_t9 10
#define ob_muAcidType_t10 11
#define ob_muAcidType_t11 12
#define ob_muAcidType_t12 13
#define ob_muAcidType_t13 14
#define ob_muAcidType_t14 15
#define ob_muAcidType_t15 16
//changePasswd.objs
#define ob_changePasswd_changePasswd 0
#define ob_changePasswd_newPwdTil 1
#define ob_changePasswd_newPwd 2
#define ob_changePasswd_newPwdCfmTil 3
#define ob_changePasswd_newPwdCfm 4
#define ob_changePasswd_confirm 5
#define ob_changePasswd_bak 6
#define ob_changePasswd_oldPwdTil 7
#define ob_changePasswd_oldPwd 8
//muSettings.objs
#define ob_muSettings_muSettings 0
#define ob_muSettings_t0 1
#define ob_muSettings_t1 2
#define ob_muSettings_bak 3
#define ob_muSettings_frompage 4
#define ob_muSettings_stAcidInte 5
#define ob_muSettings_t2 6
#define ob_muSettings_stAcidInte 4
#define ob_muSettings_t2 5
//muDeviceInfo.objs
#define ob_muDeviceInfo_muDeviceInfo 0
#define ob_muDeviceInfo_bak 1
@ -202,8 +184,7 @@
#define ob_muDeviceInfo_t7 5
#define ob_muDeviceInfo_t10 6
#define ob_muDeviceInfo_t11 7
#define ob_muDeviceInfo_frompage 8
#define ob_muDeviceInfo_t0 9
#define ob_muDeviceInfo_t0 8
//muAudit.objs
#define ob_muAudit_muAudit 0
#define ob_muAudit_bak 1
@ -212,7 +193,30 @@
#define ob_muAudit_t2 4
#define ob_muAudit_b0 5
#define ob_muAudit_b1 6
#define ob_muAudit_frompage 7
//testPage.objs
#define ob_testPage_testPage 0
#define ob_testPage_t0 1
#define ob_testPage_t1 2
#define ob_testPage_t2 3
#define ob_testPage_t3 4
#define ob_testPage_b0 5
#define ob_testPage_b1 6
#define ob_testPage_b2 7
#define ob_testPage_b3 8
#define ob_testPage_b4 9
#define ob_testPage_b5 10
#define ob_testPage_b6 11
#define ob_testPage_b7 12
#define ob_testPage_b8 13
#define ob_testPage_PrePage 14
#define ob_testPage_NextPage 15
#define ob_testPage_page 16
#define ob_testPage_t4 17
#define ob_testPage_t5 18
#define ob_testPage_t6 19
#define ob_testPage_t7 20
#define ob_testPage_frompage 21
#define ob_testPage_fromPopUpWin 22
//alert.objs
#define ob_alert_alert 0
#define ob_alert_t0 1
@ -226,17 +230,29 @@
#define ob_confirm_info 3
#define ob_confirm_canclekey 4
#define ob_confirm_frompage 5
//changePasswd.objs
#define ob_changePasswd_changePasswd 0
#define ob_changePasswd_newPwdTil 1
#define ob_changePasswd_newPwd 2
#define ob_changePasswd_newPwdCfmTil 3
#define ob_changePasswd_newPwdCfm 4
#define ob_changePasswd_confirm 5
#define ob_changePasswd_bak 6
#define ob_changePasswd_oldPwdTil 7
#define ob_changePasswd_oldPwd 8
#define ob_changePasswd_frompage 9
//keybAcidCh.objs
#define ob_keybAcidCh_keybAcidCh 0
#define ob_keybAcidCh_bak 1
#define ob_keybAcidCh_b0 2
#define ob_keybAcidCh_b1 3
#define ob_keybAcidCh_b2 4
#define ob_keybAcidCh_b3 5
#define ob_keybAcidCh_b4 6
#define ob_keybAcidCh_b5 7
#define ob_keybAcidCh_b6 8
#define ob_keybAcidCh_b7 9
#define ob_keybAcidCh_b8 10
#define ob_keybAcidCh_b9 11
#define ob_keybAcidCh_b10 12
#define ob_keybAcidCh_b11 13
#define ob_keybAcidCh_b12 14
#define ob_keybAcidCh_b13 15
#define ob_keybAcidCh_b14 16
#define ob_keybAcidCh_loadpageid 17
#define ob_keybAcidCh_loadcmpid 18
#define ob_keybAcidCh_loadcmname 19
#define ob_keybAcidCh_txt 20
#define ob_keybAcidCh_fn0 21
//keybdB.objs
#define ob_keybdB_keybdB 0
#define ob_keybdB_b0 1
@ -425,25 +441,3 @@
#define ob_keyPasswd_tempstr 23
#define ob_keyPasswd_b249 24
#define ob_keyPasswd_loadcmname 25
//testPage.objs
#define ob_testPage_testPage 0
#define ob_testPage_t0 1
#define ob_testPage_t1 2
#define ob_testPage_t2 3
#define ob_testPage_t3 4
#define ob_testPage_b0 5
#define ob_testPage_b1 6
#define ob_testPage_b2 7
#define ob_testPage_b3 8
#define ob_testPage_b4 9
#define ob_testPage_b5 10
#define ob_testPage_b6 11
#define ob_testPage_b7 12
#define ob_testPage_b8 13
#define ob_testPage_PrePage 14
#define ob_testPage_NextPage 15
#define ob_testPage_page 16
#define ob_testPage_t4 17
#define ob_testPage_t5 18
#define ob_testPage_t6 19
#define ob_testPage_t7 20

24
usrc/service/front_end_controler.cpp

@ -98,8 +98,28 @@ void FrontEndControler::startSchedule() {
event_cache.eventId = packet.data[0];
event_cache.pid = packet.data[1];
event_cache.bid = 0;
m_nowPage = packet.data[1];
if (m_nowPage == packet.data[1]) {
// page not change
} else {
m_lastPage = m_nowPage;
m_nowPage = packet.data[1];
}
callUsrEventCb(&event_cache);
m_isFromPopWin = false;
} else if (tjc::kpt_on_promopt_page_load == packetType) {
event_cache.eventId = packetType;
event_cache.pid = packet.data[0];
event_cache.bid = 0;
callUsrEventCb(&event_cache);
m_isFromPopWin = true;
} else if (tjc::kpt_on_keyboard_page_load == packetType) {
event_cache.eventId = packetType;
event_cache.pid = packet.data[0];
event_cache.bid = 0;
callUsrEventCb(&event_cache);
m_isFromPopWin = true;
} else {
event_cache.eventId = packet.data[0];
callUsrEventCb(&event_cache);
@ -383,7 +403,7 @@ void FrontEndControler::confirm(const char* info, function<void(bool)> onConfirm
}
void FrontEndControler::chpage(uint8_t page) { sendcmd("page %d", page); }
// void FrontEndControler::bakpage() { sendcmd("page %d", m_lastPage); }
void FrontEndControler::sendcmd(const char* format, ...) {
static char buf[128];
va_list args;

8
usrc/service/front_end_controler.hpp

@ -28,11 +28,14 @@ class FrontEndControler {
on_usr_event_cb_t m_cb[50];
int32_t m_ncb = 0;
int32_t m_nowPage = 0;
int32_t m_nowPage = 0;
int32_t m_lastPage = 0;
function<void(bool)> m_onConfirmPageConfirmKey;
function<void(bool)> m_onAlertPageConfirmKey;
bool m_isFromPopWin = false;
public:
FrontEndControler() {};
~FrontEndControler() {};
@ -71,6 +74,7 @@ class FrontEndControler {
void confirm(const char* info, function<void(bool)> onConfirm);
void chpage(uint8_t page);
// void bakpage();
void virtualClick(uint8_t pid, uint8_t bid, uint8_t event);
void setTouchEnableState(uint8_t bid, uint8_t enable);
@ -78,6 +82,8 @@ class FrontEndControler {
void setAph(uint8_t pid, uint8_t bid, int32_t state); // 组件透明度,最大127,设置为0则隐藏组件
void sendcmd(const char* format, ...);
bool isFromPopWin() { return m_isFromPopWin; }
private:
void processScreenRxPacket(uint8_t* data, size_t len);
void processUsrButtonEvent(uint8_t* data, size_t len);

3
usrc/service/page/Page_login.cpp

@ -18,7 +18,7 @@ static CfgItermCache cfgcache;
UIS->setVal(UI_UUID(login, uen##i), (int32_t)0); \
}
bool Page_login::isBelongThisPage(int page) { return page == PAGE; }
bool Page_login::isBelongThisPage(int page) { return page == PAGE; }
void Page_login::OnPageLoad() {
if (triggerLoginAction) { // triggerLoginAction为true说明用户刚刚输入完密码
@ -88,5 +88,6 @@ void Page_login::OnLoginButtonClick(uint8_t bid, const char* userName, const cha
}
UIS->chpage(pg_main);
UIS->setVal(PAGE, OBJ(txtPasswd), "");
GSM->setMenuPage(GSM->isAdmin() ? pg_menuAdmin2 : pg_menuUsr);
return;
}

8
usrc/service/page/Page_main.cpp

@ -80,12 +80,6 @@ void Page_main::OnPageLoad() {
// UIS->setVal(PAGE, ob_main_clock, "版本:%s", APP_VERSION);
// 根据当前登录用户设置菜单页面
if (GStateMgr::ins()->isAdmin()) {
UIS->setVal(UI_UUID(gvar, menupageid), ADMIN_MENU_ID);
} else {
UIS->setVal(UI_UUID(gvar, menupageid), USR_MENU_ID);
}
}
void Page_main::OnAppEvent(AppEvent_t* event) {
@ -165,6 +159,8 @@ void Page_main::OnButton(uint8_t bid, uint8_t val) {
// 选中(取消选中)加酸泵3
ZLOGI(TAG, "choose acid ch%d,%d", 3, val);
GSM->setPumpSelectState(3, val);
} else if (bid == ob_main_MenuButton) {
UIS->chpage(GSM->getMenuPage());
}
}

4
usrc/service/page/keyboard/Page_keybAcidCh.cpp

@ -7,7 +7,8 @@ static CfgItermCache cfgcache;
bool Page_keybAcidCh::isBelongThisPage(int page) { return page == PAGE; }
void Page_keybAcidCh::OnPageLoad() { //
void Page_keybAcidCh::OnKeyboardPageLoad() {
UIS->setVal(PAGE, OBJ(b0), getCfgStr(kcfg_acidName1));
UIS->setVal(PAGE, OBJ(b1), getCfgStr(kcfg_acidName2));
UIS->setVal(PAGE, OBJ(b2), getCfgStr(kcfg_acidName3));
@ -23,6 +24,7 @@ void Page_keybAcidCh::OnPageLoad() { //
UIS->setVal(PAGE, OBJ(b12), getCfgStr(kcfg_acidName13));
UIS->setVal(PAGE, OBJ(b13), getCfgStr(kcfg_acidName14));
UIS->setVal(PAGE, OBJ(b14), getCfgStr(kcfg_acidName15));
return;
};
// muAcidType

5
usrc/service/page/keyboard/Page_keybAcidCh.hpp

@ -13,9 +13,8 @@ class Page_keybAcidCh : public IPageProcesser {
}
private:
virtual bool isBelongThisPage(int page)override;
virtual void OnPageLoad() override;
virtual bool isBelongThisPage(int page) override;
virtual void OnKeyboardPageLoad() override;
};
} // namespace iflytop

2
usrc/service/page/page_processer.hpp

@ -18,7 +18,6 @@ class IPageProcesser {
return;
}
if (event->eventId == tjc::kpt_sys_event_page_id) {
// Ò³Ãæ¼ÓÔØÊ¼þ
OnPageLoad();
} else if (event->eventId == tjc::kpt_double_state_button_event) {
OnButton(event->bid, event->d.double_state_button.val);
@ -45,6 +44,7 @@ class IPageProcesser {
virtual bool isBelongThisPage(int page) = 0;
virtual void OnPageLoad() { return; };
virtual void OnKeyboardPageLoad() { return; };
virtual void OnInputFieldContentChange(uint8_t bid, const char* text) { return; };
virtual void OnButton(uint8_t bid, uint8_t val) { return; };
virtual void OnLoginButtonClick(uint8_t bid, const char* userName, const char* passwd) { return; };

5
usrc/service/page/submenu/Page_changePasswd.cpp

@ -12,8 +12,7 @@ static CfgItermCache cfgcache;
bool Page_changePasswd::isBelongThisPage(int page) { return page == PAGE; }
void Page_changePasswd::OnPageLoad() {
};
void Page_changePasswd::OnPageLoad() {};
void Page_changePasswd::OnInputFieldContentChange(uint8_t bid, const char* text) {
static CfgItermCache usrpasswdcache;
@ -46,6 +45,8 @@ void Page_changePasswd::OnButton(uint8_t bid, uint8_t val) {
}
setPasswd(GSM->getLoginUsr(), newpasswdBuf);
UIS->confirmNoCancle("密码修改成功");
} else if (bid == ob_changePasswd_bak) {
UIS->chpage(GSM->getMenuPage());
}
};

1
usrc/service/page/submenu/Page_muAcidType.cpp

@ -72,6 +72,7 @@ void Page_muAcidType::OnInputFieldContentChange(uint8_t bid, const char* text) {
};
void Page_muAcidType::OnButton(uint8_t bid, uint8_t val) { //
if (bid == OBJ(bak)) {
UIS->chpage(GSM->getMenuPage());
}
};

3
usrc/service/page/submenu/Page_muInterval.cpp

@ -37,6 +37,9 @@ void Page_muInterval::OnInputFieldContentChange(uint8_t bid, const char* text) {
};
void Page_muInterval::OnButton(uint8_t bid, uint8_t val) {
//
if (bid == ob_muInterval_bak) {
UIS->chpage(GSM->getMenuPage());
}
};
// muAcidType

11
usrc/service/tjc/tjc_constant.hpp

@ -63,13 +63,13 @@ typedef enum {
/**
* @brief
*/
kpt_ack = 0xAA,
// kpt_button_event = 0xAB,
kpt_ack = 0xAA,
kpt_inputfield_content_change_event = 0xAC,
kpt_double_state_button_event = 0xAD,
kpt_login_request = 0xAE,
kpt_unlogin_request = 0xAF,
kpt_on_keyboard_page_load = 0xB0, // 键盘页面加载
kpt_on_promopt_page_load = 0xB1, // 弹窗页面加载
} packet_type_t;
typedef enum {
@ -102,6 +102,11 @@ typedef struct {
uint8_t val; // 0 抬起,1按下
} button_event;
struct {
uint8_t fromPage;
uint8_t fromPopPage;
} on_page_load;
} d;
} tjc_usr_event_t;

Loading…
Cancel
Save