XFusion API v1.3.0
载入中...
搜索中...
未找到
xf_sle

xf_sle 是对星闪接口的封装。 更多...

xf_sle 的协作图:

模块

 ssap
 SparkLink Service Access Protocol.
 

结构体

struct  xf_sle_conn_param_update_t
 SLE 连接参数更新的信息 更多...
 
struct  xf_sle_set_phy_t
 SLE PHY 参数 更多...
 
struct  xf_sle_conn_param_def_t
 SLE 默认连接参数 更多...
 
union  _xf_sle_adv_struct_data_t
 SLE 广播数据单元的数据 更多...
 
struct  xf_sle_adv_struct_t
 SLE 广播数据单元 ( AD structure ) 更多...
 
struct  _xf_sle_announce_data_t
 SLE 广播 (公开) 数据 ( 包含响应数据 ) 更多...
 
struct  xf_sle_announce_param_t
 设备公开参数。 更多...
 
struct  xf_sle_seek_param_t
 扫描 (发现, seek) 参数 更多...
 
struct  xf_sle_addr_t
 SLE 地址信息 更多...
 
struct  _xf_sle_uuid_info_t
 SLE UUID 信息 (多种长度类型通用) 更多...
 
struct  _xf_sle_uuid16_info_t
 SLE 16-bit UUID 信息 更多...
 
struct  _xf_sle_uuid128_info_t
 SLE 128-bit UUID 信息 更多...
 
union  _xf_sle_var_uintptr_t
 SLE 中类型可变的数据 更多...
 

宏定义

#define XF_SLE_ADV_STRUCT_TYPE_FILED_SIZE   1
 SLE 广播数据单元类型字段的大小
 
#define XF_SLE_ADV_STRUCT_LEN_FILED_SIZE   1
 SLE 广播数据单元数据长度字段的大小
 
#define XF_SLE_SSAP_STRUCT_INFO_BASE
 
#define XF_SLE_SSAP_STRUCT_TYPE_ARRAY_U8(type_name, adv_data_array_size)
 定义一个严格遵循星闪标准的广播数据单元结构,单元数据 ( AD Data ) 为数组的类型
 
#define XF_SLE_SSAP_STRUCT_TYPE_VAL_U8(type_name)
 定义一个严格遵循星闪标准的广播数据单元结构,单元数据 ( AD Data ) 为 uint8_t 的类型
 
#define XF_SLE_SEEK_PHY_NUM_MAX   3
 扫描 (发现, seek) PHY 最大值
 
#define XF_SLE_DEBUG_ENABLE   0
 
#define XF_SLE_ADDR_LEN   6
 SLE 地址长度
 
#define XF_SLE_ADDR_PRINT_FMT   "%02X:%02X:%02X:%02X:%02X:%02X"
 SLE 地址打印格式
 
#define XF_SLE_ADDR_EXPAND_TO_ARG(addr)   (addr)[0],(addr)[1],(addr)[2],(addr)[3],(addr)[4],(addr)[5]
 SLE 地址展开为参数
 
#define _XF_SLE_UUID16_INIT(uuid16)
 
#define _XF_SLE_UUID128_INIT(uuid128 ...)
 
#define XF_SLE_DECLARE_UUID16(uuid16)    ((xf_sle_uuid_info_t *) (&(xf_sle_uuid16_info_t) _XF_SLE_UUID16_INIT(uuid16)))
 SLE 声明一个 16-bit UUID
 
#define XF_SLE_DECLARE_UUID128(uuid128...)    ((xf_sle_uuid_info_t *) (&(xf_sle_uuid128_info_t) _XF_SLE_UUID128_INIT(uuid128)))
 SLE 声明一个 128-bit UUID
 
#define XF_SLE_INVALID_ATTR_HANDLE   (0x0000)
 SLE 无效属性句柄
 

类型定义

typedef union _xf_sle_adv_struct_data_t xf_sle_adv_struct_data_t
 SLE 广播数据单元的数据
 
typedef struct _xf_sle_announce_data_t xf_sle_announce_data_t
 SLE 广播 (公开) 数据 ( 包含响应数据 )
 
typedef struct __packed _xf_sle_uuid_info_t xf_sle_uuid_info_t
 SLE UUID 信息 (多种长度类型通用)
 
typedef struct __packed _xf_sle_uuid16_info_t xf_sle_uuid16_info_t
 SLE 16-bit UUID 信息
 
typedef struct __packed _xf_sle_uuid128_info_t xf_sle_uuid128_info_t
 SLE 128-bit UUID 信息
 
typedef uint16_t xf_sle_attr_handle_t
 SLE 属性句柄
 
