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.

37 lines
1.2 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. #include "chip.hpp"
  2. extern "C" {
  3. static iflytop::ZGPIO g_debuglight;
  4. static Pin_t g_debuglight_pin = PinNull;
  5. void chip_init(chip_cfg_t *cfg) {
  6. g_debuglight_pin = cfg->debuglight;
  7. if (g_debuglight_pin != PinNull) {
  8. g_debuglight.initAsOutput(g_debuglight_pin, iflytop::ZGPIO::kMode_nopull, false, false);
  9. }
  10. //
  11. zchip_loggger_init(cfg->huart);
  12. //
  13. zchip_clock_cfg_t zchip_clock_cfg;
  14. zchip_clock_cfg.usdleaytim = cfg->us_dleay_tim;
  15. zchip_clock_init(&zchip_clock_cfg);
  16. //
  17. iflytop::ChipTimIrqShceduler::Cfg ChipTimIrqShceduler_cfg;
  18. ChipTimIrqShceduler_cfg.schedulertim = cfg->tim_irq_scheduler_tim;
  19. iflytop::ChipTimIrqShceduler::instance().initialize(&ChipTimIrqShceduler_cfg);
  20. iflytop::ChipTimIrqShceduler::instance().regPeriodJob(
  21. [](iflytop::ChipTimIrqShceduler::Job *job) {
  22. if (g_debuglight_pin == PinNull) return;
  23. g_debuglight.toggleState();
  24. },
  25. 300);
  26. ZLOGI("SYS", "chip init ok");
  27. ZLOGI("SYS", "= manufacturer : %s", MANUFACTURER);
  28. ZLOGI("SYS", "= project name : %s", PROJECT_NAME);
  29. ZLOGI("SYS", "= version : %s", VERSION);
  30. ZLOGI("SYS", "= freq : %d", HAL_RCC_GetSysClockFreq());
  31. ZLOGI("SYS", "= build time : %s", __DATE__ " " __TIME__);
  32. }
  33. }