嗨对话
我modifity最新DSPS(主机)的项目,我使用了“da1458x_config_basic.h”,我的CFG_MAX_CONNECTIONS参数更改为6,允许多个从连接。
然而,一旦第一从(DA14580)建立连接,其他子(DA14580)无法连接到主机(DA14580)。接下来我也不怎么modifity的project.could你
帮帮我吗?请给我一些建议或引入此功能的文档。
谢谢!
关键词:
设备:
嗨RandyYu,
请检查下面的帖子HTTP://support.dialog-semiconductor.com/dsps-connect-few-peripheral-one -...。
谢谢mt_dialog.
它可以修改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的所有操作。
谢谢,马丁
嗨MSun,
感谢您分享您的实现。
最好的问候mt_dialog.
嗨对话
作为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,
谢谢对话