60 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#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
 |