亲爱的所有,你好,我想联系两个外围设备同时从中央。我可以连接到其中一个外设,同时扫描其他模块。然而,在检测另一个我不能连接。任何建议都是感激。谢谢你
没有人有任何主意! ?
嗨,也许BD地址不应该都是一样的。
谢谢,我使用不同的BD地址,但我仍然不能同时连接两个外设。我必须从一个连接到另一个断开。作为对话框说,我可以连接到6外围设备在同一时间。然而,我甚至无法连接到两个。有人能帮忙吗?我应该改变任何参数时想要发送一个start_connection命令吗?
我设置的参数开始连接命令如下:味精- > nb_peers = 5;memcpy(味精- > [0]。addr, &connect_bdaddr device_num, BD_ADDR_LEN);味精- > con_intv_min = 10;味精- > con_intv_max = 10;味精- > ce_len_min = 32;味精- > ce_len_max = 32;味精- > con_latency = 0;味精- > op。addr_src = GAPM_PUBLIC_ADDR;味精- > [0]。addr_type = GAPM_PUBLIC_ADDR;味精- > superv_to = 100;味精- > scan_interval = 384;味精- > scan_window = 352;味精- > op。代码= GAPM_CONNECTION_DIRECT;
对话框中,你好,你能给我一些建议吗?有示例代码你可以请期待我吗?我的电子邮件是reza.yazdani1367@gmail.com。谢谢你!
nb_peers应该设置为1(5)直接连接。你确定你是正确分配消息对象与正确的尺寸吗?
你也必须改变da14580_config #定义。h和同时外围设备的最大数量你想要支持的。
谢谢Joacimwe。我改变了一些同行(nb_peers)基于一些建议从一个人在对话框员工(RvA),我看到在以下链接:http://support.dialog-semiconductor.com/connection-multiple-peripherals消息分配我以前像什么是用于需求方应用程序:味精= (struct gapm_start_connection_cmd *) KE_MSG_ALLOC (gapm_start_connection_cmd、TASK_GAPM TASK_APP, gapm_start_connection_cmd);是我足够数量的增加同时外围设备(BLE_CONNECTION_MAX_USER) da14580_config.h ! ?或者我应该改变其他参数也! ?我会做你提到的更改,尽快让你知道结果的。我真的很感激你的帮助,谢谢。
我做了所有的变化,我认为需要同时有两个外围设备连接到一个中央。我还用嗯- b - 011 DA14580 MemoryMapTool da14580_config.h纠正内存映射。但是没有工作!我不知道我应该做什么。它是正确的,我应该连接到所有的外围设备一个接一个! ?有人可以帮忙吗?对话框中,你能给我什么建议,好吗?
可变长度的消息(在这种情况下,同行的数量)必须与KE_MSG_ALLOC_DYN分配是这样的:KE_MSG_ALLOC_DYN (GAPM_START_CONNECTION_CMD、TASK_GAPM TASK_APP、GAPM_START_CONNECTION_CMD nb_peers * sizeof (struct gap_bdaddr))你nb_peers应该相同数量放入味精- > nb_peers。
如上所述的http://support.dialog-semiconductor.com/resource/gap-interface-specifica..。1、nb_peers GAPM_CONNECTION_DIRECT。
如果你这样做一起设置BLE_CONNECTION_MAX_USER,应该够了。只要确保你发起一个直接连接两个时期,第一个第一外围(其mac地址放入味精- > gap_bdaddr[0]),然后到第二个外围(其mac地址放入味精- > gap_bdaddr [0])。请注意,您必须等到第一个连接到你可以开始第二个的连接。(等到GAPM_CMP_EVT)。其他祝福芯片支持多个并发等待连接,但DA14580似乎并没有这样做。相反可以扫描多个外设和启动直接连接一个感兴趣的出现(但是你可能想要一个超时直接连接,回到扫描如果你不能连接在说30秒)。
谢谢你的帮助。最后,我两个模块连接到一个中央。我认为问题在于我没有等到一个连接完成,开始下一个连接收到GAPC_CONNECTION_REQ_IN后。然而,正如你说的,我应该收到GAPM_CMP_EVT后开始下一个连接。我真的很感激你的建议。我也有另一个关于时间的问题,我必须等到BLE中央可以连接到第二个外围模块。我已经测试了几次,我无法衡量一个可预测的时间。所以,我担心我如何设置这个时机。如果我是连接两个模块从中央,我应该定义两个单独的配置文件处理他们每个人! ?我很欣赏你的提前考虑。
你应该能够立即连接到第二个外围一旦你收到GAPM_CMP_EVT(操作参数设置为GAPM_CONNECTION_DIRECT)所以你不必添加一些延迟之前连接到下一个外围。GAPM_CMP_EVT消息通常是GAPC_CONNECTION_REQ_IND后立即发送。注意TASK_APP的“状态”,因为它是在模板项目(闲置、广告、连接…)并没有真正理解当你有多个外设中部的模式。你应该跟踪的每个外围连接以其它方式。
谢谢你的建议。我做就像你说的,但是我不能连接到第二个设备后立即连接到第一个。我认为这可能是因为启用sps概要文件和接收通知事件的第一连接装置,我不能有第二个连接。所以,我改变了计划,配置文件启用后第二个连接。然而,我不能连接到第二个设备没有一个不可预测的延迟! ! !你知道我怎么可以减少延迟或者至少有一个可预测的延迟! ?
我以前没见过这个。我可以直接连接到第二个GAPM_CMP_EVT后……会发生什么呢?你一个GAPM_CMP_EVT非零状态代码或没有发生吗?你能看到当前测量使用智能片段看到发生了什么?
努力提高你的连接时间间隔,减少扫描窗口/间隔所以da14580不是忙于第一外围连接事件虽然扫描第二个。
谢谢,我也会检查这个解决方案。我认为什么都没有发生,因为我使用一个串行监控程序来查看何时和为什么GAPM_CMP_EVT的应用程序将处理程序。不过我会再检查看看是否我漏掉了一些东西!我真的很感激你的帮助。
最后,我发现是什么问题,我不能连接到第二个设备后连接到第一个。这只是一些参数设定app_connect函数!如果我改变参数设置如下,其他参数被设置为默认值,一切工作正常,没有发生不可预测的延迟!
味精= (struct gapm_start_connection_cmd *) KE_MSG_ALLOC_DYN (gapm_start_connection_cmd、TASK_GAPM TASK_APP,gapm_start_connection_cmd, sizeof (struct gap_bdaddr));味精- > nb_peers = 1;memcpy(味精- > [0]。addr, connect_bdaddr(指数)。addr, BD_ADDR_LEN);味精- > con_intv_min = APP_CON_INTV_MIN;味精- > con_intv_max = APP_CON_INTV_MAX;味精- > op。addr_src = GAPM_PUBLIC_ADDR;味精- > [0]。addr_type = GAPM_PUBLIC_ADDR;味精- > superv_to = APP_CON_SUPERV_TO;味精- > scan_interval = APP_CON_SCAN_INTERVAL;味精- > scan_window = APP_CON_SCAN_WINDOW;味精- > op。代码= GAPM_CONNECTION_DIRECT;
没有人有任何主意! ?
嗨,也许BD地址不应该都是一样的。
谢谢,我使用不同的BD地址,但我仍然不能同时连接两个外设。我必须从一个连接到另一个断开。
作为对话框说,我可以连接到6外围设备在同一时间。然而,我甚至无法连接到两个。
有人能帮忙吗?我应该改变任何参数时想要发送一个start_connection命令吗?
我设置的参数开始连接命令如下:
味精- > nb_peers = 5;
memcpy(味精- > [0]。addr, &connect_bdaddr device_num, BD_ADDR_LEN);
味精- > con_intv_min = 10;
味精- > con_intv_max = 10;
味精- > ce_len_min = 32;
味精- > ce_len_max = 32;
味精- > con_latency = 0;
味精- > op。addr_src = GAPM_PUBLIC_ADDR;
味精- > [0]。addr_type = GAPM_PUBLIC_ADDR;
味精- > superv_to = 100;
味精- > scan_interval = 384;
味精- > scan_window = 352;
味精- > op。代码= GAPM_CONNECTION_DIRECT;
对话框中,
你好,
你能给我一些建议吗?
有示例代码你可以请期待我吗?
我的电子邮件是reza.yazdani1367@gmail.com。
谢谢你!
nb_peers应该设置为1(5)直接连接。你确定你是正确分配消息对象与正确的尺寸吗?
你也必须改变da14580_config #定义。h和同时外围设备的最大数量你想要支持的。
谢谢Joacimwe。
我改变了一些同行(nb_peers)基于一些建议从一个人在对话框员工(RvA),我看到在以下链接:
http://support.dialog-semiconductor.com/connection-multiple-peripherals
消息分配我以前像什么是用于需求方应用程序:
味精= (struct gapm_start_connection_cmd *) KE_MSG_ALLOC (gapm_start_connection_cmd、TASK_GAPM TASK_APP, gapm_start_connection_cmd);
是我足够数量的增加同时外围设备(BLE_CONNECTION_MAX_USER) da14580_config.h ! ?或者我应该改变其他参数也! ?
我会做你提到的更改,尽快让你知道结果的。我真的很感激你的帮助,谢谢。
我做了所有的变化,我认为需要同时有两个外围设备连接到一个中央。我还用嗯- b - 011 DA14580 MemoryMapTool da14580_config.h纠正内存映射。但是没有工作!我不知道我应该做什么。
它是正确的,我应该连接到所有的外围设备一个接一个! ?
有人可以帮忙吗?
对话框中,你能给我什么建议,好吗?
可变长度的消息(在这种情况下,同行的数量)必须与KE_MSG_ALLOC_DYN分配是这样的:
KE_MSG_ALLOC_DYN (GAPM_START_CONNECTION_CMD、TASK_GAPM TASK_APP、GAPM_START_CONNECTION_CMD nb_peers * sizeof (struct gap_bdaddr))你nb_peers应该相同数量放入味精- > nb_peers。
如上所述的http://support.dialog-semiconductor.com/resource/gap-interface-specifica..。1、nb_peers GAPM_CONNECTION_DIRECT。
如果你这样做一起设置BLE_CONNECTION_MAX_USER,应该够了。只要确保你发起一个直接连接两个时期,第一个第一外围(其mac地址放入味精- > gap_bdaddr[0]),然后到第二个外围(其mac地址放入味精- > gap_bdaddr [0])。请注意,您必须等到第一个连接到你可以开始第二个的连接。(等到GAPM_CMP_EVT)。其他祝福芯片支持多个并发等待连接,但DA14580似乎并没有这样做。相反可以扫描多个外设和启动直接连接一个感兴趣的出现(但是你可能想要一个超时直接连接,回到扫描如果你不能连接在说30秒)。
谢谢你的帮助。
最后,我两个模块连接到一个中央。
我认为问题在于我没有等到一个连接完成,开始下一个连接收到GAPC_CONNECTION_REQ_IN后。然而,正如你说的,我应该收到GAPM_CMP_EVT后开始下一个连接。我真的很感激你的建议。
我也有另一个关于时间的问题,我必须等到BLE中央可以连接到第二个外围模块。我已经测试了几次,我无法衡量一个可预测的时间。所以,我担心我如何设置这个时机。如果我是连接两个模块从中央,我应该定义两个单独的配置文件处理他们每个人! ?
我很欣赏你的提前考虑。
你应该能够立即连接到第二个外围一旦你收到GAPM_CMP_EVT(操作参数设置为GAPM_CONNECTION_DIRECT)所以你不必添加一些延迟之前连接到下一个外围。GAPM_CMP_EVT消息通常是GAPC_CONNECTION_REQ_IND后立即发送。
注意TASK_APP的“状态”,因为它是在模板项目(闲置、广告、连接…)并没有真正理解当你有多个外设中部的模式。你应该跟踪的每个外围连接以其它方式。
谢谢你的建议。
我做就像你说的,但是我不能连接到第二个设备后立即连接到第一个。
我认为这可能是因为启用sps概要文件和接收通知事件的第一连接装置,我不能有第二个连接。所以,我改变了计划,配置文件启用后第二个连接。然而,我不能连接到第二个设备没有一个不可预测的延迟! ! !
你知道我怎么可以减少延迟或者至少有一个可预测的延迟! ?
我以前没见过这个。我可以直接连接到第二个GAPM_CMP_EVT后……
会发生什么呢?你一个GAPM_CMP_EVT非零状态代码或没有发生吗?
你能看到当前测量使用智能片段看到发生了什么?
努力提高你的连接时间间隔,减少扫描窗口/间隔所以da14580不是忙于第一外围连接事件虽然扫描第二个。
谢谢,我也会检查这个解决方案。
我认为什么都没有发生,因为我使用一个串行监控程序来查看何时和为什么GAPM_CMP_EVT的应用程序将处理程序。不过我会再检查看看是否我漏掉了一些东西!
我真的很感激你的帮助。
最后,我发现是什么问题,我不能连接到第二个设备后连接到第一个。
这只是一些参数设定app_connect函数!如果我改变参数设置如下,其他参数被设置为默认值,一切工作正常,没有发生不可预测的延迟!
味精= (struct gapm_start_connection_cmd *) KE_MSG_ALLOC_DYN (gapm_start_connection_cmd、TASK_GAPM TASK_APP,
gapm_start_connection_cmd, sizeof (struct gap_bdaddr));
味精- > nb_peers = 1;
memcpy(味精- > [0]。addr, connect_bdaddr(指数)。addr, BD_ADDR_LEN);
味精- > con_intv_min = APP_CON_INTV_MIN;
味精- > con_intv_max = APP_CON_INTV_MAX;
味精- > op。addr_src = GAPM_PUBLIC_ADDR;
味精- > [0]。addr_type = GAPM_PUBLIC_ADDR;
味精- > superv_to = APP_CON_SUPERV_TO;
味精- > scan_interval = APP_CON_SCAN_INTERVAL;
味精- > scan_window = APP_CON_SCAN_WINDOW;
味精- > op。代码= GAPM_CONNECTION_DIRECT;