一世f concurrent multi-role scenarios are not available yet, can I switch roles in runtime multiple times? I.e. set Broadcaster, then Observer, then again Broadcaster and so on multiple times? Or the same with Peripheral and Central (assuming there are no active connections when GAPM_SET_DEV_CONFIG_CMD is invoked)?
There is no ready example in order to directly configure it as a central observer, you can have a look at the DSPS project in the host example where the device is configured as a central and take that as a reference, the GAP role configuration is controlled via the user_gapm_config struct in the user_config.h function. If you change the .role from GAP_CENTRAL_MST to GAP_OBSERVER_SCA then you will have your observer. After that all you need to do is scan, so you can take as a reference the user_scan_start() function from the DSPS host example.
Thank you, very much! 我将开发与两个DA14580S的配对接近标签使用。因此,外围和观察者。 通过SDK示例容易地进行外围设备。但观察者设备很困难,因为SDK中没有示例代码。 我如下更改。 在DSPS的App_configuration_func()中,cmd->角色= gap_observer_sca 一世n app_scanning, msg->mode = GAP_OBSERVER_MODE and msg->filter_duplic = SCAN_FILT_DUPLIC_DIS
顺便说一下,通过对比为USB加密狗,GAPM_ADV_REPORT_IND_HANDLER()少于加密狗。 Example In usb dongle broadcast packets show every 0.5s, but in DSPS observer program broadcast packets(gapm_adv_report_ind_handler called times) show every 2~3s . 一世norder to act my program as usb dongle, how to have to do? How have to change scan interval of observer device ? 纠正我,你会给我源代码吗?如果你很难,我想详细帮助我。
2) From the DSPS example take the user_scan_start and paste it in the template project, then you can either set your own user_scan_conf structure or you can place tha values that you would like in the gapm_start_scan_cmd structure.
3) Then you can start scanning whenever you are ready, therefore since you dont have any database to initialize you can assign the user_scan_start() in the app_on_set_dev_config_complete callback.
4) Implement a function in order to hook to the app_on_adv_report_ind in order to get the advertising messages, and you should be good to go.
非常感谢你!亲爱的,mt_dialog。 First i send you images which indicate current situation. 我已经做到了你告诉我的方法,但它是一样的。 因此,如果我在app_on_adv_report_ind()中设置了断点,我与加密狗数据包嗅探器比较,当加密狗数据包显示5〜6次时,app_on_adv_report_ind()勉强称为1次。 纠正我,请你发送给我观察者Souce代码吗?我的地址是skyclean906@gmail.com.
The code that i have uploaded is allready tested on a pro kit and the reports are printed for every available device as they should, if the device isn't able to track the advertising event of the other modules, then the code isn't the problem (unless if you hit any reset or a hardfault which i suppose that you would notice), i ve tested the fw before sending it over and i was perfectly able to track near devices, so are you using a development kit or a custom design ? Also be aware that the device will report advertising string as long as the device on the other side is advertising, if there are no advertising messages on air, the device won't report anything.
The program i used in order to test the observer demo was the ble_app_peripheral, if you leave the fw as is advertising evey 100ms you should continuesly get indications for advertising strings, i also tested it under 1s advertising interval and indications were comming in approximatelly every 2 seconds best every 1 seconds (getting an advertising event every time the peripheral went upon the air) tested with a 10 meter distance. The distance its something that has to do with the antenna used and the on-air traffic and not the sw.
谢谢for posting on our public Bluetooth forums. Could you please create a new thread with your query as this one is very old and close? Also, please indicate the device and the SDK that you are using.
亲爱的凯雅,
我们正在验证DA14580的多角色方案,但这尚未使用。
Kind regards,
坦率
嗨弗兰克,
非常感谢您的回复。
一世f concurrent multi-role scenarios are not available yet, can I switch roles in runtime multiple times? I.e. set Broadcaster, then Observer, then again Broadcaster and so on multiple times? Or the same with Peripheral and Central (assuming there are no active connections when GAPM_SET_DEV_CONFIG_CMD is invoked)?
谢谢in advance,
凯塔亚
嗨Katya,
是的,您可以在运行时更改角色。从中央到外围切换将要求您首先断开与所有外围设备的连接。同样,当你从外围改变到中心时;首先脱离中央的连接。
You can broadcast advertise even while connected. this works in both central and peripheral role.
嗨,
Has concurrent GAP Roles been implemented and/or verified yet?
我们需要这两种差距角色用例:
GAP_CENTRAL_MST + GAP_BROADCASTER_ADV
gap_peripheral_slv + gap_observer_sca.
谢谢
Karl
Hi karl,
The 580 does not support this kind of feature only the switching role can be implemented at the moment.
谢谢MT_dialog
抱歉ping,现在几年后有进展吗?它是否支持在SDK5.0.4中?
嗨Tamisoft,
不,堆栈保持不变,仅支持角色的辐射。
谢谢MT_dialog
谢谢,有一个例子是如何在飞行切换方面做的吗?在设备是外设广播时,我们需要定期扫描。显然我们可以停止广告,但暂时改变角色的正确步骤是什么。
谢谢
嗨Tamisoft,
毫无示例才能证明,但程序是非常直观的,您必须发出GapM_RESET,然后将设备重新配置为中心,并且将其配置为外设。你可以看看以下帖子https://support.dialog-semicondiondiondum/forums/post/dialog-smartbond-bl ...
谢谢MT_dialog
您好,我希望将DA14580设置为观察者。在SDK中,可以使用哪个程序?
对不起,你会帮助我吗?我试过了3天,但我不知道怎么办。帮助我!帮助!帮助!
我想开发DA14580的DA14580 BLE OBSEVER扫描广告数据包。
1.在SDK中,Prox_Monitor项目的功能是什么?
我不能调试BLE堆栈吗?我想从广告商那里调试(查看)广告数据包。您可以告诉我吗?
嗨Hantig,
There is no ready example in order to directly configure it as a central observer, you can have a look at the DSPS project in the host example where the device is configured as a central and take that as a reference, the GAP role configuration is controlled via the user_gapm_config struct in the user_config.h function. If you change the .role from GAP_CENTRAL_MST to GAP_OBSERVER_SCA then you will have your observer. After that all you need to do is scan, so you can take as a reference the user_scan_start() function from the DSPS host example.
在SDK中,接近监视器功能是外部主机解决方案,这意味着580从外部MCU(特定示例上的Windows PC)中取出命令,请检查集成和外部处理器中的UM-B-010用户手册:近距离示例解。
BLE堆栈位于ROM中,没有可用堆栈的源代码,通过通过SDK公开的函数与堆栈交互,您究竟是什么意思查看广告数据包?
谢谢MT_dialog
Thank you, very much!
我将开发与两个DA14580S的配对接近标签使用。因此,外围和观察者。
通过SDK示例容易地进行外围设备。但观察者设备很困难,因为SDK中没有示例代码。
我如下更改。
在DSPS的App_configuration_func()中,cmd->角色= gap_observer_sca
一世n app_scanning, msg->mode = GAP_OBSERVER_MODE and msg->filter_duplic = SCAN_FILT_DUPLIC_DIS
顺便说一下,通过对比为USB加密狗,GAPM_ADV_REPORT_IND_HANDLER()少于加密狗。
Example In usb dongle broadcast packets show every 0.5s, but in DSPS observer program broadcast packets(gapm_adv_report_ind_handler called times) show every 2~3s .
一世norder to act my program as usb dongle, how to have to do? How have to change scan interval of observer device ?
纠正我,你会给我源代码吗?如果你很难,我想详细帮助我。
亲爱的mt_dialog,纠正我,你会帮助我吗?我曾经使用过NRF51822,但DA14580高于NRF51822。我更兴趣DA14580,我已经开发了几个使用DA14580的蓝牙设备。
但是,DA14580源代码作为观察者当然需要对US.Help Me!提前致谢。
嗨Hantig,
关于你在上一篇文章中提到的“加密狗”,我无法理解究竟是什么问题,你能更具描述性吗?GAPM_ADV_REPORT_IND_HANDLER()是一旦您的观察者从空中收到广告信息时就会触发的回调。处理程序被触发的频率取决于目前广告的广告设备的广告,其中许多广告设备如何达到您的设备和审核您的观察者扫描的方式。关于更改广告间隔,它由发出GAPM_START_SCAN_CMD的扫描函数控制。在DSP主机中,函数是user_scan_start(),间隔和扫描窗口由成员控制.INTERVAL和.WINDOW您的GAPM_START_SCAN_CMD函数。
Regarding the observer fw is quite simple to create a simple observer device, lets take as a starting base the template located in the SDK.
1)在user_gapm_conf结构处的user_config.h函数中,将.or从gap_peripheral_slv更改为gap_observer_sca。
2) From the DSPS example take the user_scan_start and paste it in the template project, then you can either set your own user_scan_conf structure or you can place tha values that you would like in the gapm_start_scan_cmd structure.
3) Then you can start scanning whenever you are ready, therefore since you dont have any database to initialize you can assign the user_scan_start() in the app_on_set_dev_config_complete callback.
4) Implement a function in order to hook to the app_on_adv_report_ind in order to get the advertising messages, and you should be good to go.
谢谢MT_dialog
非常感谢你!亲爱的,mt_dialog。
First i send you images which indicate current situation.
我已经做到了你告诉我的方法,但它是一样的。
因此,如果我在app_on_adv_report_ind()中设置了断点,我与加密狗数据包嗅探器比较,当加密狗数据包显示5〜6次时,app_on_adv_report_ind()勉强称为1次。
纠正我,请你发送给我观察者Souce代码吗?我的地址是skyclean906@gmail.com.
嗨Hantig,
上传了一个快速和肮脏的演示源代码,将设备设置为Observer模式并扫描任何广告消息,禁用重复滤波器,因此设备打印所有可用的广告字符串,可以在所有通道中达到并将其打印过UART2。意识到,如果空气中有两种设备,具有SW的当前配置(打印任何可用的广告字符串),则设备将由于过度打印而击中重置。以上测试并在对话框套件上运行。
谢谢MT_dialog
亲爱的,mt_dialog!
你是开放的,非常善良。我对你的善意留下了深刻的印象!我想要一个深入的纽带。我想和你成为一个好朋友!在未来帮助我!非常感谢你!
尊敬的对话!
我执行您在user_on_adv_report_ind()中设置的代码并设置断点,但user_op_adv_report_ind()几乎不调用(即使在1〜2分钟内甚至一个时间)。
一世n dongle sniff packet, advertising packets was correctly shown.
最终,Dongle Sniff数据包中显示的数据包号必须等于user_on_adv_report_ind()中的Arch_打印呼叫号码的数据包。
对不起,您会再次查看并发送源代码吗?
嗨Hantig,
The code that i have uploaded is allready tested on a pro kit and the reports are printed for every available device as they should, if the device isn't able to track the advertising event of the other modules, then the code isn't the problem (unless if you hit any reset or a hardfault which i suppose that you would notice), i ve tested the fw before sending it over and i was perfectly able to track near devices, so are you using a development kit or a custom design ? Also be aware that the device will report advertising string as long as the device on the other side is advertising, if there are no advertising messages on air, the device won't report anything.
谢谢MT_dialog
亲爱的,对话!我使用开发套件板。这是一对广告商和观察者。什么都不在附近。
Execuse me, Would you give me the advertiser program which you have tested ?My address isskyclean906@gmail.com.
您的580_observer程序轨道在设备附近,但仅包含几个数据包。(广告商发送的一些数据包)。
一世hope that you will solve this problem.Help me!
嗨Hantig,
让我直截了当地对广告和扫描操作的操作,因为我认为您希望获得外围设备发出的所有广告信息。扫描操作并不是为了通过外设发送的所有广告事件发送,外围设备以固定的连接间隔广告三个通道,以便为一些广告字符串获得主人(不是所有广告的原因事件无法达到扫描仪是因为没有协议保证,数据包到达另一方,因为使用空气作为传输媒体的数据包可以发生,噪声,其他设备传输,天线等。因此,您不会获取所有广告活动从外设发送到扫描仪,但是这些事件的一小部分。此外,BLE设备如何扫描以及外围通告如何使扫描仪无法在所有频道中获取所有广告字符串。当设备扫描时,它在所有BLE广告通道(38,38,39)中单方面打开特定通道上的接收器(37,38,39),因此如果外围设备发生在此时通知,并且介质是打开的并且设备的天线是能够听广告数据包,设备将要报告它。如果您想在观察者方面获取更多报告,您需要设置外设发送更多的广告数据包。关于将580与嗅探器加密狗进行比较,我不知道你使用的是什么,以嗅到空气,但你不能将嗅探器比较到580个通用设备,显然是您使用的嗅探器具有更好的天线(获取数据从长途距离)和优化的SW以便这样做,甚至可能是一种不同的扫描方式,以便尽可能多地嗅闻。
The program i used in order to test the observer demo was the ble_app_peripheral, if you leave the fw as is advertising evey 100ms you should continuesly get indications for advertising strings, i also tested it under 1s advertising interval and indications were comming in approximatelly every 2 seconds best every 1 seconds (getting an advertising event every time the peripheral went upon the air) tested with a 10 meter distance. The distance its something that has to do with the antenna used and the on-air traffic and not the sw.
额外的东西,我看到了新的帖子,为了改变扫描间隔和窗口,您必须进入user_scan_start()并更改CMD->间隔和CMD-> Window参数。此外,我有关于您的其他帖子的请求,请不要在其他线程上发布无关紧要的问题,您可以始终创建一个新线程才能分享您的问题,以便将此论坛简直并易于使用。
谢谢MT_dialog
尊敬的对话!帮我!
如何在间隙中添加一个特征,需要在堆栈中进行更改?
Hi Durlaksel,
谢谢for posting on our public Bluetooth forums. Could you please create a new thread with your query as this one is very old and close? Also, please indicate the device and the SDK that you are using.
谢谢, PM_Dialog