This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于child aging的问题

child aging功能使得可以通过查看AssociatedDevList来确定哪些设备在线,查看notMyChildList来确定哪些设备已经离线,但问题来了,

MAX_NOT_MYCHILD_DEVICES 小于 NWK_MAX_DEVICES,这样如果我超过

MAX_NOT_MYCHILD_DEVICES个设备离线的话,离线的设备记录在哪里?还是在

AssociatedDevList数组中吗?

// Number of End Devices that will be stored in the SrcMatch and NotMyChildList lists
// when aged out by the Child Table Management process
// It is recommemded to keep this values to a fraction of gNWK_MAX_SLEEPING_END_DEVICES value
// which is the value of the table in the radio
#define MAX_NOT_MYCHILD_DEVICES 5

MAX_NOT_MYCHILD_DEVICES是不是不能改成跟NWK_MAX_DEVICES长度一样?

  • 父节点设备在定义更新关联表的时候,如果timecounter减1等于0了,就会把节点的信息放入一个NotmyChild的list里面。

    // Not My Child structure
    typedef struct
    {
    uint16 shortAddr;
    uint16 timeoutCounter;
    } nwkNotMyChild_t;

    然后也是定期的去更新这个变量,如果这个时候收到data req,就会把节点信息从NotmyChildlist重新移到Associate list里面去。

    如果在NotmyChildList里面的counter的时候,那么就把这个节点彻底删除了NwkNotMyChildSendLeave

  • 父节点设备在定义更新关联表的时候,如果timecounter减1等于0了,就会把节点的信息放入一个NotmyChild的list里面。

    问题:

       NotmyChild是否会满?满了对于新的离线设备怎么处理?

    如果在NotmyChildList里面的counter的时候,那么就把这个节点彻底删除了NwkNotMyChildSendLeave

    问题:

    NotmyChildList中timeoutCounter是怎么计数的?是否离线后自动定期更新(+1)

    NwkNotMyChildSendLeave这个是内部自动完成的还是需要用户根据实际离线timeoutCounter时间,然后用户调用NwkNotMyChildSendLeave删除节点?

    谢谢!