Other Parts Discussed in Thread: Z-STACK
Hi,
I assume both coordinator and router devices keep a list of their child devices in their association table, and we can access that list through the global variable AssociatedDeviceList referenced here:
// assoc_list.h // Node Relations #define PARENT 0 #define CHILD_RFD 1 #define CHILD_RFD_RX_IDLE 2 #define CHILD_FFD 3 #define CHILD_FFD_RX_IDLE 4 #define NEIGHBOR 5 #define OTHER 6 #define NOTUSED 0xFF typedef struct { uint16_t shortAddr; // Short address of associated device uint16_t addrIdx; // Index from the address manager byte nodeRelation; byte devStatus; // bitmap of various status values byte assocCnt; byte age; linkInfo_t linkInfo; aging_end_device_t endDev; uint32_t timeoutCounter; bool keepaliveRcv; uint8_t ctrl; } associated_devices_t; /********************************************************************* * GLOBAL VARIABLES */ //extern byte _numAssocDev; extern associated_devices_t AssociatedDevList[];
My question is about nodeRelation. Does CHIL_RFD and CHILD_FFD mean reduced function device and full function device? How are full/reduction function devices defined? Router as full function devices and sleep end device as reduced function devices? There is also the NEIGHBOR bit. Does that indicate the device is a device that belongs to the same parent but not a child?
Please advise,
Thanks.
ZL