furi-hal.c 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #include <furi-hal.h>
  2. #include <aes.h>
  3. #include <comp.h>
  4. #include <pka.h>
  5. #include <rf.h>
  6. #include <rng.h>
  7. #include <rtc.h>
  8. #include <tim.h>
  9. #include <usb_device.h>
  10. #include <gpio.h>
  11. void furi_hal_init() {
  12. furi_hal_clock_init();
  13. furi_hal_console_init();
  14. furi_hal_interrupt_init();
  15. furi_hal_delay_init();
  16. MX_GPIO_Init();
  17. FURI_LOG_I("HAL", "GPIO OK");
  18. MX_RTC_Init();
  19. FURI_LOG_I("HAL", "RTC OK");
  20. furi_hal_boot_init();
  21. furi_hal_version_init();
  22. furi_hal_spi_init();
  23. MX_TIM1_Init();
  24. FURI_LOG_I("HAL", "TIM1 OK");
  25. MX_TIM2_Init();
  26. FURI_LOG_I("HAL", "TIM2 OK");
  27. MX_TIM16_Init();
  28. FURI_LOG_I("HAL", "TIM16 OK");
  29. MX_COMP1_Init();
  30. FURI_LOG_I("HAL", "COMP1 OK");
  31. MX_RF_Init();
  32. FURI_LOG_I("HAL", "RF OK");
  33. MX_PKA_Init();
  34. FURI_LOG_I("HAL", "PKA OK");
  35. MX_RNG_Init();
  36. FURI_LOG_I("HAL", "RNG OK");
  37. MX_AES1_Init();
  38. FURI_LOG_I("HAL", "AES1 OK");
  39. MX_AES2_Init();
  40. FURI_LOG_I("HAL", "AES2 OK");
  41. // VCP + USB
  42. furi_hal_vcp_init();
  43. MX_USB_Device_Init();
  44. FURI_LOG_I("HAL", "USB OK");
  45. furi_hal_i2c_init();
  46. // High Level
  47. furi_hal_power_init();
  48. furi_hal_light_init();
  49. furi_hal_vibro_init();
  50. furi_hal_subghz_init();
  51. furi_hal_nfc_init();
  52. // FreeRTOS glue
  53. furi_hal_os_init();
  54. }