51 lines
888 B
C
51 lines
888 B
C
|
/**
|
||
|
* @file furi-hal-bootloader.h
|
||
|
* Bootloader HAL API
|
||
|
*/
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
#include <stdint.h>
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
/** Boot modes */
|
||
|
typedef enum {
|
||
|
FuriHalBootloaderModeNormal,
|
||
|
FuriHalBootloaderModeDFU
|
||
|
} FuriHalBootloaderMode;
|
||
|
|
||
|
/** Boot flags */
|
||
|
typedef enum {
|
||
|
FuriHalBootloaderFlagDefault=0,
|
||
|
FuriHalBootloaderFlagFactoryReset=1,
|
||
|
} FuriHalBootloaderFlag;
|
||
|
|
||
|
/** Initialize boot subsystem
|
||
|
*/
|
||
|
void furi_hal_bootloader_init();
|
||
|
|
||
|
/** Set bootloader mode
|
||
|
*
|
||
|
* @param[in] mode FuriHalBootloaderMode
|
||
|
*/
|
||
|
void furi_hal_bootloader_set_mode(FuriHalBootloaderMode mode);
|
||
|
|
||
|
/** Set bootloader flags
|
||
|
*
|
||
|
* @param[in] flags FuriHalBootloaderFlag
|
||
|
*/
|
||
|
void furi_hal_bootloader_set_flags(FuriHalBootloaderFlag flags);
|
||
|
|
||
|
/** Get boot flag
|
||
|
*
|
||
|
* @return FuriHalBootloaderFlag
|
||
|
*/
|
||
|
FuriHalBootloaderFlag furi_hal_bootloader_get_flags();
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|