radios: Remove default radio flags from init#10355
radios: Remove default radio flags from init#10355bergzand wants to merge 13 commits intoRIOT-OS:masterfrom
Conversation
This adds support to GNRC for enabling radio flags on device initialization
This adds support to LwIP for enabling radio flags on device initialization
This adds support to emb6 for enabling radio flags on device initialization
ACK_REQ and AUTOACK are always forced on independent of the settings as Openthread requires that these are enabled.
|
|
||
| kw2xrf_set_option(dev, KW2XRF_OPT_AUTOACK, true); | ||
| kw2xrf_set_option(dev, KW2XRF_OPT_ACK_REQ, true); | ||
| kw2xrf_set_option(dev, KW2XRF_OPT_AUTOCCA, true); |
There was a problem hiding this comment.
I kept the AUTOCCA flag here as it has a slightly different meaning than the CSMA netopt. It also has its own netopt option.
There was a problem hiding this comment.
An alternative could be to try setting csma first, and if that fails, try to set autocca. What do you think of this?
There was a problem hiding this comment.
At the moment the kw2xrf is the only radio using the NETOPT_AUTOCCA option, so I'd rather leave it to a follow up PR if we want this change.
I was thinking, if we combine this CCA feature with some exponential back off timer, we effectively have CSMA right? Would this be something that we want to have for this radio?
There was a problem hiding this comment.
We can copy the behavior from kw41zrf. I did exactly what you describe in order to provide csma for that radio.
There was a problem hiding this comment.
Someone else will have to provide the PR. I don't have the hardware and have no interest in the kw2xdrf
There was a problem hiding this comment.
Someone else will have to provide the PR. I don't have the hardware and have no interest in the kw2xdrf
Same for me to be honest
|
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you want me to ignore this issue, please mark it with the "State: don't stale" label. Thank you for your contributions. |
Contribution description
This removes the default flag configuration from the initialization function of the supported radios. Instead, the upper layer network function configures the required/enabled flags on the radio.
The idea is to have a more centralized configuration of these flags instead of every radio enabling a different set of flags on init.
Testing procedure
Test if every radio correctly configures flags based on the configuration in
sys/include/net/ieee802154.hIssues/PRs references
requires #9592