#pragma once #include "serial_service.h" #ifdef __cplusplus extern "C" { #endif #define FURI_HAL_BT_SERIAL_PACKET_SIZE_MAX SERIAL_SVC_DATA_LEN_MAX typedef enum { FuriHalBtSerialRpcStatusNotActive, FuriHalBtSerialRpcStatusActive, } FuriHalBtSerialRpcStatus; /** Serial service callback type */ typedef SerialServiceEventCallback FuriHalBtSerialCallback; /** Start Serial Profile */ void furi_hal_bt_serial_start(); /** Stop Serial Profile */ void furi_hal_bt_serial_stop(); /** Set Serial service events callback * * @param buffer_size Applicaition buffer size * @param calback FuriHalBtSerialCallback instance * @param context pointer to context */ void furi_hal_bt_serial_set_event_callback( uint16_t buff_size, FuriHalBtSerialCallback callback, void* context); /** Set BLE RPC status * * @param status FuriHalBtSerialRpcStatus instance */ void furi_hal_bt_serial_set_rpc_status(FuriHalBtSerialRpcStatus status); /** Notify that application buffer is empty */ void furi_hal_bt_serial_notify_buffer_is_empty(); /** Send data through BLE * * @param data data buffer * @param size data buffer size * * @return true on success */ bool furi_hal_bt_serial_tx(uint8_t* data, uint16_t size); #ifdef __cplusplus } #endif