Skip to content

gnrc/lwmac : Expose configurations to Kconfig#14120

Merged
leandrolanzieri merged 11 commits intoRIOT-OS:masterfrom
akshaim:Kconfig_lwmac
Jul 8, 2020
Merged

gnrc/lwmac : Expose configurations to Kconfig#14120
leandrolanzieri merged 11 commits intoRIOT-OS:masterfrom
akshaim:Kconfig_lwmac

Conversation

@akshaim
Copy link
Copy Markdown
Member

@akshaim akshaim commented May 23, 2020

Contribution description

This PR exposes compile configurations in GNRC: LWMAC to Kconfig.

Testing procedure

  1. New documentation was built using Doxygen

The build works fine.

  1. Header and macro was introduced to tests/gnrc_lwmac/

#include "net/gnrc/lwmac/lwmac.h"
#include "net/gnrc/lwmac/types.h"

#define STR(x)   #x
#define SHOW_DEFINE(x) printf("%s=%s\n", #x, STR(x))

The test file can be found here .
Compiled binaries were uploaded to FIT IoT Test bed.

Default State:

Firmware Output

main(): This is RIOT! (Version: 2020.07-devel-717-gb00e4-Kconfig_lwmac_tests)
CONFIG_GNRC_LWMAC_WAKEUP_INTERVAL_US=(200LU *(1000LU))
CONFIG_GNRC_LWMAC_TIME_BETWEEN_WR_US=(5U *(1000LU))
CONFIG_GNRC_LWMAC_WR_PREPARATION_US=((3U *(1000LU)))
CONFIG_GNRC_LWMAC_DATA_DELAY_US=(10U *(1000LU))
CONFIG_GNRC_LWMAC_DATA_CSMA_RETRIES=(3U)
CONFIG_GNRC_LWMAC_MAX_DATA_TX_RETRIES=(3U)
CONFIG_GNRC_LWMAC_MAX_RX_EXTENSION_NUM=(3U)
CONFIG_GNRC_LWMAC_BROADCAST_CSMA_RETRIES=(3U)
CONFIG_GNRC_LWMAC_TIMEOUT_COUNT=(3U)
LWMAC test application

Usage with menuconfig [default values]

make menuconfig

Firmware Output

main(): This is RIOT! (Version: 2020.07-devel-717-gb00e4-Kconfig_lwmac_tests)
CONFIG_GNRC_LWMAC_WAKEUP_INTERVAL_US=200000
CONFIG_GNRC_LWMAC_TIME_BETWEEN_WR_US=5000
CONFIG_GNRC_LWMAC_WR_PREPARATION_US=3000
CONFIG_GNRC_LWMAC_DATA_DELAY_US=10000
CONFIG_GNRC_LWMAC_DATA_CSMA_RETRIES=3
CONFIG_GNRC_LWMAC_MAX_DATA_TX_RETRIES=3
CONFIG_GNRC_LWMAC_MAX_RX_EXTENSION_NUM=3
CONFIG_GNRC_LWMAC_BROADCAST_CSMA_RETRIES=3
CONFIG_GNRC_LWMAC_TIMEOUT_COUNT=3
LWMAC test application

Usage with menuconfig

make menuconfig

Firmware Output

main(): This is RIOT! (Version: 2020.07-devel-717-gb00e4-Kconfig_lwmac_tests)
CONFIG_GNRC_LWMAC_WAKEUP_INTERVAL_US=300000
CONFIG_GNRC_LWMAC_TIME_BETWEEN_WR_US=6000
CONFIG_GNRC_LWMAC_WR_PREPARATION_US=2000
CONFIG_GNRC_LWMAC_DATA_DELAY_US=15000
CONFIG_GNRC_LWMAC_DATA_CSMA_RETRIES=2
CONFIG_GNRC_LWMAC_MAX_DATA_TX_RETRIES=4
CONFIG_GNRC_LWMAC_MAX_RX_EXTENSION_NUM=4
CONFIG_GNRC_LWMAC_BROADCAST_CSMA_RETRIES=2
CONFIG_GNRC_LWMAC_TIMEOUT_COUNT=4
LWMAC test application

MACROS were successfully configured.

Issues/PRs references

#12888
Merge this only after merging #14086

@benpicco benpicco added the Area: Kconfig Area: Kconfig integration label May 24, 2020
@leandrolanzieri leandrolanzieri added the Type: new feature The issue requests / The PR implemements a new feature for RIOT label Jun 11, 2020
Copy link
Copy Markdown
Contributor

@leandrolanzieri leandrolanzieri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a bit confusing to have so many changes in the documentation lines. I would say, do the documentation cleanup commit in the end, once you changed all the macro names and know the final length of the lines.

@leandrolanzieri
Copy link
Copy Markdown
Contributor

This needs rebasing

@akshaim akshaim force-pushed the Kconfig_lwmac branch 2 times, most recently from c48ea87 to 56e618e Compare June 18, 2020 11:47
@leandrolanzieri
Copy link
Copy Markdown
Contributor

This needs rebasing

And again

@miri64 miri64 added this to the Release 2020.07 milestone Jun 25, 2020
@leandrolanzieri
Copy link
Copy Markdown
Contributor

Looks good. Please squash

@leandrolanzieri leandrolanzieri added Reviewed: 1-fundamentals The fundamentals of the PR were reviewed according to the maintainer guidelines Reviewed: 2-code-design The code design of the PR was reviewed according to the maintainer guidelines labels Jun 29, 2020
@leandrolanzieri leandrolanzieri added Reviewed: 3-testing The PR was tested according to the maintainer guidelines Reviewed: 4-code-style The adherence to coding conventions by the PR were reviewed according to the maintainer guidelines Reviewed: 5-documentation The documentation details of the PR were reviewed according to the maintainer guidelines labels Jul 7, 2020
@leandrolanzieri
Copy link
Copy Markdown
Contributor

@akshaim you'll need to rebase this

@akshaim
Copy link
Copy Markdown
Member Author

akshaim commented Jul 8, 2020

@akshaim you'll need to rebase this

Done.

@leandrolanzieri leandrolanzieri added the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label Jul 8, 2020
Copy link
Copy Markdown
Contributor

@leandrolanzieri leandrolanzieri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK.

@leandrolanzieri leandrolanzieri merged commit ffee93d into RIOT-OS:master Jul 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: Kconfig Area: Kconfig integration CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Reviewed: 1-fundamentals The fundamentals of the PR were reviewed according to the maintainer guidelines Reviewed: 2-code-design The code design of the PR was reviewed according to the maintainer guidelines Reviewed: 3-testing The PR was tested according to the maintainer guidelines Reviewed: 4-code-style The adherence to coding conventions by the PR were reviewed according to the maintainer guidelines Reviewed: 5-documentation The documentation details of the PR were reviewed according to the maintainer guidelines Type: new feature The issue requests / The PR implemements a new feature for RIOT

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants