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.

67 lines
1.8 KiB

2 years ago
2 years ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
  1. #include "main.hpp"
  2. #include <signal.h>
  3. #include <sqlite3.h>
  4. #include "iflytop/components/uart_printer/uart_printer.hpp"
  5. #include "configs/project_setting.hpp"
  6. using namespace iflytop;
  7. using namespace core;
  8. using namespace std;
  9. namespace iflytop {
  10. bool g_in_test = false;
  11. };
  12. /*******************************************************************************
  13. * MAIN => MAIN *
  14. *******************************************************************************/
  15. Main *Main::g_main;
  16. int main(int argc, char *argv[]) {
  17. Main main;
  18. Main::g_main = &main;
  19. main.run(argc, argv);
  20. }
  21. void Main::onsignal(int signo) { exit(0); }
  22. void Main::run(int argc, char *argv[]) {
  23. // ::signal(SIGINT, Main::_onsignal);
  24. thread.reset(new Thread("main", [&]() { exit(main(argc, argv)); }));
  25. while (true) sleep(1000);
  26. }
  27. int Main::main(int argc, char *argv[]) {
  28. /**
  29. * @brief
  30. */
  31. logger->info("system setup start.");
  32. spdlog::flush_on(spdlog::level::debug);
  33. logger->info("#");
  34. logger->info("# company:{}", "ifytop");
  35. logger->info("# version:{}", VERSION);
  36. logger->info("# project:{}", PROJECT_NAME);
  37. logger->info("#");
  38. logger->info("build {}.....", "Config");
  39. // 构造GConfig
  40. BUILD_AND_REG_SERRVICE(GConfig);
  41. GET_SERVICE(GConfig)->initialize();
  42. g_in_test = GET_SERVICE(GConfig)->get_testMode();
  43. BUILD_AND_REG_SERRVICE(UartPrinter);
  44. GET_SERVICE(UartPrinter)->initialize(GET_SERVICE(GConfig)->get_printerUart(), "9600");
  45. /**
  46. * @brief
  47. */
  48. // if (!device_id.empty()) GET_SERVICE(GConfig)->set_deviceId(device_id);
  49. auto config = GET_SERVICE(GConfig);
  50. // 构造MainControlService
  51. BUILD_AND_REG_SERRVICE(MainControlService);
  52. GET_SERVICE(MainControlService)->initialize();
  53. logger->info("system setup end.");
  54. while (true) sleep(1000);
  55. }