Browse Source

update

sunlight
zhaohe 11 months ago
parent
commit
a9facce57e
  1. 4
      .settings/language.settings.xml
  2. 2
      .settings/org.eclipse.core.resources.prefs
  3. 1
      README.md
  4. 2
      uappbase/appcfg/appcfg.hpp
  5. 5
      uappbase/bean/config_index_enum.hpp
  6. 7
      uappbase/service/config_index.cpp
  7. 2
      uappbase/service/config_index.hpp
  8. 39
      uappbase/service/config_service_utils.cpp
  9. 7
      uappbase/service/config_service_utils.hpp
  10. 4
      usrc/service/page/submenu/Page_muPumpTest.cpp
  11. 79
      usrc/service/page/submenu/Page_muSettings.cpp
  12. 16
      usrc/service/pump_ctrl_service.cpp
  13. 1
      usrc/service/remote_controler.cpp
  14. 5
      usrc/service/remote_controler_event_processer.cpp

4
.settings/language.settings.xml

@ -5,7 +5,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1099095697460367224" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1290452739804114664" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
@ -16,7 +16,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1104150457464381929" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1305946972399269591" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>

2
.settings/org.eclipse.core.resources.prefs

@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=gbk

1
README.md

@ -11,6 +11,7 @@ TODO:
1. 输入超过10次错误密码后,弹出提示框,请等待24小时,24小时后,页面将自动切换到恢复出厂设置页面。
2. 添加恢复出厂设置按键,且恢复出厂设置按键按下后,需要根用户二次确认。
3. 转换比设置错误可能到只泵机不转
```

2
uappbase/appcfg/appcfg.hpp

@ -65,4 +65,4 @@
#define ACID_DEFAULT_NAME14 "一氯乙酸"
#define ACID_DEFAULT_NAME15 "氢氟酸"
#define PUMPDEFVEL "100" // 100ml/min
#define PUMPDEFVEL "500" // 100r/min

5
uappbase/bean/config_index_enum.hpp

@ -73,7 +73,10 @@ typedef enum {
***********************************************************************************************************************/
kcfg_lockAcidName, // 锁定酸液名称
kcfg_echDitrUpLi, // 每次分配上限设定值 each distri up-limit
kcfg_pumpDefVel, // 泵机默认速度ml/min
kcfg_pumpDefVel0, // 泵机默认速度r/min
kcfg_pumpDefVel1, // 泵机默认速度r/min
kcfg_pumpDefVel2, // 泵机默认速度r/min
kcfg_pumpDefVel3, // 泵机默认速度r/min
kcfg_distrInterval, // 每次分配间隔时间
/***********************************************************************************************************************

7
uappbase/service/config_index.cpp

@ -81,7 +81,12 @@ static cfg_iterm_info_t cfg_iterm_infos[] = {
CFG_ITERM(kcfg_lockAcidName, kcfgt_bool, "false"), //
CFG_ITERM(kcfg_echDitrUpLi, kcfgt_int32, "99"), // 每次分配上限设定值 each distri up-limit
CFG_ITERM(kcfg_distrInterval, kcfgt_float, "1.5"), // 每次分配间隔时间
CFG_ITERM(kcfg_pumpDefVel, kcfgt_int32, PUMPDEFVEL), //
// CFG_ITERM(kcfg_pumpDefVel, kcfgt_int32, PUMPDEFVEL), //
CFG_ITERM(kcfg_pumpDefVel0, kcfgt_int32, PUMPDEFVEL), //
CFG_ITERM(kcfg_pumpDefVel1, kcfgt_int32, PUMPDEFVEL), //
CFG_ITERM(kcfg_pumpDefVel2, kcfgt_int32, PUMPDEFVEL), //
CFG_ITERM(kcfg_pumpDefVel3, kcfgt_int32, PUMPDEFVEL), //
CFG_ITERM(kcfg_m0irun, kcfgt_int32, "20"), //
CFG_ITERM(kcfg_m1irun, kcfgt_int32, "20"), //

2
uappbase/service/config_index.hpp

@ -21,7 +21,7 @@ typedef struct {
const char *initval;
} cfg_iterm_info_t;
#define CFG_MAX_INDEX 55
#define CFG_MAX_INDEX 58
const char *cfgName(int32_t index);
cfg_iterm_type_t cfgType(int32_t index);

39
uappbase/service/config_service_utils.cpp

@ -1,5 +1,44 @@
#include "config_service_utils.hpp"
namespace iflytop {
int getMxRunRPM(int32_t mid) { //
float rpm = 0;
if (mid == 0) {
rpm = getCfgFloat(kcfg_pumpDefVel0);
} else if (mid == 1) {
rpm = getCfgFloat(kcfg_pumpDefVel1);
} else if (mid == 2) {
rpm = getCfgFloat(kcfg_pumpDefVel2);
} else if (mid == 3) {
rpm = getCfgFloat(kcfg_pumpDefVel3);
}
if (rpm < 100) {
rpm = 100;
}
return rpm;
}
int setMxRunRPM(int32_t mid, int32_t val) {
switch (mid) {
case 0:
CS->setcfgAndFlush(kcfg_pumpDefVel0, val);
break;
case 1:
CS->setcfgAndFlush(kcfg_pumpDefVel1, val);
break;
case 2:
CS->setcfgAndFlush(kcfg_pumpDefVel2, val);
break;
case 3:
CS->setcfgAndFlush(kcfg_pumpDefVel3, val);
break;
default:
ZASSERT(0);
return 0;
}
return 0;
}
float getMotorMLPR(int32_t motorid) {
switch (motorid) {
case 0:

7
uappbase/service/config_service_utils.hpp

@ -1,12 +1,13 @@
#pragma once
#include "config_service.hpp"
namespace iflytop {
float getMotorMLPR(int32_t motorid);
float getMotorMLPR(int32_t motorid); // 泵机转和ml转换系数
void setMotorMLPR(int32_t motorid, float val);
int getMxRunRPM(int32_t mid); // 泵机运行时转速
int setMxRunRPM(int32_t mid, int32_t val); // 泵机运行时转速
int32_t setMxIRun(int motorid, int32_t val);
int32_t setMxIRun(int motorid, int32_t val); // IRUN
int32_t getMxIRun(int motorid);
const char* getPasswd(const char* usrname, CfgItermCache* cache);

4
usrc/service/page/submenu/Page_muPumpTest.cpp

@ -20,7 +20,9 @@ void Page_muPumpTest::initialize() { //
RCTRL->regOnReport([this](uint8_t* rx, int32_t len) {
zble_proto_packet_t* packet = (zble_proto_packet_t*)rx;
// ZLOGI(TAG, "TRACE process ble report start");
if (UIS->getNowPage() != PAGE) {
// ZLOGI(TAG, "TRACE process ble report end....");
return;
}
@ -33,8 +35,8 @@ void Page_muPumpTest::initialize() { //
pumpStop();
}
}
return;
}
// ZLOGI(TAG, "TRACE process ble report end....");
});
}

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

@ -6,7 +6,7 @@ using namespace iflytop;
/**
* @brief
*
*
*/
#define PAGE pg_muSettings
@ -42,16 +42,16 @@ void Page_muSettings::initialize() { //
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, "锟斤拷");
UIS->setTxt(PAGE, ob_muSettings_bleCliName, "");
}
if (keyEvent == hand_acid_remoter_kevent_change_next_mode) {
UIS->setTxt(PAGE, ob_muSettings_bleCliName, "模式锟叫伙拷");
UIS->setTxt(PAGE, ob_muSettings_bleCliName, "模式切换");
}
if (keyEvent == hand_acid_remoter_kevent_reflux) {
UIS->setTxt(PAGE, ob_muSettings_bleCliName, "液路锟斤拷锟斤拷");
UIS->setTxt(PAGE, ob_muSettings_bleCliName, "液路回流");
}
if (keyEvent == hand_acid_remoter_kevent_preFilling) {
UIS->setTxt(PAGE, ob_muSettings_bleCliName, "液路预锟斤拷");
UIS->setTxt(PAGE, ob_muSettings_bleCliName, "液路预");
}
return;
}
@ -70,10 +70,11 @@ void Page_muSettings::updatePage() {
UIS->setTxt(PAGE, ob_muSettings_pumpCoef2, zfmt("%.1f", getMotorMLPR(2)));
UIS->setTxt(PAGE, ob_muSettings_pumpCoef3, zfmt("%.1f", getMotorMLPR(3)));
UIS->setTxt(PAGE, ob_muSettings_pipeLen0, getCfgStr(kcfg_pipeLengthML));
// UIS->setTxt(PAGE, ob_muSettings_pipeLen1, getCfgStr(kcfg_pipeLengthML));
// UIS->setTxt(PAGE, ob_muSettings_pipeLen2, getCfgStr(kcfg_pipeLengthML));
// UIS->setTxt(PAGE, ob_muSettings_pipeLen3, getCfgStr(kcfg_pipeLengthML));
UIS->setTxt(PAGE, ob_muSettings_addAcidVel, getCfgStr(kcfg_pumpDefVel));
// TODO:改成4个输入框
UIS->setTxt(PAGE, ob_muSettings_addAcidVel, zitoa(getMxRunRPM(0)));
UIS->setTxt(PAGE, ob_muSettings_addAcidVel, zitoa(getMxRunRPM(1)));
UIS->setTxt(PAGE, ob_muSettings_addAcidVel, zitoa(getMxRunRPM(2)));
UIS->setTxt(PAGE, ob_muSettings_addAcidVel, zitoa(getMxRunRPM(3)));
}
void Page_muSettings::OnPageLoad(OnPageLoadContext* cxt) { //
@ -82,7 +83,7 @@ void Page_muSettings::OnPageLoad(OnPageLoadContext* cxt) { //
void Page_muSettings::OnAppEvent(AppEvent_t* event) {
if (event->type == kAppEvent_BleConnectEvent) {
ZLOGI(TAG, "ble connect success");
UIS->setTxt(PAGE, ob_muSettings_bleCliName, "锟襟定成癸拷");
UIS->setTxt(PAGE, ob_muSettings_bleCliName, "绑定成功");
CS->setcfgAndFlush(kcfg_bleClientName, event->d.bleName);
m_scaning = false;
}
@ -92,6 +93,15 @@ void Page_muSettings::OnInputFieldContentChange(uint8_t bid, const char* text) {
/***********************************************************************************************************************
* irunx *
***********************************************************************************************************************/
if (bid == ob_muSettings_irun0 || bid == ob_muSettings_irun1 || bid == ob_muSettings_irun2 || bid == ob_muSettings_irun3) {
int irun = atoi(text);
if (irun < 1 || irun > 31) {
UIS->alert("IRUN需要限制在1..31");
return;
}
}
if (bid == ob_muSettings_irun0) {
setMxIRun(0, atoi(text));
UIS->setTxt(bid, zfmt("%d", getMxIRun(0)));
@ -110,7 +120,7 @@ void Page_muSettings::OnInputFieldContentChange(uint8_t bid, const char* text) {
* pumpCoef *
***********************************************************************************************************************/
else if (bid == ob_muSettings_pumpCoef0) {
if (bid == ob_muSettings_pumpCoef0) {
setMotorMLPR(0, atof(text));
UIS->setTxt(bid, zfmt("%.1f", getMotorMLPR(0)));
} else if (bid == ob_muSettings_pumpCoef1) {
@ -128,34 +138,35 @@ void Page_muSettings::OnInputFieldContentChange(uint8_t bid, const char* text) {
* pipeLen *
***********************************************************************************************************************/
else if (bid == ob_muSettings_pipeLen0) {
if (bid == ob_muSettings_pipeLen0) {
CS->setcfg(kcfg_pipeLengthML, text);
UIS->setTxt(bid, getCfgStr(kcfg_pipeLengthML));
}
// else if (bid == ob_muSettings_pipeLen1) {
// CS->setcfg(kcfg_pipeLengthML, text);
// UIS->setTxt(b
id, getCfgStr(kcfg_pipeLengthML));
// }
//
// else if (bid == ob_muSettings_pipeLen2) {
// CS->setcfg(kcfg_pipeLengthML, text);
// UIS->setTxt(bid, getCfgStr(kcfg_pipeLengthML));
// }
//
// else if (bid == ob_muSettings_pipeLen3) {
// CS->setcfg(kcfg_pipeLengthML, text);
// UIS->setTxt(bid, getCfgStr(kcfg_pipeLengthML));
// }
/***********************************************************************************************************************
* addAcidVel *
***********************************************************************************************************************/
// TODO改成4个输入框
if (bid == ob_muSettings_addAcidVel) {
int rpm = atoi(text);
if (rpm < 300) {
UIS->alert("转速不能小于300");
return;
}
if (rpm > 1000) {
UIS->alert("转速不能大于1000");
return;
}
}
else if (bid == ob_muSettings_addAcidVel) {
CS->setcfg(kcfg_pumpDefVel, text);
UIS->setTxt(bid, getCfgStr(kcfg_pumpDefVel));
if (bid == ob_muSettings_addAcidVel) {
int rpm = atoi(text);
setMxRunRPM(0, rpm);
setMxRunRPM(1, rpm);
setMxRunRPM(2, rpm);
setMxRunRPM(3, rpm);
UIS->setTxt(bid, zitoa(rpm));
}
updatePage();
@ -166,15 +177,15 @@ void Page_muSettings::OnButton(uint8_t bid, uint8_t val) {
if (bid == ob_muSettings_bak) {
UIS->chpage(GSM->getMenuPage());
if (m_scaning) {
RCTRL->startScan("XXXXXXXXX", false); // 锟洁当锟斤拷停止扫锟斤拷
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, "锟斤拷锟斤拷...");
if (suc) UIS->setTxt(PAGE, ob_muSettings_bleCliName, "描中...");
m_scaning = true;
}
};
// muAcidType
// muAcidType

16
usrc/service/pump_ctrl_service.cpp

@ -10,15 +10,9 @@ static TMC51X0* m_motors[4];
#define PUMP_NUM 4
static CfgItermCache cfgcache;
#define APPEND_ML 1
#define APPEND_ML 10
static int getMxRunRPM(int32_t mid) { //
float mLPmin = getCfgFloat(kcfg_pumpDefVel);
float motorX_mLPR = getMotorMLPR(mid);
int rpm = mLPmin / motorX_mLPR;
return rpm;
}
void PumpCtrlService::initialize() {
m_motors[0] = AppHardware::ins()->getPump(0);
@ -59,7 +53,7 @@ void PumpCtrlService::updateMotorSetting() {
m_motors[i]->enable(true);
ZLOGI(TAG, "M[%d] setIHOLD_IRUN %d %d %d", i, STEPMOTOR_IHOLD, getMxIRun(i), STEPMOTOR_IHOLDDELAY);
ZLOGI(TAG, "M[%d] setScale %d", i, getMotorMLPR(i));
ZLOGI(TAG, "M[%d] setScale %f", i, getMotorMLPR(i) * 1000);
ZLOGI(TAG, "M[%d] setScaleDenominator %d", i, 1);
ZLOGI(TAG, "M[%d] setMotorShaft %d", i, MOTOR_SHAFT);
ZLOGI(TAG, "M[%d] setVstart %d", i, MOTOR_VSTART);
@ -208,9 +202,11 @@ void PumpCtrlService::doMoveOnce() {
}
}
while (!isAllReachTarget()) {
while (!isAllReachTarget() && !m_thread.getExitFlag()) {
// ZLOGI(TAG, "wait for motor move to target");
osDelay(10);
}
ZLOGI(TAG, "do moveOnce finish");
// »ØÁ÷
for (size_t i = 0; i < PUMP_NUM; i++) {
@ -224,7 +220,7 @@ void PumpCtrlService::doMoveOnce() {
}
}
while (!isAllReachTarget()) {
while (!isAllReachTarget() && !m_thread.getExitFlag()) {
osDelay(10);
}

1
usrc/service/remote_controler.cpp

@ -115,7 +115,6 @@ void RemoteControlerUpper::startSchedule() {
}
void RemoteControlerUpper::preProcessrxpacket(RemoteControlerReportPacket_t* packet) {
// �жϰ��Ƿ�Ϸ�
#if MODULE_DEBUG
ZLOGI(TAG, "[rx-thread] : rx :%s(%d)", zhex2str(packet->data, packet->datalen), packet->datalen);
#endif

5
usrc/service/remote_controler_event_processer.cpp

@ -21,12 +21,14 @@ void RemoteControlerEventProcesser::initialize() {
GSM->setRemoterS(RemoteControlerUpper::ins()->isConnected());
RCTRL->regOnReport([this](uint8_t* rx, int32_t len) {
// ZLOGI(TAG, "TRACE process ble report start");
zble_proto_packet_t* packet = (zble_proto_packet_t*)rx;
logevent(rx, len);
if (packet->cmd == kzble_app_report_key_event) {
int32_t keyEvent = *(int32_t*)packet->data;
processKeyEventFromRemoter((hand_acid_remoter_key_event_t)keyEvent);
// ZLOGI(TAG, "TRACE process ble report end");
return;
}
@ -40,6 +42,7 @@ void RemoteControlerEventProcesser::initialize() {
} else if (packet->cmd == kzble_report_disconnect_event) {
GSM->setRemoterS(false);
}
// ZLOGI(TAG, "TRACE process ble report end");
});
}
@ -93,7 +96,7 @@ void RemoteControlerEventProcesser::processKeyEventFromRemoter(hand_acid_remoter
ZLOGW(TAG, "now page is in pump test, remote key event process by pumpTestPage");
return;
}
if (UIS->getNowPage() == pg_login || UIS->getNowPage() == pg_pStart || UIS->getNowPage() == pg_muSettings) {
return;
}

Loading…
Cancel
Save