Jump to content

alvarop

Members
  • Content Count

    14
  • Joined

  • Last visited

  1. NOTE: This only applies to people trying to get TI's cc2500 radio libraries compiling under mspgcc. While helping someone out earlier, I realized other people might have the same problem, so I figured I'd post it here. For some reason, the SPI timing wasn't entirely working, I 'documented' my problem here: http://e2e.ti.com/support/rf__digital_radio/etc_rf/f/228/t/127759.aspx Also, if you want a fully working mspgcc version of the cc2500 radio libraries, check out: https://github.com/alvarop/cc430bsn/tree/ez430-rf2500 (NOTE: most of the 'good' code is on the ez430-rf2500 branch, not under master.) Look at the readme to see how to build projects and automatically program devices (and assign them addresses!) The code under the network/ folder should be a good example of a working master + multiple slaves.
  2. alvarop

    Hello

    Yeah, we're on the same team!
  3. alvarop

    Hello

    I should probably introduce myself. I've been posting on some threads for the past few weeks. I'm a recent EE graduate from RIT in Rochester, NY. I'm currently living in Houston, TX though. I actually work for TI, but I'm in the C2000 team, so all my msp430 projects are on my own time. I've been working on them since college. (Should I have a disclaimer or something? Nothing I post here has anything to do with my work at TI.) Right now I'm focusing on msp430 + cc2500 rf modules. I used the ez430-rf2500 devices for my thesis work on body sensor networks. All of that stuff stayed in school, so I'm making some new ones on my own. My current project is wireless RGB LED controllers. I post most of the stuff on my blog: http://blog.alvarop.com/ I look forward to learning a lot here and hopefully helping out when I can.
  4. 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.
  5. 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.
  6. I believe they were used in wireless video game controllers (guitar hero). This means they made tons of them, which should drive the cost way down. http://www.elektroda.pl/rtvforum/topic1512074.html
  7. Anytime a packet is received, an interrupt happens and an interrupt service routine(ISR) is called. This ISR gets the packet from the CC2500. Since people want to do different things with the packets, I chose not to process packets in the ISR. The callback function is called after a packet is received and is given the actual packet to process. What you do is come up with your own packet processing function and tell the cc2500 library about it. That way it knows who tocall when a packet is received. The uart_write_escaped() is more for sending whole packets through the serial peripheral to the computer. Normally you just send a stream of bytes. Unfortunately, there is no way for the computer to know when a stream of data begins or ends. This function uses the 0x7E byte as a start and end of packets. This way, the receiver knows when to begin and end capturing data. If your data contains a 0x7E, that might confuse the receiver, so you must escape it by preceding it with a 0x7D and modifying it. The receiver must be aware of this to process it accordingly. The hex_to_string function was just for debugging. When you want to display a value, you usually use printf(). Unfortunately, printf takes a lot of cycles to format the data, and if you're doing time-sensitive stuff, you can't afford the delay. In cases where you don't have full debugging capability, you might want to print out the values of some registers or variables. the hex_to_string() function converts a value to a hexadecimal string.
  8. Unless you're looking for the CC2500 datasheet. That one is here: http://www.ti.com/lit/ds/symlink/cc2500.pdf
  9. 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
  10. I have 10-12 extra breakout boards at home. If anyone wants them I could probably send them over. You can see a picture of the board here: http://blog.alvarop.com/2011/12/cc2500-project-part-1.html (I left the 26MHz clock pin unconnected though) You will need the headers though. I might have some, but not as many as I have boards.
  11. I had the same problem with the switched TX/RX pins on the launchpad. It took me a while to figure that one out... I wrote my own library for the G2533, but should also work for the C2553. The main difference is the addition of a uart_write_escaped function, which is useful while sending data of different lengths (that way you can have start/end bytes, and if your data contains that byte, it escapes it.) It also supports a callback function so you can have input processing functions when you receive data. It's still a work in progress though... https://github.com/alvarop/msp430-cc250 ... lib/uart.c
  12. I don't have any bench supplies at home. I'm wondering if this is a good idea: http://www.mpja.com/email/01-10-12.asp?r=309423&s=14 (Still won't let me post links, so feel free to fix it)
  13. Thanks! I'll be sure to do that then.
  14. 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.
×
×
  • Create New...