你好,
GAPM_SET_DEV_CONFIG_CMD将设备角色作为参数。如果我尝试设置一个组合的角色,例如:广播+观察者(0x03)外围+观察者(0x0B)
提前谢谢。
亲爱的卡蒂亚,
我们正在使用DA14580对多角色场景进行验证,但目前还不能使用。
亲切问候,,
弗兰克
你好,弗兰克,
非常感谢您的回复。
如果并发多角色场景还不可用,我可以在运行时多次切换角色吗?即设置广播者,然后设置观察者,然后再次设置广播者,等等多次?或者对外围设备和中央设备也可以这样做(假设在调用GAPM_set_DEV_CONFIG_CMD时没有活动连接)?
提前感谢,,卡蒂亚
嗨,卡蒂亚,
可以,您可以在运行时更改角色。从中央到外设的切换需要首先断开所有外设的连接。同样地,从外围到中心;首先从中心断开。
即使在连接时,您也可以广播广告。这在中央和外围角色中都有效。
是否已实施和/或验证并发GAP角色?
我们需要这两个gap角色用例:GAP_中央MST+GAP_广播公司ADVGAP_PERIPHERAL_SLV + GAP_OBSERVER_SCA
谢谢卡尔
嗨,卡尔,
580不支持这种功能,目前只能实现切换角色。
谢谢你的对话
不好意思,ping,几年以后有什么进展吗?SDK5.0.4已经支持它了吗?
嗨tamisoft,
不,堆栈保持不变,只支持角色的切换。
谢谢,有航班转换的例子吗?当设备是外设广播时,我们需要定期进行扫描。显然我们可以停止广告,但是暂时改变角色的适当步骤是什么呢?
谢谢
这里没有示例来演示,但是这个过程非常简单,您必须发出GAPM_RESET,然后将设备重新配置为中央设备,将其配置为外围设备也是如此。你可以看看下面的帖子https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bl..。
你好,我想设置da14580为观察者。在sdk中,可以使用哪个程序?
对不起,你能帮我吗?我已经试了三天了,但还是不知道该怎么办。帮帮我!救命!救命!
我想开发da14580 ble观察扫描广告数据包从da14580。1.在sdk中,prox_monitor项目的功能是什么?2.我不能调试ble堆栈吗?我想调试(查看)来自广告商的广告包。你能告诉我吗?
嗨hantig,
没有现成的示例为了直接将其配置为中心观察者,您可以查看主机示例中的DSPS项目,其中设备配置为中心,并以此作为参考,GAP角色配置通过user_config.h函数中的user_gapm_config struct进行控制。如果将.role从GAP_CENTRAL_MST更改为GAP_OBSERVER_SCA,则您将拥有您的观察员。在这之后,您需要做的就是扫描,因此可以将DSPS主机示例中的user_scan_start()函数作为参考。
在SDK中,接近监控功能是外部主机解决方案,即580接受外部MCU(具体示例为windows PC)的命令,请查看UM-B-010用户手册:集成和外部处理器解决方案中的接近示例。
ble堆栈位于ROM中,没有可用的堆栈源代码,您通过消息通过SDK暴露的功能与堆栈进行交互,查看广告包的确切意思是什么?
非常感谢!我将开发一对接近标签使用两个da14580。因此,外围和观察者。外围设备容易做sdk的例子。但是观察者设备比较困难,因为sdk中没有示例代码。我更改如下。在DSPS的app_configuration_func()命令中,cmd->role = GAP_OBSERVER_SCA在应用程序扫描中,msg->mode=GAP\u OBSERVER\u mode和msg->filter\u duplic=SCAN\u FILT\u duplic\u DIS
顺便说一下,与usb dongle相比,gapm_adv_report_ind_handler()比dongle被调用的少。例如,usb加密狗广播数据包每0.5秒显示一次,但在DSP观察员程序中,广播数据包(gapm_adv_report_ind_handler called times)每2~3秒显示一次。为了把我的程序当作usb加密狗,必须怎么做?必须如何改变观察者设备的扫描间隔?对不起,你能给我源代码吗?如果你会为难我,我想详细地帮我。
亲爱的MT_dialog:对不起,你能帮我吗?我曾经用过nrf51822,但是da14580比nrf51822更好。我对da14580更感兴趣,我已经开发了几个蓝牙设备使用da14580。但是作为观察者的da14580源代码对我们来说是必要的。帮帮我!提前谢谢。
关于你在之前的帖子中提到的“狗狗”,我不太明白到底是什么问题,你能更详细地描述一下吗?gapm_adv_report_ind_handler()是一个回调函数,当观察者从空中收到一个通告消息时,它就会被触发。处理器被触发的频率取决于此时有多少广告设备在发布广告,有多少广告设备到达了你的设备,偏离了你的观察者正在扫描的方式。关于改变你的广告间隔,这是由发送GAPM_START_SCAN_CMD的扫描函数控制的。在DSPS主机中,函数是user_scan_start(),间隔和扫描窗口由gapm_start_scan_cmd函数的成员.interval和.window控制。
关于observer fw,创建一个简单的observer设备非常简单,让我们以SDK中的模板为基础。
1)在user_gapm_conf结构的user_config.h函数中将。role从GAP_PERIPHERAL_SLV修改为GAP_OBSERVER_SCA。
2) 从DSPS示例中,将用户_scan_start粘贴到模板项目中,然后您可以设置自己的用户_scan_conf结构,也可以将所需的值放入gapm_start_scan_cmd结构中。
3) 然后,您可以随时开始扫描,因此,由于您没有任何要初始化的数据库,您可以在app\u on\u set\u dev\u config\u complete回调中分配用户\u scan\u start()。
4) 实现一个函数,以便在app_on_adv_report_ind上连接到app_,以获取广告消息,您应该准备好了。
非常感谢你!亲爱的MT_dialog.首先,我向你们发送的图像显示了当前的情况。我是按照你告诉我的方法去做的,但还是一样。因此,如果我在app_on_adv_report_ind()中设置断点,并与dongle包嗅测器进行比较,当dongle包显示5~6次时,app_on_adv_report_ind()仅调用1次。打扰一下,您能发给我观察者的源代码吗?我的地址是skyclean906@gmail.com.
上传了一个快速和肮脏的演示源代码,设置设备在观察者模式和扫描任何广告消息,重复过滤器被禁用,所以设备打印所有可用的广告字符串,它可以在所有渠道和UART2打印它,请注意,如果有两个设备在空中与当前配置的sw(打印任何可用的广告字符串),该设备将按下复位由于打印过多。上面的测试和运行在一个对话框专业套件。
亲爱的,MT_dialog !你思想很开放,人也很好。你的好意给我留下了深刻的印象!我想和你建立深厚的感情。我想和你成为好朋友!以后多多帮助我!非常感谢!
受人尊敬的对话框!我执行你给我的代码,并在user_on_adv_report_ind()中设置断点,但user_on_adv_report_ind()几乎没有被调用(甚至在1~2分钟内调用一次)。在加密狗嗅探数据包中,正确显示了广告数据包。最终,狗嗅包中显示的包号必须与arch_打印在user_on_adv_report_ind()中的呼叫号的包号相等。对不起,你能再检查一遍并发送源代码吗?
我上传的代码已经在pro套件上进行了allready测试,并且报告会按其应有的方式打印出来,如果设备无法跟踪其他模块的广告事件,那么代码就不是问题(除非您点击了任何重置或硬故障,我想您会注意到),在发送前我已经测试了fw,我完全能够跟踪附近的设备,所以你是使用开发工具包还是定制设计?还要注意的是,只要另一端的设备正在进行广告,设备就会报告广告字符串,如果广播中没有广告消息,设备就不会报告任何内容。
亲爱的,对话框!我使用开发工具包板。这是一对广告商和观察者。任何不在附近的东西。对不起,你能给我你测试过的广告商程序吗?我的地址是skyclean906@gmail.com.
您的580_observer程序跟踪设备附近,但只有少数包跟踪。(广告商发送的一些包)。我希望你能解决这个问题。帮帮我!
让我来澄清一些关于广告和扫描操作的事情,因为我有这样的印象,你希望得到所有的广告信息发出的外围设备。扫描操作并不是要获取所有由外围设备发送的广告事件,外围设备广告在三个通道连接在固定时间间隔为了一些广告字符串在主(原因,并非所有的广告事件不能到达扫描仪,因为没有协议保证数据包到达另一边,自包使用空气作为介质传输任何可能发生的事情,噪音,其他传输设备,天线等)。所以你不会得到所有的广告事件从外设发送到扫描仪,但这些事件的一部分。此外,BLE设备的扫描方式和外围设备的广告方式使得扫描器无法获得所有通道中的所有广告字符串。设备扫描时,打开接收机在特定频道以下所有祝福广告渠道(37、38、39)如果外围设备发生的广告,媒介是开放和设备的天线能够听广告包设备报告。如果你想在观察者端得到更多的报告,你需要设置外设发送更多的广告包。关于比较580嗅探软件狗,我不知道你使用什么为了嗅嗅空气,但你不能比较一个嗅探器580通用设备,显然您正在使用的嗅探器有更好的天线(从远程获取数据)和一个优化sw为了这样做,也许甚至是一种不同的扫描方式,以便尽可能多地嗅探数据包。
我用来测试observer演示的程序是ble_app_外围设备,如果你让fw每100毫秒播放一次广告,你应该会继续获得广告字符串的指示,我也在1s广告间隔下测试了它,指示大约每2秒出现一次,最好每1秒出现一次(每次外设播出时都会有广告活动)测试距离为10米。距离与使用的天线和空中交通有关,而与sw无关。
额外的东西,我看到了新的帖子,为了改变扫描间隔和窗口,你将不得不去user_scan_start()和改变cmd->间隔和cmd->窗口参数。此外,我有一个关于你的其他帖子的请求,请不要在其他帖子上发布无关的问题,你可以创建一个新的帖子来分享你的问题,以保持这个论坛直接和容易使用。
受人尊敬的对话框!帮帮我!
如何在GAP中增加一个特性,需要在堆栈中做改动吗?
嗨,杜拉克塞尔,
感谢您在我们的公共蓝牙论坛上发帖。你能用你的查询创建一个新的线程吗?因为这个线程非常旧而且很接近?另外,请指明您正在使用的设备和SDK。
谢谢,下午好
亲爱的卡蒂亚,
我们正在使用DA14580对多角色场景进行验证,但目前还不能使用。
亲切问候,,
弗兰克
你好,弗兰克,
非常感谢您的回复。
如果并发多角色场景还不可用,我可以在运行时多次切换角色吗?即设置广播者,然后设置观察者,然后再次设置广播者,等等多次?或者对外围设备和中央设备也可以这样做(假设在调用GAPM_set_DEV_CONFIG_CMD时没有活动连接)?
提前感谢,,
卡蒂亚
嗨,卡蒂亚,
可以,您可以在运行时更改角色。从中央到外设的切换需要首先断开所有外设的连接。同样地,从外围到中心;首先从中心断开。
即使在连接时,您也可以广播广告。这在中央和外围角色中都有效。
你好,
是否已实施和/或验证并发GAP角色?
我们需要这两个gap角色用例:
GAP_中央MST+GAP_广播公司ADV
GAP_PERIPHERAL_SLV + GAP_OBSERVER_SCA
谢谢
卡尔
嗨,卡尔,
580不支持这种功能,目前只能实现切换角色。
谢谢你的对话
不好意思,ping,几年以后有什么进展吗?SDK5.0.4已经支持它了吗?
嗨tamisoft,
不,堆栈保持不变,只支持角色的切换。
谢谢你的对话
谢谢,有航班转换的例子吗?当设备是外设广播时,我们需要定期进行扫描。显然我们可以停止广告,但是暂时改变角色的适当步骤是什么呢?
谢谢
嗨tamisoft,
这里没有示例来演示,但是这个过程非常简单,您必须发出GAPM_RESET,然后将设备重新配置为中央设备,将其配置为外围设备也是如此。你可以看看下面的帖子https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bl..。
谢谢你的对话
你好,我想设置da14580为观察者。在sdk中,可以使用哪个程序?
对不起,你能帮我吗?我已经试了三天了,但还是不知道该怎么办。帮帮我!救命!救命!
我想开发da14580 ble观察扫描广告数据包从da14580。
1.在sdk中,prox_monitor项目的功能是什么?
2.我不能调试ble堆栈吗?我想调试(查看)来自广告商的广告包。你能告诉我吗?
嗨hantig,
没有现成的示例为了直接将其配置为中心观察者,您可以查看主机示例中的DSPS项目,其中设备配置为中心,并以此作为参考,GAP角色配置通过user_config.h函数中的user_gapm_config struct进行控制。如果将.role从GAP_CENTRAL_MST更改为GAP_OBSERVER_SCA,则您将拥有您的观察员。在这之后,您需要做的就是扫描,因此可以将DSPS主机示例中的user_scan_start()函数作为参考。
在SDK中,接近监控功能是外部主机解决方案,即580接受外部MCU(具体示例为windows PC)的命令,请查看UM-B-010用户手册:集成和外部处理器解决方案中的接近示例。
ble堆栈位于ROM中,没有可用的堆栈源代码,您通过消息通过SDK暴露的功能与堆栈进行交互,查看广告包的确切意思是什么?
谢谢你的对话
非常感谢!
我将开发一对接近标签使用两个da14580。因此,外围和观察者。
外围设备容易做sdk的例子。但是观察者设备比较困难,因为sdk中没有示例代码。
我更改如下。
在DSPS的app_configuration_func()命令中,cmd->role = GAP_OBSERVER_SCA
在应用程序扫描中,msg->mode=GAP\u OBSERVER\u mode和msg->filter\u duplic=SCAN\u FILT\u duplic\u DIS
顺便说一下,与usb dongle相比,gapm_adv_report_ind_handler()比dongle被调用的少。
例如,usb加密狗广播数据包每0.5秒显示一次,但在DSP观察员程序中,广播数据包(gapm_adv_report_ind_handler called times)每2~3秒显示一次。
为了把我的程序当作usb加密狗,必须怎么做?必须如何改变观察者设备的扫描间隔?
对不起,你能给我源代码吗?如果你会为难我,我想详细地帮我。
亲爱的MT_dialog:对不起,你能帮我吗?我曾经用过nrf51822,但是da14580比nrf51822更好。我对da14580更感兴趣,我已经开发了几个蓝牙设备使用da14580。
但是作为观察者的da14580源代码对我们来说是必要的。帮帮我!提前谢谢。
嗨hantig,
关于你在之前的帖子中提到的“狗狗”,我不太明白到底是什么问题,你能更详细地描述一下吗?gapm_adv_report_ind_handler()是一个回调函数,当观察者从空中收到一个通告消息时,它就会被触发。处理器被触发的频率取决于此时有多少广告设备在发布广告,有多少广告设备到达了你的设备,偏离了你的观察者正在扫描的方式。关于改变你的广告间隔,这是由发送GAPM_START_SCAN_CMD的扫描函数控制的。在DSPS主机中,函数是user_scan_start(),间隔和扫描窗口由gapm_start_scan_cmd函数的成员.interval和.window控制。
关于observer fw,创建一个简单的observer设备非常简单,让我们以SDK中的模板为基础。
1)在user_gapm_conf结构的user_config.h函数中将。role从GAP_PERIPHERAL_SLV修改为GAP_OBSERVER_SCA。
2) 从DSPS示例中,将用户_scan_start粘贴到模板项目中,然后您可以设置自己的用户_scan_conf结构,也可以将所需的值放入gapm_start_scan_cmd结构中。
3) 然后,您可以随时开始扫描,因此,由于您没有任何要初始化的数据库,您可以在app\u on\u set\u dev\u config\u complete回调中分配用户\u scan\u start()。
4) 实现一个函数,以便在app_on_adv_report_ind上连接到app_,以获取广告消息,您应该准备好了。
谢谢你的对话
非常感谢你!亲爱的MT_dialog.
首先,我向你们发送的图像显示了当前的情况。
我是按照你告诉我的方法去做的,但还是一样。
因此,如果我在app_on_adv_report_ind()中设置断点,并与dongle包嗅测器进行比较,当dongle包显示5~6次时,app_on_adv_report_ind()仅调用1次。
打扰一下,您能发给我观察者的源代码吗?我的地址是skyclean906@gmail.com.
嗨hantig,
上传了一个快速和肮脏的演示源代码,设置设备在观察者模式和扫描任何广告消息,重复过滤器被禁用,所以设备打印所有可用的广告字符串,它可以在所有渠道和UART2打印它,请注意,如果有两个设备在空中与当前配置的sw(打印任何可用的广告字符串),该设备将按下复位由于打印过多。上面的测试和运行在一个对话框专业套件。
谢谢你的对话
亲爱的,MT_dialog !
你思想很开放,人也很好。你的好意给我留下了深刻的印象!我想和你建立深厚的感情。我想和你成为好朋友!以后多多帮助我!非常感谢!
受人尊敬的对话框!
我执行你给我的代码,并在user_on_adv_report_ind()中设置断点,但user_on_adv_report_ind()几乎没有被调用(甚至在1~2分钟内调用一次)。
在加密狗嗅探数据包中,正确显示了广告数据包。
最终,狗嗅包中显示的包号必须与arch_打印在user_on_adv_report_ind()中的呼叫号的包号相等。
对不起,你能再检查一遍并发送源代码吗?
嗨hantig,
我上传的代码已经在pro套件上进行了allready测试,并且报告会按其应有的方式打印出来,如果设备无法跟踪其他模块的广告事件,那么代码就不是问题(除非您点击了任何重置或硬故障,我想您会注意到),在发送前我已经测试了fw,我完全能够跟踪附近的设备,所以你是使用开发工具包还是定制设计?还要注意的是,只要另一端的设备正在进行广告,设备就会报告广告字符串,如果广播中没有广告消息,设备就不会报告任何内容。
谢谢你的对话
亲爱的,对话框!我使用开发工具包板。这是一对广告商和观察者。任何不在附近的东西。
对不起,你能给我你测试过的广告商程序吗?我的地址是skyclean906@gmail.com.
您的580_observer程序跟踪设备附近,但只有少数包跟踪。(广告商发送的一些包)。
我希望你能解决这个问题。帮帮我!
嗨hantig,
让我来澄清一些关于广告和扫描操作的事情,因为我有这样的印象,你希望得到所有的广告信息发出的外围设备。扫描操作并不是要获取所有由外围设备发送的广告事件,外围设备广告在三个通道连接在固定时间间隔为了一些广告字符串在主(原因,并非所有的广告事件不能到达扫描仪,因为没有协议保证数据包到达另一边,自包使用空气作为介质传输任何可能发生的事情,噪音,其他传输设备,天线等)。所以你不会得到所有的广告事件从外设发送到扫描仪,但这些事件的一部分。此外,BLE设备的扫描方式和外围设备的广告方式使得扫描器无法获得所有通道中的所有广告字符串。设备扫描时,打开接收机在特定频道以下所有祝福广告渠道(37、38、39)如果外围设备发生的广告,媒介是开放和设备的天线能够听广告包设备报告。如果你想在观察者端得到更多的报告,你需要设置外设发送更多的广告包。关于比较580嗅探软件狗,我不知道你使用什么为了嗅嗅空气,但你不能比较一个嗅探器580通用设备,显然您正在使用的嗅探器有更好的天线(从远程获取数据)和一个优化sw为了这样做,也许甚至是一种不同的扫描方式,以便尽可能多地嗅探数据包。
我用来测试observer演示的程序是ble_app_外围设备,如果你让fw每100毫秒播放一次广告,你应该会继续获得广告字符串的指示,我也在1s广告间隔下测试了它,指示大约每2秒出现一次,最好每1秒出现一次(每次外设播出时都会有广告活动)测试距离为10米。距离与使用的天线和空中交通有关,而与sw无关。
额外的东西,我看到了新的帖子,为了改变扫描间隔和窗口,你将不得不去user_scan_start()和改变cmd->间隔和cmd->窗口参数。此外,我有一个关于你的其他帖子的请求,请不要在其他帖子上发布无关的问题,你可以创建一个新的帖子来分享你的问题,以保持这个论坛直接和容易使用。
谢谢你的对话
受人尊敬的对话框!帮帮我!
如何在GAP中增加一个特性,需要在堆栈中做改动吗?
嗨,杜拉克塞尔,
感谢您在我们的公共蓝牙论坛上发帖。你能用你的查询创建一个新的线程吗?因为这个线程非常旧而且很接近?另外,请指明您正在使用的设备和SDK。
谢谢,下午好