typedef union _xf_sle_var_uintptr_t xf_sle_var_uintptr_t
 SLE 中类型可变的数据
 

枚举

enum  xf_sle_pair_state_t { XF_SLE_PAIR_STATE_NONE = 0x01 , XF_SLE_PAIR_STATE_PAIRING = 0x02 , XF_SLE_PAIR_STATE_PAIRED = 0x03 }
 SLE 配对状态 更多...
 
enum  xf_sle_disconnect_reason_t { XF_SLE_DISCONNECT_BY_REMOTE = 0x10 , XF_SLE_DISCONNECT_BY_LOCAL = 0x11 }
 SLE 断连原因 更多...
 
enum  xf_sle_adv_struct_type_t {
  XF_SLE_ADV_STRUCT_TYPE_DISCOVERY_LEVEL = 0x01 , XF_SLE_ADV_STRUCT_TYPE_ACCESS_MODE = 0x02 , XF_SLE_ADV_STRUCT_TYPE_SERVICE_DATA_16BIT_UUID = 0x03 , XF_SLE_ADV_STRUCT_TYPE_SERVICE_DATA_128BIT_UUID = 0x04 ,
  XF_SLE_ADV_STRUCT_TYPE_COMPLETE_LIST_OF_16BIT_SERVICE_UUIDS = 0x05 , XF_SLE_ADV_STRUCT_TYPE_COMPLETE_LIST_OF_128BIT_SERVICE_UUIDS = 0x06 , XF_SLE_ADV_STRUCT_TYPE_INCOMPLETE_LIST_OF_16BIT_SERVICE_UUIDS = 0x07 , XF_SLE_ADV_STRUCT_TYPE_INCOMPLETE_LIST_OF_128BIT_SERVICE_UUIDS = 0x08 ,
  XF_SLE_ADV_STRUCT_TYPE_SERVICE_STRUCTURE_HASH_VALUE = 0x09 , XF_SLE_ADV_STRUCT_TYPE_SHORTENED_LOCAL_NAME = 0x0A , XF_SLE_ADV_STRUCT_TYPE_COMPLETE_LOCAL_NAME = 0x0B , XF_SLE_ADV_STRUCT_TYPE_TX_POWER_LEVEL = 0x0C ,
  XF_SLE_ADV_STRUCT_TYPE_SLB_COMMUNICATION_DOMAIN = 0x0D , XF_SLE_ADV_STRUCT_TYPE_SLB_MEDIA_ACCESS_LAYER_ID = 0x0E , XF_SLE_ADV_STRUCT_TYPE_EXTENDED = 0xFE , XF_SLE_ADV_STRUCT_TYPE_MANUFACTURER_SPECIFIC_DATA = 0xFF
}
 SLE 广播单元类型 更多...
 
enum  xf_sle_announce_type_t {
  XF_SLE_ANNOUNCE_TYPE_NONCONN_NONSCAN = 0x00 , XF_SLE_ANNOUNCE_TYPE_CONNECTABLE_NONSCAN = 0x01 , XF_SLE_ANNOUNCE_TYPE_NONCONN_SCANABLE = 0x02 , XF_SLE_ANNOUNCE_TYPE_CONNECTABLE_SCANABLE = 0x03 ,
  XF_SLE_ANNOUNCE_TYPE_CONNECTABLE_DIRECTED = 0x07
}
 SLE 广播 (公开) 类型 更多...
 
enum  xf_sle_announce_level_t {
  XF_SLE_ANNOUNCE_LEVEL_NONE , XF_SLE_ANNOUNCE_LEVEL_NORMAL , XF_SLE_ANNOUNCE_LEVEL_PRIORITY , XF_SLE_ANNOUNCE_LEVEL_PAIRED ,
  XF_SLE_ANNOUNCE_LEVEL_SPECIAL
}
 SLE 广播 (公开) 可发现等级 (被对方) 更多...
 
enum  xf_sle_adv_channel_map_t { XF_SLE_ADV_CHANNEL_MAP_77 = 0x01 , XF_SLE_ADV_CHANNEL_MAP_78 = 0x02 , XF_SLE_ADV_CHANNEL_MAP_79 = 0x04 , XF_SLE_ADV_CHANNEL_MAP_DEFAULT = 0x07 }
 SLE 广播 (公开) 通道 更多...
 
enum  xf_sle_announce_gt_role_t { XF_SLE_ANNOUNCE_ROLE_T_CAN_NEGO = 0 , XF_SLE_ANNOUNCE_ROLE_G_CAN_NEGO , XF_SLE_ANNOUNCE_ROLE_T_NO_NEGO , XF_SLE_ANNOUNCE_ROLE_G_NO_NEGO }
 SLE G/T 角色协商指示 更多...
 
