#include "xf_hal.h"
#include "string.h"
 
 
#define TAG "sample_ssaps"
 
#define SAMPLE_ADV_ID       1
#define SAMPLE_ADV_HANDLE   1
 
#define SAMPLE_SLE_CONN_INTV_MIN                0x64
#define SAMPLE_SLE_CONN_INTV_MAX                0x64
#define SAMPLE_SLE_ADV_INTERVAL_MIN             0xC8
#define SAMPLE_SLE_ADV_INTERVAL_MAX             0xC8
#define SAMPLE_SLE_CONN_SUPERVISION_TIMEOUT     0x1F4
#define SAMPLE_SLE_CONN_MAX_LATENCY             0
#define SAMPLE_SLE_ADV_TX_POWER  10
 
 
 
 
 
 
 
    {
        {
                {
                },
                {0}
            },
        },
        {0}
    }
};
 
 
 
{
 
             "xf_sle_enable error!:%#X", ret);
 
    
 
    
             "xf_sle_set_local_name error:%#X", ret);
 
    
             "xf_sle_set_local_name error:%#X", ret);
 
    
             "xf_sle_ssaps_add_service_to_app error:%#X", ret);
 
    
             "xf_sle_ssaps_start_service error:%#X", ret);
 
    
 
    
             "xf_sle_start_announce error:%#X", ret);
}
 
 
{
        XF_LOGI(
TAG, 
"EV:disconnect, it will restart ADV");
 
        
                 "xf_sle_start_announce error:%#X", ret);
    } break;
    } break;
        XF_LOGI(
TAG, 
"EV:REQ WRITE:need_rsp:%d,hdl:%d,conn_id:%d,trans_id:%d",
 
 
    } break;
        XF_LOGI(
TAG, 
"EV:REQ READ:need_rsp:%d,hdl:%d,conn_id:%d,trans_id:%d",
 
 
        };
                                                 );
                 "xf_sle_start_announce error:%#X", ret);
    } break;
    default:
        break;
    }
}
 
{
        {
            {
            }, {
                .struct_data_len = 1,
            },
            {.struct_data_len = 0}  
        },
        .seek_rsp_data_len = 0,
        .seek_rsp_data = NULL,
    };
 
             "ADV set data error:%#X", ret);
}
 
{
    {
 
 
    };
 
             "ADV set param error:%#X", ret);
}
#define XF_CHECK(condition, retval, tag, format,...)
xfusion 检查宏(条件 成立 时则输出日志后返回)。
 
int32_t xf_err_t
整形错误类型。 错误码具体值见 xf_err_code_t.
 
#define XF_LOG_BUFFER_HEXDUMP_ESCAPE(buffer, buffer_len)
以十六进制输出 buffer 的内容,同时输出可见的 ascii 码,以及转义字符。
 
#define xf_memcpy(dest, src, n)
 
xf_err_t xf_sle_ssaps_event_cb_register(xf_sle_ssaps_event_cb_t evt_cb, xf_sle_ssaps_event_t events)
SLE SSAPS 事件回调注册
 
xf_err_t xf_sle_ssaps_send_response(uint8_t app_id, uint16_t conn_id, uint32_t trans_id, xf_sle_ssap_err_t err_code, xf_sle_ssaps_response_value_t *rsp)
SLE SSAPS 发送 (请求的) 响应
 
xf_err_t xf_sle_ssaps_add_service_to_app(uint8_t app_id, xf_sle_ssaps_service_t *service)
SLE SSAPS 服务端 (应用) 添加服务
 
xf_sle_ssaps_event_t
SLE SSAPS 事件
 
xf_err_t xf_sle_ssaps_app_register(xf_sle_uuid_info_t *app_uuid, uint8_t *app_id)
SLE SSAPS 服务端注册
 
xf_err_t xf_sle_ssaps_start_service(uint8_t app_id, uint16_t service_handle)
SLE SSAPS 服务开启
 
@ XF_SLE_SSAP_SERVICE_TYPE_PRIMARY
 
@ XF_SLE_SSAP_PERMISSION_WRITE
 
@ XF_SLE_SSAP_PERMISSION_READ
 
@ XF_SLE_CONN_EVT_DISCONNECT
 
@ XF_SLE_CONN_EVT_CONNECT
 
@ XF_SLE_SSAPS_EVT_REQ_WRITE
 
@ XF_SLE_SSAPS_EVT_REQ_READ
 
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_local_name(const uint8_t *name, const uint8_t len)
SLE 设置本端设备名称
 
struct __packed _xf_sle_uuid_info_t xf_sle_uuid_info_t
SLE UUID 信息 (多种长度类型通用)
 
#define XF_SLE_ADDR_LEN
SLE 地址长度
 
xf_err_t xf_sle_enable(void)
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 广播开启
 
#define XF_SLE_DECLARE_UUID16(uuid16)
SLE 声明一个 16-bit UUID
 
@ XF_SLE_ADV_STRUCT_TYPE_DISCOVERY_LEVEL
 
@ XF_SLE_ADV_STRUCT_TYPE_COMPLETE_LOCAL_NAME
 
@ XF_SLE_ANNOUNCE_TYPE_CONNECTABLE_SCANABLE
 
@ XF_SLE_ANNOUNCE_LEVEL_NORMAL
 
@ XF_SLE_ADV_CHANNEL_MAP_DEFAULT
 
@ XF_SLE_ANNOUNCE_ROLE_T_CAN_NEGO
 
SLE 广播 (公开) 数据 ( 包含响应数据 )
 
xf_sle_adv_struct_t * announce_struct_set
 
uint8_t addr[XF_SLE_ADDR_LEN]
 
SLE 广播数据单元 ( AD structure )
 
xf_sle_adv_struct_type_t type
 
uint32_t announce_interval_min
 
uint16_t conn_interval_min
 
uint32_t announce_interval_max
 
xf_sle_announce_gt_role_t announce_gt_role
 
uint16_t conn_interval_max
 
uint16_t conn_max_latency
 
xf_sle_adv_channel_map_t announce_channel_map
 
uint16_t conn_supervision_timeout
 
xf_sle_announce_level_t announce_level
 
xf_sle_announce_type_t announce_type
 
struct _xf_sle_ssaps_evt_cb_param_t::@28 req_read
SLE SSAPS 接收到读请求事件的参数
 
struct _xf_sle_ssaps_evt_cb_param_t::@29 req_write
SLE SSAPS 接收到写请求事件的参数
 
static xf_sle_ssapc_find_struct_param_t service_struct
 
static xf_sle_uuid_info_t s_app_uuid
 
static void sample_sle_set_adv_data(void)
 
static uint8_t s_prop_value[8]
 
static uint8_t s_ntf_value[]
 
static void sample_sle_set_adv_param(void)
 
#define SAMPLE_SLE_ADV_INTERVAL_MAX
 
static uint8_t s_rsp_value[]
 
static uint8_t s_local_name[]
 
#define SAMPLE_SLE_CONN_INTV_MIN
 
#define SAMPLE_ADV_HANDLE
 
#define SAMPLE_SLE_CONN_INTV_MAX
 
static uint8_t s_sle_mac_addr[XF_SLE_ADDR_LEN]
 
#define SAMPLE_SLE_CONN_SUPERVISION_TIMEOUT
 
static xf_err_t sample_ssaps_event_cb(xf_sle_ssaps_event_t event, xf_sle_ssaps_evt_cb_param_t *param)
 
#define SAMPLE_SLE_ADV_INTERVAL_MIN
 
#define SAMPLE_SLE_CONN_MAX_LATENCY
 
#define XF_LOGI(tag, format,...)