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
 | 
