如何交换mtu大小?

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.wsdof.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
4个职位/ 0个新职位
最后发表
bigheadbaby
离线
最后看到:2年9个月前
加入:2017-12-14 13:52
如何交换mtu大小?

如果我想改变MTU大小(默认23),交换MTU请求从客户端(手机)是必要的。
我可以把这个请求从服务器发送到客户端(手机)吗?

设备:
PM_Dialog
离线
最后看到:1周3天前
工作人员
加入:2018-02-08 11:03
嗨bigheadbaby,

嗨bigheadbaby,

您应该使用正确的DLE包配置da1458x_config_advanced.h头文件的CFG_MAX_RX_PACKET_LENGTH和CFG_MAX_TX_PACKET_LENGTH定义。然后,您应该修改user_config.h头文件的user_gapm_conf结构中的.max_txoctets和.max_txtime。此外,您应该使用MTU大小.max_mtu = 60。另外,我强烈建议您DA14585 SoC的DSPS应用程序。这个应用程序使用数据长度扩展(DLE)。请搜索USE_DLE哈希定义。

谢谢,PM_Dialog

bigheadbaby
离线
最后看到:2年9个月前
加入:2017-12-14 13:52
亲爱的PM_Dialog:

亲爱的PM_Dialog:
谢谢你的回复。
但我还是不明白这个过程的发起者是谁。
我已经成功使用NORDIC NRF connect发送mtu交换来扩大mtu的大小。
但是我可以从北欧SOC发送这个请求吗?例如,在完成与手机的连接后,我想设置一个ke_timer来触发一个api发送一个ext_mtu请求到手机来设置mtu大小,有什么api可以用来启动这个过程吗?
谢谢~

MT_dialog
离线
最后看到:7个月1天前
工作人员
加入:2015-06-08 34
嗨bigheadbaby,

嗨bigheadbaby,

580年以来你可以设置的最大MTU大小user_gapm_conf struct .max_mtu成员的结构,后做,为了执行交换与中央你应该发送GATTC_EXC_MTU_CMD当你有一个连接(user_on_connection)和580年的遗嘱执行交换。没有API实现了这一点,但你可以使用下面的代码片段:

Static void user_gattc_exc_mtu_cmd(uint8_t conidx)

struct gattc_exc_mtu_cmd *cmd = KE_MSG_ALLOC(gattc_exc_mtu_cmd,
TASK_APP KE_BUILD_ID (TASK_GATTC conidx),
gattc_exc_mtu_cmd);

cmd - > req_type = GATTC_MTU_EXCH;

ke_msg_send (cmd);

由于MT_dialog