芯片型号:chv208
工程:adv_vendor_self_provision,使用评估板
不分包设置大小为221,分包设置大小为
CONFIG_MESH_TX_SEG_DEF *BLE_MESH_APP_SEG_SDU_MAX
=32*12-8=376
现在要验证分包最多支持多少字节,将宏值CONFIG_MESH_TX_SEG_DEF设置为32,发230字节无法接受到数据
// Net数据缓存个数
#define CONFIG_MESH_ADV_BUF_COUNT_MIN (6)
#define CONFIG_MESH_ADV_BUF_COUNT_DEF (10)
#define CONFIG_MESH_ADV_BUF_COUNT_MAX (256)
// RPL数据缓存个数,需不小于配网发起者支持的配网设备节点个数
#define CONFIG_MESH_RPL_COUNT_MIN (6)
#define CONFIG_MESH_RPL_COUNT_DEF (20)
#define CONFIG_MESH_RPL_COUNT_MAX (128)
// RPL缓存循环使用,开启后网络中节点数量不受RPL限制,但NVS将不存储RPL数据
#define CONFIG_MESH_ALLOW_RPL_CYCLE (TRUE)
// 是否允许一个网络中存在同地址的节点(使能后分包功能不可用)
#define CONFIG_MESH_ALLOW_SAME_ADDR (FALSE)
// 每个消息的最大分包数
#define CONFIG_MESH_TX_SEG_MIN (2)
#define CONFIG_MESH_TX_SEG_DEF (8)
#define CONFIG_MESH_TX_SEG_MAX (32)
// 允许同时存在的分包消息的最大发送个数
#define CONFIG_MESH_TX_SEG_COUNT_MIN (1)
#define CONFIG_MESH_TX_SEG_COUNT_DEF (2)
#define CONFIG_MESH_TX_SEG_COUNT_MAX (4)
// 允许同时存在的分包消息的最大接收个数
#define CONFIG_MESH_RX_SEG_COUNT_MIN (1)
#define CONFIG_MESH_RX_SEG_COUNT_DEF (2)
#define CONFIG_MESH_RX_SEG_COUNT_MAX (4)
// 每个接收的分包消息的最大字节数
#define CONFIG_MESH_RX_SDU_MIN (12)
#define CONFIG_MESH_RX_SDU_DEF (192)
#define CONFIG_MESH_RX_SDU_MAX (384)
看了这篇主题CH582m发送分包数据无法被正常接收 - 沁恒微电子社区 (wch.cn)
修改者数据缓存CONFIG_MESH_RPL_COUNT_DEF改小为为10,增大CONFIG_MESH_ADV_BUF_COUNT_DEF,结果CONFIG_MESH_ADV_BUF_COUNT_DEF的值不能超过11,一超过
就Unable set configuration (err:-7)提示内存不足了。该如何修改才能支持分包发送,需要验证分包最多支持多少字节。