Browse Source

v3.0.9| 添加泵机速度反馈, 添加空压机压力传感器去零

master
zhaohe 4 weeks ago
parent
commit
724c0ba792
  1. 2
      appsrc/appconfig/basic/zappversion.hpp
  2. 24
      appsrc/baseservice/db/calibrate_info_dao.cpp
  3. 11
      appsrc/baseservice/db/calibrate_info_dao.hpp
  4. 11
      appsrc/service/app/air_leak_detect_test.cpp
  5. 2
      appsrc/service/app/air_leak_detect_test.hpp
  6. 25
      appsrc/service/app/disinfection_ctrl/disinfection_ctrl_service.cpp
  7. 72
      appsrc/service/app/disinfection_ctrl/disinfection_ctrl_service.hpp
  8. 4
      appsrc/service/app_core.cpp
  9. 31
      appsrc/service/calibration/h2o2_liquid_weight_sensor_calibration_service.cpp
  10. 48
      appsrc/service/calibration/sensor_calibration_service.cpp
  11. 10
      appsrc/service/calibration/sensor_calibration_service.hpp

2
appsrc/appconfig/basic/zappversion.hpp

@ -1,3 +1,3 @@
#pragma once #pragma once
#define VERSION "3.0.8"
#define VERSION "3.0.9"
#define PROJECT_NAME "TRANSMIT_DM" #define PROJECT_NAME "TRANSMIT_DM"

24
appsrc/baseservice/db/calibrate_info_dao.cpp

@ -33,17 +33,17 @@ void CalibrationInfoDao::initialize() {
} }
} }
CalibrationInfo CalibrationInfoDao::getCalibrationInfo() {
CalibrationInfo info = {0};
info.h2O2LiquidWeightSensorZeroBias = get("h2O2LiquidWeightSensorZeroBias", 0.0);
return info;
}
json CalibrationInfoDao::getCalibrationInfoJson() {
CalibrationInfo info = getCalibrationInfo();
json j;
j["h2O2LiquidWeightSensorZeroBias"] = info.h2O2LiquidWeightSensorZeroBias;
return j;
}
void CalibrationInfoDao::setH2O2LiquidWeightSensorZeroBias(float bias) { set("h2O2LiquidWeightSensorZeroBias", bias); } void CalibrationInfoDao::setH2O2LiquidWeightSensorZeroBias(float bias) { set("h2O2LiquidWeightSensorZeroBias", bias); }
float CalibrationInfoDao::getH2O2LiquidWeightSensorZeroBias() { return get("h2O2LiquidWeightSensorZeroBias", 0.0); } float CalibrationInfoDao::getH2O2LiquidWeightSensorZeroBias() { return get("h2O2LiquidWeightSensorZeroBias", 0.0); }
void CalibrationInfoDao::setACPressureSensorZeroBiasKpa(float bias) { set("acPressureSensorZeroBiasKpa", bias); }
float CalibrationInfoDao::getACPressureSensorZeroBiasKpa() { return get("acPressureSensorZeroBiasKpa", 0.0); }
float CalibrationInfoDao::acPressureSensorTare(float rawval) {
float bias = getACPressureSensorZeroBiasKpa();
float tareVal = rawval - bias;
if (tareVal < 0) {
tareVal = 0; // 确保去皮后的值不小于0
}
return tareVal;
}

11
appsrc/baseservice/db/calibrate_info_dao.hpp