enum  xf_sle_seek_filter_t { XF_SLE_SEEK_FILTER_ALLOW_ALL = 0x00 , XF_SLE_SEEK_FILTER_ALLOW_WHITE_LIST = 0x01 }
 扫描 (发现, seek) 过滤类型 更多...
 
enum  xf_sle_seek_phy_t { XF_SLE_SEEK_PHY_1M = 0x1 , XF_SLE_SEEK_PHY_2M = 0x2 , XF_SLE_SEEK_PHY_4M = 0x4 }
 扫描 (发现, seek) PHY 类型 更多...
 
enum  xf_sle_seek_type_t { XF_SLE_SEEK_TYPE_PASSIVE = 0x00 , XF_SLE_SEEK_TYPE_ACTIVE = 0x01 }
 扫描 (发现, seek) 类型 更多...
 
enum  xf_sle_addr_type_t { XF_SLE_ADDRESS_TYPE_PUBLIC = 0 , XF_SLE_ADDRESS_TYPE_RANDOM = 6 }
 SLE 地址类型 更多...
 
enum  xf_sle_uuid_type_t { XF_SLE_UUID_TYPE_16 = 2 , XF_SLE_UUID_TYPE_128 = 16 }
 SLE UUID 类型 (长度类型) 更多...
 

函数

xf_err_t xf_sle_update_conn_params (xf_sle_conn_param_update_t *params)
 SLE 更新连接参数
 
xf_err_t xf_sle_connect (const xf_sle_addr_t *addr)
 SLE 发起连接
 
xf_err_t xf_sle_disconnect (const xf_sle_addr_t *addr)
 SLE 断开连接
 
xf_err_t xf_sle_disconnect_all (void)
 SLE 断开所有连接
 
xf_err_t xf_sle_add_pair (const xf_sle_addr_t *addr)
 SLE 添加配对
 
xf_err_t xf_sle_del_pair (const xf_sle_addr_t *addr)
 SLE 删除配对
 
xf_err_t xf_sle_del_pair_all (void)
 SLE 删除所有配对
 
xf_err_t xf_sle_get_pair_list (uint16_t *max_num, xf_sle_addr_t *dev_list)
 SLE 获取已配对的设备
 
xf_err_t xf_sle_get_bond_list (int *max_num, xf_sle_addr_t *dev_list)
 SLE 获取已绑定的设备
 
xf_err_t xf_sle_get_peer_rssi (uint16_t conn_id, int8_t *rssi)
 SLE 获取对端设备的 RSSI
 
xf_err_t xf_sle_set_phy_params (uint16_t conn_id, xf_sle_set_phy_t *sle_phy)
 SLE 设置 PHY 参数
 
xf_err_t xf_sle_set_mcs (uint16_t conn_id, uint8_t mcs)
 SLE 设置 调制与编码策略( Modulation and Coding Scheme )
 
xf_err_t xf_sle_set_data_len (uint16_t conn_id, uint16_t tx_octets)
 SLE 设置连接链路上所偏好的最大传输 payload 字节数
 
xf_err_t xf_sle_set_default_conn_params (xf_sle_conn_param_def_t *conn_param_def)
 SLE 设置默认连接参数
 
xf_err_t xf_sle_set_max_pwr_level_by_pwr (int8_t target_max_pwr)
 SLEE 配置最大功率档位(根据指定的最大功率)
 
xf_err_t xf_sle_enable (void)
 SLE 功能开启
 
xf_err_t xf_sle_disable (void)
 SLE 功能关闭
 
xf_err_t xf_sle_set_local_addr (xf_sle_addr_t *addr)
 SLE 设置本端设备地址
 
xf_err_t xf_sle_get_local_addr (xf_sle_addr_t *addr)
 SLE 获取本端设备地址
 
xf_err_t xf_sle_set_local_name (const uint8_t *name, const uint8_t len)
 SLE 设置本端设备名称
 
xf_err_t xf_sle_get_local_name (uint8_t *name, uint8_t *len)
 SLE 获取本端设备名称
 
xf_err_t xf_sle_set_announce_data (uint8_t announce_id, const xf_sle_announce_data_t *data)
 SLE 设置广播 (公开) 数据
 
xf_err_t xf_sle_set_announce_param (uint8_t announce_id, const xf_sle_announce_param_t *param)
 SLE 设置广播 (公开) 参数
 
xf_err_t xf_sle_start_announce (uint8_t announce_id)
 SLE 广播开启
 
xf_err_t xf_sle_stop_announce (uint8_t announce_id)
 SLE 广播关闭
 
