与主机DA14580多个从(DA14580)连接

5个帖子/ 0新
最后一篇
RandyYu
离线
最后一次露面:3年3周前
加入:2015-01-28 08:49
与主机DA14580多个从(DA14580)连接

嗨对话

我modifity最新DSPS(主机)的项目,我使用了“da1458x_config_basic.h”,我的CFG_MAX_CONNECTIONS参数更改为6,允许多个从连接。
然而,一旦第一从(DA14580)建立连接,其他子(DA14580)无法连接到主机(DA14580)。接下来我也不怎么modifity的project.could你
帮帮我吗?请给我一些建议或引入此功能的文档。

谢谢!

设备:
mt_dialog.
离线
最后一次露面:5个月1日前
职员
加入:2015-06-08 11:34
嗨RandyYu,

嗨RandyYu,

请检查下面的帖子HTTP://support.dialog-semiconductor.com/dsps-connect-few-peripheral-one -...

谢谢mt_dialog.

MSun
离线
最后一次露面:11个月1周前
加入:2015年11月30日22:40
它可以修改DSPS

它可以修改DSP来支持多种外设。

但是,你将不得不深深进入了解DSPS代码架构,并进行大量的广泛的修改。

我们已经成功地做到了,但你必须谨慎行事。

一些笔记:

你需要决定你将如何处理您的UART端口。你要共享一个UART端口之间的所有外设?
- 当然,这会很奇怪......在我们的例子中,我们增加了一个“多路”数据协议在一个共享的UART端口。
- 上有一个DA14580第二UART,所以你也有专第2个UART端口的选择...但是这将只允许支持2个外设
- RTS / CTS流控...你需要弄清楚如何支持多种外围设备时,处理这个问题。
- 你需要决定你想在这里完成的任务

修改连接策略
- 目前DSPS连接第一DSPS外设发现
- 你需要确定自己的策略,并适当地修改代码。

修改DPSP代码支持多实例
- 很多DSPS代码的引用ke_task_id_t结构时只需使用“TASK_SPS_CLIENT”
- 这是一个比特的短切削代码...它实际上意味着TASK_SPS_CLIENT的实例上连接索引0(conidx = 0)
- 你需要修改所有这些调用使用“TASK_SPS_CLIENT”的“正确”的情况下整个全部适当的代码

- 例如...原来DSPS代码可能有这样的事情?

结构sps_client_data_tx_req * REQ = KE_MSG_ALLOC_DYN(SPS_CLIENT_DATA_TX_REQ,TASK_SPS_CLIENT,TASK_APP,sps_client_data_tx_req,MSG->长度);

- 您需要将其更改为这样的事情以正确指TASK_SPS_CLIENT的正确实例

ke_task_id_t task_sps_client_instance_id = KE_BUILD_ID(TASK_SPS_CLIENT,conidx);
结构sps_client_data_tx_req * REQ = KE_MSG_ALLOC_DYN(SPS_CLIENT_DATA_TX_REQ,task_sps_client_instance_id,TASK_APP,sps_client_data_tx_req,MSG->长度);

但是如前所述,使其工作,你真的要得到非常深入的理解DSPS的所有操作。
谢谢,马丁

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

嗨MSun,

感谢您分享您的实现。

最好的问候mt_dialog.

prasanth.velliy ...
离线
最后一次露面:2年1个月前
加入:2016年2月18日12:18
嗨对话

嗨对话

作为Mr.MSun在上述文章中提到,
空隙user_sps_enable(uint16_t conhdl)
{
ke_task_id_t task_sps_client_instance_id = KE_BUILD_ID(TASK_SPS_CLIENT,app_env_vp.devices [conhdl] .conidx);
结构sps_client_enable_req * REQ = KE_MSG_ALLOC(SPS_CLIENT_ENABLE_REQ,task_sps_client_instance_id,TASK_APP,
sps_client_enable_req);

//填充在参数结构
req-> conhdl = app_env_vp.devices [conhdl] .conhdl;// req-> conhdl = conhdl;
req-> con_type = PRF_CON_DISCOVERY;
}
这样做我必须改变所有其它功能?=>空隙user_send_ble_data(常量uint8_t *数据,uint16_t长度)
=>空隙user_send_ble_flow_ctrl(uint8_t校验FLOW_CTRL)
对于我一定要通过帕拉姆 - >从所有低于fuctions conhdl?
=> user_sps_client_enable_cfm_handler
=> user_sps_client_data_tx_cfm_handler
=> user_sps_client_data_rx_ind_handler
=> user_sps_client_tx_flow_ctrl_ind_handler,
谢谢对话