From 27b02ebd1cec0e8b4aea119e0f71e12eb45d6fd4 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Thu, 29 Feb 2024 18:36:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=87=8D=E9=87=8F=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3=E7=B3=BB=E6=95=B0=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/configs/gconfig.hpp | 15 ++++++++------- src/service/device_io_control_service.cpp | 12 +++++++----- src/service/device_io_control_service.hpp | 4 +++- 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/src/configs/gconfig.hpp b/src/configs/gconfig.hpp index fa98bbe..dd111e9 100644 --- a/src/configs/gconfig.hpp +++ b/src/configs/gconfig.hpp @@ -14,13 +14,14 @@ #include "iflytop/core/components/config_template/config_template.hpp" -#define ConfigELEMENT_LIST(marco) \ - marco(string /* */, deviceId, "") /*设备ID*/ \ - marco(string /* */, iflytopSubDeviceCanIFName, "can0") /*子设备Can设备名称*/ \ - marco(int32_t /* */, iflytopSubDeviceCanBitrate, 500000) /*子设备Can设备波特率*/ \ - marco(string /* */, pipettingRobotCanIFName, "can1") /*移液臂Can设备名称*/ \ - marco(int32_t /* */, pipettingRobotCanBitrate, 500000) /*移液臂Can设备波特率*/ \ - marco(float /* */, dvalueCoefficient, 1) /*数值越小,相对消毒时间越长*/ +#define ConfigELEMENT_LIST(marco) \ + marco(string /* */, deviceId, "") /*设备ID*/ \ + marco(string /* */, iflytopSubDeviceCanIFName, "can0") /*子设备Can设备名称*/ \ + marco(int32_t /* */, iflytopSubDeviceCanBitrate, 500000) /*子设备Can设备波特率*/ \ + marco(string /* */, pipettingRobotCanIFName, "can1") /*移液臂Can设备名称*/ \ + marco(int32_t /* */, pipettingRobotCanBitrate, 500000) /*移液臂Can设备波特率*/ \ + marco(float /* */, dvalueCoefficient, 1) /*数值越小,相对消毒时间越长*/ \ + marco(float /* */, disinfectantWeightCorrectionFactor, 0.9) /*数值越小,相对消毒时间越长*/ configTemplateDEFILE_CONFIG_SERVICE2( // GConfig, // diff --git a/src/service/device_io_control_service.cpp b/src/service/device_io_control_service.cpp index 7e84b29..296517c 100644 --- a/src/service/device_io_control_service.cpp +++ b/src/service/device_io_control_service.cpp @@ -17,17 +17,19 @@ using namespace std; #define SPEED_TO_GPM(speed) (speed / 14.7) DeviceIoControlService::DeviceIoControlService() {} -void DeviceIoControlService::initialize() { GET_TO_SERVICE(m_zcanHost); } +void DeviceIoControlService::initialize() { + GET_TO_SERVICE(m_zcanHost); + GET_TO_SERVICE(m_config); +} void DeviceIoControlService::updateDisinfectantVolumeSample(float _pa) { float pa = _pa - 100; // 100当容器中没有液体时的压强 if (pa < 0) pa = 0; - float g = m_volumeConvertor.pressurePa2VolumeG(_pa); - + 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); + + // logger->info("{} pa {} g", _pa, m_disinfectantVolumeSample_g); } void DeviceIoControlService::startScan() { diff --git a/src/service/device_io_control_service.hpp b/src/service/device_io_control_service.hpp index 4a83ebc..373d88e 100644 --- a/src/service/device_io_control_service.hpp +++ b/src/service/device_io_control_service.hpp @@ -20,6 +20,7 @@ // #include "utils/moving_average_filter.hpp" #include "utils/volume_convertor.hpp" +#include "configs/gconfig.hpp" // lock_guard lock(lock_); @@ -48,7 +49,8 @@ class DeviceIoControlService : public enable_shared_from_this m_workThread; shared_ptr m_zcanHost; - unique_ptr m_PressureSensorDataSampleThread; + unique_ptr m_PressureSensorDataSampleThread; + shared_ptr m_config; // // std::mutex lock_;