-
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
drivers/at86rf215: implement MR-OFDM #14010
Conversation
1f7841b
to
eba4410
Compare
@tinstructor I heard you like MR-OFDM, want to give this a try? 😉 |
@benpicco I'll run through your testing procedure quickly tomorrow morning. Mind you, due to Corona lockdown measures I currently don't have access to a signal analyzer should things need troubleshooting. |
@benpicco Remind me again, which example application do you typically use to test drivers like this? |
|
@benpicco I've quickly done some testing with two OpenMote-B nodes and it seems to work just fine. Of course you'd probably want to run a few hundred pings for each interface / each combination of option + MCS to be sure |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some nitpicks, otherwise code looks. Will test against different configurations.
Your application that looped over the different configurations would be very usefull here :) |
That one? |
Did some testing mixing up configurations and it all seems to work. trying to see if I can cover them all automaticaly. |
I used #13612 to script testing over all possible combinations. Worked for all pining both ways with |
@benpicco would you mind uncrustifying the files? |
I removed some of the crust, although IMHO that added to the taste. |
The new code, I noticed that |
Please squash @benpicco (BTW I don't get nitified when you push a fix, so please ping me when you do so I notice :) ) |
_TXDFE_SR(option) | _TXDFE_RCUT(option)); | ||
|
||
/* set channel spacing */ | ||
at86rf215_reg_write(dev, dev->RF->RG_CS, _channel_spacing_kHz(option) / 25); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just noticed this 25, why is it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh yeah 25Khz resolution
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add a comment like for o-qpsk
?
/* set channel spacing with 25 kHz resolution */
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done! And I also undid some of the damage done by uncrustify
in the next line.
Define options for IEEE 802.15.4g MR-OFDM as well as shell commands to set them via ifconfig.
With the added features, the driver doesn't fit onto those ATmega boards anymore.
3930a60
to
164e239
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK
Contribution description
This adds MR-OFDM modulation to the
at86rf215
driver.This also adds new commands to
ifconfig
to configure the new modulation parameters.Testing procedure
Switch to the new PHY mode with
ifconfig 7 set phy_mode mr-ofdm
. Note that theL2-PDU
has changed to 2022 bytes (802.15.4g can send 2047 byte frames).You should be able to configure the OFDM option (
ifconfig 7 set option [1…4]
) as well as the Modulation and Coding Scheme (ifconfig 7 set mcs [0…6]
):Nodes can talk to each other if they use the same option, but different Modulation & Coding Schemes.
Issues/PRs references
split off #12128
requires #13979 to send full 2k frames