Andy,

I suggest that you use the rfxlink stack. It's a very modular radio
stack that already supports the RF230, RF231, RF212, CC2420 and CC2520
transceivers. You'll only have to write a low-level driver for the
CC1101 which manages radio state (on, off, standby, rx) and implements
bare send/receive functionality. Rfxlink will take care of the rest
(CSMA/CA, Packet Link, Ieee 15.4 and AM layers, and more).

Take a look at chips/cc2420x or chips/cc2520, chances are good that
the CC1101 implementation will be similar.

Janos

On Wed, Mar 30, 2011 at 9:24 AM, Michiel Konstapel
<[email protected]> wrote:
> Hi Andy,
>
>
>
> We've also written our own CC1101 stack, for the G-Node (link). We're
> currently only shipping that with our development kits - we want to include
> it in the TinyOS repository at some point, but we haven't had time to sort
> out the licensing, etc.
>
>
>
> Anyway, I can give you some pointers based on my own experience.
>
>
>
> 1. Start at the bottom and work your way up. Build a layer to talk to the
> hardware: read/write registers, handle interrupts, etc. Build a basic layer
> on top, that can configure the radio, transfer data to/from the FIFO
> buffers, switch between RX and TX mode. Test this extensively. Then,
> implement the basic TinyOS Send/Receive/StdControl interface on top, and go
> from there all the way up to ActiveMessageC.
>
> 2. Interrupt handling is hard. A lot of my time went into making sure there
> were no race conditions when switching between RX and TX. For example, what
> if a packet is received exactly when you are switching from RX to TX? It's
> tricky to tell whether the end-of-packet interrupt was due to a received
> packet, or your transmitted packet.
>
> 3. Make it work first, then make it fast, if you have to. I've kept as much
> as possible out of interrupt context (no async code), which makes your life
> a lot easier.
>
> 4. Check your assumptions. Asserts are incredibly useful when debugging low
> level code.
>
>
>
> Best of luck!
>
> Michiel
>
>
>
> From: [email protected]
> [mailto:[email protected]] On Behalf Of andy smith
> Sent: woensdag 30 maart 2011 13:14
> To: [email protected]
> Subject: [Tinyos-help] Developing for CC1101
>
>
>
> hi guys,
>
> We are implementing the drivers of CC1101 for TinyOS, although there are
> already blaze and telosw on the Internet ,but they are the final
> versions,here we want to develop the drivers step by step ,but as you know,
> to implement the CC1101 radio stack with nesC is really tricky! We don't
> know where to begin? What we want to know is how to test when developing the
> TinyOS step by step,Can anybody help ?
>
> _______________________________________________
> Tinyos-help mailing list
> [email protected]
> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to