Jump to content

CC2500 Radio Library

Recommended Posts

I'm still on the early stages, but I've documented what I have so far here: blog.alvarop.com


I wrote my own radio libraries for the cc2500 to avoid using simpliciTI. They're fairly limited(64-byte packets, 250kbps), but good enough for what I need.


The code is on github right now, but it needs a lot of work. I also have the libraries written to work with msp430-gcc, but those were for my thesis work using the ez430-rf2500.

Link to post
Share on other sites

I did a major update to the CC2500 library today.

It's currently used to control an RGB LED light strip wirelessly, but should be easy enough to modify for other stuff. I hope the code is clear-ish and makes sense.


Code: https://github.com/alvarop/msp430-cc2500


Example of RGB LED use: http://blog.alvarop.com/2012/01/cc2500-project-part-6-reorganizing.html

Link to post
Share on other sites

Yes, I'm basing mine off the same slaa325a library.


My main problem with it was having to create new hardware_board.h files and also having to modify include.h for every device you want to use. My goal is to eventually make the radio code hardware independent. I want to be able to use the same libraries across different devices with minimal changes. It would be pretty cool to be able to use the same code on an MSP430, Beagleboard, C2000, ATMega, CortexM3 etc...


Like you said, the SPI interface should be the same for all CCxxxx devices.

You'll just have to change the #defines in case there are different radio registers along with the writeRFSettings() function for the configuration.

Link to post
Share on other sites

The slaa325a library is really easy to adjust for different radios. Use SmartRF 7 and you can select the "RF settings HAL" template when exporting the registers. Then it's simple to add that to the CC1100-CC2500.c.


I do like the uart logging that Larsie has added with his library.


In defense of SimpliciTI, it is a much more advanced library -more than just the hardware initialization. I've been working with TI wireless for a while now and made the decision to use SimpliciTI a while ago due to it being a complete wireless solution all rolled into one application. Yes, the code size is bigger but as it's really designed for bigger mcu with more RAM. It squeezes itself onto a G2553 and will work great but try to add an LCD display you're out.

Link to post
Share on other sites

That's true, there is a place for both SimpliciTI and slaa325a.

I mostly avoided SimpliciTI because the project I was working on required extremely precise packet timing. It was quicker to use the most basic libraries than to figure out how simpliciTI worked and modifying it.


Most of what I do right now is with the smaller devices, so simple packets are 'good enough'. It has also been a great learning experience.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...