-
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 - cc110x_ng: Propose new CC110x driver implementation #1772
Conversation
@@ -0,0 +1,36 @@ | |||
/* | |||
* Copyright (C) 2009 Freie Universität Berlin | |||
* Copyright (C) 2013 INRIA |
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.
netdev
was "invented" in 2014 by @authmillenon, employed by FUB at this time, so I think it's a safe bet to change this accordingly.
I'm definitely no expert on the low-layer stuff and couldn't test, but in general this looks good to me. I'm only a bit worried about the increasing confusion by RIOT now providing three different drivers for the cc110X, but I don't see how this could easily be solved. However, you might want to add some more documentation about how and when this driver can be used - and we should hope that someone's willing to port other boards with this radio chip to the new periph model. |
The cleanest solution to reduce the number of cc110x drivers would be to fix #1540 (edit: for the boards in question) first and remove |
I know that naming is the hardest problem in CS, but I really dislike the naming scheme of |
I agree, that we should be careful with the naming of the drivers to save some confusion. How about something like renaming the old ones into |
Sounds good to me. |
No objections from my side. |
Definitely better than the existing names! |
I think the name changing of the older drivers should be done in a fresh PR. |
(and for all other legacy drivers on the go) |
=> #1776 |
@fnack rebase? |
(and rename) |
Also, quickly looking over the commits, there appear to be some fixes/extensions of other modules that could be useful to move to separate PRs (the critical commenting error, SPI, possibly more). |
I'll do that today! I'll squash and will think about moving some of the commits. The spi change for example was already merged in master with another PR. |
73045c6
to
5e01c75
Compare
What about the cppcheck errors from my travis build? They are definitely false-positives. It looks like cppcheck has problems with bit field struct members like Is this a known issue @N8Fear? |
Bit-field struct members are discouraged (see #1609) |
For other false-positives, see https://github.com/RIOT-OS/RIOT/wiki/Coding-conventions#travis |
Fixed the cppcheck-findings. Finally, Travis is happy :) |
1736f6b
to
fdf7069
Compare
Rebased. I would really like to get this PR merged soon. What tasks are left to get an ACK @OlegHahm and @haukepetersen? |
#define GPIO_2_PORT GPIOA | ||
#define GPIO_2_PIN 4 | ||
#define GPIO_2_PORT GPIOA /* CC1101 GDO1 */ | ||
#define GPIO_2_PIN 6 |
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.
broken indentation (I know it was broken before, too)
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.
Could you explain the problem to me? I don't really see what is wrong with the indentation x)
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.
Sorry, is apparently correct - just a browser issue. Never mind!
Apart from minor comments, this PR looks good. |
I addressed your comments. |
5d8daa0
to
894b0ea
Compare
...and works (as locally demonstrated). (This is an ACK.) |
Rebased, squashed and Travis is happy too. Go... |
drivers - cc110x: Propose new CC110x driver implementation
This PR proposes a new implementation of the cc110x_ng driver and shows example usage for the MSB-IoT board. The new implementation features:
I know this implementation still leaves room for optimization because of a lot of duplicate code between the old and new driver. Proposals to slim the code are very welcome!
This PR depends on
#1770