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