xf_err_t xf_sle_set_seek_param (xf_sle_seek_param_t *param)
 SLE 设置扫描参数
 
xf_err_t xf_sle_start_seek (void)
 SLE 扫描开启
 
xf_err_t xf_sle_stop_seek (void)
 SLE 扫描停止
 

详细描述

xf_sle 是对星闪接口的封装。

宏定义说明

◆ XF_SLE_ADV_STRUCT_TYPE_FILED_SIZE

#define XF_SLE_ADV_STRUCT_TYPE_FILED_SIZE   1

SLE 广播数据单元类型字段的大小

示例
examples/wireless/sle/sample_ssap_client/main/xf_main.c.

在文件 xf_sle_device_discovery_types.h63 行定义.

◆ XF_SLE_ADV_STRUCT_LEN_FILED_SIZE

#define XF_SLE_ADV_STRUCT_LEN_FILED_SIZE   1

SLE 广播数据单元数据长度字段的大小

示例
examples/wireless/sle/sample_ssap_client/main/xf_main.c.

在文件 xf_sle_device_discovery_types.h68 行定义.

◆ XF_SLE_SSAP_STRUCT_INFO_BASE

#define XF_SLE_SSAP_STRUCT_INFO_BASE
值:
union \
{ \
uint8_t _fixed_size; \
}; \
uint8_t struct_data_len; \
xf_sle_adv_struct_type_t
SLE 广播单元类型

在文件 xf_sle_device_discovery_types.h109 行定义.

◆ XF_SLE_SSAP_STRUCT_TYPE_ARRAY_U8

#define XF_SLE_SSAP_STRUCT_TYPE_ARRAY_U8 (   type_name,
  adv_data_array_size 
)
值:
typedef struct { \
XF_SLE_SSAP_STRUCT_INFO_BASE \
uint8_t data[adv_data_array_size]; \
}type_name

定义一个严格遵循星闪标准的广播数据单元结构,单元数据 ( AD Data ) 为数组的类型

参数
type_name指定定义的类型名
adv_data_array_size单元数据 ( AD Data ) 数组的大小
注解
一般仅用于平台对接时使用,便于 XF SLE 广播数据单元结构与符号标准的广播数据结构间的转换

在文件 xf_sle_device_discovery_types.h124 行定义.

◆ XF_SLE_SSAP_STRUCT_TYPE_VAL_U8

#define XF_SLE_SSAP_STRUCT_TYPE_VAL_U8 (   type_name)
值:
typedef struct { \
XF_SLE_SSAP_STRUCT_INFO_BASE \
uint8_t data; \
}type_name

定义一个严格遵循星闪标准的广播数据单元结构,单元数据 ( AD Data ) 为 uint8_t 的类型

参数
type_name指定定义的类型名
注解
一般仅用于平台对接时使用,便于 XF SLE 广播数据单元结构与符号标准的广播数据结构间的转换

在文件 xf_sle_device_discovery_types.h136 行定义.

◆ XF_SLE_SEEK_PHY_NUM_MAX

#define XF_SLE_SEEK_PHY_NUM_MAX   3

扫描 (发现, seek) PHY 最大值

在文件 xf_sle_device_discovery_types.h260 行定义.

◆ XF_SLE_DEBUG_ENABLE

#define XF_SLE_DEBUG_ENABLE   0

在文件 xf_sle_types.h45 行定义.

◆ XF_SLE_ADDR_LEN

#define XF_SLE_ADDR_LEN   6

SLE 地址长度

示例
examples/wireless/sle/sample_ssap_server/main/xf_main.c.

在文件 xf_sle_types.h55 行定义.

◆ XF_SLE_ADDR_PRINT_FMT

#define XF_SLE_ADDR_PRINT_FMT   "%02X:%02X:%02X:%02X:%02X:%02X"

SLE 地址打印格式

示例
examples/wireless/sle/sample_ssap_client/main/xf_main.c.

在文件 xf_sle_types.h60 行定义.

◆ XF_SLE_ADDR_EXPAND_TO_ARG

#define XF_SLE_ADDR_EXPAND_TO_ARG (   addr)    (addr)[0],(addr)[1],(addr)[2],(addr)[3],(addr)[4],(addr)[5]

SLE 地址展开为参数

注解
一般用于配合 'XF_SLE_ADDR_PRINT_FMT' 进行地址打印输出
示例
examples/wireless/sle/sample_ssap_client/main/xf_main.c.

在文件 xf_sle_types.h67 行定义.

◆ _XF_SLE_UUID16_INIT

#define _XF_SLE_UUID16_INIT (   uuid16)
值:
{ \
.value = (uuid16), \
}
@ XF_SLE_UUID_TYPE_16

