[riot-notifications] [RIOT-OS/RIOT] nrf802154: Add ACK handling capabilities (#11150)

Koen Zandberg notifications at github.com
Mon Mar 11 11:23:55 CET 2019


### Contribution description

This PR adds ack handling to the nrf802154 radio driver. Both ACKing incoming frames and ACK requests with retransmissions are supported. The number of retransmissions is configurable, but within the bounds specified by IEEE 802.15.4.

I can split this PR into the autoack and ack_req parts if preferred.

with this PR having +246 lines of code I took the liberty of adding myself to the authors list.

### Testing procedure

Manual testing with a sniffer and another node is preferred here:
 - [ ] Acks correctly transmitted when requested by a peer
 - [ ] Acks not transmitted while requested by a peer when `autoack` is disabled
 - [ ] Frame transmitted with `ack_req` bit set is not retransmitted when a proper ack is received
 - [ ] Frame is retransmitted when no ack is received.
 - [ ] Frame is not retransmitted when `ack_req` is disabled.
 - [ ] Multicast frames are not retransmitted and don't have `ack_req` flag set while `ack_req` is set in the interface settings
 - [ ] It must not be possible to set the max retransmissions above 7.

And not immediately critical, but nice to have tested:
 - [ ] Must be {S|L}IFS symbols between ack reception and next transmission.
 - [ ] driver reports `NETDEV_EVENT_TX_NOACK` when no ack received.
 - [ ] driver always reports `NETDEV_EVENT_TX_COMPLETE` when `ack_req` is disabled.

### Issues/PRs references

depends on #11146 
You can view, comment on, or merge this pull request online at:

  https://github.com/RIOT-OS/RIOT/pull/11150

-- Commit Summary --

  * nrf802154: Change timer frequency to match symbols rate
  * nrf802154: Fix timer behaviour of the IFS timer
  * nrf802154: Disable hardware IFS handling
  * nrf802154: rename _state to _event_flags
  * nrf802154: Add autoack capability
  * nrf802154: Add ack request capability

-- File Changes --

    M cpu/nrf52/include/nrf802154.h (8)
    M cpu/nrf52/radio/nrf802154/nrf802154.c (275)

-- Patch Links --

https://github.com/RIOT-OS/RIOT/pull/11150.patch
https://github.com/RIOT-OS/RIOT/pull/11150.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/RIOT-OS/RIOT/pull/11150
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20190311/89077b94/attachment.html>


More information about the notifications mailing list