2021-11-04 17:26:41 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <stdint.h>
|
2021-11-13 02:41:54 +00:00
|
|
|
#include <stdbool.h>
|
2022-01-02 22:36:42 +00:00
|
|
|
#include <shci/shci.h>
|
2021-11-04 17:26:41 +00:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2022-01-05 16:10:18 +00:00
|
|
|
typedef void (
|
|
|
|
*BleGlueKeyStorageChangedCallback)(uint8_t* change_addr_start, uint16_t size, void* context);
|
2021-11-04 17:26:41 +00:00
|
|
|
|
2021-11-13 02:41:54 +00:00
|
|
|
/** Initialize start core2 and initialize transport */
|
2021-11-04 17:26:41 +00:00
|
|
|
void ble_glue_init();
|
|
|
|
|
2021-11-13 02:41:54 +00:00
|
|
|
/** Start Core2 Radio stack
|
|
|
|
*
|
|
|
|
* @return true on success
|
|
|
|
*/
|
|
|
|
bool ble_glue_start();
|
|
|
|
|
|
|
|
/** Is core2 alive and at least FUS is running
|
|
|
|
*
|
|
|
|
* @return true if core2 is alive
|
|
|
|
*/
|
|
|
|
bool ble_glue_is_alive();
|
|
|
|
|
2022-01-02 22:36:42 +00:00
|
|
|
bool ble_glue_wait_for_fus_start(WirelessFwInfo_t* info);
|
|
|
|
|
2021-11-13 02:41:54 +00:00
|
|
|
/** Is core2 radio stack present and ready
|
|
|
|
*
|
|
|
|
* @return true if present and ready
|
|
|
|
*/
|
|
|
|
bool ble_glue_is_radio_stack_ready();
|
|
|
|
|
|
|
|
/** Set callback for NVM in RAM changes
|
|
|
|
*
|
|
|
|
* @param[in] callback The callback to call on NVM change
|
|
|
|
* @param context The context for callback
|
|
|
|
*/
|
2022-01-05 16:10:18 +00:00
|
|
|
void ble_glue_set_key_storage_changed_callback(
|
|
|
|
BleGlueKeyStorageChangedCallback callback,
|
|
|
|
void* context);
|
2021-11-04 17:26:41 +00:00
|
|
|
|
2022-01-14 08:39:41 +00:00
|
|
|
/** Stop SHCI thread */
|
2021-12-08 11:28:01 +00:00
|
|
|
void ble_glue_thread_stop();
|
|
|
|
|
2022-01-14 08:39:41 +00:00
|
|
|
/** Restart MCU to launch radio stack firmware if necessary
|
|
|
|
*
|
|
|
|
* @return true on radio stack start command
|
|
|
|
*/
|
|
|
|
bool ble_glue_radio_stack_fw_launch_started();
|
|
|
|
|
2021-11-04 17:26:41 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|