17#define TAG "sample_ssapc" 
   19#define SAMPLE_SLE_SEEK_INTERVAL    100 
   20#define SAMPLE_SLE_SEEK_WINDOW      100 
   22#define TASK_PRIORITY   5 
   23#define TASK_DELAY_MS   500 
   73             "xf_sle_enable error!:%#X", ret);
 
   80             "xf_sle_ssapc_app_register error:%#X", ret);
 
   89             "xf_sle_start_seek error:%#X", ret);
 
 
  105            XF_LOGE(
TAG, 
">> FIND service error: %d", ret);
 
  116        XF_LOGI(
TAG, 
">> request write data,app_id:%d,conn_id:%d,hdl:%u",
 
  118        uint8_t data_write[] = 
"I M SSAPC WRITE REQ!";
 
  121                                              data_write, 
sizeof(data_write));
 
  123            XF_LOGE(
TAG, 
">> request write cmd error: %#X", ret);
 
  128        XF_LOGI(
TAG, 
">> request read,app_id:%d,conn_id:%d,hdl:%u",
 
  133            XF_LOGE(
TAG, 
">> request write cmd error: %#X", ret);
 
 
  157             "xf_sle_set_seek_param error:%#X", ret);
 
 
  175        XF_LOGI(
TAG, 
"EV:WRITE confirm:conn_id:%d,hdl:%d",
 
  180        XF_LOGI(
TAG, 
"EV:READ confirm:conn_id:%d,hdl:%d",
 
  185        XF_LOGI(
TAG, 
"EV:RECV NTF or IND:conn_id:%d,hdl:%d",
 
 
  201    uint8_t *adv_data_all = result->
data;
 
  202    uint16_t adv_size_all = result->
data_len;
 
  204    uint8_t *adv_pos = adv_data_all;
 
  205    uint8_t *adv_end = adv_data_all + adv_size_all;
 
  206    while (adv_pos <= adv_end) {
 
  207        uint8_t struct_data_len = adv_pos[1];
 
  209        XF_LOGD(
TAG, 
"EV:scan_result:struct_data_len:%d ad_type:%#2X",
 
  210                struct_data_len, ad_type);
 
  213            uint8_t *local_name = &adv_pos[2];
 
  217                XF_LOGD(
TAG, 
"EV:seek result:evt_type:%d,rssi:%d" 
  230            XF_LOGD(
TAG, 
"EV:scan_result:uncaring ad_type:%#2X", ad_type);
 
 
static xf_task_t xf_ttask_create_loop(xf_task_func_t func, void *func_arg, uint16_t priority, uint32_t delay_ms)
在默认的任务管理下,创建 ttask 循环任务。
 
#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 码,以及转义字符。
 
xf_err_t xf_sle_ssapc_request_write_data(uint8_t app_id, uint16_t conn_id, uint16_t handle, uint8_t type, uint8_t *data, uint16_t data_len)
SLE SSAPC 发起写请求
 
xf_err_t xf_sle_ssapc_app_register(xf_sle_uuid_info_t *app_uuid, uint8_t *app_id)
SLE SSAPC 客户端注册
 
xf_err_t xf_sle_ssapc_request_read_by_handle(uint8_t app_id, uint16_t conn_id, uint8_t type, uint16_t handle)
SLE SSAPC 通过句柄发起读请求
 
xf_err_t xf_sle_ssapc_discover_service(uint8_t app_id, uint16_t conn_id, xf_sle_ssapc_find_struct_param_t *param)
SLE SSAPC 搜寻服务
 
xf_sle_ssapc_event_t
SLE SSAPC 事件
 
xf_err_t xf_sle_ssapc_event_cb_register(xf_sle_ssapc_event_cb_t evt_cb, xf_sle_ssapc_event_t events)
SLE SSAPC 事件回调注册
 
@ XF_SLE_SSAP_FIND_TYPE_PROPERTY
 
@ XF_SLE_SSAP_FIND_TYPE_PRIMARY_SERVICE
 
@ XF_SLE_SSAP_PROPERTY_TYPE_VALUE
 
@ XF_SLE_CONN_EVT_CONNECT
 
@ XF_SLE_SSAPC_EVT_RECV_READ_CFM
 
@ XF_SLE_SSAPC_EVT_NOTIFICATION
 
@ XF_SLE_SSAPC_EVT_RECV_WRITE_CFM
 
#define XF_SLE_ADDR_EXPAND_TO_ARG(addr)
SLE 地址展开为参数
 
xf_sle_adv_struct_type_t
SLE 广播单元类型
 
struct __packed _xf_sle_uuid_info_t xf_sle_uuid_info_t
SLE UUID 信息 (多种长度类型通用)
 
#define XF_SLE_ADV_STRUCT_LEN_FILED_SIZE
SLE 广播数据单元数据长度字段的大小
 
xf_err_t xf_sle_start_seek(void)
SLE 扫描开启
 
#define XF_SLE_ADDR_PRINT_FMT
SLE 地址打印格式
 
xf_err_t xf_sle_connect(const xf_sle_addr_t *addr)
SLE 发起连接
 
#define XF_SLE_ADV_STRUCT_TYPE_FILED_SIZE
SLE 广播数据单元类型字段的大小
 
xf_err_t xf_sle_enable(void)
SLE 功能开启
 
xf_err_t xf_sle_set_seek_param(xf_sle_seek_param_t *param)
SLE 设置扫描参数
 
xf_err_t xf_sle_stop_seek(void)
SLE 扫描停止
 
@ XF_SLE_ADV_STRUCT_TYPE_COMPLETE_LOCAL_NAME
 
@ XF_SLE_ADDRESS_TYPE_PUBLIC
 
@ XF_SLE_SEEK_TYPE_PASSIVE
 
@ XF_SLE_SEEK_FILTER_ALLOW_ALL
 
uint8_t addr[XF_SLE_ADDR_LEN]
 
xf_sle_ssap_find_type_t type
 
static void task(xf_task_t task)
 
xf_sle_evt_param_write_cfm_t req_write
 
xf_sle_evt_param_connect_t connect
 
xf_sle_evt_param_seek_result_t seek_result
 
xf_sle_evt_param_read_cfm_t req_read
 
static bool is_need_discovery
 
static bool is_discovery_cmpl
 
static void sample_sle_set_seek_param(void)
 
#define SAMPLE_SLE_SEEK_WINDOW
 
static xf_err_t ssapc_event_seek_result_cb(xf_sle_evt_param_seek_result_t *result)
 
#define SAMPLE_SLE_SEEK_INTERVAL
 
static xf_err_t sample_ssapc_event_cb(xf_sle_ssapc_event_t event, xf_sle_ssapc_evt_cb_param_t *param)
 
static void sle_client_task(xf_task_t task)
 
static xf_sle_ssapc_find_struct_param_t prop_struct
 
static uint8_t target_device_name[]
 
static xf_sle_ssapc_find_struct_param_t service_struct
 
static bool is_write_cmpl
 
static xf_sle_uuid_info_t s_app_uuid
 
#define XF_LOGI(tag, format,...)
 
#define XF_LOGE(tag, format,...)
 
#define XF_LOGD(tag, format,...)