Browse Source

update

storage-in-realtime
zhaohe 1 year ago
parent
commit
acb7d396ce
  1. 4
      src/configs/project_setting.hpp
  2. 7
      src/main_control_service.cpp
  3. 36
      src/service/device_io_control_service.hpp
  4. 64
      src/service/device_io_control_service_test.cpp
  5. 28
      src/service/device_io_control_service_test.hpp
  6. 34
      src/service/if_devoce_io_contrl_service.hpp

4
src/configs/project_setting.hpp

@ -10,8 +10,8 @@
#define REG_EXCEPTION_FLAG 0x0100 // 异常标志位 #define REG_EXCEPTION_FLAG 0x0100 // 异常标志位
// #define PROJECT_TYPE_LARGE_SPACE_DISINFECTION 1 // 大空间 // #define PROJECT_TYPE_LARGE_SPACE_DISINFECTION 1 // 大空间
#define PROJECT_TYPE_SMALL_SPACE_DISINFECTION 1 // 小空间
// #define PROJECT_TYPE_PIPE_DISINFECTION 1 // 管道消毒机
// #define PROJECT_TYPE_SMALL_SPACE_DISINFECTION 1 // 小空间
#define PROJECT_TYPE_PIPE_DISINFECTION 1 // 管道消毒机
#ifdef PROJECT_TYPE_SMALL_SPACE_DISINFECTION #ifdef PROJECT_TYPE_SMALL_SPACE_DISINFECTION
#define DISINFECTANT_BUCKET_CAPACITY 2300 #define DISINFECTANT_BUCKET_CAPACITY 2300

7
src/main_control_service.cpp

@ -1,5 +1,6 @@
#include "main_control_service.hpp" #include "main_control_service.hpp"
#include "api/cmds/pipeline_disinfection_cmd_append.hpp"
#include "configs/project_setting.hpp" #include "configs/project_setting.hpp"
#include "iflytop/components/zcanreceiver/zcanreceiverhost.hpp" #include "iflytop/components/zcanreceiver/zcanreceiverhost.hpp"
#include "iflytop/core/components/stringutils.hpp" #include "iflytop/core/components/stringutils.hpp"
@ -87,6 +88,9 @@ void MainControlService::initialize() {
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); BUILD_AND_REG_SERRVICE(SelfTestCmdImpl);
#ifdef PROJECT_TYPE_PIPE_DISINFECTION
BUILD_AND_REG_SERRVICE(PipelineDisinfectionCmdAppend);
#endif
GET_SERVICE(DeviceStateCmdImpl)->initialize(); GET_SERVICE(DeviceStateCmdImpl)->initialize();
GET_SERVICE(DisinfectionCmdImpl)->initialize(); GET_SERVICE(DisinfectionCmdImpl)->initialize();
@ -96,4 +100,7 @@ void MainControlService::initialize() {
GET_SERVICE(TestPageCmdImpl)->initialize(); GET_SERVICE(TestPageCmdImpl)->initialize();
GET_SERVICE(UserCmdImpl)->initialize(); GET_SERVICE(UserCmdImpl)->initialize();
GET_SERVICE(SelfTestCmdImpl)->initialize(); GET_SERVICE(SelfTestCmdImpl)->initialize();
#ifdef PROJECT_TYPE_PIPE_DISINFECTION
GET_SERVICE(PipelineDisinfectionCmdAppend)->initialize();
#endif
}; };

36
src/service/device_io_control_service.hpp

