802.15.4 message Acknowledge transmission and reception

The standard 802.15.4 message FCF define an Acknowledge-expected bit.  It is implied in the documentation that the radio will send the Ack automatically in Assisted mode. 1.) Is this the case that the radio receiver will automatically send an Ack if requested or must this be handled in the driver?  2.) What sort of indication, if any,  does the originator receive that the message was or was not acknowledged?  I did not find an answer in section 6.20 of the Product Specification, so if it is in there or some other document please point it out.

Parents
  • Hi,

    1.) Is this the case that the radio receiver will automatically send an Ack if requested or must this be handled in the driver? 

    If this is configured, the receiver will automatically send an ACK if requested and if the frame passes all the filtering steps. This is handled by the driver and does not require you to do anything manually. If any filtering step fails, the driver will not send an ACK automatically. You can read more under Receiving and filtering frames and Sending automatically ACK frames.

    2.) What sort of indication, if any,  does the originator receive that the message was or was not acknowledged?

    Do you mean locally on the device, i.e., that the originator also uses the 802.15.4 radio driver? If so, the originator is informed of the ACK status (success, failure, or termination) by the driver, which notifies the MAC layer accordingly. If the expected ACK is received, the driver notifies the MAC layer that the transmission succeeded. If a different frame is received or the ACK timer expires, the driver notifies the MAC layer that the transmission failed. If another radio operation interrupts the wait for ACK, the driver notifies the MAC layer that the transmission was terminated. You can read more about this in Receiving automatically ACK frames.

    Best regards,
    Marte

  • I am a bit confused.  I am doing bare metal interface to the radio.  I am handling the NRF_RADIO->EVENTS-xxxxx in my interrupt routine.   Where is this"driver" that is referred to in the documentation?  Is it pre-programmed in the nrf82540 or is it a package that i need to download and link to my application?

  • Hi,

    The driver is in nrfxlib, which is a part of the nRF Connect SDK.

    Best regards,
    Marte

Reply Children
Related