当角色swicthing时,尚未检测到DSPS服务

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
6个帖子/ 0新
最后一篇
Asalhuv.
离线
最后一次露面:2年8个月前
加入:2015-10-22 09:49
当角色swicthing时,尚未检测到DSPS服务

你好

我正在使用DSP来执行角色切换:我不断改变来自外设到Central的角色,并且还有两个广告数据包的选项(用于汇总 - >广告1,广告2,扫描......)。我正在使用app_gapm_reset_op();用于在传输之间重置堆栈。如果我扫描我在静态结构Gapm_set_dev_config_cmd * app_easy_gap_dev_config_create_msg(void)中的角色(0x05),它将0x0a(外围角色)。

我的问题是,当我连接到设备时,对等设备无法发现服务,并且从某种原因返回空空。如果正在重置堆栈但仅从一个广告商转换为另一个广告商,则不会发生这种情况,并且正在检测到服务,因此我的事情是以某种方式与扫描定义相关。

连接启动器是对等设备(当DA1480在广告模式时)。

任何想法如何发生这种情况?

谢谢

设备:
Salhuv.
离线
最后一次露面:3年4个月前
加入:2016-07-14 13:56
你好,

你好,

一个纠正,即使没有扫描也会发生。我注意到它发生时没有SPS_SERVER_ENABLE_CFM回调。

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

嗨Asalhuv,

我不确定如何完成实现,而是意识到,当建立连接时,该连接作为中心或作为外围设备,设备进入发现过程模式。这意味着在连接建立时作为中央的核心,您开始向外设发送一些命令,以便在外围设备上发现可用的服务。在DSP主机中,这是启动的App_prf_enable()函数,该函数将启动此发现链。完成后,设备将在其正常功能中开始运行。

关于DSP的外设侧,在为设备上电时,外围设备需要构建将构成受支持服务的数据库,该构建在App_db_init_start()函数中完成,SDK将检查支持的配置文件并将调用DB函数的次数(在DSPS的情况下,user_sps_db_create()函数)。这将导致外围设备中的全套服务。所以关于你的问题,您是否在外围方面实施这些服务,以便客户能够发现它们?只需从核心切换到外设就不足以使外围设备包含您所需要的服务。

谢谢mt_dialog.

Salhuv.
离线
最后一次露面:3年4个月前
加入:2016-07-14 13:56
你好

你好

复位后,数据基于外围模式启动。我正在使用app_gapm_reset_op()以在模式之间重置。对于扫描模式,我只会在app_easy_gap_dev_config_create_msg(void)函数中更改cmd->角色,函数为gap_central_mst。当定时器完成时,我再次重置堆栈,然后将CMD->角色配置为外设。

连接由对等设备(智能手机)启动,显然当我的设备处于外围模式时。似乎Altohgh确实创建了DB(我在返回true的app_db_init_start()中看到它),没有数据库数据要发送到对等设备。

Salhuv.
离线
最后一次露面:3年4个月前
加入:2016-07-14 13:56
不需要解释,只是

不需要解释,刚才弄明白了自己。在数据库准备好之前,我开始宣传。

谢谢 !!!

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

嗨Salhuv,

谢谢你的表明。

最好的问候mt_dialog.