You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

94 lines
2.8 KiB

1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
  1. //
  2. // Created by zwsd
  3. //
  4. #pragma once
  5. #include <fstream>
  6. #include <iostream>
  7. #include <list>
  8. #include <map>
  9. #include <memory>
  10. #include <mutex>
  11. #include <set>
  12. #include <sstream>
  13. #include <string>
  14. #include <vector>
  15. #include "disfection_ctl/add_liquid_service.hpp"
  16. #include "disfection_ctl/disinfection_service.hpp"
  17. #include "disfection_ctl/disinfection_state.hpp"
  18. #include "disfection_ctl/drain_liquid_service.hpp"
  19. /**
  20. * @brief
  21. *
  22. * service: DisinfectionCtrlService
  23. *
  24. * :
  25. * :
  26. * :
  27. * :
  28. *
  29. */
  30. namespace iflytop {
  31. using namespace std;
  32. using namespace core;
  33. class DisinfectionCtrlService : public enable_shared_from_this<DisinfectionCtrlService> {
  34. ENABLE_LOGGER(DisinfectionCtrlService);
  35. private:
  36. recursive_mutex lock_;
  37. shared_ptr<AddLiquidService> m_addLiquidService;
  38. shared_ptr<DrainLiquidService> m_drainLiquidService;
  39. shared_ptr<DisinfectionService> m_disinfectionService;
  40. public:
  41. DisinfectionCtrlService() {}
  42. public:
  43. void initialize() {
  44. m_addLiquidService = make_shared<AddLiquidService>();
  45. m_drainLiquidService = make_shared<DrainLiquidService>();
  46. m_disinfectionService = make_shared<DisinfectionService>();
  47. m_addLiquidService->initialize();
  48. m_drainLiquidService->initialize();
  49. m_disinfectionService->initialize();
  50. }
  51. shared_ptr<AddLiquidService> getAddLiquidService() { return m_addLiquidService; }
  52. shared_ptr<DrainLiquidService> getDrainLiquidService() { return m_drainLiquidService; }
  53. shared_ptr<DisinfectionService> getDisinfectionService() { return m_disinfectionService; }
  54. void startDisinfection(int loglevel, //
  55. int injection_pump_speed, //
  56. int stoped_gs, //
  57. int continued_gs, //
  58. int stoped_satur, //
  59. int continued_satur, //
  60. int stoped_humi, //
  61. int continued_humi //
  62. );
  63. void changeDisinfectionParameter(int injection_pump_speed, //
  64. int stoped_gs, //
  65. int continued_gs, //
  66. int stoped_satur, //
  67. int continued_satur, //
  68. int stoped_humi, //
  69. int continued_humi //
  70. );
  71. void stopDisinfection();
  72. #if (defined PROJECT_TYPE_LARGE_SPACE_DISINFECTION) || (defined PROJECT_TYPE_SMALL_SPACE_DISINFECTION) || (defined PROJECT_TYPE_PIPE_DISINFECTION)
  73. void startReplenishingFluids(int stopatg);
  74. void stopReplenishingFluids();
  75. void startDraining();
  76. void stopDraining();
  77. #endif
  78. private:
  79. };
  80. } // namespace iflytop