mirror of
https://github.com/DarkFlippers/unleashed-firmware.git
synced 2024-12-20 03:41:42 +03:00
e3e64e5e83
* ble: refactored bt gatt characteristics setup * ble: naming fixes, small optimizations * ble: expanded bitfields; fixed pvs warnings * ble: fixed pvs warnings for real * ble: using FlipperGattCharacteristicDataPropsFixed for char[] props * ble: removed flipper_gatt_characteristic_props_const_char * ble: gatt: naming changes * ble: gatt: fixed device_info service constant attrs sizes * ble: gatt: copy descriptors to char instances; reworked hid chars to be callback-based; moved max size getter to callback with NULL data; added comments * ble: gatt: removed hid_svc_report_data_callback * ble: hid svc: better double loop idx naming * ble: hid svc: simplified hid_svc_update_info * ble: gatt: removed magic values; fixed type for HidSvcGattCharacteristicInfo * ble: gatt: moved long uuids to separate files Co-authored-by: gornekich <n.gorbadey@gmail.com> Co-authored-by: あく <alleteam@gmail.com>
60 lines
1.3 KiB
C
60 lines
1.3 KiB
C
#pragma once
|
|
|
|
#include <services/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
|