Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IEEE802.15.4 support for nrf52 #11617

Merged
merged 4 commits into from
Feb 18, 2024
Merged

Conversation

raiden00pl
Copy link
Contributor

@raiden00pl raiden00pl commented Jan 28, 2024

Summary

  • various cosmetic changes related to ieee802154

  • nrf52/nrf52_radio: various changes to support IEEE802154

    • remove read-write logic - this should be handled by radio protocol implementation
    • remove EVENTS and TASKS bit definitions - we can just use a single definition
    • add more radio ops
    • fix frequency configuration
    • fix printf warnings
    • fix radio reset
  • arch/nrf52: add initial support for IEEE 802.15.4
    Supported features:

    • frame transmition
    • frame reception and filtering
    • immediate ACK (incoming and outgoing)
    • promiscuous mode
    • delayed transmision
    • radio events trace
    • setting pending bit for all incoming Data Request frames
    • un-slotted CSMA-CA

    Work in progres features (some logic is present, but they require more work):

    • beacon transmision (periodic transmition works, but requires verification)
    • slotted CSMA-CA
    • GTS

    Fetures not implemented:

    • enhanced ACK (Enh-ACK)
    • enhanced beacon
    • low power mode
    • advanced features from IEEE 802.15.4e (DSME, TSCH)

    Added examples for boards:

    • nrf52832-dk: mrf24j40_6lowpan
    • nrf52832-dk: mrf24j40_mac
    • nrf52840-dk: ieee802154_6lowpan
    • nrf52840-dk: ieee802154_mac
    • nrf52840-dongle: ieee802154_mac
    • nrf9160-dk-nrf52: ieee802154_6lowpan
    • nrf9160-dk-nrf52: ieee802154_mac

@raiden00pl raiden00pl linked an issue Jan 28, 2024 that may be closed by this pull request
2 tasks
@acassis
Copy link
Contributor

acassis commented Jan 28, 2024

@raiden00pl are you plan to add 6LoWPAN support to nRF5x ?

@raiden00pl
Copy link
Contributor Author

@acassis Yes, that's the plan. I hope it'll be finished before Nordic releases nrf54 :)

@raiden00pl raiden00pl force-pushed the nrf52_radio branch 5 times, most recently from f4857ed to 01212c2 Compare February 16, 2024 21:02
- remove read-write logic - this should be handled by radio protocol implementation
- remove EVENTS and TASKS bit definitions - we can just use a signle definition
- add more radio ops
- fix frequency configuration
- fix printf warnings
- fix radio reset
@raiden00pl raiden00pl force-pushed the nrf52_radio branch 5 times, most recently from 0e8de4e to b9a6619 Compare February 18, 2024 09:47
@raiden00pl
Copy link
Contributor Author

Ready for review

@raiden00pl raiden00pl marked this pull request as ready for review February 18, 2024 10:36
arch/arm/src/nrf52/CMakeLists.txt Show resolved Hide resolved
arch/arm/src/nrf52/nrf52_ieee802154_trace.c Outdated Show resolved Hide resolved
arch/arm/src/nrf52/nrf52_ieee802154_trace.c Outdated Show resolved Hide resolved
arch/arm/src/nrf52/nrf52_ieee802154_trace.c Outdated Show resolved Hide resolved
arch/arm/src/nrf52/nrf52_ieee802154_radio.c Outdated Show resolved Hide resolved
arch/arm/src/nrf52/nrf52_ieee802154_radio.c Outdated Show resolved Hide resolved
Supported features:

- frame transmition
- frame reception and filtering
- immediate ACK (incoming and outgoing)
- promiscuous mode
- delayed transmision
- radio events trace
- setting pending bit for all incoming Data Request frames
- un-slotted CSMA-CA

Work in progres features (some logic is present, but they require more work):

- beacon transmision (periodic transmition works, but requires verification)
- slotted CSMA-CA
- GTS

Fetures not implemented:

- enhanced ACK (Enh-ACK)
- enhanced beacon
- low power mode
- advanced features from IEEE 802.15.4e (DSME, TSCH)

Added examples for boards:

- nrf52832-dk: mrf24j40_6lowpan
- nrf52832-dk: mrf24j40_mac
- nrf52840-dk: ieee802154_6lowpan
- nrf52840-dk: ieee802154_mac
- nrf52840-dongle: ieee802154_mac
- nrf9160-dk-nrf52: ieee802154_6lowpan
- nrf9160-dk-nrf52: ieee802154_mac
@xiaoxiang781216 xiaoxiang781216 merged commit 02b418a into apache:master Feb 18, 2024
27 checks passed
@raiden00pl raiden00pl changed the title WIP: IEEE 802.15.4 support for nrf52 IEEE 802.15.4 support for nrf52 Feb 19, 2024
@raiden00pl raiden00pl changed the title IEEE 802.15.4 support for nrf52 IEEE802.15.4 support for nrf52 Feb 19, 2024
@raiden00pl raiden00pl deleted the nrf52_radio branch February 26, 2024 17:17
@jerpelea jerpelea added this to To-Add in Release Notes - 12.5.0 Mar 26, 2024
@jerpelea jerpelea moved this from To-Add to Added in Release Notes - 12.5.0 Mar 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

IEEE802.15.4 support for nRF52 and nRF53
3 participants