Browse Source

update

storage-in-realtime
zhaohe 1 year ago
parent
commit
5fd731a73f
  1. 4
      README.md
  2. 68
      src/main_control_service.cpp
  3. 1
      src/main_control_service.hpp
  4. 7
      src/service/device_io_control_service.cpp
  5. 3
      src/service/device_io_control_service.hpp

4
README.md

@ -3,15 +3,15 @@
``` ```
1. 输入rootiflytop9973可以进入超级用户 1. 输入rootiflytop9973可以进入超级用户
2. ws测试地址: ws://192.168.1.148:19000
2. ws测试地址: ws://192.168.8.10:19000
``` ```
# 测试指令
``` ```
``` ```
# 测试指令
``` ```

68
src/main_control_service.cpp

@ -23,44 +23,63 @@ void MainControlService::dosystem(string order) {
void MainControlService::initialize() { void MainControlService::initialize() {
GET_TO_SERVICE(m_zconfig); GET_TO_SERVICE(m_zconfig);
BUILD_AND_REG_SERRVICE(DBService);
GET_SERVICE(DBService)->initialize();
GET_TO_SERVICE(m_dbService);
/** /**
* @brief * @brief
*/ */
BUILD_AND_REG_SERRVICE(DBService);
GET_SERVICE(DBService)->initialize();
BUILD_AND_REG_SERRVICE(DeviceStateService); BUILD_AND_REG_SERRVICE(DeviceStateService);
GET_SERVICE(DeviceStateService)->initialize(); GET_SERVICE(DeviceStateService)->initialize();
GET_TO_SERVICE(m_deviceStateService);
BUILD_AND_REG_SERRVICE(ZCanHost); BUILD_AND_REG_SERRVICE(ZCanHost);
GET_SERVICE(ZCanHost)->initialize(m_zconfig->get_iflytopSubDeviceCanIFName(), m_zconfig->get_iflytopSubDeviceCanBitrate(), false); GET_SERVICE(ZCanHost)->initialize(m_zconfig->get_iflytopSubDeviceCanIFName(), m_zconfig->get_iflytopSubDeviceCanBitrate(), false);
GET_TO_SERVICE(m_zcanhost);
BUILD_AND_REG_SERRVICE(DisinfectionLogsManager); BUILD_AND_REG_SERRVICE(DisinfectionLogsManager);
GET_SERVICE(DisinfectionLogsManager)->initialize(); GET_SERVICE(DisinfectionLogsManager)->initialize();
GET_TO_SERVICE(m_disinfectionLogsManager);
//DeviceIOInit
if (!g_in_test) { if (!g_in_test) {
BUILD_AND_REG_SERRVICE(DeviceIoControlService); BUILD_AND_REG_SERRVICE(DeviceIoControlService);
} else { } else {
REG_SERRVICE(DeviceIoControlService, new DeviceIoControlServiceTest()); REG_SERRVICE(DeviceIoControlService, new DeviceIoControlServiceTest());
} }
GET_SERVICE(DeviceIoControlService)->initialize(); GET_SERVICE(DeviceIoControlService)->initialize();
GET_TO_SERVICE(m_deviceIoControlService);
m_deviceIoControlService->startScan();
GET_SERVICE(DeviceIoControlService)->startScan();
BUILD_AND_REG_SERRVICE(DataExportService); BUILD_AND_REG_SERRVICE(DataExportService);
GET_SERVICE(DataExportService)->initialize(); GET_SERVICE(DataExportService)->initialize();
GET_TO_SERVICE(m_dataExportService);
BUILD_AND_REG_SERRVICE(FrontMsgProcesser); BUILD_AND_REG_SERRVICE(FrontMsgProcesser);
GET_SERVICE(FrontMsgProcesser)->initialize(); 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> 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_frontMsgProcesser);
GET_TO_SERVICE(m_iflytopwsService);
GET_TO_SERVICE(m_disinfectionCtrlService);
BUILD_AND_REG_SERRVICE(DeviceStateCmdImpl); BUILD_AND_REG_SERRVICE(DeviceStateCmdImpl);
BUILD_AND_REG_SERRVICE(DisinfectionCmdImpl); BUILD_AND_REG_SERRVICE(DisinfectionCmdImpl);
@ -69,6 +88,7 @@ void MainControlService::initialize() {
BUILD_AND_REG_SERRVICE(SystemOperateCmdImpl); BUILD_AND_REG_SERRVICE(SystemOperateCmdImpl);
BUILD_AND_REG_SERRVICE(TestPageCmdImpl); BUILD_AND_REG_SERRVICE(TestPageCmdImpl);
BUILD_AND_REG_SERRVICE(UserCmdImpl); BUILD_AND_REG_SERRVICE(UserCmdImpl);
BUILD_AND_REG_SERRVICE(SelfTestCmdImpl);
GET_SERVICE(DeviceStateCmdImpl)->initialize(); GET_SERVICE(DeviceStateCmdImpl)->initialize();
GET_SERVICE(DisinfectionCmdImpl)->initialize(); GET_SERVICE(DisinfectionCmdImpl)->initialize();
@ -77,25 +97,5 @@ void MainControlService::initialize() {
GET_SERVICE(SystemOperateCmdImpl)->initialize(); GET_SERVICE(SystemOperateCmdImpl)->initialize();
GET_SERVICE(TestPageCmdImpl)->initialize(); GET_SERVICE(TestPageCmdImpl)->initialize();
GET_SERVICE(UserCmdImpl)->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> 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();
}; };

1
src/main_control_service.hpp

@ -44,6 +44,7 @@
#include "api/cmds/system_operate_cmd_impl.hpp" #include "api/cmds/system_operate_cmd_impl.hpp"
#include "api/cmds/test_page_cmd_impl.hpp" #include "api/cmds/test_page_cmd_impl.hpp"
#include "api/cmds/usrcmd_impl.hpp" #include "api/cmds/usrcmd_impl.hpp"
#include "api/cmds/selftest_cmd_impl.hpp"

7
src/service/device_io_control_service.cpp

@ -26,7 +26,7 @@ void DeviceIoControlService::updateDisinfectantVolumeSample(float _pa) {
float pa = _pa - 100; // 100当容器中没有液体时的压强 float pa = _pa - 100; // 100当容器中没有液体时的压强
if (pa < 0) pa = 0; 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); m_disinfectantVolumeSample_g = m_DisinfectantWeightFilter.filter(g);
// logger->info("{} pa {} g", _pa, m_disinfectantVolumeSample_g); // logger->info("{} pa {} g", _pa, m_disinfectantVolumeSample_g);
@ -409,3 +409,8 @@ bool DeviceIoControlService::getAllSensorData(DeviceIoControlService::all_h2o2se
} }
return true; return true;
} }
void DeviceIoControlService::warningLightCtrl(int r, int g, int b, int w) {
lock_guard<recursive_mutex> lock(lock_);
m_zcanHost->warning_light_ctrl_c1002(1, r, g, b, w);
}

3
src/service/device_io_control_service.hpp

@ -18,9 +18,9 @@
#include "iflytop/core/core.hpp" #include "iflytop/core/core.hpp"
#include "zservice_container/zservice_container.hpp" #include "zservice_container/zservice_container.hpp"
// //
#include "configs/gconfig.hpp"
#include "utils/moving_average_filter.hpp" #include "utils/moving_average_filter.hpp"
#include "utils/volume_convertor.hpp" #include "utils/volume_convertor.hpp"
#include "configs/gconfig.hpp"
// lock_guard<mutex> lock(lock_); // lock_guard<mutex> lock(lock_);
@ -161,6 +161,7 @@ class DeviceIoControlService : public enable_shared_from_this<DeviceIoControlSer
} all_h2o2sensor_data_t; } all_h2o2sensor_data_t;
virtual bool getAllSensorData(DeviceIoControlService::all_h2o2sensor_data_t& data); virtual bool getAllSensorData(DeviceIoControlService::all_h2o2sensor_data_t& data);
virtual void warningLightCtrl(int r, int g, int b, int w);
private: private:
void updateDisinfectantVolumeSample(float kpa); void updateDisinfectantVolumeSample(float kpa);
}; };
Loading…
Cancel
Save