在文件 xf_sle_types.h129 行定义.

◆ _XF_SLE_UUID128_INIT

#define _XF_SLE_UUID128_INIT (   uuid128 ...)
值:
{ \
.value = { uuid128 }, \
}
@ XF_SLE_UUID_TYPE_128

在文件 xf_sle_types.h135 行定义.

◆ XF_SLE_DECLARE_UUID16

#define XF_SLE_DECLARE_UUID16 (   uuid16)     ((xf_sle_uuid_info_t *) (&(xf_sle_uuid16_info_t) _XF_SLE_UUID16_INIT(uuid16)))

SLE 声明一个 16-bit UUID

注解
通常用于填充服务结构时填入常量 UUID
示例
examples/wireless/sle/sample_ssap_server/main/xf_main.c.

在文件 xf_sle_types.h145 行定义.

◆ XF_SLE_DECLARE_UUID128

#define XF_SLE_DECLARE_UUID128 (   uuid128...)     ((xf_sle_uuid_info_t *) (&(xf_sle_uuid128_info_t) _XF_SLE_UUID128_INIT(uuid128)))

SLE 声明一个 128-bit UUID

注解
通常用于填充服务结构时填入常量 UUID

在文件 xf_sle_types.h152 行定义.

◆ XF_SLE_INVALID_ATTR_HANDLE

#define XF_SLE_INVALID_ATTR_HANDLE   (0x0000)

SLE 无效属性句柄

注解
通常用于对接服务结构添加时,判断服务、特征、特征描述符等属性的句柄是否有效

在文件 xf_sle_types.h159 行定义.

类型定义说明

◆ xf_sle_adv_struct_data_t

SLE 广播数据单元的数据

注解
以下暂时仅列出部分类型的广播数据单元数据成员

以下为星闪标准定义的广播数据结构及广播数据单元数据 ( AD Data ) 所在的位置 (SLE、BLE 广播数据结构类似,但也有些区别,可与蓝牙标准中的广播数据结构进行对比观看)

| Public Information Data Structure ...... |
| Data Substructure 1 | Data Substructure 2| ...... |
| Type (1 octet) | Length (1 octet, len of content) | Content (Length octets) | ...... |
| ^ |

◆ xf_sle_announce_data_t

SLE 广播 (公开) 数据 ( 包含响应数据 )

警告
目前 广播数据单元 并不是严格按标准的广播数据结构进行定义, 而是从更方便使用的角度对标准的结构进行了微调
目前 响应数据 是需严格遵循标准结构,需要自行逐项填充

◆ xf_sle_uuid_info_t

SLE UUID 信息 (多种长度类型通用)

◆ xf_sle_uuid16_info_t

SLE 16-bit UUID 信息

◆ xf_sle_uuid128_info_t

SLE 128-bit UUID 信息

◆ xf_sle_attr_handle_t

typedef uint16_t xf_sle_attr_handle_t

SLE 属性句柄

在文件 xf_sle_types.h164 行定义.

◆ xf_sle_var_uintptr_t

SLE 中类型可变的数据

注解
基于 uintptr 类型,可变数据的最大大小等于 uintptr 类型的大小

枚举类型说明

◆ xf_sle_pair_state_t

SLE 配对状态

枚举值
XF_SLE_PAIR_STATE_NONE 

未配对状态

XF_SLE_PAIR_STATE_PAIRING 

正在配对

XF_SLE_PAIR_STATE_PAIRED 

已完成配对

在文件 xf_sle_connection_manager_types.h53 行定义.

◆ xf_sle_disconnect_reason_t

SLE 断连原因

枚举值
XF_SLE_DISCONNECT_BY_REMOTE 

远端断链

XF_SLE_DISCONNECT_BY_LOCAL 

本端断链

在文件 xf_sle_connection_manager_types.h62 行定义.

◆ xf_sle_adv_struct_type_t

SLE 广播单元类型

注解
广播单元 Data Structure,类似 BLE AD Structure
枚举值
XF_SLE_ADV_STRUCT_TYPE_DISCOVERY_LEVEL 

发现等级

XF_SLE_ADV_STRUCT_TYPE_ACCESS_MODE 

接入层能力

XF_SLE_ADV_STRUCT_TYPE_SERVICE_DATA_16BIT_UUID 

标准服务数据信息

XF_SLE_ADV_STRUCT_TYPE_SERVICE_DATA_128BIT_UUID 

自定义服务数据信息

XF_SLE_ADV_STRUCT_TYPE_COMPLETE_LIST_OF_16BIT_SERVICE_UUIDS 

完整标准服务标识列表

