furi_hal.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /**
  2. * @file furi_hal.h
  3. * Furi HAL API
  4. */
  5. #pragma once
  6. #ifdef __cplusplus
  7. template <unsigned int N>
  8. struct STOP_EXTERNING_ME {};
  9. #endif
  10. #include "furi_hal_cortex.h"
  11. #include "furi_hal_clock.h"
  12. #include "furi_hal_crypto.h"
  13. #include "furi_hal_console.h"
  14. #include "furi_hal_debug.h"
  15. #include "furi_hal_os.h"
  16. #include "furi_hal_sd.h"
  17. #include "furi_hal_i2c.h"
  18. #include "furi_hal_resources.h"
  19. #include "furi_hal_region.h"
  20. #include "furi_hal_rtc.h"
  21. #include "furi_hal_speaker.h"
  22. #include "furi_hal_gpio.h"
  23. #include "furi_hal_light.h"
  24. #include "furi_hal_power.h"
  25. #include "furi_hal_interrupt.h"
  26. #include "furi_hal_version.h"
  27. #include "furi_hal_bt.h"
  28. #include "furi_hal_spi.h"
  29. #include "furi_hal_flash.h"
  30. #include "furi_hal_subghz.h"
  31. #include "furi_hal_vibro.h"
  32. #include "furi_hal_ibutton.h"
  33. #include "furi_hal_rfid.h"
  34. #include "furi_hal_nfc.h"
  35. #include "furi_hal_usb.h"
  36. #include "furi_hal_usb_hid.h"
  37. #include "furi_hal_compress.h"
  38. #include "furi_hal_uart.h"
  39. #include "furi_hal_info.h"
  40. #include "furi_hal_random.h"
  41. #ifdef __cplusplus
  42. extern "C" {
  43. #endif
  44. /** Early FuriHal init, only essential subsystems */
  45. void furi_hal_init_early();
  46. /** Early FuriHal deinit */
  47. void furi_hal_deinit_early();
  48. /** Init FuriHal */
  49. void furi_hal_init();
  50. /** Transfer execution to address
  51. *
  52. * @param[in] address pointer to new executable
  53. */
  54. void furi_hal_switch(void* address);
  55. #ifdef __cplusplus
  56. }
  57. #endif