ble mesh分包发送数据大小设置

芯片型号: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)提示内存不足了。该如何修改才能支持分包发送,需要验证分包最多支持多少字节。


您好,针对-7的初始化报错,在ram余量足够的情况下,需要在app.c开头部分,将数组MESH_MEM[]增大。


只有登录才能回复,可以选择微信账号登录