9 changed files with 224 additions and 19 deletions
-
72A.json
-
4appsrc/baseservice/front_msg_processer/front_msg_processer.cpp
-
1appsrc/baseservice/front_msg_processer/front_msg_processer.hpp
-
3appsrc/service/main_control_service.cpp
-
4appsrc/service/os_mgr_service.cpp
-
10appsrc/service/setting_mgr_service.cpp
-
96appsrc/service/test_page_mgr_service.cpp
-
33appsrc/service/test_page_mgr_service.hpp
-
20appsrc/service/user_mgr_service.cpp
@ -0,0 +1,72 @@ |
|||
{ |
|||
"item": [ |
|||
{ |
|||
"name": "addLiquidPumpCtrl", |
|||
"displayName": "加液泵", |
|||
"type": "button", |
|||
"params": [ |
|||
{ |
|||
"name": "vel", |
|||
"displayName": "转速", |
|||
"enumDisplayNames": [ |
|||
"100", |
|||
"200" |
|||
], |
|||
"enum": [ |
|||
"100", |
|||
"200" |
|||
], |
|||
"uint": "g/min", |
|||
"default": "100" |
|||
}, |
|||
{ |
|||
"name": "direction", |
|||
"displayName": "方向", |
|||
"enumDisplayNames": [ |
|||
"加液", |
|||
"排液" |
|||
], |
|||
"enum": [ |
|||
"add", |
|||
"remove" |
|||
], |
|||
"default": "add" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"name": "acCtrl", |
|||
"displayName": "空压机", |
|||
"type": "buttons", |
|||
"buttons": [ |
|||
"open", |
|||
"close" |
|||
], |
|||
"buttonDisplayNames": [ |
|||
"打开", |
|||
"关闭" |
|||
] |
|||
}, |
|||
{ |
|||
"name": "acCurrent", |
|||
"displayName": "空压机电流", |
|||
"type": "state", |
|||
"stateName": "acCurrent" |
|||
}, |
|||
{ |
|||
"name": "pressureSensor", |
|||
"displayName": "压力传感器", |
|||
"type": "states", |
|||
"displayNames": [ |
|||
"压力计1", |
|||
"压力计2", |
|||
"压力计3" |
|||
], |
|||
"stateNames": [ |
|||
"pressure1", |
|||
"pressure2", |
|||
"pressure3" |
|||
] |
|||
} |
|||
] |
|||
} |
@ -0,0 +1,96 @@ |
|||
#include "test_page_mgr_service.hpp"
|
|||
using namespace iflytop; |
|||
|
|||
void TestPageMgrService::initialize() { |
|||
GET_TO_SERVICE(m_db); |
|||
GET_TO_SERVICE(m_ds); |
|||
|
|||
REGFN(TestPageMgrService, getTestPageCfgInfo); |
|||
REGFN(TestPageMgrService, onButton); |
|||
REGFN(TestPageMgrService, readState); |
|||
} |
|||
|
|||
void TestPageMgrService::getTestPageCfgInfo(shared_ptr<MsgProcessContext> cxt) { |
|||
json content; |
|||
content["stateUpdatePeriod"] = 1000; |
|||
|
|||
content["items"][0]["name"] = "addLiquidPumpCtrl"; |
|||
content["items"][0]["displayName"] = "加液泵"; |
|||
content["items"][0]["type"] = "button"; |
|||
content["items"][0]["params"][0]["name"] = "vel"; |
|||
content["items"][0]["params"][0]["displayName"] = "转速"; |
|||
content["items"][0]["params"][0]["enumDisplayNames"][0] = "100"; |
|||
content["items"][0]["params"][0]["enumDisplayNames"][1] = "200"; |
|||
content["items"][0]["params"][0]["enum"][0] = "100"; |
|||
content["items"][0]["params"][0]["enum"][1] = "200"; |
|||
content["items"][0]["params"][0]["uint"] = "g/min"; |
|||
content["items"][0]["params"][0]["default"] = "100"; |
|||
|
|||
content["items"][0]["params"][1]["name"] = "direction"; |
|||
content["items"][0]["params"][1]["displayName"] = "方向"; |
|||
content["items"][0]["params"][1]["enumDisplayNames"][0] = "加液"; |
|||
content["items"][0]["params"][1]["enumDisplayNames"][1] = "排液"; |
|||
content["items"][0]["params"][1]["enum"][0] = "add"; |
|||
content["items"][0]["params"][1]["enum"][1] = "remove"; |
|||
content["items"][0]["params"][1]["default"] = "add"; |
|||
|
|||
content["items"][1]["name"] = "acCtrl"; |
|||
content["items"][1]["displayName"] = "空压机"; |
|||
content["items"][1]["type"] = "buttons"; |
|||
content["items"][1]["buttons"][0] = "open"; |
|||
content["items"][1]["buttons"][1] = "close"; |
|||
content["items"][1]["buttonDisplayNames"][0] = "打开"; |
|||
content["items"][1]["buttonDisplayNames"][1] = "关闭"; |
|||
|
|||
content["items"][2]["name"] = "acCurrent"; |
|||
content["items"][2]["displayName"] = "空压机电流"; |
|||
content["items"][2]["type"] = "state"; |
|||
content["items"][2]["stateName"] = "acCurrent"; |
|||
|
|||
content["items"][3]["name"] = "pressureSensor"; |
|||
content["items"][3]["displayName"] = "压力传感器"; |
|||
content["items"][3]["type"] = "states"; |
|||
content["items"][3]["displayNames"][0] = "压力计1"; |
|||
content["items"][3]["displayNames"][1] = "压力计2"; |
|||
content["items"][3]["displayNames"][2] = "压力计3"; |
|||
content["items"][3]["stateNames"][0] = "pressure1"; |
|||
content["items"][3]["stateNames"][1] = "pressure2"; |
|||
content["items"][3]["stateNames"][2] = "pressure3"; |
|||
|
|||
content["items"][3]["stateNames"][2] = "pressure3"; |
|||
|
|||
cxt->content = content; |
|||
} |
|||
void TestPageMgrService::onButton(shared_ptr<MsgProcessContext> cxt) { |
|||
/**
|
|||
* @brief |
|||
* |
|||
* type name |
|||
* button itermName |
|||
* buttons itermName.button |
|||
*/ |
|||
logger->info("onButton {}", cxt->cmd.dump(2)); |
|||
string buttonName = cxt->cmd["params"]["buttonName"]; |
|||
if (buttonName == "addLiquidPumpCtrl") { |
|||
string vel = cxt->cmd["params"]["vel"]; |
|||
string direction = cxt->cmd["params"]["direction"]; |
|||
logger->info("on addLiquidPumpCtrl vel:{} direction:{}", vel, direction); |
|||
} else if (buttonName == "acCtrl") { |
|||
string acCtrl = cxt->cmd["params"]["acCtrl"]; |
|||
logger->info("on acCtrl:{}", acCtrl); |
|||
} |
|||
} |
|||
|
|||
void TestPageMgrService::readState(shared_ptr<MsgProcessContext> cxt) { |
|||
logger->info("readTestState {}", cxt->cmd.dump(2)); |
|||
string stateName = cxt->cmd["params"]["stateName"]; |
|||
if (stateName == "pressureSensor.pressure1") { |
|||
cxt->content["value"] = "100"; |
|||
} else if (stateName == "pressureSensor.pressure2") { |
|||
cxt->content["value"] = "200"; |
|||
} else if (stateName == "pressureSensor.pressure3") { |
|||
cxt->content["value"] = "300"; |
|||
} else if (stateName == "acCurrent") { |
|||
cxt->content["value"] = "10"; |
|||
} |
|||
} |
@ -0,0 +1,33 @@ |
|||
#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 TestPageMgrService : public enable_shared_from_this<TestPageMgrService> { |
|||
ENABLE_LOGGER(TestPageMgrService); |
|||
|
|||
shared_ptr<DBService> m_db; |
|||
shared_ptr<DeviceStateService> m_ds; |
|||
|
|||
unique_ptr<Thread> m_thread; |
|||
|
|||
public: |
|||
void initialize(); |
|||
|
|||
private: |
|||
void getTestPageCfgInfo(shared_ptr<MsgProcessContext> cxt); |
|||
void onButton(shared_ptr<MsgProcessContext> cxt); |
|||
void readState(shared_ptr<MsgProcessContext> cxt); |
|||
|
|||
private: |
|||
}; |
|||
|
|||
} // namespace iflytop
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue