11#include <extra_beacon.h>
12#include <furi_ble/profile_interface.h>
17#define FURI_HAL_BT_STACK_VERSION_MAJOR (1)
18#define FURI_HAL_BT_STACK_VERSION_MINOR (12)
19#define FURI_HAL_BT_C2_START_TIMEOUT (1000)
26 FuriHalBtStackUnknown,
87 FuriHalBleProfileParams params,
88 GapEventCallback event_cb,
109 FuriHalBleProfileParams profile_params,
110 GapEventCallback event_cb,
177 BleGlueKeyStorageChangedCallback callback,
bool furi_hal_bt_extra_beacon_set_data(const uint8_t *data, uint8_t len)
Extra BLE beacon API.
Definition furi_hal_bt.c:415
void furi_hal_bt_start_packet_tx(uint8_t channel, uint8_t pattern, uint8_t datarate)
Start sending ble packets at a given frequency and datarate.
Definition furi_hal_bt.c:348
void furi_hal_bt_update_power_state(bool charging)
Update battery power state.
Definition furi_hal_bt.c:273
bool furi_hal_bt_is_active(void)
Checks if BLE state is active.
Definition furi_hal_bt.c:250
void furi_hal_bt_nvm_sram_sem_acquire(void)
Get SRAM2 hardware semaphore.
Definition furi_hal_bt.c:288
float furi_hal_bt_get_rssi(void)
Get RSSI.
Definition furi_hal_bt.c:366
bool furi_hal_bt_extra_beacon_stop(void)
Stop extra beacon.
Definition furi_hal_bt.c:435
void furi_hal_bt_start_advertising(void)
Start advertising.
Definition furi_hal_bt.c:254
void furi_hal_bt_lock_core2(void)
Lock core2 state transition.
Definition furi_hal_bt.c:59
void furi_hal_bt_stop_rx(void)
Stop RF listenning.
Definition furi_hal_bt.c:396
FURI_WARN_UNUSED FuriHalBleProfileBase * furi_hal_bt_change_app(const FuriHalBleProfileTemplate *profile_template, FuriHalBleProfileParams profile_params, GapEventCallback event_cb, void *context)
Change BLE app Restarts 2nd core.
Definition furi_hal_bt.c:239
uint8_t furi_hal_bt_extra_beacon_get_data(uint8_t *data)
Get last configured extra beacon data.
Definition furi_hal_bt.c:419
const GapExtraBeaconConfig * furi_hal_bt_extra_beacon_get_config(void)
Get last configured extra beacon config.
Definition furi_hal_bt.c:427
void furi_hal_bt_unlock_core2(void)
Lock core2 state transition.
Definition furi_hal_bt.c:64
void furi_hal_bt_reinit(void)
Reinitialize core2.
Definition furi_hal_bt.c:200
bool furi_hal_bt_is_gatt_gap_supported(void)
Check if radio stack supports BLE GAT/GAP.
Definition furi_hal_bt.c:136
bool furi_hal_bt_clear_white_list(void)
Clear key storage.
Definition furi_hal_bt.c:298
bool furi_hal_bt_is_alive(void)
Get BT/BLE system component state.
Definition furi_hal_bt.c:335
void furi_hal_bt_get_key_storage_buff(uint8_t **key_buff_addr, uint16_t *key_buff_size)
Get key storage buffer address and size.
Definition furi_hal_bt.c:277
void furi_hal_bt_start_rx(uint8_t channel)
Set up the RF to listen to a given RF channel.
Definition furi_hal_bt.c:362
void furi_hal_bt_start_packet_rx(uint8_t channel, uint8_t datarate)
Start receiving packets.
Definition furi_hal_bt.c:352
void furi_hal_bt_start_tone_tx(uint8_t channel, uint8_t power)
Start ble tone tx at given channel and power.
Definition furi_hal_bt.c:339
bool furi_hal_bt_extra_beacon_is_active(void)
Check if extra beacon is active.
Definition furi_hal_bt.c:439
void furi_hal_bt_init(void)
Initialize.
Definition furi_hal_bt.c:39
FURI_WARN_UNUSED FuriHalBleProfileBase * furi_hal_bt_start_app(const FuriHalBleProfileTemplate *profile_template, FuriHalBleProfileParams params, GapEventCallback event_cb, void *context)
Start BLE app.
Definition furi_hal_bt.c:165
void furi_hal_bt_nvm_sram_sem_release(void)
Release SRAM2 hardware semaphore.
Definition furi_hal_bt.c:294
void furi_hal_bt_stop_tone_tx(void)
Stop ble tone tx.
Definition furi_hal_bt.c:344
void furi_hal_bt_dump_state(FuriString *buffer)
Get BT/BLE system component state.
Definition furi_hal_bt.c:308
bool furi_hal_bt_is_testing_supported(void)
Check if radio stack supports testing.
Definition furi_hal_bt.c:144
bool furi_hal_bt_ensure_c2_mode(BleGlueC2Mode mode)
Check & switch C2 to given mode.
Definition furi_hal_bt.c:400
void furi_hal_bt_set_key_storage_change_callback(BleGlueKeyStorageChangedCallback callback, void *context)
Set key storage change callback.
Definition furi_hal_bt.c:281
bool furi_hal_bt_check_profile_type(FuriHalBleProfileBase *profile, const FuriHalBleProfileTemplate *profile_template)
Check if particular instance of profile belongs to given type.
Definition furi_hal_bt.c:155
bool furi_hal_bt_start_radio_stack(void)
Start radio stack.
Definition furi_hal_bt.c:89
uint32_t furi_hal_bt_get_transmitted_packets(void)
Get number of transmitted packets.
Definition furi_hal_bt.c:390
bool furi_hal_bt_extra_beacon_set_config(const GapExtraBeaconConfig *config)
Configure extra beacon.
Definition furi_hal_bt.c:423
void furi_hal_bt_update_battery_level(uint8_t battery_level)
Update battery level.
Definition furi_hal_bt.c:269
bool furi_hal_bt_extra_beacon_start(void)
Start extra beacon.
Definition furi_hal_bt.c:431
FuriHalBtStack furi_hal_bt_get_radio_stack(void)
Get radio stack type.
Definition furi_hal_bt.c:132
uint16_t furi_hal_bt_stop_packet_test(void)
Stop sending ble packets.
Definition furi_hal_bt.c:356
void furi_hal_bt_stop_advertising(void)
Stop advertising.
Definition furi_hal_bt.c:260
Definition profile_interface.h:14
Definition profile_interface.h:28