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.

48 lines
1.6 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
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. static bool g_error_state = false;
  6. void chip_set_error() { g_error_state = true; }
  7. void chip_init(chip_cfg_t *cfg) {
  8. g_debuglight_pin = cfg->debuglight;
  9. if (g_debuglight_pin != PinNull) {
  10. g_debuglight.initAsOutput(g_debuglight_pin, iflytop::ZGPIO::kMode_nopull, false, false);
  11. }
  12. //
  13. zchip_loggger_init(cfg->huart);
  14. //
  15. zchip_clock_cfg_t zchip_clock_cfg;
  16. zchip_clock_cfg.usdleaytim = cfg->us_dleay_tim;
  17. zchip_clock_init(&zchip_clock_cfg);
  18. //
  19. iflytop::ChipTimIrqShceduler::Cfg ChipTimIrqShceduler_cfg;
  20. ChipTimIrqShceduler_cfg.schedulertim = cfg->tim_irq_scheduler_tim;
  21. iflytop::ChipTimIrqShceduler::instance().initialize(&ChipTimIrqShceduler_cfg);
  22. iflytop::ChipTimIrqShceduler::instance().regPeriodJob(
  23. [](iflytop::ChipTimIrqShceduler::Job *job) {
  24. if (g_error_state) return;
  25. if (g_debuglight_pin == PinNull) return;
  26. g_debuglight.toggleState();
  27. },
  28. 300);
  29. iflytop::ChipTimIrqShceduler::instance().regPeriodJob(
  30. [](iflytop::ChipTimIrqShceduler::Job *job) {
  31. if (!g_error_state) return;
  32. if (g_debuglight_pin == PinNull) return;
  33. g_debuglight.toggleState();
  34. },
  35. 50);
  36. ZEARLY_LOGI("SYS", "chip init ok");
  37. ZEARLY_LOGI("SYS", "= manufacturer : %s", MANUFACTURER);
  38. ZEARLY_LOGI("SYS", "= project name : %s", PROJECT_NAME);
  39. ZEARLY_LOGI("SYS", "= version : %s", VERSION);
  40. ZEARLY_LOGI("SYS", "= freq : %d", HAL_RCC_GetSysClockFreq());
  41. ZEARLY_LOGI("SYS", "= build time : %s", __DATE__ " " __TIME__);
  42. }
  43. }