XF_SLE_ADV_STRUCT_TYPE_COMPLETE_LIST_OF_128BIT_SERVICE_UUIDS 

完整自定义服务标识列表

XF_SLE_ADV_STRUCT_TYPE_INCOMPLETE_LIST_OF_16BIT_SERVICE_UUIDS 

部分标准服务标识列表

XF_SLE_ADV_STRUCT_TYPE_INCOMPLETE_LIST_OF_128BIT_SERVICE_UUIDS 

部分自定义服务标识列表

XF_SLE_ADV_STRUCT_TYPE_SERVICE_STRUCTURE_HASH_VALUE 

服务结构散列值

XF_SLE_ADV_STRUCT_TYPE_SHORTENED_LOCAL_NAME 

设备缩写本地名称

XF_SLE_ADV_STRUCT_TYPE_COMPLETE_LOCAL_NAME 

设备完整本地名称

XF_SLE_ADV_STRUCT_TYPE_TX_POWER_LEVEL 

广播发送功率

XF_SLE_ADV_STRUCT_TYPE_SLB_COMMUNICATION_DOMAIN 

SLB通信域域名

XF_SLE_ADV_STRUCT_TYPE_SLB_MEDIA_ACCESS_LAYER_ID 

SLB媒体接入层标识

XF_SLE_ADV_STRUCT_TYPE_EXTENDED 

数据类型扩展

XF_SLE_ADV_STRUCT_TYPE_MANUFACTURER_SPECIFIC_DATA 

厂商自定义信息

在文件 xf_sle_device_discovery_types.h41 行定义.

◆ xf_sle_announce_type_t

SLE 广播 (公开) 类型

枚举值
XF_SLE_ANNOUNCE_TYPE_NONCONN_NONSCAN 

不可连接不可扫描

XF_SLE_ANNOUNCE_TYPE_CONNECTABLE_NONSCAN 

可连接不可扫描

XF_SLE_ANNOUNCE_TYPE_NONCONN_SCANABLE 

不可连接可扫描

XF_SLE_ANNOUNCE_TYPE_CONNECTABLE_SCANABLE 

可连接可扫描

XF_SLE_ANNOUNCE_TYPE_CONNECTABLE_DIRECTED 

可连接可扫描定向

在文件 xf_sle_device_discovery_types.h159 行定义.

◆ xf_sle_announce_level_t

SLE 广播 (公开) 可发现等级 (被对方)

枚举值
XF_SLE_ANNOUNCE_LEVEL_NONE 

不可见发现,预留

XF_SLE_ANNOUNCE_LEVEL_NORMAL 

一般可发现

XF_SLE_ANNOUNCE_LEVEL_PRIORITY 

优先可发现,预留

XF_SLE_ANNOUNCE_LEVEL_PAIRED 

被曾配对过的设备发现,预留

XF_SLE_ANNOUNCE_LEVEL_SPECIAL 

被指定设备发现

在文件 xf_sle_device_discovery_types.h170 行定义.

◆ xf_sle_adv_channel_map_t

SLE 广播 (公开) 通道

枚举值
XF_SLE_ADV_CHANNEL_MAP_77 

启用 77 通道

XF_SLE_ADV_CHANNEL_MAP_78 

启用 78 通道

XF_SLE_ADV_CHANNEL_MAP_79 

启用 79 通道

XF_SLE_ADV_CHANNEL_MAP_DEFAULT 

启用所有通道

在文件 xf_sle_device_discovery_types.h181 行定义.

◆ xf_sle_announce_gt_role_t

SLE G/T 角色协商指示

枚举值
XF_SLE_ANNOUNCE_ROLE_T_CAN_NEGO 

期望做 T 可协商

XF_SLE_ANNOUNCE_ROLE_G_CAN_NEGO 

期望做 G 可协商

XF_SLE_ANNOUNCE_ROLE_T_NO_NEGO 

期望做 T 不可协商

XF_SLE_ANNOUNCE_ROLE_G_NO_NEGO 

期望做 G 不可协商

在文件 xf_sle_device_discovery_types.h191 行定义.

◆ xf_sle_seek_filter_t

扫描 (发现, seek) 过滤类型

枚举值
XF_SLE_SEEK_FILTER_ALLOW_ALL 

允许来自任何人的设备发现数据包

XF_SLE_SEEK_FILTER_ALLOW_WHITE_LIST 

允许来自白名单设备的设备发现数据包,预留

在文件 xf_sle_device_discovery_types.h235 行定义.

◆ xf_sle_seek_phy_t

扫描 (发现, seek) PHY 类型

枚举值
XF_SLE_SEEK_PHY_1M 

1M PHY

XF_SLE_SEEK_PHY_2M 