@ -90,9 +90,9 @@ class DeviceIoControlService : public IF_DeviceIoContrlService {
int32_t m_AirInletProportionalValve_state = 0; int32_t m_AirInletProportionalValve_state = 0;
int32_t m_AirOutletProportionalValve_state = 0; int32_t m_AirOutletProportionalValve_state = 0;
int32_t m_airCompressor_valve1State = 0;
int32_t m_airCompressor_valve2State = 0;
int32_t m_airCompressor_channelIndex = 0;
int32_t m_airCompressor_valve1State = 0;
int32_t m_airCompressor_valve2State = 0;
int32_t m_airCompressor_channelIndex = 0;
#endif #endif
public: public:
@ -139,14 +139,14 @@ class DeviceIoControlService : public IF_DeviceIoContrlService {
virtual int airCompressor_getcurrentValue() override; virtual int airCompressor_getcurrentValue() override;
#ifdef PROJECT_TYPE_PIPE_DISINFECTION #ifdef PROJECT_TYPE_PIPE_DISINFECTION
virtual int airCompressor_channelSelect(int32_t val);
virtual int airCompressor_getChannelIndex();
virtual int airCompressor_setValve1(int32_t val); // 0关闭通道 1打开通道
virtual int airCompressor_setValve2(int32_t val); // 0关闭通道 1打开通道
virtual int airCompressor_getValve1();
virtual int airCompressor_getValve2();
virtual float airCompressor_getPressure();
virtual float airCompressor_getPressureDirect();
virtual int airCompressor_channelSelect(int32_t val) override;
virtual int airCompressor_getChannelIndex() override;
virtual int airCompressor_setValve1(int32_t val) override; // 0关闭通道 1打开通道
virtual int airCompressor_setValve2(int32_t val) override; // 0关闭通道 1打开通道
virtual int airCompressor_getValve1() override;
virtual int airCompressor_getValve2() override;
virtual float airCompressor_getPressure() override;
virtual float airCompressor_getPressureDirect() override;
#endif #endif
/******************************************************************************* /*******************************************************************************
@ -188,15 +188,15 @@ class DeviceIoControlService : public IF_DeviceIoContrlService {
/******************************************************************************* /*******************************************************************************
* * * *
*******************************************************************************/ *******************************************************************************/
virtual void AirInletProportionalValve_setState(int32_t val);
virtual void AirOutletProportionalValve_setState(int32_t val);
virtual void AirInletProportionalValve_setState(int32_t val) override;
virtual void AirOutletProportionalValve_setState(int32_t val) override;
virtual int32_t AirInletProportionalValve_getState();
virtual int32_t AirOutletProportionalValve_getState();
virtual int32_t AirInletProportionalValve_getState() override;
virtual int32_t AirOutletProportionalValve_getState() override;
virtual int32_t AirProportionalValve_setState(int32_t inlet, int32_t outlet);
virtual int32_t AirProportionalValve_getState(int32_t* inlet, int32_t* outlet);
virtual int32_t AirProportionalValve_isBusy(int32_t* isbusy);
virtual int32_t AirProportionalValve_setState(int32_t inlet, int32_t outlet) override;
virtual int32_t AirProportionalValve_getState(int32_t* inlet, int32_t* outlet) override;
virtual int32_t AirProportionalValve_isBusy(int32_t* isbusy) override;
#endif #endif
private: private:

64
src/service/device_io_control_service_test.cpp

@ -1,8 +1,8 @@
#include "device_io_control_service_test.hpp" #include "device_io_control_service_test.hpp"
#include "iflytop/components/uart_printer/uart_printer.hpp" #include "iflytop/components/uart_printer/uart_printer.hpp"
#include "iflytoplinuxsdk/src/iflytop/components/ziconv.hpp" #include "iflytoplinuxsdk/src/iflytop/components/ziconv.hpp"
using namespace iflytop; using namespace iflytop;
using namespace std; using namespace std;
@ -10,7 +10,7 @@ using namespace std;
void DeviceIoControlServiceTest::printerPrintf(string str) { // void DeviceIoControlServiceTest::printerPrintf(string str) { //
logger->info("PP:{}", str); logger->info("PP:{}", str);
GET_SERVICE(UartPrinter)->print(ZIconv::utf8_to_gb2312(str));
GET_SERVICE(UartPrinter)->print(ZIconv::utf8_to_gb2312(str));
} }
int32_t DeviceIoControlServiceTest::H2O2Sensor_readH2O2PPM(int32_t sensorid) { return 300 + rand() % 1000; } int32_t DeviceIoControlServiceTest::H2O2Sensor_readH2O2PPM(int32_t sensorid) { return 300 + rand() % 1000; }
@ -112,4 +112,62 @@ int DeviceIoControlServiceTest::getWaterImmersionSensor1() { return 0; }
int DeviceIoControlServiceTest::getWaterImmersionSensor2() { return 1; } int DeviceIoControlServiceTest::getWaterImmersionSensor2() { return 1; }
int DeviceIoControlServiceTest::getDisinfectantVolume_g() { return 123; } // g int DeviceIoControlServiceTest::getDisinfectantVolume_g() { return 123; } // g
int DeviceIoControlServiceTest::getPressureSensorData(int index) { return 456; } // g int DeviceIoControlServiceTest::getPressureSensorData(int index) { return 456; } // g
void DeviceIoControlServiceTest::warningLightCtrl(int r, int g, int b, int w) { logger->info("warningLightCtrl r:{} g:{} b:{} w:{}", r, g, b, w); }
void DeviceIoControlServiceTest::warningLightCtrl(int r, int g, int b, int w) { logger->info("warningLightCtrl r:{} g:{} b:{} w:{}", r, g, b, w); }
#ifdef PROJECT_TYPE_PIPE_DISINFECTION
/*******************************************************************************
* *
*******************************************************************************/
int32_t m_AirInletProportionalValve_state = 0;
int32_t m_AirOutletProportionalValve_state = 0;
int32_t m_airCompressor_valve1State = 0;
int32_t m_airCompressor_valve2State = 0;
int32_t m_airCompressor_channelIndex = 0;
#endif
#ifdef PROJECT_TYPE_PIPE_DISINFECTION
int DeviceIoControlServiceTest::airCompressor_channelSelect(int32_t val) {
m_airCompressor_channelIndex = val;
return 0;
}
int DeviceIoControlServiceTest::airCompressor_getChannelIndex() { return m_airCompressor_channelIndex; }
int DeviceIoControlServiceTest::airCompressor_setValve1(int32_t val) {
m_airCompressor_valve1State = val;
return 0;
}
int DeviceIoControlServiceTest::airCompressor_setValve2(int32_t val) {
m_airCompressor_valve2State = val;
return 0;
}
int DeviceIoControlServiceTest::airCompressor_getValve1() { return m_airCompressor_valve1State; }
int DeviceIoControlServiceTest::airCompressor_getValve2() { return m_airCompressor_valve2State; }
float DeviceIoControlServiceTest::airCompressor_getPressure() { return 123.0; }
float DeviceIoControlServiceTest::airCompressor_getPressureDirect() { return 123.0; }
#endif
#ifdef PROJECT_TYPE_PIPE_DISINFECTION
/*******************************************************************************
* *
*******************************************************************************/
void DeviceIoControlServiceTest::AirInletProportionalValve_setState(int32_t val) { m_AirInletProportionalValve_state = val; }
void DeviceIoControlServiceTest::AirOutletProportionalValve_setState(int32_t val) { m_AirOutletProportionalValve_state = val; }
int32_t DeviceIoControlServiceTest::AirInletProportionalValve_getState() { return m_AirInletProportionalValve_state; }
int32_t DeviceIoControlServiceTest::AirOutletProportionalValve_getState() { return m_AirOutletProportionalValve_state; }
int32_t DeviceIoControlServiceTest::AirProportionalValve_setState(int32_t inlet, int32_t outlet) {
m_AirInletProportionalValve_state = inlet;
m_AirOutletProportionalValve_state = outlet;
return 0;
}
int32_t DeviceIoControlServiceTest::AirProportionalValve_getState(int32_t* inlet, int32_t* outlet) {
*inlet = m_AirInletProportionalValve_state;
*outlet = m_AirOutletProportionalValve_state;
return 0;
}
int32_t DeviceIoControlServiceTest::AirProportionalValve_isBusy(int32_t* isbusy) {
*isbusy = 0;
return 0;
}
#endif

28
src/service/device_io_control_service_test.hpp

@ -82,7 +82,7 @@ class DeviceIoControlServiceTest : public IF_DeviceIoContrlService {
/******************************************************************************* /*******************************************************************************
* * * *
*******************************************************************************/ *******************************************************************************/
virtual int drainingPump_getRPM() override;
virtual int drainingPump_getRPM() override;
virtual void drainingPump_open() override; virtual void drainingPump_open() override;
virtual void drainingPump_close() override; virtual void drainingPump_close() override;
@ -113,5 +113,31 @@ class DeviceIoControlServiceTest : public IF_DeviceIoContrlService {
virtual int getPressureSensorData(int index) override; virtual int getPressureSensorData(int index) override;
virtual void warningLightCtrl(int r, int g, int b, int w) override; virtual void warningLightCtrl(int r, int g, int b, int w) override;
#ifdef PROJECT_TYPE_PIPE_DISINFECTION
virtual int airCompressor_channelSelect(int32_t val) override;
virtual int airCompressor_getChannelIndex() override;
virtual int airCompressor_setValve1(int32_t val) override; // 0关闭通道 1打开通道
virtual int airCompressor_setValve2(int32_t val) override; // 0关闭通道 1打开通道
virtual int airCompressor_getValve1() override;
virtual int airCompressor_getValve2() override;
virtual float airCompressor_getPressure() override;
virtual float airCompressor_getPressureDirect() override;
#endif
#ifdef PROJECT_TYPE_PIPE_DISINFECTION
/*******************************************************************************
* *
*******************************************************************************/
virtual void AirInletProportionalValve_setState(int32_t val) override;
virtual void AirOutletProportionalValve_setState(int32_t val) override;
virtual int32_t AirInletProportionalValve_getState() override;
virtual int32_t AirOutletProportionalValve_getState() override;
virtual int32_t AirProportionalValve_setState(int32_t inlet, int32_t outlet) override;
virtual int32_t AirProportionalValve_getState(int32_t* inlet, int32_t* outlet) override;
virtual int32_t AirProportionalValve_isBusy(int32_t* isbusy) override;
#endif
}; };
} // namespace iflytop } // namespace iflytop

