From 457998ff96b06cd5465306ac53f528e4b1a4432e Mon Sep 17 00:00:00 2001 From: zhaohe Date: Sat, 9 Sep 2023 14:58:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B5=8B=E8=AF=95=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.cpp | 16 ++++++++-------- src/main_control_service.cpp | 17 +++++++++++------ src/service/device_io_control_service_test.cpp | 16 ++++++++++++++-- src/service/disinfection_ctl_service.cpp | 2 +- 4 files changed, 34 insertions(+), 17 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 9f506a0..60de446 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -8,7 +8,7 @@ using namespace core; using namespace std; namespace iflytop { -bool g_preheat = false; +bool g_in_test = false; }; /******************************************************************************* @@ -30,19 +30,19 @@ int Main::main(int argc, char *argv[]) { /** * @brief 解析命令行参数 */ - string preheat; - auto cli = ((required("--preheat") & value("preheat", preheat)).doc("preheat")); + string test_mode; + auto cli = ((required("--test_mode") & value("test_mode", test_mode)).doc("test_mode")); if (!parse(argc, argv, cli)) { - preheat = "true"; + test_mode = "true"; // cout << make_man_page(cli, argv[0]); // exit(-1); } - if (preheat == "false") { - g_preheat = false; + if (test_mode == "false") { + g_in_test = false; } else { - g_preheat = true; + g_in_test = true; } - logger->info("preheat:{}:{}", preheat, g_preheat); + logger->info("test_mode:{}:{}", test_mode, g_in_test); /** * @brief 系统初始化 diff --git a/src/main_control_service.cpp b/src/main_control_service.cpp index 4115082..215f2de 100644 --- a/src/main_control_service.cpp +++ b/src/main_control_service.cpp @@ -10,9 +10,12 @@ using namespace iflytop; using namespace core; using namespace std; using namespace nlohmann; - #define BIND +namespace iflytop { +extern bool g_in_test; +}; + static void getJsonValFromJson(json j, int& val) { if (j.is_string()) { string valstr = j; @@ -62,11 +65,13 @@ void MainControlService::initialize() { GET_SERVICE(DisinfectionLogsManager)->initialize(); GET_TO_SERVICE(m_disinfectionLogsManager); -#if 0 - BUILD_AND_REG_SERRVICE(DeviceIoControlService); -#else - REG_SERRVICE(DeviceIoControlService, new DeviceIoControlServiceTest()); -#endif + if (!g_in_test) { + BUILD_AND_REG_SERRVICE(DeviceIoControlService); + + } else { + REG_SERRVICE(DeviceIoControlService, new DeviceIoControlServiceTest()); + } + GET_SERVICE(DeviceIoControlService)->initialize(); GET_TO_SERVICE(m_deviceIoControlService); diff --git a/src/service/device_io_control_service_test.cpp b/src/service/device_io_control_service_test.cpp index a88bf84..0ebef84 100644 --- a/src/service/device_io_control_service_test.cpp +++ b/src/service/device_io_control_service_test.cpp @@ -155,8 +155,20 @@ void DeviceIoControlServiceTest::sprayLiquidPump_close_for_test() { sprayLiquidPump_state = false; } -int DeviceIoControlServiceTest::sprayLiquidPump_getRPM() { return 300; } -int DeviceIoControlServiceTest::sprayLiquidPump_getGPM() { return 30; } +int DeviceIoControlServiceTest::sprayLiquidPump_getRPM() { + if (sprayLiquidPump_state) { + return 300; + } else { + return 0; + } +} +int DeviceIoControlServiceTest::sprayLiquidPump_getGPM() { + if (sprayLiquidPump_state) { + return 30; + } else { + return 0; + } +} int DeviceIoControlServiceTest::sprayLiquidPump_getState() { // return (sprayLiquidPump_getRPM() != 0); diff --git a/src/service/disinfection_ctl_service.cpp b/src/service/disinfection_ctl_service.cpp index a715a65..b3de7ca 100644 --- a/src/service/disinfection_ctl_service.cpp +++ b/src/service/disinfection_ctl_service.cpp @@ -247,7 +247,7 @@ void DisinfectionCtrlService::processPreheatState(DisinfectionContext& context) int hasstarttime = zsteady_clock().elapsedTimeS(context.m_starttp); // logger->info("preheat {}", context.m_disinfectionID); - if ((context.m_state == kpreheat && hasstarttime > m_context.pre_heat_time_s) || !g_preheat) { + if ((context.m_state == kpreheat && hasstarttime > m_context.pre_heat_time_s) ) { logger->info("preheat finished {}", context.m_disinfectionID); // blower_setPower(true); m_deviceIoControlService->airBlower_setState(true);