-
Notifications
You must be signed in to change notification settings - Fork 2k
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
pkg/opendsme: add initial support for IEEE 802.15.4 DSME time-slotted MAC #18156
Conversation
Great PR! As discussed offline, many nits need cosmetics, e.g., get rid of magic numbers, do the todos, remove needless checks, add asserts consistently, split out unrelated changes... Furthermore, I think that the code would be even better to understand if 1. the filenames would be more descriptive (example: opendsme.cpp currently contains netif adaptation) and 2. there was a brief overview (documentation) of the openDSME OS abstraction interfaces. Otherwise, I flashed the example application on two nrf52840dk boards and successfully managed to send some packets with CAP and CFP as described above. Nice! |
Our current Doxygen configuration doesn't seem to behave that nicely with C++ :/ |
1e4f7c4
to
972304c
Compare
I think I found the missing group |
finally!!! |
Thanks a lot. I'm particularly looking forward to trying this on energy constrained devices. bors merge |
18156: pkg/opendsme: add initial support for IEEE 802.15.4 DSME time-slotted MAC r=chrysn a=jia200x Co-authored-by: Jose Alamos <[email protected]>
Looking over the commits (as I should have done before the bors command), why is there a revert in this, moreover one that refers to a commit not in the history? bors cancel |
Canceled. |
I reverted a commit into the wrong branch. Completely unrelated. Will fix it. |
bors merge |
18156: pkg/opendsme: add initial support for IEEE 802.15.4 DSME time-slotted MAC r=miri64 a=jia200x 19691: drivers/bmx055: fix crazy use of FPU r=maribu a=maribu ### Contribution description As the title says... 19694: tests/drivers/epd_bw_spi_disp_dev: fix accidental use of FPU r=maribu a=maribu Co-authored-by: Jose Alamos <[email protected]> Co-authored-by: Marian Buschsieweke <[email protected]>
Build failed (retrying...): |
18156: pkg/opendsme: add initial support for IEEE 802.15.4 DSME time-slotted MAC r=miri64 a=jia200x 19689: cpu/sam0_eth: disable PHY when MAC is sleeping r=dylad a=benpicco Co-authored-by: Jose Alamos <[email protected]> Co-authored-by: Benjamin Valentin <[email protected]>
Build failed (retrying...): |
18156: pkg/opendsme: add initial support for IEEE 802.15.4 DSME time-slotted MAC r=miri64 a=jia200x Co-authored-by: Jose Alamos <[email protected]>
Build failed: |
the build failure seems to be unrelated |
bors merge |
Build succeeded! The publicly hosted instance of bors-ng is deprecated and will go away soon. If you want to self-host your own instance, instructions are here. If you want to switch to GitHub's built-in merge queue, visit their help page. |
Thank you everyone for reviewing! |
Contribution description
This PR adds support for openDSME.
DSME is a time-slotted MAC layer (similar to TSCH), which supports deterministic communication.
It offers some promising features such as:
Similar to TSCH, such a MAC improves PRR drastically (with the cost of some latency) and enables low-power operation.
This work is still WIP, although the basic support is already running. This PR includes:
Some commits (labeled as "REMOVE_ME") will be handled in separate PRsTested with
nrf52840
. The cc2538 needs a small change to remove the beacon filter.Testing procedure
examples/opendsme
.gts
option to enable GTS transmission (slotted). By default, the option is unset.Example session
PAN coordinator
Child:
Issues/PRs references
#15313
Depends on
#18283, #18284