diff --git a/src/api/cmds/device_state_cmd_impl.cpp b/src/api/cmds/device_state_cmd_impl.cpp index 8d1be75..4170850 100644 --- a/src/api/cmds/device_state_cmd_impl.cpp +++ b/src/api/cmds/device_state_cmd_impl.cpp @@ -4,7 +4,26 @@ using namespace iflytop; json DeviceStateCmdImpl::createSensorDataJson() { json report; + + report["h2o2_sensor_state_1"] = m_deviceIoControlService->H2O2Sensor_readSensorState(0); + report["h2o2_sensor_state_2"] = m_deviceIoControlService->H2O2Sensor_readSensorState(1); + report["h2o2_sensor_state_3"] = m_deviceIoControlService->H2O2Sensor_readSensorState(2); + + report["h2o2_1"] = m_deviceIoControlService->H2O2Sensor_readH2O2PPM(0); + report["temp_1"] = m_deviceIoControlService->H2O2Sensor_readTemperature(0); + report["humid_1"] = m_deviceIoControlService->H2O2Sensor_readHumid(0); + report["saturation_1"] = m_deviceIoControlService->H2O2Sensor_readSaturation(0); //+1是为让曲线不重合 + report["h2o2_2"] = m_deviceIoControlService->H2O2Sensor_readH2O2PPM(1); + report["temp_2"] = m_deviceIoControlService->H2O2Sensor_readTemperature(1); + report["humid_2"] = m_deviceIoControlService->H2O2Sensor_readHumid(1); + report["saturation_2"] = m_deviceIoControlService->H2O2Sensor_readSaturation(1); //+1是为让曲线不重合 + report["h2o2_3"] = m_deviceIoControlService->H2O2Sensor_readH2O2PPM(2); + report["temp_3"] = m_deviceIoControlService->H2O2Sensor_readTemperature(2); + report["humid_3"] = m_deviceIoControlService->H2O2Sensor_readHumid(2); + report["saturation_3"] = m_deviceIoControlService->H2O2Sensor_readSaturation(2); //+1是为让曲线不重合 + #if (defined PROJECT_TYPE_LARGE_SPACE_DISINFECTION) || (defined PROJECT_TYPE_SMALL_SPACE_DISINFECTION) || (defined PROJECT_TYPE_PIPE_DISINFECTION) + report["airCompressor"]["io1"] = m_deviceIoControlService->airCompressor_getio1(); report["airCompressor"]["io2"] = m_deviceIoControlService->airCompressor_getio2(); report["airCompressor"]["currentVal"] = m_deviceIoControlService->airCompressor_getcurrentValue(); @@ -30,24 +49,6 @@ json DeviceStateCmdImpl::createSensorDataJson() { report["EvaporationBinWaterDetection"] = m_deviceIoControlService->getEvaporationBinWaterDetection(); // Water immersion sensor report["disinfectant_volume"] = m_deviceIoControlService->getDisinfectantVolume_g(); -#endif - - report["h2o2_sensor_state_1"] = m_deviceIoControlService->H2O2Sensor_readSensorState(0); - report["h2o2_sensor_state_2"] = m_deviceIoControlService->H2O2Sensor_readSensorState(1); - report["h2o2_sensor_state_3"] = m_deviceIoControlService->H2O2Sensor_readSensorState(2); - - report["h2o2_1"] = m_deviceIoControlService->H2O2Sensor_readH2O2PPM(0); - report["temp_1"] = m_deviceIoControlService->H2O2Sensor_readTemperature(0); - report["humid_1"] = m_deviceIoControlService->H2O2Sensor_readHumid(0); - report["saturation_1"] = m_deviceIoControlService->H2O2Sensor_readSaturation(0); //+1是为让曲线不重合 - report["h2o2_2"] = m_deviceIoControlService->H2O2Sensor_readH2O2PPM(1); - report["temp_2"] = m_deviceIoControlService->H2O2Sensor_readTemperature(1); - report["humid_2"] = m_deviceIoControlService->H2O2Sensor_readHumid(1); - report["saturation_2"] = m_deviceIoControlService->H2O2Sensor_readSaturation(1); //+1是为让曲线不重合 - report["h2o2_3"] = m_deviceIoControlService->H2O2Sensor_readH2O2PPM(2); - report["temp_3"] = m_deviceIoControlService->H2O2Sensor_readTemperature(2); - report["humid_3"] = m_deviceIoControlService->H2O2Sensor_readHumid(2); - report["saturation_3"] = m_deviceIoControlService->H2O2Sensor_readSaturation(2); //+1是为让曲线不重合 #if (defined PROJECT_TYPE_PIPE_DISINFECTION) @@ -57,19 +58,17 @@ json DeviceStateCmdImpl::createSensorDataJson() { report["airCompressor"]["channelIndex"] = m_deviceIoControlService->airCompressor_getChannelIndex(); report["airCompressor"]["pressure"] = m_deviceIoControlService->airCompressor_getPressure(); - report["pressure"][0] = m_deviceIoControlService->getPressureSensorData(1); // 液位 - report["pressure"][1] = m_deviceIoControlService->getPressureSensorData(2); // 空压机压力 - report["pressure"][2] = m_deviceIoControlService->getPressureSensorData(3); // 加液泵 - report["pressure"][3] = m_deviceIoControlService->getPressureSensorData(4); // 喷射泵 -#elif (defined PROJECT_TYPE_DRAW_BAR_BOX) +#endif -#else #endif #if (defined PROJECT_TYPE_DRAW_BAR_BOX) - report["draw_bar_box_disinfection"]["pressure"][0] = m_deviceIoControlService->DBDB__readPressureSensor(1); - report["draw_bar_box_disinfection"]["pressure"][1] = m_deviceIoControlService->DBDB__readPressureSensor(2); - report["draw_bar_box_disinfection"]["pressure"][2] = m_deviceIoControlService->DBDB__readPressureSensor(3); + report["pressure"][0] = m_deviceIoControlService->getPressureSensorData(1); + report["pressure"][1] = m_deviceIoControlService->getPressureSensorData(2); + report["pressure"][2] = m_deviceIoControlService->getPressureSensorData(3); + report["draw_bar_box_disinfection"]["pressure"][0] = m_deviceIoControlService->getPressureSensorData(1); + report["draw_bar_box_disinfection"]["pressure"][1] = m_deviceIoControlService->getPressureSensorData(2); + report["draw_bar_box_disinfection"]["pressure"][2] = m_deviceIoControlService->getPressureSensorData(3); report["draw_bar_box_disinfection"]["heatingStrip"]["current"] = m_deviceIoControlService->DBDB__heaterReadElectricCurrent(); // 电流 report["draw_bar_box_disinfection"]["heatingStrip"]["temperature"] = m_deviceIoControlService->DBDB__heaterReadTemperatureData(); // 温度 #endif diff --git a/src/api/cmds/test_page_cmd_impl.cpp b/src/api/cmds/test_page_cmd_impl.cpp index 2a982bb..4897477 100644 --- a/src/api/cmds/test_page_cmd_impl.cpp +++ b/src/api/cmds/test_page_cmd_impl.cpp @@ -59,7 +59,7 @@ void TestPageCmdImpl::DBDBTestPage__sprayLiquidPump_run(json& cmd, json& receipt void TestPageCmdImpl::DBDBTestPage__readPressureSensor(json& cmd, json& receipt) { int index = jsonGet(cmd["params"]["index"]); - int32_t pressure = m_deviceIoControlService->DBDB__readPressureSensor(index); + int32_t pressure = m_deviceIoControlService->getPressureSensorData(index); receipt["ack"]["pressure"] = pressure; return; } @@ -172,11 +172,14 @@ void TestPageCmdImpl::initialize() { void TestPageCmdImpl::TestPage_printerTest(json& cmd, json& receipt) { logger->info("TestPage_printerTest"); - m_deviceIoControlService->printerPrintf("你好中国\n"); + // m_deviceIoControlService->printerPrintf("test0\n"); + // m_deviceIoControlService->printerPrintf("test1\n"); + // m_deviceIoControlService->printerPrintf("test2\n"); m_deviceIoControlService->printerPrintf("abcdefghijklmnopqrstuvwxyz\n"); m_deviceIoControlService->printerPrintf("ABCDEFGHIJKLMNOPQRSTUVWXYZ\n"); m_deviceIoControlService->printerPrintf("0123456789\n"); m_deviceIoControlService->printerPrintf("+_)(*&^%$#@!~`-=[]\\{}|;':\",./<>?\n"); + m_deviceIoControlService->printerPrintf("你好中国你好中国你好中国你好中国你好中国\n"); m_deviceIoControlService->printerPrintf("\n"); m_deviceIoControlService->printerPrintf("\n"); m_deviceIoControlService->printerPrintf("\n"); diff --git a/src/configs/gconfig.hpp b/src/configs/gconfig.hpp index 98c81e2..65dbf11 100644 --- a/src/configs/gconfig.hpp +++ b/src/configs/gconfig.hpp @@ -22,6 +22,7 @@ marco(int32_t /* */, pipettingRobotCanBitrate, 500000) /*移液臂Can设备波特率*/ \ marco(float /* */, dvalueCoefficient, 2) /*数值越小,相对消毒时间越长*/ \ marco(float /* */, disinfectantWeightCorrectionFactor, 0.8500000238418579) /**/ \ + marco(string /* */, printerUart, "/dev/ttyS5") /**/ \ marco(bool /* */, testMode, false) /**/ configTemplateDEFILE_CONFIG_SERVICE2( // diff --git a/src/main.cpp b/src/main.cpp index f4a04d6..9f6f154 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -49,11 +49,8 @@ int Main::main(int argc, char *argv[]) { BUILD_AND_REG_SERRVICE(UartPrinter); -#ifdef PROJECT_TYPE_DRAW_BAR_BOX - GET_SERVICE(UartPrinter)->initialize("/dev/ttyUSB0", "9600"); -#else - GET_SERVICE(UartPrinter)->initialize("/dev/ttyS5", "9600"); -#endif + GET_SERVICE(UartPrinter)->initialize(GET_SERVICE(GConfig)->get_printerUart(), "9600"); + /** * @brief diff --git a/src/service/device_io_control_service.cpp b/src/service/device_io_control_service.cpp index ad6a0b3..bac174a 100644 --- a/src/service/device_io_control_service.cpp +++ b/src/service/device_io_control_service.cpp @@ -406,6 +406,22 @@ int DeviceIoControlService::sprayLiquidPump_getState() { // return (sprayLiquidPump_getRPM() != 0); } +int DeviceIoControlService::getPressureSensorData(int index) { + lock_guard lock(lock_); + +#if (defined PROJECT_TYPE_LARGE_SPACE_DISINFECTION) || (defined PROJECT_TYPE_SMALL_SPACE_DISINFECTION) || (defined PROJECT_TYPE_PIPE_DISINFECTION) + return m_pressure_sensor_data[index].value; +#elif (defined PROJECT_TYPE_DRAW_BAR_BOX) + int32_t ackcontent = 0; + int ecode = m_zcanHost->call(kcmd_dbdb_liquid_path_ctrl_board_read_pressure_sensor, index, &ackcontent); + if (ecode != 0) { + logger->error("DBDB__readPressureSensor failed {}", ecode); + return 0; + } + return ackcontent; +#endif +} + #if (defined PROJECT_TYPE_LARGE_SPACE_DISINFECTION) || (defined PROJECT_TYPE_SMALL_SPACE_DISINFECTION) || (defined PROJECT_TYPE_PIPE_DISINFECTION) void DeviceIoControlService::airCompressor_setState(bool val) { @@ -505,11 +521,6 @@ int DeviceIoControlService::getDisinfectantVolume_g() { lock_guard lock(lock_); return m_disinfectantVolumeSample_g; } -int DeviceIoControlService::getPressureSensorData(int index) { - lock_guard lock(lock_); - - return m_pressure_sensor_data[index].value; -} int DeviceIoControlService::getDeviceBottomWaterDetectionSensor() { lock_guard lock(lock_); @@ -614,16 +625,8 @@ float DeviceIoControlService::airCompressor_getPressureDirectKpa() { /******************************************************************************* * 拉杆箱消毒机-喷液泵 * *******************************************************************************/ - -int32_t DeviceIoControlService::DBDB__readPressureSensor(int index) { - int32_t ackcontent = 0; - int ecode = m_zcanHost->call(kcmd_dbdb_liquid_path_ctrl_board_read_pressure_sensor, index, &ackcontent); - if (ecode != 0) { - logger->error("DBDB__readPressureSensor failed {}", ecode); - return 0; - } - return ackcontent; -} +#if 0 +#endif int32_t DeviceIoControlService::DBDB__sprayAirCompressorPowerCtrl(int power) { // return m_zcanHost->call(kcmd_dbdb_spray_air_compressor_power_ctrl, power, 1); } diff --git a/src/service/device_io_control_service.hpp b/src/service/device_io_control_service.hpp index eb654a9..df5d015 100644 --- a/src/service/device_io_control_service.hpp +++ b/src/service/device_io_control_service.hpp @@ -126,6 +126,7 @@ class DeviceIoControlService : public IF_DeviceIoContrlService { virtual void sprayLiquidPump_open_for_test(int gpm) override; virtual void sprayLiquidPump_close_for_test() override; + virtual int getPressureSensorData(int index) override; public: #if (defined PROJECT_TYPE_LARGE_SPACE_DISINFECTION) || (defined PROJECT_TYPE_SMALL_SPACE_DISINFECTION) || (defined PROJECT_TYPE_PIPE_DISINFECTION) @@ -186,7 +187,6 @@ class DeviceIoControlService : public IF_DeviceIoContrlService { virtual int getEvaporationBinWaterDetection() override; virtual int getDisinfectantVolume_g() override; // g - virtual int getPressureSensorData(int index) override; virtual void warningLightCtrl(int r, int g, int b, int w) override; @@ -211,7 +211,6 @@ class DeviceIoControlService : public IF_DeviceIoContrlService { * 拉杆箱消毒机-喷液泵 * *******************************************************************************/ - virtual int32_t DBDB__readPressureSensor(int index) override; virtual int32_t DBDB__sprayAirCompressorPowerCtrl(int index) override; virtual int32_t DBDB__airTightnessTestAirCompressorPowerCtrl(int index) override; diff --git a/src/service/device_io_control_service_test.cpp b/src/service/device_io_control_service_test.cpp index b623b7c..d35fdeb 100644 --- a/src/service/device_io_control_service_test.cpp +++ b/src/service/device_io_control_service_test.cpp @@ -100,6 +100,9 @@ int DeviceIoControlServiceTest::sprayLiquidPump_getGPM() { return sprayLiquidPu void DeviceIoControlServiceTest::sprayLiquidPump_open_for_test(int gpm) { sprayLiquidPump_rpm = gpm; } void DeviceIoControlServiceTest::sprayLiquidPump_close_for_test() { sprayLiquidPump_rpm = 0; } +int DeviceIoControlServiceTest::getPressureSensorData(int index) { return rand()%1000; } // g + + /******************************************************************************* * 加热片控制 * *******************************************************************************/ @@ -194,7 +197,6 @@ void DeviceIoControlServiceTest::selfTest_setEvaporationBinWaterDetection(int va } int DeviceIoControlServiceTest::getDisinfectantVolume_g() { return 123; } // 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); } #endif @@ -261,7 +263,6 @@ int32_t DeviceIoControlServiceTest::AirProportionalValve_isBusy(int32_t* isbusy) * 拉杆箱消毒机-喷液泵 * *******************************************************************************/ -int32_t DeviceIoControlServiceTest::DBDB__readPressureSensor(int index) { return index; } int32_t DeviceIoControlServiceTest::DBDB__sprayAirCompressorPowerCtrl(int power) { logger->info("DBDB__sprayAirCompressorPowerCtrl power:{}", power); return 0; diff --git a/src/service/device_io_control_service_test.hpp b/src/service/device_io_control_service_test.hpp index bb73780..46d8c48 100644 --- a/src/service/device_io_control_service_test.hpp +++ b/src/service/device_io_control_service_test.hpp @@ -70,6 +70,7 @@ class DeviceIoControlServiceTest : public IF_DeviceIoContrlService { virtual void sprayLiquidPump_open_for_test(int gpm) override; virtual void sprayLiquidPump_close_for_test() override; + virtual int getPressureSensorData(int index) override; #if (defined PROJECT_TYPE_LARGE_SPACE_DISINFECTION) || (defined PROJECT_TYPE_SMALL_SPACE_DISINFECTION) || (defined PROJECT_TYPE_PIPE_DISINFECTION) @@ -119,7 +120,6 @@ class DeviceIoControlServiceTest : public IF_DeviceIoContrlService { void selfTest_setEvaporationBinWaterDetection(int val); virtual int getDisinfectantVolume_g() override; // g - virtual int getPressureSensorData(int index) override; virtual void warningLightCtrl(int r, int g, int b, int w) override; @@ -156,7 +156,6 @@ class DeviceIoControlServiceTest : public IF_DeviceIoContrlService { * 拉杆箱消毒机-喷液泵 * *******************************************************************************/ - virtual int32_t DBDB__readPressureSensor(int index) override; virtual int32_t DBDB__sprayAirCompressorPowerCtrl(int index) override; virtual int32_t DBDB__airTightnessTestAirCompressorPowerCtrl(int index) override; diff --git a/src/service/if_devoce_io_contrl_service.hpp b/src/service/if_devoce_io_contrl_service.hpp index 714a76d..d520215 100644 --- a/src/service/if_devoce_io_contrl_service.hpp +++ b/src/service/if_devoce_io_contrl_service.hpp @@ -76,7 +76,10 @@ class IF_DeviceIoContrlService { virtual void sprayLiquidPump_open_for_test(int gpm) = 0; virtual void sprayLiquidPump_close_for_test() = 0; - + /******************************************************************************* + * 压力传感器 * + *******************************************************************************/ + virtual int getPressureSensorData(int index) = 0; #if (defined PROJECT_TYPE_LARGE_SPACE_DISINFECTION) || (defined PROJECT_TYPE_SMALL_SPACE_DISINFECTION) || (defined PROJECT_TYPE_PIPE_DISINFECTION) @@ -130,10 +133,7 @@ class IF_DeviceIoContrlService { ******************************************************************************/ virtual int getDisinfectantVolume_g() = 0; // g - /******************************************************************************* - * 压力传感器 * - *******************************************************************************/ - virtual int getPressureSensorData(int index) = 0; + /******************************************************************************* * 报警指示灯 * @@ -175,7 +175,6 @@ class IF_DeviceIoContrlService { * 拉杆箱消毒机-喷液泵 * *******************************************************************************/ - virtual int32_t DBDB__readPressureSensor(int index) = 0; virtual int32_t DBDB__sprayAirCompressorPowerCtrl(int index) = 0; virtual int32_t DBDB__airTightnessTestAirCompressorPowerCtrl(int index) = 0;