3 changed files with 99 additions and 0 deletions
-
33appsrc/service/app/pipeline_pressure_control.cpp
-
64appsrc/service/app/pipeline_pressure_control.hpp
-
2appsrc/service/main_control_service.cpp
@ -0,0 +1,33 @@ |
|||||
|
#include "pipeline_pressure_control.hpp"
|
||||
|
using namespace iflytop; |
||||
|
void PipelinePressureControl::initialize() { |
||||
|
REGFNV2(PipelinePressureControl, setType); |
||||
|
REGFNV2(PipelinePressureControl, setIntensity); |
||||
|
REGFNV2(PipelinePressureControl, getState); |
||||
|
REGFNV2(PipelinePressureControl, getConfig); |
||||
|
|
||||
|
m_type = "positivePressure"; |
||||
|
m_intensity = "10%"; |
||||
|
} |
||||
|
|
||||
|
void PipelinePressureControl::fn_setType(shared_ptr<MsgProcessContext> cxt) { m_type = cxt->params["type"]; } |
||||
|
void PipelinePressureControl::fn_getConfig(shared_ptr<MsgProcessContext> cxt) { |
||||
|
json cfg; |
||||
|
|
||||
|
cfg["types"] = {"constantPressure", "positivePressure", "negativePressure"}; |
||||
|
cfg["typeDisplayNames"] = {"恒压", "正压", "负压"}; |
||||
|
cfg["intensitys"]["constantPressure"] = {}; |
||||
|
cfg["intensitys"]["positivePressure"] = {"0%", "10%", "20%", "30%", "40%", "50%", "60%", "70%", "80%", "90%", "100%"}; |
||||
|
cfg["intensitys"]["negativePressure"] = {"0%", "10%", "20%", "30%", "40%", "50%", "60%", "70%", "80%", "90%", "100%"}; |
||||
|
cxt->content = cfg; |
||||
|
} |
||||
|
void PipelinePressureControl::fn_setIntensity(shared_ptr<MsgProcessContext> cxt) { |
||||
|
string intensity = cxt->params["intensity"]; |
||||
|
m_intensity = intensity; |
||||
|
} |
||||
|
void PipelinePressureControl::fn_getState(shared_ptr<MsgProcessContext> cxt) { |
||||
|
json state; |
||||
|
state["type"] = m_type; |
||||
|
state["intensity"] = m_intensity; |
||||
|
cxt->content = state; |
||||
|
} |
@ -0,0 +1,64 @@ |
|||||
|
#pragma once
|
||||
|
#include <fstream>
|
||||
|
#include <iostream>
|
||||
|
#include <list>
|
||||
|
#include <map>
|
||||
|
#include <memory>
|
||||
|
#include <set>
|
||||
|
#include <sstream>
|
||||
|
#include <string>
|
||||
|
#include <vector>
|
||||
|
//
|
||||
|
#include "baseservice/baseservice.hpp"
|
||||
|
namespace iflytop { |
||||
|
class PipelinePressureControl : public enable_shared_from_this<PipelinePressureControl> { |
||||
|
ENABLE_LOGGER(AddLiquidService); |
||||
|
typedef enum { |
||||
|
kpositivePressure, // 正压
|
||||
|
knegativePressure, // 负压
|
||||
|
} type_t; |
||||
|
|
||||
|
static inline string type2str(type_t t) { |
||||
|
switch (t) { |
||||
|
case kpositivePressure: |
||||
|
return "positivePressure"; |
||||
|
case knegativePressure: |
||||
|
return "negativePressure"; |
||||
|
default: |
||||
|
return "unknown"; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
static inline type_t str2type(const string& s, bool& suc) { |
||||
|
suc = true; |
||||
|
if (s == "positivePressure") { |
||||
|
return kpositivePressure; |
||||
|
} else if (s == "negativePressure") { |
||||
|
return knegativePressure; |
||||
|
} else { |
||||
|
suc = false; |
||||
|
return kpositivePressure; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public: |
||||
|
shared_ptr<DBService> m_db; |
||||
|
shared_ptr<DeviceStateService> m_ds; |
||||
|
shared_ptr<GConfig> m_gConfig; |
||||
|
|
||||
|
string m_type; |
||||
|
string m_intensity; |
||||
|
|
||||
|
public: |
||||
|
void initialize(); |
||||
|
|
||||
|
private: |
||||
|
void fn_setType(shared_ptr<MsgProcessContext> cxt); |
||||
|
void fn_setIntensity(shared_ptr<MsgProcessContext> cxt); |
||||
|
void fn_getState(shared_ptr<MsgProcessContext> cxt); |
||||
|
void fn_getConfig(shared_ptr<MsgProcessContext> cxt); |
||||
|
|
||||
|
private: |
||||
|
}; |
||||
|
|
||||
|
} // namespace iflytop
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue