芯片CC2530,项目中有,1各协调器,10-30个路由器设备(10秒的hold time),30-50个电池设备(3-6秒data request)
项目需要,协调器有向电池设备广播的需求,如果协调器广播间隔时间较长如10秒-20秒,电池设备100%不会丢失数据,但是当协调器广播间隔较短时如1-3秒,电池设备会丢失数据,根据TI高人推荐,修改了参数,效果还是不理想,希望得到更多人指点,谢谢。
协调器,路由器设置有:
1,-DNWK_INDIRECT_MSG_TIMEOUT=10//7
2,nwk_globals.c
// Maximums for the data buffer queue
#define NWK_MAX_DATABUFS_WAITING 32//24//8 // Waiting to be sent to MAC
#define NWK_MAX_DATABUFS_SCHEDULED 24//20//5 // Timed messages to be sent
#define NWK_MAX_DATABUFS_CONFIRMED 24//20//5 // Held after MAC confirms
#define NWK_MAX_DATABUFS_TOTAL 240//24//12 // Total number of buffers
#define NWK_INDIRECT_MSG_MAX_PER 24//12//3
3,nwk_globals.h
#if !defined( NWK_MAX_DEVICE_LIST )
#define NWK_MAX_DEVICE_LIST 8//20 // Maximum number of devices in the
// Assoc/Device list.
#define NWK_MAX_ROUTERS 6
为减少在路由器上数据的堆积,导致电池设备数据丢失问题,将NWK_MAX_DEVICE_LIST 改为8 ,以及缓冲数字的调整,以上是实际的调整,不知是否有什么隐患?盼赐教,谢谢!