Firefly开源社区

打印 上一主题 下一主题

client 主机 广播包 扫描响应包 处理 ???

19

积分

0

威望

0

贡献

游客

积分
19

client 主机 广播包 扫描响应包 处理 ???

发表于 2015-11-18 16:27:07      浏览:6485 | 回复:7        打印     [复制链接] 楼主
Advertising Data(广播包)   好像是  app_gap_dev_inq_req(GAP_GEN_INQ_TYPE, QN_ADDR_TYPE);                                   int app_gap_dev_inq_cmp_handler(ke_msg_id_t const msgid,
                                                                      struct gap_event_common_cmd_complete const *param,
                                                                        ke_task_id_t const dest_id,
                                                                        ke_task_id_t const src_id)
两个函数来处理的




Scan Response Data(扫描响应包)是怎么处理的啊 ??


回复

使用道具 举报

19

积分

0

威望

0

贡献

游客

积分
19
发表于 2015-11-20 09:01:01      沙发
xiaolong_ba 发表于 2015-11-19 19:43
首先,你要明白app_gap_dev_inq_req函数发送的是GAP_DEV_INQ_REQ这个消息请求,而这个消息请求的响应消息是 ...

struct app_env_tag
{
#if (BLE_PERIPHERAL || BLE_BROADCASTER)
    // Service setup Flag
    uint16_t srv_flag;
    // Advertising data
    uint8_t adv_data[ADV_DATA_LEN];
    // Scan Response data
    uint8_t scanrsp_data[SCAN_RSP_DATA_LEN];
#endif

        ..........
}                        这个结构体在client中(BLE_PERIPHERAL || BLE_BROADCASTER)是等于0的
                         所以adv_data和scanrsp_data是没有定义的
回复

使用道具 举报

19

积分

0

威望

0

贡献

游客

积分
19
发表于 2015-11-20 09:08:00      板凳
xiaolong_ba 发表于 2015-11-19 19:43
首先,你要明白app_gap_dev_inq_req函数发送的是GAP_DEV_INQ_REQ这个消息请求,而这个消息请求的响应消息是 ...

app_env.adv_data和app_env.scanrsp_data  这两个应该是作为从机广播时需要填入的广播数据,   而我现在需要的是主机扫描到从机广播的数据。
回复

使用道具 举报

19

积分

0

威望

0

贡献

游客

积分
19
发表于 2015-11-20 09:40:50      地板
xiaolong_ba 发表于 2015-11-20 09:14
你可以在主机程序的app_gap_dev_inq_result_handler函数中把看看。app_env是一个全局结构体变量,先试试 ...

我找到了广播包的结构体 应该是这个
///Advertising report structure
struct adv_report
{
    ///Event type: Ref bluetooth core spec 4.0 Volume 6 Part B Chapter 2.3 Table 2.1
    uint8_t        evt_type;
    ///Advertising address type: public/random
    uint8_t        adv_addr_type;
    ///Advertising address value
    struct bd_addr adv_addr;
    ///Data length in advertising packet
    uint8_t        data_len;
    ///Data of advertising packet
    uint8_t        data[ADV_DATA_LEN];
    ///RSSI value for advertising packet
    int8_t        rssi;
};


扫描响应包的 ///Scan response data structure
struct scan_rsp_data
{
    ///Maximum length data bytes array
    uint8_t        data[SCAN_RSP_DATA_LEN];
};      程序中没有找到这个是怎么处理的,好像是没有定义 没有处理啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表