2M PHY

XF_SLE_SEEK_PHY_4M 

4M PHY

在文件 xf_sle_device_discovery_types.h243 行定义.

◆ xf_sle_seek_type_t

扫描 (发现, seek) 类型

枚举值
XF_SLE_SEEK_TYPE_PASSIVE 

被动扫描

XF_SLE_SEEK_TYPE_ACTIVE 

主动扫描

在文件 xf_sle_device_discovery_types.h252 行定义.

◆ xf_sle_addr_type_t

SLE 地址类型

枚举值
XF_SLE_ADDRESS_TYPE_PUBLIC 

公有地址

XF_SLE_ADDRESS_TYPE_RANDOM 

随机地址

在文件 xf_sle_types.h72 行定义.

◆ xf_sle_uuid_type_t

SLE UUID 类型 (长度类型)

枚举值
XF_SLE_UUID_TYPE_16 

长度 16-bit

XF_SLE_UUID_TYPE_128 

长度 128-bit

在文件 xf_sle_types.h88 行定义.

函数说明

◆ xf_sle_update_conn_params()

xf_err_t xf_sle_update_conn_params ( xf_sle_conn_param_update_t params)

SLE 更新连接参数

参数
params更新连接参数的信息,见 xf_sle_conn_param_update_t
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • (OTHER) xf_err_t

◆ xf_sle_connect()

xf_err_t xf_sle_connect ( const xf_sle_addr_t addr)

SLE 发起连接

参数
addr要连接的地址,见 xf_sle_addr_t
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • (OTHER) xf_err_t
示例
examples/wireless/sle/sample_ssap_client/main/xf_main.c.

◆ xf_sle_disconnect()

xf_err_t xf_sle_disconnect ( const xf_sle_addr_t addr)

SLE 断开连接

参数
addr要断连的地址,见 xf_sle_addr_t
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • (OTHER) xf_err_t

◆ xf_sle_disconnect_all()

xf_err_t xf_sle_disconnect_all ( void  )

SLE 断开所有连接

返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • (OTHER) xf_err_t

◆ xf_sle_add_pair()

xf_err_t xf_sle_add_pair ( const xf_sle_addr_t addr)

SLE 添加配对

参数
addr要配对的设备的地址,见 xf_sle_addr_t
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • (OTHER) xf_err_t

◆ xf_sle_del_pair()

xf_err_t xf_sle_del_pair ( const xf_sle_addr_t addr)

SLE 删除配对

参数
addr要删除配对的设备的地址,见 xf_sle_addr_t
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • (OTHER) xf_err_t

◆ xf_sle_del_pair_all()

xf_err_t xf_sle_del_pair_all ( void  )

SLE 删除所有配对

返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • (OTHER) xf_err_t

◆ xf_sle_get_pair_list()

xf_err_t xf_sle_get_pair_list ( uint16_t *  max_num,
xf_sle_addr_t dev_list 
)

SLE 获取已配对的设备

参数
max_num要获取的最大数量
[out]dev_list获取到的设备列表,见 xf_sle_addr_t
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • (OTHER) xf_err_t

◆ xf_sle_get_bond_list()

xf_err_t xf_sle_get_bond_list ( int *  max_num,
xf_sle_addr_t dev_list 
)

SLE 获取已绑定的设备

参数
max_num要获取的最大数量
[out]dev_list获取到的设备列表,见 xf_sle_addr_t
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • (OTHER) xf_err_t

◆ xf_sle_get_peer_rssi()

xf_err_t xf_sle_get_peer_rssi ( uint16_t  conn_id,
int8_t *  rssi 
)

SLE 获取对端设备的 RSSI

参数
conn_id链接 (连接) ID
rssi
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • (OTHER) xf_err_t

◆ xf_sle_set_phy_params()

xf_err_t xf_sle_set_phy_params ( uint16_t  conn_id,
xf_sle_set_phy_t sle_phy 
)

SLE 设置 PHY 参数

参数
conn_id链接 (连接) ID
sle_phySLE PHY 参数, xf_sle_set_phy_t
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • (OTHER) xf_err_t

◆ xf_sle_set_mcs()

xf_err_t xf_sle_set_mcs ( uint16_t  conn_id,
uint8_t  mcs 
)

SLE 设置 调制与编码策略( Modulation and Coding Scheme )

参数
conn_id链接 (连接) ID
mcsSLE 调制与编码策略( Modulation and Coding Scheme )
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • (OTHER) xf_err_t

◆ xf_sle_set_data_len()

xf_err_t xf_sle_set_data_len ( uint16_t  conn_id,
uint16_t  tx_octets 
)

SLE 设置连接链路上所偏好的最大传输 payload 字节数

