结束角色切换后不存在BLE服务

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
6个帖子/ 0新
最后一篇
保罗.Deber
离线
最后一次露面:1年7个月前
加入:2014-06-03 10:57
结束角色切换后不存在BLE服务

亲爱的对话框,

我们创建了一个版本的BLE软件,我们从外设角色开始并广告。当我通过LightBlue连接到设备时,我可以看到电池服务器,Suota Server服务。

在按钮按下,我间歇地将角色更改为观察者(通过GAPM_RESET_CMD和APP_CONFIGORY_FUND)并在返回外围角色(通过GAPM_RESET_CMD和APP_CONFIGORY_FUNC)之前扫描一段时间并再次启动广告。我只是遵循几个线程,在那里你解释了它应该如何完成。

这一切都可以正常工作,除了我再次通过LightBlue连接到设备时,不再有服务了。这仍然是这种情况,直到我动力循环设备,之后我再次看到服务。

在执行GapM_RESET_CMD时返回外围角色时,初始化的某些部分是未执行的吗?如果是这样,我需要更改或呼叫,以便能够获得最初的服务?

设备:
PM_DIALOG.
离线
最后一次露面:1天1小时前
职员
加入:2018-02-08 11:03
嗨paul.deboer,

嗨paul.deboer,

服务在系统初始化后初始化。请检查user_app_init()调用default_app_on_init()的回调函数。在此功能中,设备靴子时初始化所有服务。我假设GAPM_RESET_CMD可能不会导致包含的服务发生任何问题,并且您应该能够在BLE通用移动应用程序中看到它们。请在调试模式下运行固件,并检查发送GAPM_RESET_CMD命令是否重新启动广告时会发生什么?代码是否粘在某个地方或运行正确?

谢谢,PM_DIALOG.

保罗.Deber
离线
最后一次露面:1年7个月前
加入:2014-06-03 10:57
我很确定app_init

我确定app_init未调用并因此未调用app_init_func,我在该方法上有断点,它们不会被命中。我已经注意到了app_env.next_prf_init = app_prf_list_start + 1;没有完成,所以app_db_init_func没有做任何事情。我不认为代码被困,因为其他一切似乎都在工作,我可以连接和断开到外围的连接,证明代码正在运行。

PM_DIALOG.
离线
最后一次露面:1天1小时前
职员
加入:2018-02-08 11:03
嗨paul.deboer,

嗨paul.deboer,

我无法在我身边复制它。我正在使用SDK5.0.4的修改BLE_APP_SLEEPMODE示例,并使用按钮按下的角色(SW3按钮,用于唤醒设备)。每次使用移动应用程序连接时,我都可以看到所有的服务。要这样做,请您可以分享您遵循的步骤,并在SDK的哪个示例中您正在努力复制您的问题?

谢谢,PM_DIALOG.

保罗.Deber
离线
最后一次露面:1年7个月前
加入:2014-06-03 10:57
我们正在使用SDK 3.0.10.1但是

我们正在使用SDK 3.0.10.1但是让我看看我是否可以提出一个复制行为的示例项目

PM_DIALOG.
离线
最后一次露面:1天1小时前
职员
加入:2018-02-08 11:03
嗨paul.deboer,

嗨paul.deboer,

目前尚未支持SDK3,所以我建议您进入SDK5.0.4,这是最新版本,然后尝试实现“角色切换”功能。

谢谢,PM_DIALOG.