diff --git a/src/configs/project_setting.hpp b/src/configs/project_setting.hpp index fac8c71..37d7436 100644 --- a/src/configs/project_setting.hpp +++ b/src/configs/project_setting.hpp @@ -7,4 +7,17 @@ #define REG_REBOOT_FLAG 0x0000 // 重启标识 #define REG_DEVICE_ID 0x0001 // 重启标识 -#define REG_EXCEPTION_FLAG 0x0100 // 异常标志位 \ No newline at end of file +#define REG_EXCEPTION_FLAG 0x0100 // 异常标志位 + +// #define PROJECT_TYPE_LARGE_SPACE_DISINFECTION 1 // 大空间 +#define PROJECT_TYPE_SMALL_SPACE_DISINFECTION 1 // 小空间 + +#ifdef PROJECT_TYPE_SMALL_SPACE_DISINFECTION +#define DISINFECTANT_BUCKET_CAPACITY 2300 +#define PROJECT_NAME "small_space_disinfection" +#endif + +#ifdef PROJECT_TYPE_LARGE_SPACE_DISINFECTION +#define DISINFECTANT_BUCKET_CAPACITY 2300 +#define PROJECT_NAME "large_space_disinfection" +#endif diff --git a/src/main.cpp b/src/main.cpp index ffcaa10..1a1b5c7 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2,6 +2,7 @@ #include #include +#include "iflytop/components/uart_printer/uart_printer.hpp" using namespace iflytop; using namespace core; @@ -31,7 +32,7 @@ int Main::main(int argc, char *argv[]) { * @brief 解析命令行参数 */ string test_mode = "false"; - auto cli = ((required("--test_mode") & value("test_mode", test_mode)).doc("test_mode")); + auto cli = ((required("--test_mode") & value("test_mode", test_mode)).doc("test_mode")); if (!parse(argc, argv, cli)) { test_mode = "false"; // cout << make_man_page(cli, argv[0]); @@ -52,12 +53,16 @@ int Main::main(int argc, char *argv[]) { logger->info("#"); logger->info("# company:{}", "ifytop"); logger->info("# version:{}", VERSION); + logger->info("# project:{}", PROJECT_NAME); logger->info("#"); logger->info("build {}.....", "Config"); // 构造GConfig BUILD_AND_REG_SERRVICE(GConfig); GET_SERVICE(GConfig)->initialize(); + BUILD_AND_REG_SERRVICE(UartPrinter); + GET_SERVICE(UartPrinter)->initialize("/dev/ttyS5", "9600"); + /** * @brief */ diff --git a/src/service/device_io_control_service.cpp b/src/service/device_io_control_service.cpp index e4d0fa7..084839d 100644 --- a/src/service/device_io_control_service.cpp +++ b/src/service/device_io_control_service.cpp @@ -1,4 +1,11 @@ #include "device_io_control_service.hpp" +#include +#include +#include +#include + +#include "iflytop/components/uart_printer/uart_printer.hpp" +#include "iflytoplinuxsdk/src/iflytop/components/ziconv.hpp" using namespace iflytop; using namespace std; @@ -405,3 +412,6 @@ void DeviceIoControlService::warningLightCtrl(int r, int g, int b, int w) { lock_guard lock(lock_); m_zcanHost->warning_light_ctrl_c1002(1, r, g, b, w); } + +void DeviceIoControlService::printerTest() {} +void DeviceIoControlService::printerPrintf(string str) { GET_SERVICE(UartPrinter)->print(ZIconv::utf8_to_gb2312(str)); } \ No newline at end of file diff --git a/src/service/device_io_control_service.hpp b/src/service/device_io_control_service.hpp index dbf5721..1987c9a 100644 --- a/src/service/device_io_control_service.hpp +++ b/src/service/device_io_control_service.hpp @@ -77,6 +77,9 @@ class DeviceIoControlService : public enable_shared_from_this +#include "configs/project_setting.hpp" namespace iflytop { #define PI 3.14159265358979323846 @@ -30,7 +31,29 @@ class VolumeConvertor { * |rb| * */ +#ifdef PROJECT_TYPE_SMALL_SPACE_DISINFECTION + float container_h4 = 1.8569; + float container_ru4 = 0.67; + float container_rb4 = 0.67; + + float container_h3 = 0.15; + float container_ru3 = 0.67; + float container_rb3 = 0.52; + + float container_h2 = 0.0976; + float container_ru2 = 0.52; + float container_rb2 = 0.52; + + float container_h1 = 0.0411; + float container_ru1 = 0.52; + float container_rb1 = 0.05; + + float density = 1000; // kg/m^3 + +#endif + +#ifdef PROJECT_TYPE_LARGE_SPACE_DISINFECTION float container_h4 = 2.2069; float container_ru4 = 0.82; float container_rb4 = 0.82; @@ -49,6 +72,8 @@ class VolumeConvertor { float density = 1000; // kg/m^3 +#endif + public: float pressurePa2VolumeG(float _pa); diff --git a/储液桶分段体积计算.pdf b/储液桶分段体积计算.pdf new file mode 100755 index 0000000..e754c38 Binary files /dev/null and b/储液桶分段体积计算.pdf differ