参数
conn_id链接 (连接) ID
tx_octets偏好的 payload 字节数
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • (OTHER) xf_err_t

◆ xf_sle_set_default_conn_params()

xf_err_t xf_sle_set_default_conn_params ( xf_sle_conn_param_def_t conn_param_def)

SLE 设置默认连接参数

参数
conn_param_defSLE 默认连接参数
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • (OTHER) xf_err_t

◆ xf_sle_set_max_pwr_level_by_pwr()

xf_err_t xf_sle_set_max_pwr_level_by_pwr ( int8_t  target_max_pwr)

SLEE 配置最大功率档位(根据指定的最大功率)

参数
target_max_pwr目标最大功率
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • (OTHER) xf_err_t

◆ xf_sle_enable()

xf_err_t xf_sle_enable ( void  )

SLE 功能开启

注解
包含所有 SLE 开启前的处理
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • (OTHER) xf_err_t
示例
examples/wireless/sle/sample_ssap_client/main/xf_main.c , 以及 examples/wireless/sle/sample_ssap_server/main/xf_main.c.

◆ xf_sle_disable()

xf_err_t xf_sle_disable ( void  )

SLE 功能关闭

注解
包含所有 SLE 关闭前的处理
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • (OTHER) xf_err_t

◆ xf_sle_set_local_addr()

xf_err_t xf_sle_set_local_addr ( xf_sle_addr_t addr)

SLE 设置本端设备地址

参数
addrSLE 地址信息,见 xf_sle_addr_t
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • XF_ERR_NOT_SUPPORTED 不支持
  • (OTHER) xf_err_t

◆ xf_sle_get_local_addr()

xf_err_t xf_sle_get_local_addr ( xf_sle_addr_t addr)

SLE 获取本端设备地址

参数
addrSLE 地址信息,见 xf_sle_addr_t
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • (OTHER) xf_err_t

◆ xf_sle_set_local_name()

xf_err_t xf_sle_set_local_name ( const uint8_t *  name,
const uint8_t  len 
)

SLE 设置本端设备名称

参数
name设备名
len设备名长度
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • (OTHER) xf_err_t
示例
examples/wireless/sle/sample_ssap_server/main/xf_main.c.

◆ xf_sle_get_local_name()

xf_err_t xf_sle_get_local_name ( uint8_t *  name,
uint8_t *  len 
)

SLE 获取本端设备名称

参数
[out]name设备名
len设备名长度
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • (OTHER) xf_err_t

◆ xf_sle_set_announce_data()

xf_err_t xf_sle_set_announce_data ( uint8_t  announce_id,
const xf_sle_announce_data_t data 
)

SLE 设置广播 (公开) 数据

参数
announce_id广播 ID
data广播数据,见 xf_sle_announce_data_t
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • (OTHER) xf_err_t
示例
examples/wireless/sle/sample_ssap_server/main/xf_main.c.

◆ xf_sle_set_announce_param()

xf_err_t xf_sle_set_announce_param ( uint8_t  announce_id,
const xf_sle_announce_param_t param 
)

SLE 设置广播 (公开) 参数

参数
announce_id广播 ID
param广播参数,见 xf_sle_announce_param_t
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • (OTHER) xf_err_t
示例
examples/wireless/sle/sample_ssap_server/main/xf_main.c.

◆ xf_sle_start_announce()

xf_err_t xf_sle_start_announce ( uint8_t  announce_id)

SLE 广播开启

参数
announce_id广播 ID
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • (OTHER) xf_err_t
示例
examples/wireless/sle/sample_ssap_server/main/xf_main.c.

◆ xf_sle_stop_announce()

xf_err_t xf_sle_stop_announce ( uint8_t  announce_id)

SLE 广播关闭

参数
announce_id广播 ID
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • (OTHER) xf_err_t

◆ xf_sle_set_seek_param()

xf_err_t xf_sle_set_seek_param ( xf_sle_seek_param_t param)

SLE 设置扫描参数

参数
param扫描参数,见 xf_sle_seek_param_t
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • (OTHER) xf_err_t
示例
examples/wireless/sle/sample_ssap_client/main/xf_main.c.

◆ xf_sle_start_seek()

xf_err_t xf_sle_start_seek ( void  )

SLE 扫描开启

返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • (OTHER) xf_err_t
示例
examples/wireless/sle/sample_ssap_client/main/xf_main.c.

◆ xf_sle_stop_seek()

xf_err_t xf_sle_stop_seek ( void  )

SLE 扫描停止

返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 失败
  • (OTHER) xf_err_t
示例
examples/wireless/sle/sample_ssap_client/main/xf_main.c.