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

GNRC MAC protocols: port to gnrc_mac module and add tutorials. #8178

Open
3 of 13 tasks
zhuoshuguo opened this issue Nov 29, 2017 · 0 comments
Open
3 of 13 tasks

GNRC MAC protocols: port to gnrc_mac module and add tutorials. #8178

zhuoshuguo opened this issue Nov 29, 2017 · 0 comments
Labels
Area: network Area: Networking Type: enhancement The issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation Type: tracking The issue tracks and organizes the sub-tasks of a larger effort

Comments

@zhuoshuguo
Copy link
Contributor

zhuoshuguo commented Nov 29, 2017

This issue is mainly about a list of future works on GNRC MAC protocols and the related modules.

So far, we have LWMAC protocol in RIOT, and will soon have GoMacH protocol. To make the codes more compact and enhance code re-usage and also remove the timer-source rely on RTT, a plan is to port both LWMAC and GoMacH to the gnrc_mac module. Also, we need some more detailed descriptions/instructions about the gnrc_mac module and the related MAC protocols, about how to use and configure them. Finally, we would like to provide a tutorial task about how to configure MAC protocols in RIOT.

TODOs

  • Merge GoMacH protocol, #5816;

  • Remove "{" in case statements (in LWMAC and GoMacH) to meet the standard coding conventions, as suggested in gnrc_lwmac: enable radio duty-cycle printing. #8942 .

  • Adapt the GoMacH's WP extension scheme to be based on RX-start event;

  • Use double wake-up for GoMacH to tackle the radio's ill-reception problem (on iotlab-m3);

  • Finish and merge the timeout module of gnrc_mac, gnrc_mac: add timeout module. #5949 ;

  • Port both GoMacH and LWMAC to gnrc_mac, e.g., utilizing gnrc_mac's timeout module for replacing GoMacH's (LWMAC's) own timeout;

  • Removing the rely on RTT for GoMacH and LWMAC;

  • Provide a detailed description and tutorial document for gnrc_mac, which introduces its components and usages;

  • Provide a MAC shell command to show achieved radio duty-cycle; gnrc_gomach: add duty-cycle display shell command. #8797 gnrc_lwmac: enable radio duty-cycle printing. #8942

  • Change LWMAC's radio duty-cycle recording to be based on xtimer but not RTT.

  • Provide a MAC shell command to adapt internal parameters, e.g., change the working sub-channel of GoMacH.

  • Provide a MAC tutorial task in RIOT's tutorials: https://github.com/RIOT-OS/Tutorials , which introduces how to configure key parameters for obtaining targeted features like low duty-cycle (channel check rate) and shorter packet transmission delay, etc.

Enhancement

  • Provide an option to enable the broadcast scheme of GoMacH to be a receiver-initiate based scheme.
@miri64 miri64 added Type: enhancement The issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation Area: network Area: Networking Type: tracking The issue tracks and organizes the sub-tasks of a larger effort labels Oct 17, 2018
@MrKevinWeiss MrKevinWeiss added this to the Release 2021.07 milestone Jun 21, 2021
@MrKevinWeiss MrKevinWeiss removed this from the Release 2021.07 milestone Jul 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: network Area: Networking Type: enhancement The issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation Type: tracking The issue tracks and organizes the sub-tasks of a larger effort
Projects
None yet
Development

No branches or pull requests

3 participants