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.

148 lines
3.9 KiB

1 year ago
  1. #include <stddef.h>
  2. #include <stdio.h>
  3. #include "configs/device_id_mgr.hpp"
  4. #include "public_service/public_service.hpp"
  5. #include "sysmgr/sys_mgr.hpp"
  6. //
  7. //
  8. #define TAG "main"
  9. using namespace std;
  10. using namespace iflytop;
  11. extern void umain();
  12. extern "C" {
  13. void StartDefaultTask(void const* argument) { umain(); }
  14. }
  15. int32_t deviceId = 0;
  16. static void board_init() {
  17. switch (deviceId) {
  18. // case 10:
  19. // subboard10_hbot_board_init();
  20. // break;
  21. // case 20: // 板夹仓
  22. // subboard20_plate_clamp_case_board_init();
  23. // break;
  24. // case 30: // 摇匀模组
  25. // subboard30_shake_module_board_init();
  26. // break;
  27. // case 40: // 温度控制板40
  28. // case 50: // 温度控制板50
  29. // subboard40_and_50_temperature_ctrl_board_init();
  30. // break;
  31. // case 60: // 进出料模组
  32. // subboard60_inlet_and_outlet_module_board_init();
  33. // break;
  34. // case 70: // 孵化转盘
  35. // subboard70_incubation_turntable_board_init();
  36. // break;
  37. // case 80:
  38. // subboard80_cliptip_board_init();
  39. // break;
  40. // case 90:
  41. // subboard90_optical_module_board_init();
  42. // break;
  43. // case 100:
  44. // subboard100_id_card_reader_board_init();
  45. // break;
  46. // case 200:
  47. // subboard200_ext_tmc5160_board_init();
  48. // break;
  49. default:
  50. common_hardware_init();
  51. break;
  52. }
  53. }
  54. static void board_post_init() {
  55. GService::inst()->initialize();
  56. switch (deviceId) {
  57. // case 10:
  58. // Subboard10Hbot::ins()->initialize();
  59. // break;
  60. // case 20:
  61. // Subboard20PlateClampCase::ins()->initialize();
  62. // break;
  63. // case 30: // 摇匀模组
  64. // Subboard30ShakeModule::ins()->initialize();
  65. // break;
  66. // case 40: // 温度控制板40
  67. // case 50: // 温度控制板50
  68. // Subboard40And50TemperatureCtrl::ins()->initialize();
  69. // break;
  70. // case 60: // 进出料模组
  71. // Subboard60InjectAndOutletModule::ins()->initialize();
  72. // break;
  73. // case 70: // 孵化转盘
  74. // Subboard70IncubationTurntable::ins()->initialize();
  75. // break;
  76. // case 80:
  77. // Subboard80Cliptip::ins()->initialize();
  78. // break;
  79. // case 100:
  80. // Subboard100IdCardReader::ins()->initialize();
  81. // break;
  82. // case 200:
  83. // Subboard200ExtTmc5160::ins()->initialize();
  84. // break;
  85. // case 90:
  86. // Subboard90OpticalModule::ins()->initialize();
  87. break;
  88. default:
  89. break;
  90. }
  91. }
  92. void umain() {
  93. // deviceId = zdevice_id_mgr_get_device_id();
  94. // board_init();
  95. // Pin_t debugLight = PC_DEBUG_LIGHT_GPIO;
  96. // if (deviceId == 20) {
  97. // debugLight = PC_SUBBOARD_20_70_LIGHT_GPIO;
  98. // }
  99. // zos_cfg_t zoscfg = {0};
  100. // chip_cfg_t chipcfg = {};
  101. // chipcfg.us_dleay_tim = &PC_SYS_DELAY_US_TIMER;
  102. // chipcfg.tim_irq_scheduler_tim = &PC_SYS_TIM_IRQ_SCHEDULER_TIMER;
  103. // chipcfg.huart = &PC_DEBUG_UART;
  104. // chipcfg.debuglight = debugLight;
  105. // chip_init(&chipcfg);
  106. // zos_init(&zoscfg);
  107. // zdevice_id_mgr_init();
  108. // ZEARLY_LOGI("SYS", "chip init ok");
  109. // ZEARLY_LOGI("SYS", "= manufacturer : %s", PC_MANUFACTURER);
  110. // ZEARLY_LOGI("SYS", "= project name : %s", PC_PROJECT_NAME);
  111. // ZEARLY_LOGI("SYS", "= version : %d", PC_VERSION);
  112. // ZEARLY_LOGI("SYS", "= freq : %d", HAL_RCC_GetSysClockFreq());
  113. // ZEARLY_LOGI("SYS", "= build time : %s", __DATE__ " " __TIME__);
  114. // ZEARLY_LOGI("SYS", "= device id : %d", deviceId);
  115. // if (deviceId <= 0) {
  116. // chip_set_error();
  117. // ZEARLY_LOGE("SYS", "device id is not set");
  118. // while (true) {
  119. // zos_delay(1);
  120. // }
  121. // }
  122. // board_post_init();
  123. // ZLOGI(TAG, "======================= sysinfo ======================= ");
  124. // SysMgr::ins()->initedFinished();
  125. // SysMgr::ins()->dumpSysInfo();
  126. // ZLOGI(TAG, "=");
  127. // while (true) {
  128. // GService::inst()->getZCanReceiver()->loop();
  129. // zos_delay(1);
  130. // }
  131. }