|
@ -48,9 +48,11 @@ static cfgbid_table_iterm_t* MLPR_BIND_CFG; |
|
|
static cfgbid_table_iterm_t* IRUN_BIND_CFG; |
|
|
static cfgbid_table_iterm_t* IRUN_BIND_CFG; |
|
|
static cfgbid_table_iterm_t* CH_APPEND_ML_BIND_CFG; |
|
|
static cfgbid_table_iterm_t* CH_APPEND_ML_BIND_CFG; |
|
|
|
|
|
|
|
|
|
|
|
static double calInpVal = 0; |
|
|
|
|
|
|
|
|
static void Page_muPumpTest_onTimer(const void* tid); |
|
|
static void Page_muPumpTest_onTimer(const void* tid); |
|
|
|
|
|
|
|
|
#define PRECISION "%.2f"
|
|
|
|
|
|
|
|
|
#define PRECISION "%.2f"
|
|
|
#define MLPR_BIND_CFG_PRECISION "%.4f"
|
|
|
#define MLPR_BIND_CFG_PRECISION "%.4f"
|
|
|
|
|
|
|
|
|
static const char* fmt(const char* txt, ...) { |
|
|
static const char* fmt(const char* txt, ...) { |
|
@ -70,10 +72,10 @@ class MuChSetting : public IPageProcesser { |
|
|
IPageProcesser::initialize(); |
|
|
IPageProcesser::initialize(); |
|
|
|
|
|
|
|
|
intCfg(0, &ACID_CHOOS_ENAME_BIND_CFG, "酸液名称", AcidChCfgDao::getCfg(0)->acidChooseName, "", false); |
|
|
intCfg(0, &ACID_CHOOS_ENAME_BIND_CFG, "酸液名称", AcidChCfgDao::getCfg(0)->acidChooseName, "", false); |
|
|
intCfg(1, &IRUN_BIND_CFG, "IRUN", fmt("%d", AcidChCfgDao::getCfg(0)->irun), "", false); |
|
|
|
|
|
intCfg(2, &PUMP_DEF_VEL_BIND_CFG, "蠕动泵转速", fmt("%d", AcidChCfgDao::getCfg(0)->pumpDefVel), "r/min", false); |
|
|
|
|
|
intCfg(3, &PIPE_LENGTH_ML_BIND_CFG, "管路预充液体体积", fmt(MLPR_BIND_CFG_PRECISION, AcidChCfgDao::getCfg(0)->pipeLengthML), "ml", false); |
|
|
|
|
|
intCfg(4, &MLPR_BIND_CFG, "转换系数(体积/转数)", fmt(PRECISION, AcidChCfgDao::getCfg(0)->mLPR), "", false); |
|
|
|
|
|
|
|
|
intCfg(1, &IRUN_BIND_CFG, "IRUN", fmt("%d", AcidChCfgDao::getCfg(0)->irun), "", true); |
|
|
|
|
|
intCfg(2, &PUMP_DEF_VEL_BIND_CFG, "蠕动泵转速", fmt("%d", AcidChCfgDao::getCfg(0)->pumpDefVel), "r/min", true); |
|
|
|
|
|
intCfg(3, &PIPE_LENGTH_ML_BIND_CFG, "管路预充液体体积", fmt(PRECISION, AcidChCfgDao::getCfg(0)->pipeLengthML), "ml", false); |
|
|
|
|
|
intCfg(4, &MLPR_BIND_CFG, "转换系数(体积/转数)", fmt(MLPR_BIND_CFG_PRECISION, AcidChCfgDao::getCfg(0)->mLPR), "", false); |
|
|
intCfg(5, &CH_APPEND_ML_BIND_CFG, "防滴液体积", fmt(PRECISION, AcidChCfgDao::getCfg(0)->chAppendMl), "ml", false); |
|
|
intCfg(5, &CH_APPEND_ML_BIND_CFG, "防滴液体积", fmt(PRECISION, AcidChCfgDao::getCfg(0)->chAppendMl), "ml", false); |
|
|
|
|
|
|
|
|
osTimerDef(statiUpdateTimer, Page_muPumpTest_onTimer); |
|
|
osTimerDef(statiUpdateTimer, Page_muPumpTest_onTimer); |
|
@ -102,7 +104,13 @@ class MuChSetting : public IPageProcesser { |
|
|
* CALL_BAK * |
|
|
* CALL_BAK * |
|
|
***********************************************************************************************************************/ |
|
|
***********************************************************************************************************************/ |
|
|
|
|
|
|
|
|
virtual void onPageLoad(OnPageLoadContext* cxt) override { return; }; |
|
|
|
|
|
|
|
|
virtual void onPageLoad(OnPageLoadContext* cxt) override { |
|
|
|
|
|
if (GStateMgr::ins()->supperAdmin) { |
|
|
|
|
|
hideCfgMask(IRUN_BIND_CFG->maskBid); |
|
|
|
|
|
hideCfgMask(PUMP_DEF_VEL_BIND_CFG->maskBid); |
|
|
|
|
|
} |
|
|
|
|
|
return; |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
/**
|
|
|
/**
|
|
|
* @brief 返回上一页 |
|
|
* @brief 返回上一页 |
|
@ -143,13 +151,17 @@ class MuChSetting : public IPageProcesser { |
|
|
} else if (IRUN_BIND_CFG && bid == IRUN_BIND_CFG->cfgbid) { // IRUN
|
|
|
} else if (IRUN_BIND_CFG && bid == IRUN_BIND_CFG->cfgbid) { // IRUN
|
|
|
UIControler::ins()->popNumKeyBoard(thisPage, bid, 2, fmt("%d", AcidChCfgDao::getCfg(0)->irun)); |
|
|
UIControler::ins()->popNumKeyBoard(thisPage, bid, 2, fmt("%d", AcidChCfgDao::getCfg(0)->irun)); |
|
|
} else if (PUMP_DEF_VEL_BIND_CFG && bid == PUMP_DEF_VEL_BIND_CFG->cfgbid) { // 速度
|
|
|
} else if (PUMP_DEF_VEL_BIND_CFG && bid == PUMP_DEF_VEL_BIND_CFG->cfgbid) { // 速度
|
|
|
UIControler::ins()->popNumKeyBoard(thisPage, bid, 4, fmt("%d", AcidChCfgDao::getCfg(0)->pumpDefVel)); |
|
|
|
|
|
|
|
|
UIControler::ins()->popNumKeyBoard(thisPage, bid, 5, fmt("%d", AcidChCfgDao::getCfg(0)->pumpDefVel)); |
|
|
} else if (PIPE_LENGTH_ML_BIND_CFG && bid == PIPE_LENGTH_ML_BIND_CFG->cfgbid) { // 管路长度
|
|
|
} else if (PIPE_LENGTH_ML_BIND_CFG && bid == PIPE_LENGTH_ML_BIND_CFG->cfgbid) { // 管路长度
|
|
|
UIControler::ins()->popNumKeyBoard(thisPage, bid, 4, fmt(PRECISION, AcidChCfgDao::getCfg(0)->pipeLengthML)); |
|
|
|
|
|
|
|
|
UIControler::ins()->popNumKeyBoard(thisPage, bid, 5, fmt(PRECISION, AcidChCfgDao::getCfg(0)->pipeLengthML)); |
|
|
} else if (MLPR_BIND_CFG && bid == MLPR_BIND_CFG->cfgbid) { // 转速转换系数
|
|
|
} else if (MLPR_BIND_CFG && bid == MLPR_BIND_CFG->cfgbid) { // 转速转换系数
|
|
|
UIControler::ins()->popNumKeyBoard(thisPage, bid, 7, fmt(MLPR_BIND_CFG_PRECISION, AcidChCfgDao::getCfg(0)->mLPR)); |
|
|
UIControler::ins()->popNumKeyBoard(thisPage, bid, 7, fmt(MLPR_BIND_CFG_PRECISION, AcidChCfgDao::getCfg(0)->mLPR)); |
|
|
} else if (CH_APPEND_ML_BIND_CFG && bid == CH_APPEND_ML_BIND_CFG->cfgbid) { // 防滴液体积
|
|
|
} else if (CH_APPEND_ML_BIND_CFG && bid == CH_APPEND_ML_BIND_CFG->cfgbid) { // 防滴液体积
|
|
|
UIControler::ins()->popNumKeyBoard(thisPage, bid, 4, fmt(PRECISION, AcidChCfgDao::getCfg(0)->chAppendMl)); |
|
|
|
|
|
|
|
|
UIControler::ins()->popNumKeyBoard(thisPage, bid, 5, fmt(PRECISION, AcidChCfgDao::getCfg(0)->chAppendMl)); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (bid == ob_muCHSetting_calInpVal) { |
|
|
|
|
|
UIControler::ins()->popNumKeyBoard(thisPage, bid, 5, fmt(PRECISION, calInpVal)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/**
|
|
|
/**
|
|
@ -171,6 +183,18 @@ class MuChSetting : public IPageProcesser { |
|
|
ZLOGI(TAG, "stop"); |
|
|
ZLOGI(TAG, "stop"); |
|
|
pumpStop(); |
|
|
pumpStop(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (bid == ob_muCHSetting_calBut) { |
|
|
|
|
|
if (m_statiTruns == 0) { |
|
|
|
|
|
UIS->popWarningWin("转数统计不能为0"); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
double motorX_mLPR = calInpVal / m_statiTruns; |
|
|
|
|
|
setText(MLPR_BIND_CFG->cfgbid, MLPR_BIND_CFG_PRECISION, motorX_mLPR); |
|
|
|
|
|
AcidChCfgDao::getCfg(m_chId)->mLPR = motorX_mLPR; |
|
|
|
|
|
PumpCtrlService::ins()->updateMotorSetting(); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
virtual void onInputFieldContentChange(uint8_t bid, uint8_t slecId, const char* text) override { |
|
|
virtual void onInputFieldContentChange(uint8_t bid, uint8_t slecId, const char* text) override { |
|
@ -245,7 +269,7 @@ class MuChSetting : public IPageProcesser { |
|
|
} |
|
|
} |
|
|
AcidChCfgDao::getCfg(m_chId)->mLPR = setval; |
|
|
AcidChCfgDao::getCfg(m_chId)->mLPR = setval; |
|
|
PumpCtrlService::ins()->updateMotorSetting(); |
|
|
PumpCtrlService::ins()->updateMotorSetting(); |
|
|
setText(bid, PRECISION, setval); |
|
|
|
|
|
|
|
|
setText(bid, MLPR_BIND_CFG_PRECISION, setval); |
|
|
} else if (CH_APPEND_ML_BIND_CFG && bid == CH_APPEND_ML_BIND_CFG->cfgbid) { |
|
|
} else if (CH_APPEND_ML_BIND_CFG && bid == CH_APPEND_ML_BIND_CFG->cfgbid) { |
|
|
/**
|
|
|
/**
|
|
|
* @brief 防滴液体积 |
|
|
* @brief 防滴液体积 |
|
@ -258,6 +282,13 @@ class MuChSetting : public IPageProcesser { |
|
|
AcidChCfgDao::getCfg(m_chId)->chAppendMl = setval; |
|
|
AcidChCfgDao::getCfg(m_chId)->chAppendMl = setval; |
|
|
PumpCtrlService::ins()->updateMotorSetting(); |
|
|
PumpCtrlService::ins()->updateMotorSetting(); |
|
|
setText(bid, PRECISION, setval); |
|
|
setText(bid, PRECISION, setval); |
|
|
|
|
|
} else if (bid == ob_muCHSetting_calInpVal) { |
|
|
|
|
|
if (calInpVal < 0) { |
|
|
|
|
|
UIS->popWarningWin("输入值不能小于0"); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
calInpVal = atof(text); |
|
|
|
|
|
setText(bid, PRECISION, calInpVal); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -333,10 +364,12 @@ class MuChSetting : public IPageProcesser { |
|
|
setText(iter->cfgtilbid, cfgName); |
|
|
setText(iter->cfgtilbid, cfgName); |
|
|
setText(iter->cfgUint, uint); |
|
|
setText(iter->cfgUint, uint); |
|
|
setText(iter->cfgbid, cfgInitVal); |
|
|
setText(iter->cfgbid, cfgInitVal); |
|
|
if (mask) movePicTo(iter->cfgbid, iter->maskBid); |
|
|
|
|
|
|
|
|
if (mask) movePicTo(iter->maskBid, iter->cfgbid); |
|
|
*bindcfg = iter; |
|
|
*bindcfg = iter; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void hideCfgMask(uint8_t maskbid) { movePicToXY(maskbid, -100, -100); } |
|
|
|
|
|
|
|
|
void hideCfg(uint8_t cfgindex) { |
|
|
void hideCfg(uint8_t cfgindex) { |
|
|
ASSERT(cfgindex < sizeof(cfgbid_table) / sizeof(cfgbid_table_iterm_t), "cfgindex out of range"); |
|
|
ASSERT(cfgindex < sizeof(cfgbid_table) / sizeof(cfgbid_table_iterm_t), "cfgindex out of range"); |
|
|
cfgbid_table_iterm_t* iter = &cfgbid_table[cfgindex]; |
|
|
cfgbid_table_iterm_t* iter = &cfgbid_table[cfgindex]; |
|
|