20#ifndef __XF_BLE_TYPES_H__
21#define __XF_BLE_TYPES_H__
40#define XF_BLE_IS_ENABLE 1
47#define XF_BLE_ADDR_LEN 6
52#define XF_BLE_ADDR_PRINT_FMT "%02X:%02X:%02X:%02X:%02X:%02X"
59#define XF_BLE_ADDR_EXPAND_TO_ARG(addr) (addr)[0],(addr)[1],(addr)[2],(addr)[3],(addr)[4],(addr)[5]
149#define _XF_BLE_UUID16_INIT(uuid16) \
151 .type = XF_BLE_UUID_TYPE_16, \
155#define _XF_BLE_UUID32_INIT(uuid32) \
157 .type = XF_BLE_UUID_TYPE_32, \
161#define _XF_BLE_UUID128_INIT(uuid128 ...) \
163 .type = XF_BLE_UUID_TYPE_128, \
164 .value = { uuid128 }, \
171#define XF_BLE_DECLARE_UUID16(uuid16) \
172 ((xf_ble_uuid_info_t *) (&(xf_ble_uuid16_info_t) _XF_BLE_UUID16_INIT(uuid16)))
178#define XF_BLE_DECLARE_UUID32(uuid32) \
179 ((xf_ble_uuid_info_t *) (&(xf_ble_uuid32_info_t) _XF_BLE_UUID32_INIT(uuid32)))
185#define XF_BLE_DECLARE_UUID128(uuid128...) \
186 ((xf_ble_uuid_info_t *) (&(xf_ble_uuid128_info_t) _XF_BLE_UUID128_INIT(uuid128)))
192#define XF_BLE_INVALID_ATTR_HANDLE (0x0000)
216 uint16_t
array_u16[
sizeof(uintptr_t) /
sizeof(uint16_t)];
217 uint32_t
array_u32[
sizeof(uintptr_t) /
sizeof(uint32_t)];
#define __packed
取消结构体在编译过程中的优化对齐,按照实际占用字节数进行对齐。
xf_ble_gattc_event_t
BLE GATTC 事件
struct __packed _xf_ble_uuid32_info_t xf_ble_uuid32_info_t
BLE 32-bit UUID 信息
uint16_t xf_ble_attr_handle_t
BLE 属性句柄
xf_ble_addr_type_t
蓝牙地址类型,完全遵循蓝牙标准进行定义
struct __packed _xf_ble_uuid128_info_t xf_ble_uuid128_info_t
BLE 128-bit UUID 信息
xf_ble_uuid_type_t
BLE UUID 类型 (长度类型)
#define XF_BLE_ADDR_LEN
BLE 地址长度
struct __packed _xf_ble_uuid16_info_t xf_ble_uuid16_info_t
BLE 16-bit UUID 信息
xf_ble_gatts_event_t
BLE GATTS 事件
union _xf_ble_var_uintptr_t xf_ble_var_uintptr_t
BLE 中类型可变的数据
struct __packed _xf_ble_uuid_info_t xf_ble_uuid_info_t
BLE UUID 信息 (多种长度类型通用)
xf_ble_gap_event_t
BLE GAP 事件
@ XF_BLE_GATTC_EVT_DISCOVER_SERVICE_COMPLETE
@ XF_BLE_GATTC_EVT_WRITE_COMPLETE
@ XF_BLE_GATTC_EVT_MTU_CHANGED
@ XF_BLE_GATTC_EVT_RECV_NOTIFICATION_OR_INDICATION
@ XF_BLE_GATTC_EVT_READ_COMPLETE
@ XF_BT_ADDR_TYPE_RPA_RANDOM
@ XF_BT_ADDR_TYPE_RANDOM_DEV
@ XF_BT_ADDR_TYPE_RPA_PUBLIC
@ XF_BT_ADDR_TYPE_PUBLIC_DEV
@ XF_BLE_GATTS_EVT_REQ_READ
@ XF_BLE_GATTS_EVT_ADD_CHARA
@ XF_BLE_GATTS_EVT_REQ_WRITE
@ XF_BLE_GATTS_EVT_SERVICE_STOP
@ XF_BLE_GATTS_EVT_SERVICE_START
@ XF_BLE_GATTS_EVT_DEL_SERVICE
@ XF_BLE_GATTS_EVT_ADD_SERVICE
@ XF_BLE_GATTS_EVT_ADD_DESC
@ XF_BLE_GATTS_EVT_MTU_CHANGED
@ XF_BLE_GAP_EVT_PAIR_END
@ XF_BLE_GAP_EVT_SCAN_RESULT
@ XF_BLE_GAP_EVT_CONN_PARAMS_UPDATE
@ _XF_BLE_GAP_EVT_ENUM_END
@ XF_BLE_GAP_EVT_SCAN_PARAM_SET
@ XF_BLE_GAP_EVT_DISCONNECT
xf_ble_uuid_type_t len_type
uint8_t array_u8[sizeof(uintptr_t)]
uint32_t array_u32[sizeof(uintptr_t)/sizeof(uint32_t)]
uint16_t array_u16[sizeof(uintptr_t)/sizeof(uint16_t)]