Browse Source

添加测试模式

master
zhaohe 2 years ago
parent
commit
457998ff96
  1. 16
      src/main.cpp
  2. 17
      src/main_control_service.cpp
  3. 16
      src/service/device_io_control_service_test.cpp
  4. 2
      src/service/disinfection_ctl_service.cpp

16
src/main.cpp

@ -8,7 +8,7 @@ using namespace core;
using namespace std; using namespace std;
namespace iflytop { namespace iflytop {
bool g_preheat = false;
bool g_in_test = false;
}; };
/******************************************************************************* /*******************************************************************************
@ -30,19 +30,19 @@ int Main::main(int argc, char *argv[]) {
/** /**
* @brief * @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)) { if (!parse(argc, argv, cli)) {
preheat = "true";
test_mode = "true";
// cout << make_man_page(cli, argv[0]); // cout << make_man_page(cli, argv[0]);
// exit(-1); // exit(-1);
} }
if (preheat == "false") {
g_preheat = false;
if (test_mode == "false") {
g_in_test = false;
} else { } else {
g_preheat = true;
g_in_test = true;
} }
logger->info("preheat:{}:{}", preheat, g_preheat);
logger->info("test_mode:{}:{}", test_mode, g_in_test);
/** /**
* @brief * @brief

17
src/main_control_service.cpp

@ -10,9 +10,12 @@ using namespace iflytop;
using namespace core; using namespace core;
using namespace std; using namespace std;
using namespace nlohmann; using namespace nlohmann;
#define BIND #define BIND
namespace iflytop {
extern bool g_in_test;
};
static void getJsonValFromJson(json j, int& val) { static void getJsonValFromJson(json j, int& val) {
if (j.is_string()) { if (j.is_string()) {
string valstr = j; string valstr = j;
@ -62,11 +65,13 @@ void MainControlService::initialize() {
GET_SERVICE(DisinfectionLogsManager)->initialize(); GET_SERVICE(DisinfectionLogsManager)->initialize();
GET_TO_SERVICE(m_disinfectionLogsManager); 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_SERVICE(DeviceIoControlService)->initialize();
GET_TO_SERVICE(m_deviceIoControlService); GET_TO_SERVICE(m_deviceIoControlService);

16
src/service/device_io_control_service_test.cpp

@ -155,8 +155,20 @@ void DeviceIoControlServiceTest::sprayLiquidPump_close_for_test() {
sprayLiquidPump_state = false; 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() { // int DeviceIoControlServiceTest::sprayLiquidPump_getState() { //
return (sprayLiquidPump_getRPM() != 0); return (sprayLiquidPump_getRPM() != 0);

2
src/service/disinfection_ctl_service.cpp

@ -247,7 +247,7 @@ void DisinfectionCtrlService::processPreheatState(DisinfectionContext& context)
int hasstarttime = zsteady_clock().elapsedTimeS(context.m_starttp); int hasstarttime = zsteady_clock().elapsedTimeS(context.m_starttp);
// logger->info("preheat {}", context.m_disinfectionID); // 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); logger->info("preheat finished {}", context.m_disinfectionID);
// blower_setPower(true); // blower_setPower(true);
m_deviceIoControlService->airBlower_setState(true); m_deviceIoControlService->airBlower_setState(true);

Loading…
Cancel
Save