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

drivers: add cc110x driver #3716

Merged
merged 2 commits into from
Sep 24, 2015
Merged

Conversation

kaspar030
Copy link
Contributor

This PR adds a cc110x driver that is based on netdev2 + gnrc.

Tested on msba2. Please note that the wireless parameters are different than with our legacy code, so communication with devices using the old drivers will probably not work.

The gnrc glue code fakes a iee802154 device so sixlowpan can be used in cc110x networks.

Waiting for #3683.

@kaspar030 kaspar030 added Area: network Area: Networking State: waiting for other PR State: The PR requires another PR to be merged first Area: drivers Area: Device drivers labels Aug 26, 2015
@kaspar030 kaspar030 added this to the Release 2015.08 milestone Aug 26, 2015
@kaspar030
Copy link
Contributor Author

  • rebased

@kaspar030 kaspar030 force-pushed the ng_cc110x branch 2 times, most recently from bf826b5 to c9387f5 Compare September 3, 2015 16:30
@kaspar030
Copy link
Contributor Author

  • rebased

@kaspar030 kaspar030 added CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR and removed State: waiting for other PR State: The PR requires another PR to be merged first labels Sep 4, 2015
*/
const cc110x_params_t cc110x_params[] = {
{ .spi=0,
.CS=53,
Copy link
Member

Choose a reason for hiding this comment

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

Sorry for the nitpick, bu tthe indentation seems off.

@OlegHahm
Copy link
Member

OlegHahm commented Sep 4, 2015

Which packet size does this driver support? Found it.


static int _set(netdev2_t *dev, netopt_t opt, void *value, size_t value_len)
{
DEBUG("%s:%u\n", __func__, __LINE__);
Copy link
Member

Choose a reason for hiding this comment

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

Why do we have this here but not at similar places?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

leftover, will remove.

@OlegHahm
Copy link
Member

OlegHahm commented Sep 4, 2015

Sorry for the superficial review so far - will test asap. Well documented though.

@OlegHahm
Copy link
Member

OlegHahm commented Sep 4, 2015

Could you add the avsextrem (and maybe pttu) as well?

*/
typedef struct __attribute__((packed))
{
uint8_t length; ///< Length of the packet (without length byte)
Copy link
Member

Choose a reason for hiding this comment

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

C style comments here, too.


/**
* @defgroup drivers_cc110x CC110X
* @brief Driver for Texas Instruments CC110x (without MAC protocol)
Copy link
Contributor

Choose a reason for hiding this comment

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

the the without MAC still true?

Copy link
Contributor

Choose a reason for hiding this comment

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

also just leave the @ingroup drivers_cc110x and remove the rest

@OlegHahm
Copy link
Member

@kaspar030, planning to address the comments?

@kaspar030
Copy link
Contributor Author

@OlegHahm Yes, but I want to finish #3525 first.

@OlegHahm
Copy link
Member

Sure, just checking.

@kaspar030
Copy link
Contributor Author

  • addressed most comments
  • rebased

The gnrc part of this drivers doesn't play well, yet, with sixlowpan. The crude adaption layer needs some work.

For the node ID, what's the current state of the art for getting a random or node-unique number?

@kaspar030
Copy link
Contributor Author

update When disabling IPHC, together with #3944, I can ping between two msba2's.

@authmillenon Do you know any reason why IPHC might break? I suspect it's because of the 1 byte hardware addresses...

@miri64
Copy link
Member

miri64 commented Sep 23, 2015

@authmillenon Do you know any reason why IPHC might break? I suspect it's because of the 1 byte hardware addresses...

I took special care that it would work with 1-byte addresses, but never tested it (duh). So there might still be some hidden issues.

@kaspar030 kaspar030 removed the CI: needs squashing Commits in this PR need to be squashed; If set, CI systems will mark this PR as unmergable label Sep 23, 2015
@kaspar030
Copy link
Contributor Author

  • squashed

@kaspar030 kaspar030 added the State: waiting for other PR State: The PR requires another PR to be merged first label Sep 23, 2015
@kaspar030
Copy link
Contributor Author

@haukepetersen
Copy link
Contributor

not anymore...

@haukepetersen
Copy link
Contributor

kicked Travis

@OlegHahm OlegHahm removed the State: waiting for other PR State: The PR requires another PR to be merged first label Sep 23, 2015
@OlegHahm
Copy link
Member

Do we have an ACK somewhere?

@haukepetersen
Copy link
Contributor

let me look over this once more, then you'll have it!

@haukepetersen
Copy link
Contributor

Looks good. ACK and go.

haukepetersen added a commit that referenced this pull request Sep 24, 2015
@haukepetersen haukepetersen merged commit 7cb3f9b into RIOT-OS:master Sep 24, 2015
@kaspar030 kaspar030 deleted the ng_cc110x branch February 7, 2017 22:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: drivers Area: Device drivers Area: network Area: Networking CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants