ZPS_tsAplZdpMgmtLqiRsp

This structure is used to store Mgmt_Lqi_rsp message data - a response to a call to the function ZPS_eAplZdpMgmtLqiRequest(). This response reports a list of neighboring nodes along with their LQI (link quality) values.

The ZPS_tsAplZdpMgmtLqiRspstructure is detailed below.

typedef struct {
  uint8 u8Status;
  uint8 u8NeighborTableEntries;
  uint8 u8StartIndex;
  uint8 u8NeighborTableListCount;
  /* Rest of the message is variable length */
  ZPS_tsAplZdpNtListEntry* pNetworkTableList;
} ZPS_tsAplZdpMgmtLqiRsp;

where:

  • u8Statusis the return status for ZPS_eAplZdpMgmtLqiRequest()

  • u8NeighborTableEntriesis the total number of Neighbor table entries on the remote node

  • u8StartIndexis the Neighbor table index of the first entry reported in this response (through pNetworkTableList)

  • u8NetworkListCountis the number of Neighbor table entries reported in this response (through pNetworkTableList)

  • pNetworkTableListis a pointer to the first entry in the list of reported Neighbor table entries. Each entry is of the type ZPS_tsAplZdpNtListEntrydetailed below.

    ZPS_tsAplZdpNtListEntry

    typedef struct
    {
        uint64 u64ExtPanId;
        uint64 u64ExtendedAddress;
        uint16 u16NwkAddr;
        uint8 u8LinkQuality;
        uint8 u8Depth;
        /*
        * Bitfields are used for syntactic neatness and space saving.
        * May need to assess whether these are suitable for embedded
        environment and may need to watch endianness on u8Assignment
        */
      union
        {
          struct
          {
            unsigned u1Reserved1:1;
            unsigned u2Relationship:3;
            unsigned u2RxOnWhenIdle:2;
            unsigned u2DeviceType:2;
            unsigned u6Reserved2:6;
            unsigned u2PermitJoining:2;
          } ;
          uint8 au8Field[2];
      } uAncAttrs;
    } ZPS_tsAplZdpNtListEntry;
    

    where:

    • u64ExtPanIdis the 64-bit extended PAN ID of the network .

    • u64ExtendedAddressis the IEEE address of the neighboring node.

    • u16NwkAddris the network address of the neighboring node.

    • u8LinkQualityis the estimated LQI (link quality) value for radio transmissions from the neighboring node.

    • u8Depthis the tree depth of the neighboring node (where the Coordinator is at depth zero).

    • u1Reserved1:1is a 1-bit reserved value and should be set zero.

    • u2Relationship:3is a 3-bit value representing the neighboring node’s relationship to the local node:

      • 0: Neighbor is the parent.

      • 1: Neighbor is a child.

      • 2: Neighbor is a sibling (has same parent).

      • 3: None of the above.

      • 4: Neighbor is a former child.

    • u2RxOnWhenIdle:2is a 2-bit value indicating whether the neighboring node’s receiver is enable during idle periods:

      • 0: Receiver off when idle (sleeping device)

      • 1: Receiver on when idle (non-sleeping device)

      • 2: Unknown

    • u2DeviceType:2is a 2-bit value representing the ZigBee device type of the neighboring node:

      • 0: Coordinator

      • 1: Router

      • 2: End Device

      • 3: Unknown

    • u6Reserved2:6is a 6-bit reserved value and should be set zero.

    • u2PermitJoining:2is a 2-bit value indicating whether the neighboring node is accepting joining requests:

      • 0: Not accepting join requests

      • 1: Accepting join requests

      • 2: Unknown

    • au8Field[2]is the allocation of two bytes for the union.

Parent topic:ZDP response structures