嗨,
我正在尝试参考设计“da14580_dialogbeacon_3.40.6”。我希望iBeacon都发送Advitement数据和扫描响应数据。
所以我在参考中做了一点变化:
在“app_dialog_beacon_proj.c”中
在“app_adv_func”函数中:
......
//扫描响应数据
#if(nvds_support)
//这条行由我添加,以便从nvds.c中读出响应数据
cmd-> info.host.scan_rsp_data_len = nvds_len_app_ble_scan_resp_data;// by zhang 201501
if(nvds_get(nvds_tag_app_ble_scan_resp_data,&cmd-> info.host.scan_rsp_data_len,
&cmd-> info.host.scan_rsp_data [0])!= nvds_ok)
#endif //(nvds_support)
......
在调试模式下,我可以在“cmd”中看到内容。
cmd-> info.host.scan_rsp_data_len是预期的。
CMD-> info.host.scan_rsp_data也有望。
但随后程序运行,这些是没有扫描响应数据,甚至这些都没有发出的adv数据!
嗨,
- 为了更改扫描响应数据,请在app_dialog_beacon_proj.h中查看。您会发现以下内容:
#define app_scnrsp_data“\ x02 \ xff \ x00”
- 为了从keil中的da14580中运行代码,您必须执行以下位置:
1)按下调试按钮
2)按RUN
3)再次按下调试按钮
做完了,你会看到你的设备广告。
问候,
dialog_team。
感谢GL_DIALOG。
问题蔓延。
//扫描响应数据
#if(nvds_support)
if(app_advertise_mode == gapm_adv_undirect)//没有它,灯塔甚至不是广告。
{cmd-> info.host.scan_rsp_data_len = nvds_len_app_ble_scan_resp_data;}
if(nvds_get(nvds_tag_app_ble_scan_resp_data,&cmd-> info.host.scan_rsp_data_len,
&cmd-> info.host.scan_rsp_data [0])!= nvds_ok)
问题蔓延。
//扫描响应数据
#if(nvds_support)
if(app_advertise_mode == gapm_adv_undirect)//没有它,灯塔甚至不是广告。
{cmd-> info.host.scan_rsp_data_len = nvds_len_app_ble_scan_resp_data;}
if(nvds_get(nvds_tag_app_ble_scan_resp_data,&cmd-> info.host.scan_rsp_data_len,
&cmd-> info.host.scan_rsp_data [0])!= nvds_ok)
嗨,
使用SW“开箱即用”,这条线:
if(app_advertise_mode == gapm_adv_undirect)
包括在内。
问候,
dialog_team.
嗨,
尝试生成adv_scan_ind时,我有类似的问题。
根据文档'RW-BLE-GAP-IS的第4.7.1节',我认为制作这种广告包类型的方法是将*非零*数据设置为字段'scan_rsp_data'和'scan_rsp_data_len'。
但似乎目标设备将*在生成耦合数据包(1〜2)后崩溃*。
使用模式'gapm_adv_undirect'设置为cmd-> op.code,它运作良好。(持续生成的广告和扫描响应)
你会帮助我找到吗?
嗨Hardy.chen,
您可以在空项目上尝试此功能,如果您定义扫描响应数据并在角色Gap_peripheral_slv和非可连接模式下设置您的设备,您将看到adv_scan_ind,则会优化信标项目,因此您将在灯塔上进行优化必须在app_sleep.h文件中注释下行。
if(app_advertise_mode == gapm_adv_non_conn)
ble_advtim_set(500);
谢谢mt_dialog.
行!笔记本!
无论如何,我已经基于“empty_peripheral_template”完成了我们的信标,这不是没有这个问题的。
谢谢!