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.

CC1352R: ZStack and ApiMac CapabilityInfo structure difference

Part Number: CC1352R


Why does the zstack_CapabilityInfo_t structure not have "allocAddr" bit,

/** Structure defines the Capabilities Information bit field. */
typedef struct _zstack_capabilityinfo_t
{
    /** True if the device is a PAN Coordinator */
    bool panCoord;
    /** True if the device is a full function device (FFD) */
    bool ffd;
    /** True if the device is mains powered */
    bool mainsPower;
    /** True if the device's RX is on when the device is idle */
    bool rxOnWhenIdle;
    /** True if the device is capable of sending and receiving secured frames
      */
    bool security;
} zstack_CapabilityInfo_t;

but the ApiMac_capabilityInfo_t structure has it?

typedef struct _apimac_capabilityinfo
{
    /*! True if the device is a PAN Coordinator */
    bool panCoord;
    /*! True if the device is a full function device (FFD) */
    bool ffd;
    /*! True if the device is mains powered */
    bool mainsPower;
    /*! True if the device's RX is on when the device is idle */
    bool rxOnWhenIdle;
    /*! True if the device is capable of sending and receiving secured frames
     */
    bool security;
    /*!
     True if allocation of a short address in the associate procedure
     is needed.
     */
    bool allocAddr;
} ApiMac_capabilityInfo_t;

Does it mean that I can't handle the CAPABLE_ALLOC_ADDR bit in

          case zstackmsg_CmdIDs_ZDO_DEVICE_ANNOUNCE:
          {
              zstackmsg_zdoDeviceAnnounceInd_t *pInd;

because zstack_CapabilityInfo_t structure doesn't have the bit?

Although I see that the bit is set in the Device Announcement message.

But I receive CapInfo = 0x0E in the zstackmsg_CmdIDs_ZDO_DEVICE_ANNOUNCE event, the highest bit is not set.

Why is it not included?

  • Hi Alex,

    As stated in the description, allocAddr is the allocation of a short address in the associate procedure.  It is required by the Zigbee Specification and is controlled by the underlying IEEE 802.15.4 MAC layer.  You will not be able to evaluate this bit for zstackmsg_CmdIDs_ZDO_DEVICE_ANNOUNCE, at the same time this bit will always be TRUE even for rejoining Zigbee devices so it should not provide any advantage to the application.

    Regards,
    Ryan

  • Thanks for the answer!