furi-hal-boot.h 774 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /**
  2. * @file furi-hal-boot.h
  3. * Bootloader HAL API
  4. */
  5. #pragma once
  6. #include <stdint.h>
  7. #ifdef __cplusplus
  8. extern "C" {
  9. #endif
  10. /** Boot modes */
  11. typedef enum {
  12. FuriHalBootModeNormal,
  13. FuriHalBootModeDFU
  14. } FuriHalBootMode;
  15. /** Boot flags */
  16. typedef enum {
  17. FuriHalBootFlagDefault=0,
  18. FuriHalBootFlagFactoryReset=1,
  19. } FuriHalBootFlag;
  20. /** Initialize boot subsystem
  21. */
  22. void furi_hal_boot_init();
  23. /** Set boot mode
  24. *
  25. * @param[in] mode FuriHalBootMode
  26. */
  27. void furi_hal_boot_set_mode(FuriHalBootMode mode);
  28. /** Set boot flags
  29. *
  30. * @param[in] flags FuriHalBootFlag
  31. */
  32. void furi_hal_boot_set_flags(FuriHalBootFlag flags);
  33. /** Get boot flag
  34. *
  35. * @return FuriHalBootFlag
  36. */
  37. FuriHalBootFlag furi_hal_boot_get_flags();
  38. #ifdef __cplusplus
  39. }
  40. #endif