GAPM_SET_DEV_CONFIG_CMD takes Device Role as parameter. Will it work if I try to set a combination of roles, such as: Broadcaster + Observer (0x03) Peripheral + Observer (0x0B)
Yes, you can change the roles during runtime. Switching from central to peripheral would require that you disconnect from all peripherals first. And likewise when you change from peripheral to central; disconnect from central first.
Thanks, is there an example how to do on the flight switching? We need to make scanning periodically while the device is a peripheral broadcasting. Obviously we can stop the advertising, but what are the proper steps to change the role temporarily.
There is no example in order to demonstrate that but the procedure is quite straighforword, you will have to issue a GAPM_RESET and then reconfigure your device as a central, and the same to configure it as a peripheral. You can have a look at the following posthttps://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bl...
I want to develop da14580 ble obsever scaning advertising packets from da14580 . 1. In sdk, What is prox_monitor project's function? 2. Can't i debug ble stack ? I want to debug(view) advertising packets from advertiser.Could you tell me?
In the SDK the proximity monitor function is an external host solution, meaning that the 580 takes commands from external MCU (a windows PC on the specific example), please check the UM-B-010 User Manual : Proximity Example in integrated and External Processor Solution.
The ble stack is located in the ROM and there is no source code available for the stack, you interact with the stack via messages through the functions exposed from the SDK, what exactly do you mean view advertising packets ?
非常感谢你! I am going to develop a pair proximity tag use with two da14580s. Thus, peripheral and observer. Peripheral device easily made by sdk example. But observer device was difficult, because there is no sample code in sdk. I changed as below. In app_configuration_func() of DSPS, cmd->role = GAP_OBSERVER_SCA 在app_scanning中,msg-> mode = gap_observer_mode和msg-> filter_duplic = scan_filt_duplic_dis
By the way, by contrast as usb dongle, gapm_adv_report_ind_handler() is less called than dongle. USB加密狗广播数据包中的示例每0.5s显示每0.5s,但在DSP观察者程序广播数据包(GapM_Adv_Report_ind_Handler调用时间)显示每2〜3次。 inorder才能通过我的程序作为USB加密狗,如何要做?如何更改观察者设备的扫描间隔? Execuse me, would you give me source code? If you will be difficult, I want to help me in detail.
亲爱的mt_dialog,执行我,would you help me? I had ever used nrf51822, but da14580 superior more than nrf51822. I am more interest da14580 and i have already developed several bluetooth devices using da14580. But da14580 source code which acts as observer certainly is needed to us.Help me! Thanks in advance.
Regarding the "dongle" that you mention in your previous post, i am not able to understand what exactly is the problem, can you be more descriptive ? The gapm_adv_report_ind_handler() is the callback that is triggered as soon as your observer receives an advertising message from the air. The frequency that the handler is triggered depends on how many advertising devices are advertising at the moment and how many of them are reaching your device and offcourse the way that your observer is scanning. Regarding changing your advertising interval, that is controlled by the scanning function that issues a GAPM_START_SCAN_CMD. In the DSPS host the function is the user_scan_start() and the interval and scanning window are controlled by the members .interval and .window of your gapm_start_scan_cmd function.
关于观察者FW非常简单,可以创建一个简单的观察者设备,让我们作为位于SDK中的模板的起始基础。
1) In the user_config.h function at the user_gapm_conf structure change the .role from GAP_PERIPHERAL_SLV to GAP_OBSERVER_SCA.
非常感谢你!亲爱的,山_dialog. 首先,我发给你的图像,指示当前情况。 I have done as method which you had told me, but it is same. Thus, if i set breakpoint in app_on_adv_report_ind() and i compare with dongle packet sniffer, when dongle packet has shown 5~6 times, app_on_adv_report_ind() has called barely 1 times. 纠正我,请你发送给我观察者Souce代码吗?我的地址是skyclean906@gmail.com.。
上传一个快速和肮脏的演示源代码ets the device in observer mode and scans for any advertising messages, the Duplicate filter is disabled so the device prints all the available advertising strings that it can reach in all channels and prints it over UART2, be aware that if there are two many devices on air with the current configuration of the sw (printing any available advertising string), the device will hit the reset due to excessive printing. The above is tested and runs on a dialog pro kit.
亲爱的,山_dialog! You are open-minded and very kindly. I impressed greatly by your kindness! I want a deep bonds with you. I want to become a good friend with you! Help me a lot in the future! Thank you very much!
尊敬的对话! I execute the code which you gave me and set breakpoint in user_on_adv_report_ind() ,but user_on_adv_report_ind() wasn't almost called(Even one time in 1~2 minute is called). 在加密狗嗅图中,正确显示了广告数据包。 Ultimately, packet numbers which shown in dongle sniff packet must be equal to packet which arch_ print call numbers in user_on_adv_report_ind(). Sorry,would you review again and send source code?
Dear, dialog! I use development kit board. Here is a pair of advertiser and observer. Anything not present near. 纠正我,你会给我你已经测试过的广告商程序吗?我的地址是skyclean906@gmail.com.。
Your 580_observer program track near device, but a few of packet only track.(some packet which advertiser sends) . 我希望你能解决这个问题.help我!
直接让我设置一些关于广告的方式vertising and the scanning operates, since i have the impression that you expect to get all the advertising messages issued by the peripheral. The Scanning operation isn't ment to get all the advertising events send by a peripheral, the peripheral device advertises in three channels in a fixed connection interval in order for some of the advertising strings to get at the master (the reason that not all advertising events can't reach the scanner is because there is no protocol assurance that the packets reach the other side and since the packets using the air as a medium of transfer anything can happen, noise, other devices transmiting, antenna etc). So you wont get all the advertising events send from the peripheral to the scanner, but a fraction of those events. Also how a BLE device scans and how a peripheral advertises makes it impossible for the scanner to get all the advertising strings in all the channels. When the device scans, it opens the receiver on a specific channel sequentialy in all BLE advertising channels (37, 38, 39) so if the peripheral device happens to advertise at the moment, and the medium is open and the antenna of the device is able to listen to the advertising packet, the device is going to report it. If you would like to get more reports on the observer side you will need to set the peripheral to send more advertising packets. Regarding comparing the 580 to a sniffer dongle, i am not aware what you are using in order to sniff the air, but you cannot compare a sniffer to a 580 generic device, apparently the sniffer that you are using has a better antenna (getting data from a long distance) and an optimized sw in order to do so, perhaps even a different way of scanning in order to sniff as much packets as it can.
Something extra, i ve seen the new post, in order to change the scanning interval and window you will have to go the user_scan_start() and change the cmd->interval and the cmd->window parameter. Additionally i have a request regarding your other posts,please dont post irrelevant questions on other threads, you can always create a new thread in order to share your question in order to keep this forum straight forward and easy to use.
Dear Katya,
We are working on validation of multi-role scenarios with DA14580 but this is not available yet.
亲切的问候,
Frank
Hi Frank,
Thanks a lot for your response.
如果尚未使用并发的多角色方案,我可以多次切换运行时中的角色吗?即设置广播公司,然后观察到,然后再次广播等等?或者与外围和中央相同(假设当调用Gapm_set_dev_config_cmd时没有活动连接)?
提前致谢,
Katya
Hi Katya,
Yes, you can change the roles during runtime. Switching from central to peripheral would require that you disconnect from all peripherals first. And likewise when you change from peripheral to central; disconnect from central first.
即使在连接时,您也可以广播广告。这在中环和外围角色工作。
Hi,
是否已经实施了并发差距角色和/或验证?
We have a need for these 2 gap role use cases:
GAP_CENTRAL_MST + GAP_BROODCASTER_ADV.
GAP_PERIPHERAL_SLV + GAP_OBSERVER_SCA
Thanks
卡尔
嗨卡尔,
580不支持这种特征,只能在此刻实现切换角色。
谢谢mt_dialog.
Sorry to ping, is there any progress on this-now a few years later? Is it supported in SDK5.0.4 already?
Hi tamisoft,
No, the stack remains the same, only the swicting of the roles is supported.
谢谢mt_dialog.
Thanks, is there an example how to do on the flight switching? We need to make scanning periodically while the device is a peripheral broadcasting. Obviously we can stop the advertising, but what are the proper steps to change the role temporarily.
Thanks
Hi tamisoft,
There is no example in order to demonstrate that but the procedure is quite straighforword, you will have to issue a GAPM_RESET and then reconfigure your device as a central, and the same to configure it as a peripheral. You can have a look at the following posthttps://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bl...
谢谢mt_dialog.
你好,我想要设置da14580observer. In sdk, which program can be used ?
Sorry, Would you help me? I have tried for 3 days, but i don't know how have to do . Help me!Help!Help!
I want to develop da14580 ble obsever scaning advertising packets from da14580 .
1. In sdk, What is prox_monitor project's function?
2. Can't i debug ble stack ? I want to debug(view) advertising packets from advertiser.Could you tell me?
Hi hantig,
没有Ready示例是为了直接将其作为中央观察者配置,您可以在主机示例中查看DSP项目,其中设备配置为中心并将其视为参考,因此控制了GAP角色配置通过user_config.h函数中的user_gapm_config结构。如果从GAP_Central_mst更改为GAP_OBSERVER_SCA,那么您将拥有您的观察者。在此之后,您需要做的就是扫描,因此您可以从DSPS主机示例中作为引用user_scan_start()函数。
In the SDK the proximity monitor function is an external host solution, meaning that the 580 takes commands from external MCU (a windows PC on the specific example), please check the UM-B-010 User Manual : Proximity Example in integrated and External Processor Solution.
The ble stack is located in the ROM and there is no source code available for the stack, you interact with the stack via messages through the functions exposed from the SDK, what exactly do you mean view advertising packets ?
谢谢mt_dialog.
非常感谢你!
I am going to develop a pair proximity tag use with two da14580s. Thus, peripheral and observer.
Peripheral device easily made by sdk example. But observer device was difficult, because there is no sample code in sdk.
I changed as below.
In app_configuration_func() of DSPS, cmd->role = GAP_OBSERVER_SCA
在app_scanning中,msg-> mode = gap_observer_mode和msg-> filter_duplic = scan_filt_duplic_dis
By the way, by contrast as usb dongle, gapm_adv_report_ind_handler() is less called than dongle.
USB加密狗广播数据包中的示例每0.5s显示每0.5s,但在DSP观察者程序广播数据包(GapM_Adv_Report_ind_Handler调用时间)显示每2〜3次。
inorder才能通过我的程序作为USB加密狗,如何要做?如何更改观察者设备的扫描间隔?
Execuse me, would you give me source code? If you will be difficult, I want to help me in detail.
亲爱的mt_dialog,执行我,would you help me? I had ever used nrf51822, but da14580 superior more than nrf51822. I am more interest da14580 and i have already developed several bluetooth devices using da14580.
But da14580 source code which acts as observer certainly is needed to us.Help me! Thanks in advance.
Hi hantig,
Regarding the "dongle" that you mention in your previous post, i am not able to understand what exactly is the problem, can you be more descriptive ? The gapm_adv_report_ind_handler() is the callback that is triggered as soon as your observer receives an advertising message from the air. The frequency that the handler is triggered depends on how many advertising devices are advertising at the moment and how many of them are reaching your device and offcourse the way that your observer is scanning. Regarding changing your advertising interval, that is controlled by the scanning function that issues a GAPM_START_SCAN_CMD. In the DSPS host the function is the user_scan_start() and the interval and scanning window are controlled by the members .interval and .window of your gapm_start_scan_cmd function.
关于观察者FW非常简单,可以创建一个简单的观察者设备,让我们作为位于SDK中的模板的起始基础。
1) In the user_config.h function at the user_gapm_conf structure change the .role from GAP_PERIPHERAL_SLV to GAP_OBSERVER_SCA.
2)从DSP示例拍摄user_scan_start并将其粘贴在模板项目中,然后可以设置自己的user_scan_conf结构,或者您可以将您想要的值放在GapM_Start_scan_cmd结构中。
3)然后您可以在准备就绪时开始扫描,因此,由于您没有任何数据库来初始化,您可以在App_On_set_dev_config_complete回调中分配user_scan_start()。
4)实现函数才能挂钩APP_ON_ADV_REPORT_IND以获取广告消息,您应该好好去。
谢谢mt_dialog.
非常感谢你!亲爱的,山_dialog.
首先,我发给你的图像,指示当前情况。
I have done as method which you had told me, but it is same.
Thus, if i set breakpoint in app_on_adv_report_ind() and i compare with dongle packet sniffer, when dongle packet has shown 5~6 times, app_on_adv_report_ind() has called barely 1 times.
纠正我,请你发送给我观察者Souce代码吗?我的地址是skyclean906@gmail.com.。
Hi hantig,
上传一个快速和肮脏的演示源代码ets the device in observer mode and scans for any advertising messages, the Duplicate filter is disabled so the device prints all the available advertising strings that it can reach in all channels and prints it over UART2, be aware that if there are two many devices on air with the current configuration of the sw (printing any available advertising string), the device will hit the reset due to excessive printing. The above is tested and runs on a dialog pro kit.
谢谢mt_dialog.
亲爱的,山_dialog!
You are open-minded and very kindly. I impressed greatly by your kindness! I want a deep bonds with you. I want to become a good friend with you! Help me a lot in the future! Thank you very much!
尊敬的对话!
I execute the code which you gave me and set breakpoint in user_on_adv_report_ind() ,but user_on_adv_report_ind() wasn't almost called(Even one time in 1~2 minute is called).
在加密狗嗅图中,正确显示了广告数据包。
Ultimately, packet numbers which shown in dongle sniff packet must be equal to packet which arch_ print call numbers in user_on_adv_report_ind().
Sorry,would you review again and send source code?
Hi hantig,
我上载的代码已经在Pro套件上测试了,并且如果设备无法跟踪其他模块的广告事件,则将报告打印出每种可用设备,然后代码不是问题(除非您达到任何重置或者我想注意的硬盘,?也意识到该设备将报告广告字符串,只要另一方面的设备是广告,如果在空中没有广告消息,则设备将不会报告任何内容。
谢谢mt_dialog.
Dear, dialog! I use development kit board. Here is a pair of advertiser and observer. Anything not present near.
纠正我,你会给我你已经测试过的广告商程序吗?我的地址是skyclean906@gmail.com.。
Your 580_observer program track near device, but a few of packet only track.(some packet which advertiser sends) .
我希望你能解决这个问题.help我!
Hi hantig,
直接让我设置一些关于广告的方式vertising and the scanning operates, since i have the impression that you expect to get all the advertising messages issued by the peripheral. The Scanning operation isn't ment to get all the advertising events send by a peripheral, the peripheral device advertises in three channels in a fixed connection interval in order for some of the advertising strings to get at the master (the reason that not all advertising events can't reach the scanner is because there is no protocol assurance that the packets reach the other side and since the packets using the air as a medium of transfer anything can happen, noise, other devices transmiting, antenna etc). So you wont get all the advertising events send from the peripheral to the scanner, but a fraction of those events. Also how a BLE device scans and how a peripheral advertises makes it impossible for the scanner to get all the advertising strings in all the channels. When the device scans, it opens the receiver on a specific channel sequentialy in all BLE advertising channels (37, 38, 39) so if the peripheral device happens to advertise at the moment, and the medium is open and the antenna of the device is able to listen to the advertising packet, the device is going to report it. If you would like to get more reports on the observer side you will need to set the peripheral to send more advertising packets. Regarding comparing the 580 to a sniffer dongle, i am not aware what you are using in order to sniff the air, but you cannot compare a sniffer to a 580 generic device, apparently the sniffer that you are using has a better antenna (getting data from a long distance) and an optimized sw in order to do so, perhaps even a different way of scanning in order to sniff as much packets as it can.
我用来测试观察者演示的程序是ble_app_peripheral,如果您将FW作为广告evey100ms留下100ms,您应该继续为广告字符串的迹象表达,我也在1S广告间隔下测试它每2次近似地区每1秒(每次在空气上的情况下,每次都要获得广告活动)的秒数最佳)用10米的距离测试。与所使用的天线有关的距离与使用的天线和空中交通而不是SW。
Something extra, i ve seen the new post, in order to change the scanning interval and window you will have to go the user_scan_start() and change the cmd->interval and the cmd->window parameter. Additionally i have a request regarding your other posts,please dont post irrelevant questions on other threads, you can always create a new thread in order to share your question in order to keep this forum straight forward and easy to use.
谢谢mt_dialog.
尊敬的对话!Help me!
How to add one more characteristic in GAP, need to do changes in stack?
嗨Durlaksel,
感谢您对我们的公共蓝牙论坛发布。您可以使用您的查询创建一个新的线程,因为这是非常古老的和关闭?此外,请注明您使用的设备和SDK。
谢谢,PM_DIALOG.