34
src/service/if_devoce_io_contrl_service.hpp

@ -60,10 +60,10 @@ class IF_DeviceIoContrlService {
virtual void printerPrintf(string str) = 0; virtual void printerPrintf(string str) = 0;
public: public:
virtual int32_t H2O2Sensor_readH2O2PPM(int32_t sensorid) = 0;
virtual int32_t H2O2Sensor_readHumid(int32_t sensorid) = 0;
virtual int32_t H2O2Sensor_readTemperature(int32_t sensorid) = 0;
virtual int32_t H2O2Sensor_readSaturation(int32_t sensorid) = 0;
virtual int32_t H2O2Sensor_readH2O2PPM(int32_t sensorid) = 0;
virtual int32_t H2O2Sensor_readHumid(int32_t sensorid) = 0;
virtual int32_t H2O2Sensor_readTemperature(int32_t sensorid) = 0;
virtual int32_t H2O2Sensor_readSaturation(int32_t sensorid) = 0;
/******************************************************************************* /*******************************************************************************
* * * *
@ -139,5 +139,31 @@ class IF_DeviceIoContrlService {
*******************************************************************************/ *******************************************************************************/
virtual void warningLightCtrl(int r, int g, int b, int w) = 0; virtual void warningLightCtrl(int r, int g, int b, int w) = 0;
#ifdef PROJECT_TYPE_PIPE_DISINFECTION
virtual int airCompressor_channelSelect(int32_t val) = 0;
virtual int airCompressor_getChannelIndex() = 0;
virtual int airCompressor_setValve1(int32_t val) = 0; // 0关闭通道 1打开通道
virtual int airCompressor_setValve2(int32_t val) = 0; // 0关闭通道 1打开通道
virtual int airCompressor_getValve1() = 0;
virtual int airCompressor_getValve2() = 0;
virtual float airCompressor_getPressure() = 0;
virtual float airCompressor_getPressureDirect() = 0;
#endif
#ifdef PROJECT_TYPE_PIPE_DISINFECTION
/*******************************************************************************
* *
*******************************************************************************/
virtual void AirInletProportionalValve_setState(int32_t val) = 0;
virtual void AirOutletProportionalValve_setState(int32_t val) = 0;
virtual int32_t AirInletProportionalValve_getState() = 0;
virtual int32_t AirOutletProportionalValve_getState() = 0;
virtual int32_t AirProportionalValve_setState(int32_t inlet, int32_t outlet) = 0;
virtual int32_t AirProportionalValve_getState(int32_t* inlet, int32_t* outlet) = 0;
virtual int32_t AirProportionalValve_isBusy(int32_t* isbusy) = 0;
#endif
}; };
} // namespace iflytop } // namespace iflytop
Loading…
Cancel
Save