api-hal.c 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #include <api-hal.h>
  2. #include <adc.h>
  3. #include <aes.h>
  4. #include <comp.h>
  5. #include <crc.h>
  6. #include <pka.h>
  7. #include <rf.h>
  8. #include <rng.h>
  9. #include <rtc.h>
  10. #include <spi.h>
  11. #include <tim.h>
  12. #include <usb_device.h>
  13. #include <gpio.h>
  14. void api_hal_init() {
  15. api_hal_clock_init();
  16. api_hal_console_init();
  17. FURI_LOG_I("FURI_HAL", "CLOCK and CONSOLE OK");
  18. api_hal_interrupt_init();
  19. FURI_LOG_I("FURI_HAL", "INTERRUPT OK");
  20. api_hal_delay_init();
  21. FURI_LOG_I("FURI_HAL", "DELAY OK");
  22. MX_GPIO_Init();
  23. FURI_LOG_I("HAL", "GPIO OK");
  24. MX_RTC_Init();
  25. FURI_LOG_I("HAL", "RTC OK");
  26. api_hal_boot_init();
  27. FURI_LOG_I("FURI_HAL", "BOOT OK");
  28. api_hal_version_init();
  29. FURI_LOG_I("FURI_HAL", "VERSION OK");
  30. MX_ADC1_Init();
  31. FURI_LOG_I("HAL", "ADC1 OK");
  32. MX_SPI1_Init();
  33. FURI_LOG_I("HAL", "SPI1 OK");
  34. MX_SPI2_Init();
  35. FURI_LOG_I("HAL", "SPI2 OK");
  36. api_hal_spi_init();
  37. FURI_LOG_I("FURI_HAL", "SPI OK");
  38. MX_TIM1_Init();
  39. FURI_LOG_I("HAL", "TIM1 OK");
  40. MX_TIM2_Init();
  41. FURI_LOG_I("HAL", "TIM2 OK");
  42. MX_TIM16_Init();
  43. FURI_LOG_I("HAL", "TIM16 OK");
  44. MX_COMP1_Init();
  45. FURI_LOG_I("HAL", "COMP1 OK");
  46. MX_RF_Init();
  47. FURI_LOG_I("HAL", "RF OK");
  48. MX_PKA_Init();
  49. FURI_LOG_I("HAL", "PKA OK");
  50. MX_RNG_Init();
  51. FURI_LOG_I("HAL", "RNG OK");
  52. MX_AES1_Init();
  53. FURI_LOG_I("HAL", "AES1 OK");
  54. MX_AES2_Init();
  55. FURI_LOG_I("HAL", "AES2 OK");
  56. MX_CRC_Init();
  57. FURI_LOG_I("HAL", "CRC OK");
  58. // VCP + USB
  59. api_hal_vcp_init();
  60. FURI_LOG_I("FURI_HAL", "VCP OK");
  61. MX_USB_Device_Init();
  62. FURI_LOG_I("HAL", "USB OK");
  63. api_hal_i2c_init();
  64. FURI_LOG_I("FURI_HAL", "I2C OK");
  65. // High Level
  66. api_hal_power_init();
  67. FURI_LOG_I("FURI_HAL", "POWER OK");
  68. api_hal_light_init();
  69. FURI_LOG_I("FURI_HAL", "LIGHT OK");
  70. api_hal_vibro_init();
  71. FURI_LOG_I("FURI_HAL", "VIBRO OK");
  72. api_hal_subghz_init();
  73. FURI_LOG_I("FURI_HAL", "SUBGHZ OK");
  74. // FreeRTOS glue
  75. api_hal_os_init();
  76. FURI_LOG_I("FURI_HAL", "OS OK");
  77. }