使用灯架参考设计与adv_scan_ind

4个帖子/ 0新
最后一篇
quangng.
离线
最后一次露面:5个月1周前
加入:2015-10-29 22:03
使用灯架参考设计与adv_scan_ind

你好,

我正在基于DA14580_BEACON_3.40.6参考设计进行小信标应用程序。特别是,除了从观察者收到扫描响应请求时,我希望广播公司除了广告数据之外还要发送扫描响应数据。所以我理解,我必须在app_init_func()中将app_advertise_mode设置为可扫描的无向广告事件(adv_scan_ind),但我可以在SDK中找到此PDU类型的任何宏。如何设置广播公司(信标设备)以实现此目的?

此外,我想使用自己的信标数据而不是使用const struct nvds_data_struct(nvds.c文件)中定义的信标数据。我怎样才能做到这一点?

设备:
mt_dialog.
离线
最后一次露面:1个月1周前
员工
加入:2015-06-08 11:34
嗨quangng,

嗨quangng,

尝试将扫描响应数据插入到广告字符串中,这应该触发所需的adv_scan_ind pdu。要将其尝试到信标参考设计中,您可以转到app_dialog_beacon_proj.h并在执行此操作后将app_scnrsp_data_length更改为3(在app_scnrsp_data中的全部放置数据),以便查看您的设备进行通告转到app_sleep.h文件和注释在app_asynch_trm()函数中的以下代码段:

if(app_advertise_counter == 1)
{
if(app_advertise_mode == gapm_adv_non_conn)
ble_advtim_set(500);
}

信标参考可以从不同的源填充NVDS或闪存的广告数据,这取决于FW的配置,最后的广告信息的数据阵列填充了GapM_Start_Advertise_cmd的adv_data成员,因此这是您应该焦点的地方。

谢谢mt_dialog.

quangng.
离线
最后一次露面:5个月1周前
加入:2015-10-29 22:03
嗨对话小组!

嗨对话小组!
关于灯塔示例项目
1. app_asynch_trm中的以下代码段(在app_sleep.h文件中)是什么?为什么我们必须评论那个代码片段进行扫描响应数据的工作?

if(app_advertise_counter == 1)
{
if(app_advertise_mode == gapm_adv_non_conn)
ble_advtim_set(500);
}

2.这个ble_advtim_set函数是什么?这用于在每个广告频道(37,38,39)之间设置广告间隔。我通过将广告间隔设置为1000ms来修改信标示例项目。从我的嗅探器日志记录数据中,我看到三个广告数据包几乎发送了几乎“同时”(首先在信道37上,然后38,然后39)然后稍后再次重复相同的模式。

3.什么定义了每个通道上的每个广告分组之间的间隔(37,38,39)。是函数ble_advtim_set(500)定义的这种间隔吗?

4.这是否可以修改软件,以在App_beacon_int_min和app_beacon_int_max中定义的每个通道上仅发送1个通告数据包?(例如,通道37-> 1Second - > Adiv Packet Payload“A”在通道38 - > 1Second - > Adv Packet Payload“A”on Channel 39 - > 1Second - > Adv Packet Payload“a”B“在通道37 - > 1Second - > Adv Packet Payload”B“在通道38 - > 1Second - > Adv Packet Payload”B“通道39 - > ....等

5.使用UART2驱动程序,我们可以在从UART RX引脚收到字符时从扩展睡眠模式唤醒信标设备吗?

我附上了一个pdf文件,以详细说明我关于广告间隔的问题

mt_dialog.
离线
最后一次露面:1个月1周前
员工
加入:2015-06-08 11:34
嗨quangng,

嗨quangng,

1.信标识广告模式是unconnebaly,因此我们可以减少两个广告数据包之间的广告间隔时间,以便节省一些电源,如果您尝试传输和接收(因为您必须在案例中侦听扫描请求数据包)每个间隔之间的时间不足以打开接收器,因此系统不会做任何事情。

2&3。这就是BLE_ADVIM_SET它会降低每个广告频道之间的广告间隔。

4.是的,您可以在一个或两个通道中进行广告,这可以在您的GAPM_START_ADVERTERS_CMD和CHINES_MAP成员的配置中完成,您可以拥有01-> 37 02-> 38 04-> 39通道

5.您可以在唤醒控制器中设置P05,并在键盘上按下键后,从中唤醒此键,但您将错过UART的角色。

谢谢mt_dialog.

主题锁定