From 5fd731a73f9f7cfd9404d94069d354e1e2a0d07e Mon Sep 17 00:00:00 2001 From: zhaohe Date: Wed, 15 May 2024 16:56:19 +0800 Subject: [PATCH] update --- README.md | 4 +- src/main_control_service.cpp | 68 +++++++++++++++---------------- src/main_control_service.hpp | 1 + src/service/device_io_control_service.cpp | 7 +++- src/service/device_io_control_service.hpp | 3 +- 5 files changed, 45 insertions(+), 38 deletions(-) diff --git a/README.md b/README.md index d371b4a..1ac7ea3 100644 --- a/README.md +++ b/README.md @@ -3,15 +3,15 @@ ``` 1. 输入rootiflytop9973可以进入超级用户 -2. ws测试地址: ws://192.168.1.148:19000 +2. ws测试地址: ws://192.168.8.10:19000 ``` +# 测试指令 ``` ``` -# 测试指令 ``` diff --git a/src/main_control_service.cpp b/src/main_control_service.cpp index a9b6f42..753f6d8 100644 --- a/src/main_control_service.cpp +++ b/src/main_control_service.cpp @@ -23,44 +23,63 @@ void MainControlService::dosystem(string order) { void MainControlService::initialize() { GET_TO_SERVICE(m_zconfig); - BUILD_AND_REG_SERRVICE(DBService); - GET_SERVICE(DBService)->initialize(); - GET_TO_SERVICE(m_dbService); - /** * @brief 构造系统中的单例服务 */ + + BUILD_AND_REG_SERRVICE(DBService); + GET_SERVICE(DBService)->initialize(); + BUILD_AND_REG_SERRVICE(DeviceStateService); GET_SERVICE(DeviceStateService)->initialize(); - GET_TO_SERVICE(m_deviceStateService); BUILD_AND_REG_SERRVICE(ZCanHost); GET_SERVICE(ZCanHost)->initialize(m_zconfig->get_iflytopSubDeviceCanIFName(), m_zconfig->get_iflytopSubDeviceCanBitrate(), false); - GET_TO_SERVICE(m_zcanhost); BUILD_AND_REG_SERRVICE(DisinfectionLogsManager); GET_SERVICE(DisinfectionLogsManager)->initialize(); - GET_TO_SERVICE(m_disinfectionLogsManager); + //DeviceIOInit if (!g_in_test) { BUILD_AND_REG_SERRVICE(DeviceIoControlService); - } else { REG_SERRVICE(DeviceIoControlService, new DeviceIoControlServiceTest()); } - GET_SERVICE(DeviceIoControlService)->initialize(); - GET_TO_SERVICE(m_deviceIoControlService); - - m_deviceIoControlService->startScan(); + GET_SERVICE(DeviceIoControlService)->startScan(); BUILD_AND_REG_SERRVICE(DataExportService); GET_SERVICE(DataExportService)->initialize(); - GET_TO_SERVICE(m_dataExportService); BUILD_AND_REG_SERRVICE(FrontMsgProcesser); GET_SERVICE(FrontMsgProcesser)->initialize(); + + BUILD_AND_REG_SERRVICE(IflytopFrontEndService); + GET_SERVICE(IflytopFrontEndService)->initialize("0.0.0.0"); + GET_SERVICE(IflytopFrontEndService)->onMessage.connect([this](weak_ptr webSocket, json& cmd, json& receipt) { + string cmdstr = cmd["command"]; + if (cmdstr != "getState") { + logger->info("rx:{}", cmd.dump()); + } + m_frontMsgProcesser->processMsg(cmd, receipt); + if (cmdstr != "getState") { + logger->info("tx:{}", receipt.dump()); + } + }); + GET_SERVICE(IflytopFrontEndService)->startListen(); + + BUILD_AND_REG_SERRVICE(DisinfectionCtrlService); + GET_SERVICE(DisinfectionCtrlService)->initialize(); + + GET_TO_SERVICE(m_dbService); + GET_TO_SERVICE(m_deviceStateService); + GET_TO_SERVICE(m_zcanhost); + GET_TO_SERVICE(m_disinfectionLogsManager); + GET_TO_SERVICE(m_deviceIoControlService); + GET_TO_SERVICE(m_dataExportService); GET_TO_SERVICE(m_frontMsgProcesser); + GET_TO_SERVICE(m_iflytopwsService); + GET_TO_SERVICE(m_disinfectionCtrlService); BUILD_AND_REG_SERRVICE(DeviceStateCmdImpl); BUILD_AND_REG_SERRVICE(DisinfectionCmdImpl); @@ -69,6 +88,7 @@ void MainControlService::initialize() { BUILD_AND_REG_SERRVICE(SystemOperateCmdImpl); BUILD_AND_REG_SERRVICE(TestPageCmdImpl); BUILD_AND_REG_SERRVICE(UserCmdImpl); + BUILD_AND_REG_SERRVICE(SelfTestCmdImpl); GET_SERVICE(DeviceStateCmdImpl)->initialize(); GET_SERVICE(DisinfectionCmdImpl)->initialize(); @@ -77,25 +97,5 @@ void MainControlService::initialize() { GET_SERVICE(SystemOperateCmdImpl)->initialize(); GET_SERVICE(TestPageCmdImpl)->initialize(); GET_SERVICE(UserCmdImpl)->initialize(); - - /** - * @brief Get the to service object - */ - - m_disinfectionCtrlService.reset(new DisinfectionCtrlService()); - m_disinfectionCtrlService->initialize(); - - m_iflytopwsService.reset(new IflytopFrontEndService()); - m_iflytopwsService->initialize("0.0.0.0"); - m_iflytopwsService->onMessage.connect([this](weak_ptr webSocket, json& cmd, json& receipt) { - string cmdstr = cmd["command"]; - if (cmdstr != "getState") { - logger->info("rx:{}", cmd.dump()); - } - m_frontMsgProcesser->processMsg(cmd, receipt); - if (cmdstr != "getState") { - logger->info("tx:{}", receipt.dump()); - } - }); - m_iflytopwsService->startListen(); + GET_SERVICE(SelfTestCmdImpl)->initialize(); }; diff --git a/src/main_control_service.hpp b/src/main_control_service.hpp index 930a775..90b875e 100644 --- a/src/main_control_service.hpp +++ b/src/main_control_service.hpp @@ -44,6 +44,7 @@ #include "api/cmds/system_operate_cmd_impl.hpp" #include "api/cmds/test_page_cmd_impl.hpp" #include "api/cmds/usrcmd_impl.hpp" +#include "api/cmds/selftest_cmd_impl.hpp" diff --git a/src/service/device_io_control_service.cpp b/src/service/device_io_control_service.cpp index 296517c..138860e 100644 --- a/src/service/device_io_control_service.cpp +++ b/src/service/device_io_control_service.cpp @@ -26,7 +26,7 @@ void DeviceIoControlService::updateDisinfectantVolumeSample(float _pa) { float pa = _pa - 100; // 100当容器中没有液体时的压强 if (pa < 0) pa = 0; - float g = m_volumeConvertor.pressurePa2VolumeG(_pa) * m_config->get_disinfectantWeightCorrectionFactor(); + float g = m_volumeConvertor.pressurePa2VolumeG(_pa) * m_config->get_disinfectantWeightCorrectionFactor(); m_disinfectantVolumeSample_g = m_DisinfectantWeightFilter.filter(g); // logger->info("{} pa {} g", _pa, m_disinfectantVolumeSample_g); @@ -409,3 +409,8 @@ bool DeviceIoControlService::getAllSensorData(DeviceIoControlService::all_h2o2se } return true; } + +void DeviceIoControlService::warningLightCtrl(int r, int g, int b, int w) { + lock_guard lock(lock_); + m_zcanHost->warning_light_ctrl_c1002(1, r, g, b, w); +} diff --git a/src/service/device_io_control_service.hpp b/src/service/device_io_control_service.hpp index 373d88e..dbf5721 100644 --- a/src/service/device_io_control_service.hpp +++ b/src/service/device_io_control_service.hpp @@ -18,9 +18,9 @@ #include "iflytop/core/core.hpp" #include "zservice_container/zservice_container.hpp" // +#include "configs/gconfig.hpp" #include "utils/moving_average_filter.hpp" #include "utils/volume_convertor.hpp" -#include "configs/gconfig.hpp" // lock_guard lock(lock_); @@ -161,6 +161,7 @@ class DeviceIoControlService : public enable_shared_from_this