Browse Source

tmp_commit

sunlight
sunlight 10 months ago
parent
commit
0f19227198
  1. 5
      .vscode/settings.json
  2. 19100
      release/V200/hand_acid_mainboard.hex
  3. BIN
      release/V200/hand_acid_mainboard_ui upadte.HMI
  4. BIN
      release/V200/hand_acid_mainboard_ui upadte.tft
  5. 2
      stm32components
  6. 11
      uappbase/appcfg/appcfg.hpp
  7. 53
      uappbase/bean/config_index_enum.hpp
  8. 63
      uappbase/service/config_index.cpp
  9. 4
      uappbase/service/config_index.hpp
  10. 2
      uappbase/service/config_service.cpp
  11. 17
      uappbase/service/gstate_mgr.cpp
  12. 6
      uappbase/service/gstate_mgr.hpp
  13. 1048
      ui/ui.h
  14. 4
      ui/usrui.h
  15. 2
      usrc/service/app_core.cpp
  16. 24
      usrc/service/page/Page_login.cpp
  17. 1
      usrc/service/page/Page_menu.cpp
  18. 3
      usrc/service/page/page.hpp
  19. 21
      usrc/service/page/submenu/Page_muAudit.cpp
  20. 26
      usrc/service/page/submenu/Page_muAudit.hpp
  21. 100
      usrc/service/page/submenu/Page_muGetAcidMgr.cpp
  22. 25
      usrc/service/page/submenu/Page_muGetAcidMgr.hpp
  23. 30
      usrc/service/page/submenu/Page_muUsrMgr.cpp
  24. 44
      usrc/service/pump_ctrl_service.cpp
  25. 1
      usrc/service/pump_ctrl_service.hpp

5
.vscode/settings.json

@ -85,7 +85,10 @@
"ble_proto_utils.h": "c",
"ble_proto.h": "c",
"xtr1common": "cpp",
"xutility": "cpp"
"xutility": "cpp",
"xhash": "cpp",
"xmemory": "cpp",
"xstring": "cpp"
},
"files.autoGuessEncoding": false,
"files.encoding": "gb2312"

19100
release/V200/hand_acid_mainboard.hex
File diff suppressed because it is too large
View File

BIN
release/V200/hand_acid_mainboard_ui upadte.HMI

BIN
release/V200/hand_acid_mainboard_ui upadte.tft

2
stm32components

@ -1 +1 @@
Subproject commit d8826b58d64f4f69f5d867d110e5a8705b8bcdef
Subproject commit 3b82b7adf76a40c6931d8578725a72c8c7886bd9

11
uappbase/appcfg/appcfg.hpp

@ -41,11 +41,12 @@
* *
***********************************************************************************************************************/
#define USER0_DEFAULT_NAME "管理员"
#define USER1_DEFAULT_NAME "用户1"
#define USER2_DEFAULT_NAME "用户2"
#define USER3_DEFAULT_NAME "用户3"
#define USER4_DEFAULT_NAME "用户4"
#define USER5_DEFAULT_NAME "用户5"
#define USER1_DEFAULT_NAME "仓库员"
#define USER2_DEFAULT_NAME "用户1"
#define USER3_DEFAULT_NAME "用户2"
#define USER4_DEFAULT_NAME "用户3"
#define USER5_DEFAULT_NAME "用户4"
#define USER6_DEFAULT_NAME "用户5"
#define USER_DEFAULT_PWD "888888"

53
uappbase/bean/config_index_enum.hpp

@ -23,6 +23,9 @@ typedef enum {
kusr_name5, // 用户5名字
kusr_enable5, // 用户5是否使能
kusr_passwd5, // 用户5密码
kusr_name6, // 用户6名字
kusr_enable6, // 用户6是否使能
kusr_passwd6, // 用户6密码
/***********************************************************************************************************************
* *
@ -43,6 +46,56 @@ typedef enum {
kcfg_acidName14, // 酸液中预设名字
kcfg_acidName15, // 酸液中预设名字
kcfg_usr2AcidChooseName0, // 酸液0 选择的名字
kcfg_usr2AcidChooseName1, // 酸液1 选择的名字
kcfg_usr2AcidChooseName2, // 酸液2 选择的名字
kcfg_usr2AcidChooseName3, // 酸液3 选择的名字
kcfg_usr3AcidChooseName0, // 酸液0 选择的名字
kcfg_usr3AcidChooseName1, // 酸液1 选择的名字
kcfg_usr3AcidChooseName2, // 酸液2 选择的名字
kcfg_usr3AcidChooseName3, // 酸液3 选择的名字
kcfg_usr4AcidChooseName0, // 酸液0 选择的名字
kcfg_usr4AcidChooseName1, // 酸液1 选择的名字
kcfg_usr4AcidChooseName2, // 酸液2 选择的名字
kcfg_usr4AcidChooseName3, // 酸液3 选择的名字
kcfg_usr5AcidChooseName0, // 酸液0 选择的名字
kcfg_usr5AcidChooseName1, // 酸液1 选择的名字
kcfg_usr5AcidChooseName2, // 酸液2 选择的名字
kcfg_usr5AcidChooseName3, // 酸液3 选择的名字
kcfg_usr6AcidChooseName0, // 酸液0 选择的名字
kcfg_usr6AcidChooseName1, // 酸液1 选择的名字
kcfg_usr6AcidChooseName2, // 酸液2 选择的名字
kcfg_usr6AcidChooseName3, // 酸液3 选择的名字
kcfg_usr2AcidCapacityLimite0,
kcfg_usr2AcidCapacityLimite1,
kcfg_usr2AcidCapacityLimite2,
kcfg_usr2AcidCapacityLimite3,
kcfg_usr3AcidCapacityLimite0,
kcfg_usr3AcidCapacityLimite1,
kcfg_usr3AcidCapacityLimite2,
kcfg_usr3AcidCapacityLimite3,
kcfg_usr4AcidCapacityLimite0,
kcfg_usr4AcidCapacityLimite1,
kcfg_usr4AcidCapacityLimite2,
kcfg_usr4AcidCapacityLimite3,
kcfg_usr5AcidCapacityLimite0,
kcfg_usr5AcidCapacityLimite1,
kcfg_usr5AcidCapacityLimite2,
kcfg_usr5AcidCapacityLimite3,
kcfg_usr6AcidCapacityLimite0,
kcfg_usr6AcidCapacityLimite1,
kcfg_usr6AcidCapacityLimite2,
kcfg_usr6AcidCapacityLimite3,
/***********************************************************************************************************************
* *
***********************************************************************************************************************/

63
uappbase/service/config_index.cpp

@ -17,7 +17,7 @@ static cfg_iterm_info_t cfg_iterm_infos[] = {
CFG_ITERM(kusr_passwd1, kcfgt_str, USER_DEFAULT_PWD), //
CFG_ITERM(kusr_name2, kcfgt_str, USER2_DEFAULT_NAME), //
CFG_ITERM(kusr_enable2, kcfgt_bool, "false"), //
CFG_ITERM(kusr_enable2, kcfgt_bool, "true"), //
CFG_ITERM(kusr_passwd2, kcfgt_str, USER_DEFAULT_PWD), //
CFG_ITERM(kusr_name3, kcfgt_str, USER3_DEFAULT_NAME), //
@ -32,6 +32,10 @@ static cfg_iterm_info_t cfg_iterm_infos[] = {
CFG_ITERM(kusr_enable5, kcfgt_bool, "false"), //
CFG_ITERM(kusr_passwd5, kcfgt_str, USER_DEFAULT_PWD), //
CFG_ITERM(kusr_name6, kcfgt_str, USER6_DEFAULT_NAME), //
CFG_ITERM(kusr_enable6, kcfgt_bool, "false"), //
CFG_ITERM(kusr_passwd6, kcfgt_str, USER_DEFAULT_PWD), //
/***********************************************************************************************************************
* *
***********************************************************************************************************************/
@ -52,6 +56,44 @@ static cfg_iterm_info_t cfg_iterm_infos[] = {
CFG_ITERM(kcfg_acidName15, kcfgt_str, ACID_DEFAULT_NAME15), //
/***********************************************************************************************************************
* *
***********************************************************************************************************************/
CFG_ITERM(kcfg_usr2AcidChooseName0, kcfgt_str, "未设置"), //
CFG_ITERM(kcfg_usr2AcidChooseName1, kcfgt_str, "未设置"), //
CFG_ITERM(kcfg_usr2AcidChooseName2, kcfgt_str, "未设置"), //
CFG_ITERM(kcfg_usr2AcidChooseName3, kcfgt_str, "未设置"), //
CFG_ITERM(kcfg_usr3AcidChooseName0, kcfgt_str, "未设置"), //
CFG_ITERM(kcfg_usr3AcidChooseName1, kcfgt_str, "未设置"), //
CFG_ITERM(kcfg_usr3AcidChooseName2, kcfgt_str, "未设置"), //
CFG_ITERM(kcfg_usr3AcidChooseName3, kcfgt_str, "未设置"), //
CFG_ITERM(kcfg_usr4AcidChooseName0, kcfgt_str, "未设置"), //
CFG_ITERM(kcfg_usr4AcidChooseName1, kcfgt_str, "未设置"), //
CFG_ITERM(kcfg_usr4AcidChooseName2, kcfgt_str, "未设置"), //
CFG_ITERM(kcfg_usr4AcidChooseName3, kcfgt_str, "未设置"), //
CFG_ITERM(kcfg_usr5AcidChooseName0, kcfgt_str, "未设置"), //
CFG_ITERM(kcfg_usr5AcidChooseName1, kcfgt_str, "未设置"), //
CFG_ITERM(kcfg_usr5AcidChooseName2, kcfgt_str, "未设置"), //
CFG_ITERM(kcfg_usr5AcidChooseName3, kcfgt_str, "未设置"), //
CFG_ITERM(kcfg_usr6AcidChooseName0, kcfgt_str, "未设置"), //
CFG_ITERM(kcfg_usr6AcidChooseName1, kcfgt_str, "未设置"), //
CFG_ITERM(kcfg_usr6AcidChooseName2, kcfgt_str, "未设置"), //
CFG_ITERM(kcfg_usr6AcidChooseName3, kcfgt_str, "未设置"), //
CFG_ITERM(kcfg_usr2AcidCapacityLimite0, kcfgt_str, "0"), CFG_ITERM(kcfg_usr2AcidCapacityLimite1, kcfgt_str, "0"), CFG_ITERM(kcfg_usr2AcidCapacityLimite2, kcfgt_str, "0"), CFG_ITERM(kcfg_usr2AcidCapacityLimite3, kcfgt_str, "0"),
CFG_ITERM(kcfg_usr3AcidCapacityLimite0, kcfgt_str, "0"), CFG_ITERM(kcfg_usr3AcidCapacityLimite1, kcfgt_str, "0"), CFG_ITERM(kcfg_usr3AcidCapacityLimite2, kcfgt_str, "0"), CFG_ITERM(kcfg_usr3AcidCapacityLimite3, kcfgt_str, "0"),
CFG_ITERM(kcfg_usr4AcidCapacityLimite0, kcfgt_str, "0"), CFG_ITERM(kcfg_usr4AcidCapacityLimite1, kcfgt_str, "0"), CFG_ITERM(kcfg_usr4AcidCapacityLimite2, kcfgt_str, "0"), CFG_ITERM(kcfg_usr4AcidCapacityLimite3, kcfgt_str, "0"),
CFG_ITERM(kcfg_usr5AcidCapacityLimite0, kcfgt_str, "0"), CFG_ITERM(kcfg_usr5AcidCapacityLimite1, kcfgt_str, "0"), CFG_ITERM(kcfg_usr5AcidCapacityLimite2, kcfgt_str, "0"), CFG_ITERM(kcfg_usr5AcidCapacityLimite3, kcfgt_str, "0"),
CFG_ITERM(kcfg_usr6AcidCapacityLimite0, kcfgt_str, "0"), CFG_ITERM(kcfg_usr6AcidCapacityLimite1, kcfgt_str, "0"), CFG_ITERM(kcfg_usr6AcidCapacityLimite2, kcfgt_str, "0"), CFG_ITERM(kcfg_usr6AcidCapacityLimite3, kcfgt_str, "0"),
/***********************************************************************************************************************
* *
***********************************************************************************************************************/
CFG_ITERM(kcfg_acidChooseName0, kcfgt_str, "未设置"), //
@ -70,10 +112,14 @@ static cfg_iterm_info_t cfg_iterm_infos[] = {
/***********************************************************************************************************************
* *
***********************************************************************************************************************/
CFG_ITERM(kcfg_mLPR0, kcfgt_float, "0.6900"), //
/* CFG_ITERM(kcfg_mLPR0, kcfgt_float, "0.6900"), //
CFG_ITERM(kcfg_mLPR1, kcfgt_float, "0.6900"), //
CFG_ITERM(kcfg_mLPR2, kcfgt_float, "0.1350"), //
CFG_ITERM(kcfg_mLPR3, kcfgt_float, "0.1350"), //
CFG_ITERM(kcfg_mLPR3, kcfgt_float, "0.1350"), // */
CFG_ITERM(kcfg_mLPR1, kcfgt_float, "1"), //
CFG_ITERM(kcfg_mLPR0, kcfgt_float, "1"), //
CFG_ITERM(kcfg_mLPR2, kcfgt_float, "1"), //
CFG_ITERM(kcfg_mLPR3, kcfgt_float, "1"), //
/***********************************************************************************************************************
* *
@ -98,10 +144,15 @@ static cfg_iterm_info_t cfg_iterm_infos[] = {
/***********************************************************************************************************************
* *
***********************************************************************************************************************/
CFG_ITERM(kcfg_pipeLengthML0, kcfgt_float, "14"), //
/* CFG_ITERM(kcfg_pipeLengthML0, kcfgt_float, "14"), //
CFG_ITERM(kcfg_pipeLengthML1, kcfgt_float, "14"), //
CFG_ITERM(kcfg_pipeLengthML2, kcfgt_float, "7"), //
CFG_ITERM(kcfg_pipeLengthML3, kcfgt_float, "7"), //
CFG_ITERM(kcfg_pipeLengthML2, kcfgt_float, "7"), //
CFG_ITERM(kcfg_pipeLengthML3, kcfgt_float, "7"), // */
CFG_ITERM(kcfg_pipeLengthML0, kcfgt_float, "35.5"), //
CFG_ITERM(kcfg_pipeLengthML1, kcfgt_float, "35.5"), //
CFG_ITERM(kcfg_pipeLengthML2, kcfgt_float, "35.5"), //
CFG_ITERM(kcfg_pipeLengthML3, kcfgt_float, "35.5"), //
};
const char *cfgName(int32_t index) {

4
uappbase/service/config_index.hpp

@ -4,8 +4,6 @@
#include "uappbase/bean/bean.hpp"
#include "uappbase/bean/config_index_enum.hpp"
namespace iflytop {
typedef enum {
kcfgt_float,
@ -21,7 +19,7 @@ typedef struct {
const char *initval;
} cfg_iterm_info_t;
#define CFG_MAX_INDEX 61
#define CFG_MAX_INDEX 104
const char *cfgName(int32_t index);
cfg_iterm_type_t cfgType(int32_t index);

2
uappbase/service/config_service.cpp

@ -3,7 +3,7 @@
#include "uappbase\service\app_event_bus.hpp"
//
#define CFG_HEADER 0x12345670
#define CFG_HEADER 0x12345672
/**
* @brief CFG内存使用
*

17
uappbase/service/gstate_mgr.cpp

@ -8,10 +8,11 @@ using namespace iflytop;
void GStateMgr::initialize() { m_mutex.init(); }
void GStateMgr::setLogin(bool isAdmin, const char* loginUsr) {
void GStateMgr::setLogin(bool isAdmin, bool isWarehouse, const char* loginUsr) {
zlock_guard l(m_mutex);
m_isLogin = true;
m_isAdmin = isAdmin;
m_isLogin = true;
m_isAdmin = isAdmin;
m_isWarehoure = isWarehouse;
if (loginUsr) {
strncpy(this->m_loginUsr, loginUsr, MAX_USR_NAME_SIZE);
}
@ -19,8 +20,9 @@ void GStateMgr::setLogin(bool isAdmin, const char* loginUsr) {
void GStateMgr::setUnLogin() {
zlock_guard l(m_mutex);
m_isLogin = false;
m_isAdmin = false;
m_isLogin = false;
m_isAdmin = false;
m_isWarehoure = false;
memset(m_loginUsr, 0, MAX_USR_NAME_SIZE + 1);
}
@ -32,6 +34,11 @@ bool GStateMgr::isAdmin() {
zlock_guard l(m_mutex);
return m_isAdmin;
}
bool GStateMgr::isWarehoure() {
zlock_guard l(m_mutex);
return m_isWarehoure;
}
const char* GStateMgr::getLoginUsr() {
zlock_guard l(m_mutex);
return m_loginUsr;

6
uappbase/service/gstate_mgr.hpp

@ -13,6 +13,7 @@ class GStateMgr {
private:
/* data */
bool m_isAdmin;
bool m_isWarehoure;
bool m_isLogin;
char m_loginUsr[MAX_USR_NAME_SIZE + 1];
@ -33,11 +34,12 @@ class GStateMgr {
void initialize();
void setLogin(bool isAdmin, const char* loginUsr);
void setLogin(bool isAdmin, bool isWarehouse, const char* loginUsr);
void setUnLogin();
bool isLogin();
bool isAdmin();
bool isWarehoure();
const char* getLoginUsr();
void setAcidState(int32_t state);
@ -50,7 +52,7 @@ class GStateMgr {
int32_t getAcidState();
int32_t getRemoterS();
hand_acid_mode_t getRunMode();
int32_t getMenuPage();
int32_t getMenuPage();
void setPumpSelectState(int32_t index, bool state);
bool getPumpSelectState(int32_t index);

1048
ui/ui.h
File diff suppressed because it is too large
View File

4
ui/usrui.h

@ -1,4 +1,4 @@
#pragma once
#define pic_jog_mode 25
#define pic_continuous_mode 26
#define pic_jog_mode 26
#define pic_continuous_mode 27

2
usrc/service/app_core.cpp

@ -90,6 +90,8 @@ void AppCore::appsetup() {
Page_muSettings::ins()->initialize();
Page_muUsrMgr::ins()->initialize();
Page_muDeviceInfo::ins()->initialize();
Page_muAudit::ins()->initialize();
Page_muGetAcidMgr::ins()->initialize();
Page_muPumpTest::ins()->initialize();
// EventProcesser
Page_muPumpSett::ins()->initialize();

24
usrc/service/page/Page_login.cpp

@ -22,11 +22,11 @@ bool Page_login::isBelongThisPage(int page) { return page == PAGE; }
void Page_login::OnPageLoad(OnPageLoadContext* cxt) {
static int enusrNum;
static char usrName[6][20];
static char usrName[7][20];
memset(usrName, 0, sizeof(usrName));
enusrNum = 0;
for (size_t i = 0; i < 6; i++) {
for (size_t i = 0; i < 7; i++) {
bool usrEn = CS->getBool((config_index_t)(kusr_enable0 + 3 * i));
if (usrEn) {
static_assert((kusr_name1 - kusr_name0) == 3);
@ -45,6 +45,7 @@ void Page_login::OnPageLoad(OnPageLoadContext* cxt) {
EN_USR(3, enusrNum >= 4);
EN_USR(4, enusrNum >= 5);
EN_USR(5, enusrNum >= 6);
EN_USR(6, enusrNum >= 7);
if (!cxt->isFromPopWin) {
UIS->setVal(PAGE, OBJ(chooseUsr), (int32_t)0);
@ -70,7 +71,7 @@ void Page_login::OnLoginButtonClick(uint8_t bid, const char* userName, const cha
UIS->alert("Óû§²»´æÔÚ");
return;
}
if(strlen(curUsrPasswd) == 0){
if (strlen(curUsrPasswd) == 0) {
UIS->setTxt(PAGE, OBJ(txtPasswd), "");
UIS->alert("ÃÜÂëΪ¿Õ");
return;
@ -84,13 +85,22 @@ void Page_login::OnLoginButtonClick(uint8_t bid, const char* userName, const cha
if (strcmp(userName, getCfgStr(kusr_name0)) == 0) {
ZLOGI(TAG, "%s(admin) login success ", userName);
GSM->setLogin(true, userName);
GSM->setLogin(true, false, userName);
} else if (strcmp(userName, getCfgStr(kusr_name1)) == 0) {
ZLOGI(TAG, "%s(Warehourse) login success ", userName);
GSM->setLogin(false, true, userName);
} else {
ZLOGI(TAG, "%s login success ", userName);
GSM->setLogin(false, userName);
GSM->setLogin(false, false, userName);
}
if (GSM->isWarehoure()) {
UIS->chpage(pg_muneWarehouse);
GSM->setMenuPage(pg_muneWarehouse);
} else {
UIS->chpage(pg_main);
GSM->setMenuPage(GSM->isAdmin() ? pg_menuAdmin2 : pg_menuUsr);
}
UIS->chpage(pg_main);
GSM->setMenuPage(GSM->isAdmin() ? pg_menuAdmin2 : pg_menuUsr);
return;
}

1
usrc/service/page/Page_menu.cpp

@ -17,6 +17,7 @@ bool Page_menu::isBelongThisPage(int page) {
if (page == pg_menuAdmin) return true;
if (page == pg_menuAdmin2) return true;
if (page == pg_menuUsr) return true;
if (page == pg_muneWarehouse) return true;
return false;
}

3
usrc/service/page/page.hpp

@ -6,11 +6,14 @@
#include "keyboard/Page_keybAcidCh.hpp"
#include "submenu/Page_changePasswd.hpp"
#include "submenu/Page_muAcidType.hpp"
#include "submenu/Page_muAudit.hpp"
#include "submenu/Page_muDeviceInfo.hpp"
#include "submenu/Page_muGetAcidMgr.hpp"
#include "submenu/Page_muInterval.hpp"
#include "submenu/Page_muPumpTest.hpp"
#include "submenu/Page_muSettings.hpp"
#include "submenu/Page_muUsrMgr.hpp"
//
#include "submenu/Page_muBleHandSett.hpp"
#include "submenu/Page_muMotorSett.hpp"

21
usrc/service/page/submenu/Page_muAudit.cpp

@ -0,0 +1,21 @@
#include "Page_muAudit.hpp"
using namespace iflytop;
#define PAGE pg_muAudit
#define OBJ(name) ob_muAudit_##name
#define TAG "Page_muAudit"
static CfgItermCache cfgcache;
bool Page_muAudit::isBelongThisPage(int page) { return page == PAGE; }
void Page_muAudit::OnPageLoad(OnPageLoadContext* cxt) { //
};
void Page_muAudit::OnInputFieldContentChange(uint8_t bid, const char* text) { //
};
void Page_muAudit::OnButton(uint8_t bid, uint8_t val) { //
if (bid == OBJ(bak)) {
UIS->chpage(GSM->getMenuPage());
}
};
// muAcidType

26
usrc/service/page/submenu/Page_muAudit.hpp

@ -0,0 +1,26 @@
#pragma once
//
#include "../page_processer.hpp"
namespace iflytop {
using namespace std;
// page: keybAcidCh
class Page_muAudit : public IPageProcesser {
private:
/* data */
public:
static Page_muAudit* ins() {
static Page_muAudit instance;
return &instance;
}
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;
};
}

100
usrc/service/page/submenu/Page_muGetAcidMgr.cpp

@ -0,0 +1,100 @@
#include "Page_muGetAcidMgr.hpp"
using namespace iflytop;
#define PAGE pg_muGetAcidMgr
#define OBJ(name) ob_muGetAcidMgr_##name
#define TAG "Page_muGetAcidMgr"
static CfgItermCache cfgcache;
static uint8_t id;
bool Page_muGetAcidMgr::isBelongThisPage(int page) { return page == PAGE; }
void Page_muGetAcidMgr::OnPageLoad(OnPageLoadContext* cxt) { //
if (id == 1) {
UIS->setTxt(PAGE, ob_muGetAcidMgr_acidname2, getCfgStr(kcfg_usr2AcidChooseName0));
UIS->setTxt(PAGE, ob_muGetAcidMgr_acidname3, getCfgStr(kcfg_usr2AcidChooseName1));
UIS->setTxt(PAGE, ob_muGetAcidMgr_acidname4, getCfgStr(kcfg_usr2AcidChooseName2));
UIS->setTxt(PAGE, ob_muGetAcidMgr_acidname5, getCfgStr(kcfg_usr2AcidChooseName3));
UIS->setTxt(PAGE, ob_muGetAcidMgr_acideval2, getCfgStr(kcfg_usr2AcidCapacityLimite0));
UIS->setTxt(PAGE, ob_muGetAcidMgr_acideval3, getCfgStr(kcfg_usr2AcidCapacityLimite1));
UIS->setTxt(PAGE, ob_muGetAcidMgr_acideval4, getCfgStr(kcfg_usr2AcidCapacityLimite2));
UIS->setTxt(PAGE, ob_muGetAcidMgr_acideval5, getCfgStr(kcfg_usr2AcidCapacityLimite3));
}
// UIS->setTxt(PAGE, ob_muGetAcidMgr_usrName, getCfgStr(kusr_name2));
// UIS->sendcmd("b[%d].path+=%s", ob_muGetAcidMgr_usrName, buf);
// UIS->setTxt(PAGE, ob_muGetAcidMgr_usrName, getCfgStr(kusr_name3), buf);
// UIS->sendcmd("b[%d].path+=%s", ob_muGetAcidMgr_usrName);
// UIS->setTxt(PAGE, ob_muGetAcidMgr_usrName, getCfgStr(kusr_name4), buf);
// UIS->sendcmd("b[%d].path+=%s", ob_muGetAcidMgr_usrName);
// UIS->setTxt(PAGE, ob_muGetAcidMgr_usrName, getCfgStr(kusr_name5), buf);
// UIS->sendcmd("b[%d].path+=%s", ob_muGetAcidMgr_usrName);
// UIS->setTxt(PAGE, ob_muGetAcidMgr_usrName, getCfgStr(kusr_name6), buf);
// UIS->sendcmd("b[%d].path+=%s", ob_muGetAcidMgr_usrName);
};
void Page_muGetAcidMgr::OnInputFieldContentChange(uint8_t bid, const char* text) { //
if (bid == ob_muGetAcidMgr_usrName) {
if (atoi(text) == 1) {
id = 1;
UIS->setTxt(PAGE, ob_muGetAcidMgr_acidname2, getCfgStr(kcfg_usr2AcidChooseName0));
UIS->setTxt(PAGE, ob_muGetAcidMgr_acidname3, getCfgStr(kcfg_usr2AcidChooseName1));
UIS->setTxt(PAGE, ob_muGetAcidMgr_acidname4, getCfgStr(kcfg_usr2AcidChooseName2));
UIS->setTxt(PAGE, ob_muGetAcidMgr_acidname5, getCfgStr(kcfg_usr2AcidChooseName3));
UIS->setTxt(PAGE, ob_muGetAcidMgr_acideval2, getCfgStr(kcfg_usr2AcidCapacityLimite0));
UIS->setTxt(PAGE, ob_muGetAcidMgr_acideval3, getCfgStr(kcfg_usr2AcidCapacityLimite1));
UIS->setTxt(PAGE, ob_muGetAcidMgr_acideval4, getCfgStr(kcfg_usr2AcidCapacityLimite2));
UIS->setTxt(PAGE, ob_muGetAcidMgr_acideval5, getCfgStr(kcfg_usr2AcidCapacityLimite3));
// } else if (atoi(text) == 2) {
// UIS->setTxt(PAGE, ob_muGetAcidMgr_acidname2, getCfgStr(kcfg_usr3AcidChooseName0));
// UIS->setTxt(PAGE, ob_muGetAcidMgr_acidname3, getCfgStr(kcfg_usr3AcidChooseName1));
// UIS->setTxt(PAGE, ob_muGetAcidMgr_acidname4, getCfgStr(kcfg_usr3AcidChooseName2));
// UIS->setTxt(PAGE, ob_muGetAcidMgr_acidname5, getCfgStr(kcfg_usr3AcidChooseName3));
// } else if (atoi(text) == 3) {
// UIS->setTxt(PAGE, ob_muGetAcidMgr_acidname2, getCfgStr(kcfg_usr4AcidChooseName0));
// UIS->setTxt(PAGE, ob_muGetAcidMgr_acidname3, getCfgStr(kcfg_usr4AcidChooseName1));
// UIS->setTxt(PAGE, ob_muGetAcidMgr_acidname4, getCfgStr(kcfg_usr4AcidChooseName2));
// UIS->setTxt(PAGE, ob_muGetAcidMgr_acidname5, getCfgStr(kcfg_usr4AcidChooseName3));
// } else if (atoi(text) == 4) {
// UIS->setTxt(PAGE, ob_muGetAcidMgr_acidname2, getCfgStr(kcfg_usr5AcidChooseName0));
// UIS->setTxt(PAGE, ob_muGetAcidMgr_acidname3, getCfgStr(kcfg_usr5AcidChooseName1));
// UIS->setTxt(PAGE, ob_muGetAcidMgr_acidname4, getCfgStr(kcfg_usr5AcidChooseName2));
// UIS->setTxt(PAGE, ob_muGetAcidMgr_acidname5, getCfgStr(kcfg_usr5AcidChooseName3));
// } else if (atoi(text) == 5) {
// UIS->setTxt(PAGE, ob_muGetAcidMgr_acidname2, getCfgStr(kcfg_usr6AcidChooseName0));
// UIS->setTxt(PAGE, ob_muGetAcidMgr_acidname3, getCfgStr(kcfg_usr6AcidChooseName1));
// UIS->setTxt(PAGE, ob_muGetAcidMgr_acidname4, getCfgStr(kcfg_usr6AcidChooseName2));
// UIS->setTxt(PAGE, ob_muGetAcidMgr_acidname5, getCfgStr(kcfg_usr6AcidChooseName3));
// }
}
}
if (id == 1) {
if (bid == ob_muGetAcidMgr_acidname2) {
UIS->setTxt(PAGE, bid, text);
CS->setcfgAndFlush(kcfg_usr2AcidChooseName0, text);
} else if (bid == ob_muGetAcidMgr_acidname3) {
UIS->setTxt(PAGE, bid, text);
CS->setcfgAndFlush(kcfg_usr2AcidChooseName1, text);
} else if (bid == ob_muGetAcidMgr_acidname4) {
UIS->setTxt(PAGE, bid, text);
CS->setcfgAndFlush(kcfg_usr2AcidChooseName2, text);
} else if (bid == ob_muGetAcidMgr_acidname5) {
UIS->setTxt(PAGE, bid, text);
CS->setcfgAndFlush(kcfg_usr2AcidChooseName3, text);
} else if (bid == ob_muGetAcidMgr_acideval2) {
UIS->setTxt(PAGE, bid, text);
CS->setcfgAndFlush(kcfg_usr2AcidCapacityLimite0, text);
} else if (bid == ob_muGetAcidMgr_acideval3) {
CS->setcfgAndFlush(kcfg_usr2AcidCapacityLimite1, text);
} else if (bid == ob_muGetAcidMgr_acideval4) {
CS->setcfgAndFlush(kcfg_usr2AcidCapacityLimite2, text);
} else if (bid == ob_muGetAcidMgr_acideval5) {
CS->setcfgAndFlush(kcfg_usr2AcidCapacityLimite3, text);
}
}
}
void Page_muGetAcidMgr::OnButton(uint8_t bid, uint8_t val) { //
// if (bid == OBJ(bak)) {
// UIS->chpage(GSM->getMenuPage());
// }
};

25
usrc/service/page/submenu/Page_muGetAcidMgr.hpp

@ -0,0 +1,25 @@
#pragma once
//
#include "../page_processer.hpp"
namespace iflytop {
using namespace std;
// page: keybAcidCh
class Page_muGetAcidMgr : public IPageProcesser {
private:
/* data */
public:
static Page_muGetAcidMgr* ins() {
static Page_muGetAcidMgr instance;
return &instance;
}
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;
};
} // namespace iflytop

30
usrc/service/page/submenu/Page_muUsrMgr.cpp

@ -12,7 +12,7 @@ static CfgItermCache cfgcache;
bool Page_muUsrMgr::isBelongThisPage(int page) { return page == PAGE; }
void Page_muUsrMgr::OnPageLoad(OnPageLoadContext*cxt) { //
void Page_muUsrMgr::OnPageLoad(OnPageLoadContext* cxt) { //
ZLOGI(TAG, "OnPageLoad");
updatePage();
};
@ -23,12 +23,14 @@ void Page_muUsrMgr::updatePage() {
UIS->setTxt(PAGE, ob_muUsrMgr_usr3name, getCfgStr(kusr_name3));
UIS->setTxt(PAGE, ob_muUsrMgr_usr4name, getCfgStr(kusr_name4));
UIS->setTxt(PAGE, ob_muUsrMgr_usr5name, getCfgStr(kusr_name5));
UIS->setTxt(PAGE, ob_muUsrMgr_usr6name, getCfgStr(kusr_name6));
UIS->setVal(PAGE, ob_muUsrMgr_usr1en, (int)getCfgBool(kusr_enable1));
// UIS->setVal(PAGE, ob_muUsrMgr_usr1en, (int)getCfgBool(kusr_enable1));
UIS->setVal(PAGE, ob_muUsrMgr_usr2en, (int)getCfgBool(kusr_enable2));
UIS->setVal(PAGE, ob_muUsrMgr_usr3en, (int)getCfgBool(kusr_enable3));
UIS->setVal(PAGE, ob_muUsrMgr_usr4en, (int)getCfgBool(kusr_enable4));
UIS->setVal(PAGE, ob_muUsrMgr_usr5en, (int)getCfgBool(kusr_enable5));
UIS->setVal(PAGE, ob_muUsrMgr_usr6en, (int)getCfgBool(kusr_enable6));
}
void Page_muUsrMgr::OnInputFieldContentChange(uint8_t bid, const char* text) {
@ -56,6 +58,10 @@ void Page_muUsrMgr::OnInputFieldContentChange(uint8_t bid, const char* text) {
ZLOGI(TAG, "rename usr5:%s", text);
CS->setcfgAndFlush(kusr_name5, text);
updatePage();
} else if (bid == ob_muUsrMgr_usr6ReName) {
ZLOGI(TAG, "rename usr6:%s", text);
CS->setcfgAndFlush(kusr_name6, text);
updatePage();
}
}
@ -90,11 +96,19 @@ void Page_muUsrMgr::OnButton(uint8_t bid, uint8_t val) {
CS->setcfgAndFlush(kusr_name5, USER5_DEFAULT_NAME);
CS->setcfgAndFlush(kusr_passwd5, USER_DEFAULT_PWD);
updatePage();
} else if (bid == ob_muUsrMgr_usr1en) {
ZLOGI(TAG, "enable usr1 %d", val);
CS->setcfgAndFlush(kusr_enable1, (bool)val);
} else if (bid == ob_muUsrMgr_usr6Rest) {
ZLOGI(TAG, "reset usr5 ");
CS->setcfgAndFlush(kusr_name6, USER5_DEFAULT_NAME);
CS->setcfgAndFlush(kusr_passwd6, USER_DEFAULT_PWD);
updatePage();
} else if (bid == ob_muUsrMgr_usr2en) {
}
// }
// else if (bid == ob_muUsrMgr_usr1en) {
// ZLOGI(TAG, "enable usr1 %d", val);
// CS->setcfgAndFlush(kusr_enable1, (bool)val);
// updatePage();
// }
else if (bid == ob_muUsrMgr_usr2en) {
ZLOGI(TAG, "enable usr2 %d", val);
CS->setcfgAndFlush(kusr_enable2, (bool)val);
updatePage();
@ -110,6 +124,10 @@ void Page_muUsrMgr::OnButton(uint8_t bid, uint8_t val) {
ZLOGI(TAG, "enable usr5 %d", val);
CS->setcfgAndFlush(kusr_enable5, (bool)val);
updatePage();
} else if (bid == ob_muUsrMgr_usr6en) {
ZLOGI(TAG, "enable usr6 %d", val);
CS->setcfgAndFlush(kusr_enable6, (bool)val);
updatePage();
}
};

44
usrc/service/pump_ctrl_service.cpp

@ -33,6 +33,50 @@ void PumpCtrlService::initialize() {
}
}
});
m_monitor_thread.init("PumpCtrlServiceMonitor", 1024);
m_monitor_thread.start([this]() {
for (size_t i = 0; i < 4; i++) {
TMC51X0* motor = m_motors[i];
TMC5130GState_t gstate = motor->getGState(); // clear error
}
while (true) {
osDelay(1000);
for (size_t i = 0; i < 4; i++) {
TMC51X0* motor = m_motors[i];
TMC5130GState_t gstate = motor->getGState();
TMC5130DevStatusReg_t status = motor->getDevStatus();
bool errorflag = false;
if (gstate.reset != 0) {
ZLOGE(TAG, "reset flag trigger.....");
errorflag = true;
} else if (gstate.drv_err != 0 || gstate.uv_cp != 0) {
ZLOGE(TAG, "motor error trigger.....");
errorflag = true;
}
if (errorflag) {
ZLOGE(TAG, "motor %d error, reset %d, drv_err %d, uv_cp %d", i, gstate.reset, gstate.drv_err, gstate.uv_cp);
ZLOGE(TAG, "motor %d sg_result :%d ", i, status.sg_result);
ZLOGE(TAG, "motor %d reserved0 :%d ", i, status.reserved0);
ZLOGE(TAG, "motor %d fsactive :%d ", i, status.fsactive);
ZLOGE(TAG, "motor %d cs_actual :%d ", i, status.cs_actual);
ZLOGE(TAG, "motor %d reserved1 :%d ", i, status.reserved1);
ZLOGE(TAG, "motor %d stallguard :%d ", i, status.stallguard);
ZLOGE(TAG, "motor %d ot :%d ", i, status.ot);
ZLOGE(TAG, "motor %d otpw :%d ", i, status.otpw);
ZLOGE(TAG, "motor %d s2ga :%d ", i, status.s2ga);
ZLOGE(TAG, "motor %d s2gb :%d ", i, status.s2gb);
ZLOGE(TAG, "motor %d ola :%d ", i, status.ola);
ZLOGE(TAG, "motor %d olb :%d ", i, status.olb);
ZLOGE(TAG, "motor %d stst :%d ", i, status.stst);
}
}
}
});
}
#define WAIT_FOR_MOTOR_STOP() \

1
usrc/service/pump_ctrl_service.hpp

@ -10,6 +10,7 @@ using namespace std;
*/
class PumpCtrlService {
ZThread m_thread;
ZThread m_monitor_thread;
bool m_pumpCfgUpdateFlag = false;
public:

Loading…
Cancel
Save