@ -34,10 +34,7 @@ using namespace nlohmann;
*******************************************************************************/ *******************************************************************************/
namespace db { namespace db {
typedef struct {
int id;
float h2O2LiquidWeightSensorZeroBias; // H2O2液体重量传感器零点偏差
} CalibrationInfo;
} // namespace db } // namespace db
using namespace db; using namespace db;
/******************************************************************************* /*******************************************************************************
@ -59,14 +56,14 @@ class CalibrationInfoDao : public KeyValDBV2Dao {
static void daoInit() { ins(); } static void daoInit() { ins(); }
public: public:
CalibrationInfo getCalibrationInfo();
json getCalibrationInfoJson();
void setH2O2LiquidWeightSensorZeroBias(float bias); void setH2O2LiquidWeightSensorZeroBias(float bias);
float getH2O2LiquidWeightSensorZeroBias(); float getH2O2LiquidWeightSensorZeroBias();
void setACPressureSensorZeroBiasKpa(float bias);
float getACPressureSensorZeroBiasKpa();
float acPressureSensorTare(float rawval);
private: private:

11
appsrc/service/app/air_leak_detect_test.cpp

@ -1,5 +1,6 @@
#include "air_leak_detect_test.hpp" #include "air_leak_detect_test.hpp"
#include "baseservice/db/calibrate_info_dao.hpp"
#include "pipeline_pressure_control.hpp" #include "pipeline_pressure_control.hpp"
using namespace iflytop; using namespace iflytop;
@ -125,7 +126,7 @@ void AirLeakDetectTest::airLeakDetectTestThread(int inflationTimeMs) {
logger->info("stabilizing pressure....."); logger->info("stabilizing pressure.....");
m_workstate = kstabilizingPressure; m_workstate = kstabilizingPressure;
for (int i = 0; i < leakTestStabilizationTimeS; ++i) { for (int i = 0; i < leakTestStabilizationTimeS; ++i) {
pressurePa = m_dics->ACPostPS_readPa();
pressurePa = readPressurePa();
thisThread.sleepForMs(1000); thisThread.sleepForMs(1000);
logger->info(" waiting for stabilizing pressure, current pressure: {} kPa", pressurePa / 1000.0); logger->info(" waiting for stabilizing pressure, current pressure: {} kPa", pressurePa / 1000.0);
if (thisThread.getExitFlag()) { if (thisThread.getExitFlag()) {
@ -140,7 +141,7 @@ void AirLeakDetectTest::airLeakDetectTestThread(int inflationTimeMs) {
logger->info("leak testing....."); logger->info("leak testing.....");
m_workstate = kleakTesting; m_workstate = kleakTesting;
while (!thisThread.getExitFlag()) { while (!thisThread.getExitFlag()) {
pressurePa = m_dics->ACPostPS_readPa();
pressurePa = readPressurePa();
thisThread.sleepForMs(1000); thisThread.sleepForMs(1000);
} }
} }
@ -187,10 +188,12 @@ void AirLeakDetectTest::stopStateReport(shared_ptr<MsgProcessContext> cxt) {}
json AirLeakDetectTest::getState() { json AirLeakDetectTest::getState() {
json state; json state;
if (getWorkstate() == kidle) { if (getWorkstate() == kidle) {
pressurePa = m_dics->ACPostPS_readPa();
pressurePa = readPressurePa();
} }
state["pressure"] = pressurePa / 1000.0; state["pressure"] = pressurePa / 1000.0;
state["workState"] = state2str(getWorkstate()); state["workState"] = state2str(getWorkstate());
state["workStateDisplay"] = state2chstr(getWorkstate()); state["workStateDisplay"] = state2chstr(getWorkstate());
return state; return state;
}
}
float AirLeakDetectTest::readPressurePa() { return CalibrationInfoDao::ins()->acPressureSensorTare(m_dics->ACPostPS_readPa() / 1000.0) * 1000; }

2
appsrc/service/app/air_leak_detect_test.hpp

@ -90,6 +90,8 @@ class AirLeakDetectTest : public enable_shared_from_this<AirLeakDetectTest> {
void stopStateReport(shared_ptr<MsgProcessContext> cxt); void stopStateReport(shared_ptr<MsgProcessContext> cxt);
json getState(); json getState();
float readPressurePa();
private: private:
void airLeakDetectTestThread(int inflationTimeMs); void airLeakDetectTestThread(int inflationTimeMs);
}; };

25
appsrc/service/app/disinfection_ctrl/disinfection_ctrl_service.cpp

@ -268,6 +268,15 @@ void DisinfectionCtrlService::updateCfg() {
sm.pushEvent(event); sm.pushEvent(event);
} }
void DisinfectionCtrlService::injectPumpSet(int velocityGPM) {
s_injectPumpRealtimeVelocityGPM = velocityGPM;
dics->SprayPump_start(velocityGPM);
}
void DisinfectionCtrlService::injectPumpStop() {
s_injectPumpRealtimeVelocityGPM = 0;
dics->SprayPump_stop();
}
void DisinfectionCtrlService::tryLogState(bool forceLog) { void DisinfectionCtrlService::tryLogState(bool forceLog) {
// 每隔离10秒记录一次 // 每隔离10秒记录一次
if (forceLog || zsteady_clock().elapsedTimeS(s_lastTakeSnapt) > 10) { if (forceLog || zsteady_clock().elapsedTimeS(s_lastTakeSnapt) > 10) {
@ -502,12 +511,16 @@ void DisinfectionCtrlService::processStateDisinfection(DisinfectionEvent* event)
dics->AC_ctrl(1); dics->AC_ctrl(1);
dics->Blower_ctrl(DEFAULT_BLOWSER_LEVEL); dics->Blower_ctrl(DEFAULT_BLOWSER_LEVEL);
dics->Heater_ctrl(1); dics->Heater_ctrl(1);
dics->SprayPump_start(getSettingAsInt(SettingId::injection_pump_speed));
injectPumpSet(getSettingAsInt(SettingId::injection_pump_speed));
s_remaintime = m_tlog * 60 * 60 * 2; s_remaintime = m_tlog * 60 * 60 * 2;
} else if (event->event == kevent_exit_state) { } else if (event->event == kevent_exit_state) {
s_isDisinfectionTakeBreak = false; s_isDisinfectionTakeBreak = false;
dics->SprayPump_stop();
injectPumpStop();
dics->Blower_close(); dics->Blower_close();
dics->Heater_close(); dics->Heater_close();
dics->AC_close(); dics->AC_close();
@ -541,7 +554,7 @@ void DisinfectionCtrlService::processStateDisinfection(DisinfectionEvent* event)
if (!s_isDisinfectionTakeBreak) { if (!s_isDisinfectionTakeBreak) {
if (isTimeToPauseDisinfection()) { if (isTimeToPauseDisinfection()) {
logger->info("pauseDisinfection"); logger->info("pauseDisinfection");
dics->SprayPump_stop();
injectPumpStop();
dics->AC_close(); dics->AC_close();
s_isDisinfectionTakeBreak = true; s_isDisinfectionTakeBreak = true;
tryLogState(true); tryLogState(true);
@ -551,7 +564,7 @@ void DisinfectionCtrlService::processStateDisinfection(DisinfectionEvent* event)
logger->info("resumeDisinfection"); logger->info("resumeDisinfection");
if (!handlePumpStopFlag) { if (!handlePumpStopFlag) {
dics->AC_ctrl(1); dics->AC_ctrl(1);
dics->SprayPump_start(getSettingAsInt(SettingId::injection_pump_speed));
injectPumpSet(getSettingAsInt(SettingId::injection_pump_speed));
} }
s_isDisinfectionTakeBreak = false; s_isDisinfectionTakeBreak = false;
tryLogState(true); tryLogState(true);
@ -599,10 +612,10 @@ void DisinfectionCtrlService::processStateDisinfection(DisinfectionEvent* event)
} else if (event->event == kevent_update_cfg) { } else if (event->event == kevent_update_cfg) {
if (!s_isDisinfectionTakeBreak && !handlePumpStopFlag) { if (!s_isDisinfectionTakeBreak && !handlePumpStopFlag) {
dics->AC_ctrl(1); dics->AC_ctrl(1);
dics->SprayPump_start(getSettingAsInt(SettingId::injection_pump_speed));
injectPumpSet(getSettingAsInt(SettingId::injection_pump_speed));
} }
if (handlePumpStopFlag) { if (handlePumpStopFlag) {
dics->SprayPump_stop();
injectPumpStop();
dics->AC_close(); dics->AC_close();
} }
} }

72
appsrc/service/app/disinfection_ctrl/disinfection_ctrl_service.hpp

@ -46,20 +46,21 @@ class DisinfectionCtrlService : public enable_shared_from_this<DisinfectionCtrlS
unique_ptr<Thread> m_thread; unique_ptr<Thread> m_thread;
// 实时任务状态 // 实时任务状态
string s_sessionId = {};
zsystem_tp s_start_tp = {};
zsystem_tp s_complete_tp = {};
zsteady_tp s_start_steady_tp = {};
zsteady_tp s_lastTakeSnapt = {}; // 上次日志时间
zsteady_tp s_lastComputeDvalueTp = {}; // 上次计算dvalue时间
bool s_isDisinfectionTakeBreak = false;
shared_ptr<H2O2SensorDataSnapshot> s_h2o2Snapshot = {};
int32_t s_dvalue = 0;
int32_t s_remaintime = 0;
float s_nlog = {};
int s_beforeDisinfectantVolume_g = {}; // 消毒前消毒剂量
int s_afterDisinfectantVolume_g = {}; // 消毒后消毒剂量
int s_disinfectantVolumeLevel = {}; // 消毒液位级别
string s_sessionId = {};
zsystem_tp s_start_tp = {};
zsystem_tp s_complete_tp = {};
zsteady_tp s_start_steady_tp = {};
zsteady_tp s_lastTakeSnapt = {}; // 上次日志时间
zsteady_tp s_lastComputeDvalueTp = {}; // 上次计算dvalue时间
bool s_isDisinfectionTakeBreak = false;
shared_ptr<H2O2SensorDataSnapshot> s_h2o2Snapshot = {};
int32_t s_dvalue = 0;
int32_t s_remaintime = 0;
float s_nlog = {};
int s_beforeDisinfectantVolume_g = {}; // 消毒前消毒剂量
int s_afterDisinfectantVolume_g = {}; // 消毒后消毒剂量
int s_disinfectantVolumeLevel = {}; // 消毒液位级别
int s_injectPumpRealtimeVelocityGPM = 0;
bool handlePumpStopFlag = false; // bool handlePumpStopFlag = false; //
@ -95,7 +96,6 @@ class DisinfectionCtrlService : public enable_shared_from_this<DisinfectionCtrlS
void handleStopPumpInjection(); void handleStopPumpInjection();
void handleStartPumpInjection(); void handleStartPumpInjection();
bool getHandlePumpStopFlag() { return handlePumpStopFlag; } bool getHandlePumpStopFlag() { return handlePumpStopFlag; }
map<string, string>& getRealtimeCfg() { return m_realtimeCfg; } map<string, string>& getRealtimeCfg() { return m_realtimeCfg; }
@ -105,32 +105,28 @@ class DisinfectionCtrlService : public enable_shared_from_this<DisinfectionCtrlS
float getNlog() { return s_nlog; } float getNlog() { return s_nlog; }
int64_t getStartTP() { return tu_sys::tpToMs(s_start_tp); } int64_t getStartTP() { return tu_sys::tpToMs(s_start_tp); }
int64_t getCompleteTP() { return tu_sys::tpToMs(s_complete_tp); } int64_t getCompleteTP() { return tu_sys::tpToMs(s_complete_tp); }
int getInjectedVelocity() {
if (sm.getState() == DisinfectionState::disinfection && !s_isDisinfectionTakeBreak) {
return getSettingAsInt(SettingId::injection_pump_speed);
}
return 0;
}
bool isDisinfectionTakeBreak() { return s_isDisinfectionTakeBreak; }
int getInjectedVelocity() { return s_injectPumpRealtimeVelocityGPM; }
bool isDisinfectionTakeBreak() { return s_isDisinfectionTakeBreak; }
shared_ptr<H2O2SensorDataSnapshot> getH2O2Snapshot() { return h2o2SensorStateSyncService->takeSnapshot(); } shared_ptr<H2O2SensorDataSnapshot> getH2O2Snapshot() { return h2o2SensorStateSyncService->takeSnapshot(); }
private: private:
void resetState() { void resetState() {
s_sessionId = {};
s_start_tp = {};
s_complete_tp = {};
s_start_steady_tp = {};
s_lastTakeSnapt = {}; // 上次日志时间
s_lastComputeDvalueTp = {}; // 上次计算dvalue时间
s_isDisinfectionTakeBreak = false;
s_h2o2Snapshot = {};
s_dvalue = 0;
s_remaintime = 0;
s_nlog = {};
s_beforeDisinfectantVolume_g = {}; // 消毒前消毒剂量
s_afterDisinfectantVolume_g = {}; // 消毒后消毒剂量
s_disinfectantVolumeLevel = {}; // 消毒液位级别
s_sessionId = {};
s_start_tp = {};
s_complete_tp = {};
s_start_steady_tp = {};
s_lastTakeSnapt = {}; // 上次日志时间
s_lastComputeDvalueTp = {}; // 上次计算dvalue时间
s_isDisinfectionTakeBreak = false;
s_h2o2Snapshot = {};
s_dvalue = 0;
s_remaintime = 0;
s_nlog = {};
s_beforeDisinfectantVolume_g = {}; // 消毒前消毒剂量
s_afterDisinfectantVolume_g = {}; // 消毒后消毒剂量
s_disinfectantVolumeLevel = {}; // 消毒液位级别
s_injectPumpRealtimeVelocityGPM = 0;
} }
void beforeStateProcess(); void beforeStateProcess();
@ -148,6 +144,10 @@ class DisinfectionCtrlService : public enable_shared_from_this<DisinfectionCtrlS
void changeToNextState(); void changeToNextState();
private: private:
void injectPumpSet(int velocityGPM);
void injectPumpStop();
private:
void tryLogState(bool forceLog); void tryLogState(bool forceLog);
shared_ptr<DisinfectionStateSnapshot> createSnapshot(bool forceLog); shared_ptr<DisinfectionStateSnapshot> createSnapshot(bool forceLog);

4
appsrc/service/app_core.cpp

@ -24,7 +24,7 @@
#include "hardware/warning_light_controler.hpp" #include "hardware/warning_light_controler.hpp"
// //
#include "baseservice/db/device_ext_setting_dao.hpp" #include "baseservice/db/device_ext_setting_dao.hpp"
#include "calibration/h2o2_liquid_weight_sensor_calibration_service.hpp"
#include "calibration/sensor_calibration_service.hpp"
#include "equipment_usage_info_mgr_service.hpp" #include "equipment_usage_info_mgr_service.hpp"
#include "service/h2o2_sensor_mgr.hpp" #include "service/h2o2_sensor_mgr.hpp"
#include "service/hardware/h2o2_sensor_state_sync.hpp" #include "service/hardware/h2o2_sensor_state_sync.hpp"
@ -175,7 +175,7 @@ void AppCore::initialize() {
BUILD_AND_REG_SERRVICE(DisinfectionCtrlServiceExt); BUILD_AND_REG_SERRVICE(DisinfectionCtrlServiceExt);
BUILD_AND_REG_SERRVICE(DrainLiquidService); BUILD_AND_REG_SERRVICE(DrainLiquidService);
BUILD_AND_REG_SERRVICE(DebugPageTestService); BUILD_AND_REG_SERRVICE(DebugPageTestService);
BUILD_AND_REG_SERRVICE(H2O2LiquidWeightSensorCalibrationService); // H2O2液体重量传感器校准
BUILD_AND_REG_SERRVICE(SensorCalibrationService); // H2O2液体重量传感器校准
BUILD_AND_REG_SERRVICE(ExtSettingMgrService); BUILD_AND_REG_SERRVICE(ExtSettingMgrService);
BUILD_AND_REG_SERRVICE(EquipmentUsageInfoMgrService); BUILD_AND_REG_SERRVICE(EquipmentUsageInfoMgrService);

31
appsrc/service/calibration/h2o2_liquid_weight_sensor_calibration_service.cpp

@ -1,31 +0,0 @@
#include "h2o2_liquid_weight_sensor_calibration_service.hpp"
using namespace iflytop;
using namespace std;
using namespace core;
void H2O2LiquidWeightSensorCalibrationService::initialize() {
GET_TO_SERVICE(m_disinfectantWeightUpdateService);
REG_EXTFN_VOID(getWeight, json(void)); //
REG_EXTFN_VOID(tare, void(void)); // 去皮
REG_EXTFN(setBiasDirect, void(float), bias); //
REG_EXTFN_VOID(getBias, void(void)); //
}
void H2O2LiquidWeightSensorCalibrationService::tare(shared_ptr<MsgProcessContext> cxt) { //
float weight = m_disinfectantWeightUpdateService->getRoughWeight();
CalibrationInfoDao::ins()->setH2O2LiquidWeightSensorZeroBias(weight + 10);
}
void H2O2LiquidWeightSensorCalibrationService::getWeight(shared_ptr<MsgProcessContext> cxt) {
float weight = m_disinfectantWeightUpdateService->getWeight();
float roughWeight = m_disinfectantWeightUpdateService->getRoughWeight();
cxt->rely["weight"] = weight;
cxt->rely["roughWeight"] = roughWeight;
}
void H2O2LiquidWeightSensorCalibrationService::getBias(shared_ptr<MsgProcessContext> cxt) {
float bias = CalibrationInfoDao::ins()->getH2O2LiquidWeightSensorZeroBias();
cxt->rely["bias"] = bias;
}
void H2O2LiquidWeightSensorCalibrationService::setBiasDirect(shared_ptr<MsgProcessContext> cxt, float bias) { CalibrationInfoDao::ins()->setH2O2LiquidWeightSensorZeroBias(bias); }

48
appsrc/service/calibration/sensor_calibration_service.cpp

@ -0,0 +1,48 @@
#include "sensor_calibration_service.hpp"
using namespace iflytop;
using namespace std;
using namespace core;
void SensorCalibrationService::initialize() {
GET_TO_SERVICE(m_disinfectantWeightUpdateService);
REG_EXTFN_VOID(getWeight, json(void)); //
REG_EXTFN_VOID(tare, void(void)); // 去皮
REG_EXTFN(setBiasDirect, void(float), bias); //
REG_EXTFN_VOID(getBias, void(void)); //
REG_EXTFN(setACPressureSensorZeroBiasKpa, void(float), val); // 设置AC压力传感器零点偏置
REG_EXTFN_VOID(getACPressureSensorZeroBiasKpa, void(void)); // 获取AC压力传感器零点偏置
REG_EXTFN_VOID(getACPressureSensorVal, void(void)); // 获取AC压力传感器去皮后的值
}
void SensorCalibrationService::tare(shared_ptr<MsgProcessContext> cxt) { //
float weight = m_disinfectantWeightUpdateService->getRoughWeight();
CalibrationInfoDao::ins()->setH2O2LiquidWeightSensorZeroBias(weight + 10);
}
void SensorCalibrationService::getWeight(shared_ptr<MsgProcessContext> cxt) {
float weight = m_disinfectantWeightUpdateService->getWeight();
float roughWeight = m_disinfectantWeightUpdateService->getRoughWeight();
cxt->rely["weight"] = weight;
cxt->rely["roughWeight"] = roughWeight;
}
void SensorCalibrationService::getBias(shared_ptr<MsgProcessContext> cxt) {
float bias = CalibrationInfoDao::ins()->getH2O2LiquidWeightSensorZeroBias();
cxt->rely["bias"] = bias;
}
void SensorCalibrationService::setBiasDirect(shared_ptr<MsgProcessContext> cxt, float bias) { CalibrationInfoDao::ins()->setH2O2LiquidWeightSensorZeroBias(bias); }
void SensorCalibrationService::setACPressureSensorZeroBiasKpa(shared_ptr<MsgProcessContext> cxt, float val) { CalibrationInfoDao::ins()->setACPressureSensorZeroBiasKpa(val); }
void SensorCalibrationService::getACPressureSensorZeroBiasKpa(shared_ptr<MsgProcessContext> cxt) {
float bias = CalibrationInfoDao::ins()->getACPressureSensorZeroBiasKpa();
cxt->rely["bias"] = bias; //
}
void SensorCalibrationService::getACPressureSensorVal(shared_ptr<MsgProcessContext> cxt) {
float weight = GET_SERVICE(DeviceIoControlService)->ACPostPS_readPa() / 1000.0;
float aftare = CalibrationInfoDao::ins()->acPressureSensorTare(weight);
cxt->rely["afterTare"] = aftare; // 去皮后的值
cxt->rely["rawVal"] = weight; // 原始值
}

10
appsrc/service/calibration/h2o2_liquid_weight_sensor_calibration_service.hpp → appsrc/service/calibration/sensor_calibration_service.hpp

@ -12,8 +12,8 @@
#include "baseservice/baseservice.hpp" #include "baseservice/baseservice.hpp"
#include "service/hardware/disinfectant_weight_update_service.hpp" #include "service/hardware/disinfectant_weight_update_service.hpp"
namespace iflytop { namespace iflytop {
class H2O2LiquidWeightSensorCalibrationService : public enable_shared_from_this<H2O2LiquidWeightSensorCalibrationService> {
THISCLASS(H2O2LiquidWeightSensorCalibrationService);
class SensorCalibrationService : public enable_shared_from_this<SensorCalibrationService> {
THISCLASS(SensorCalibrationService);
shared_ptr<UDiskMgrService> m_udiskMgr; shared_ptr<UDiskMgrService> m_udiskMgr;
shared_ptr<DisinfectantWeightUpdateService> m_disinfectantWeightUpdateService; shared_ptr<DisinfectantWeightUpdateService> m_disinfectantWeightUpdateService;
@ -25,7 +25,11 @@ class H2O2LiquidWeightSensorCalibrationService : public enable_shared_from_this<
void tare(shared_ptr<MsgProcessContext> cxt); void tare(shared_ptr<MsgProcessContext> cxt);
void getWeight(shared_ptr<MsgProcessContext> cxt); void getWeight(shared_ptr<MsgProcessContext> cxt);
void getBias(shared_ptr<MsgProcessContext> cxt); void getBias(shared_ptr<MsgProcessContext> cxt);
void setBiasDirect(shared_ptr<MsgProcessContext> cxt,float val);
void setBiasDirect(shared_ptr<MsgProcessContext> cxt, float val);
void setACPressureSensorZeroBiasKpa(shared_ptr<MsgProcessContext> cxt, float val);
void getACPressureSensorZeroBiasKpa(shared_ptr<MsgProcessContext> cxt);
void getACPressureSensorVal(shared_ptr<MsgProcessContext> cxt) ;
}; };
} // namespace iflytop } // namespace iflytop
Loading…
Cancel
Save