[Tinyos-contrib-commits] CVS: tinyos-1.x/contrib/rincon/tos/lib/CC1000Radio version.txt, NONE, 1.1 CC1000RadioC.nc, NONE, 1.1

dmm rincon at users.sourceforge.net
Thu Jul 27 16:39:00 PDT 2006


Update of /cvsroot/tinyos/tinyos-1.x/contrib/rincon/tos/lib/CC1000Radio
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv18810/contrib/rincon/tos/lib/CC1000Radio

Added Files:
	version.txt CC1000RadioC.nc 
Log Message:
Added the latest rev. of the CC1000Radio stack, backported from TinyOS 2.0 with modifications.

--- NEW FILE: version.txt ---
CC1000Radio, back-ported from TinyOS 2.0.

Features over the original TinyOS 1.x radio stack:


* Better architecture makes it easier to understand and hack.

* Smaller size (7% decrease in ROM, 12% decrease in RAM)

* Auto-recalibration of the radio, every 8 hours by default, for outdoor applications

* Ability to double the default baud rate to 76.8 kBaud (not compatible with some motes)

* Joe and Jason's pulse-check implementation - instead of checking for preamble bits on
  wakeup, check the RSSI reading on wakeup before the radio is fully in active mode.
  35.5% increase in mote lifetime on power mode 8 (4.376 mAh/day or less, a 35.3% decrease!)
  It can go lower if you adjust the microcontroller as well to use the internal oscillator.
  Uisp with --wr_fuse_l=c4 (?) (needs verification)


NOT IMPLEMENTED IN THIS PARTICULAR VERSION:
* Restructured the way ack's work.  Ack's are truly on a per-packet basis, with the
  ack field now transmitted to request an ack.  The radio can force all Tx packets
  to request acks.  Transmitting the extra byte to specify ack's can actually increase
  throughput by taking out the guess work on the receiving end.

You should be able to drop this in place of your old stack.

Bonus: Create a new platform to compile in using the new stack, so you still have access to the old.

David Moss (dmm at rincon.com)


--- NEW FILE: CC1000RadioC.nc ---


/*
 * Main CC1000 Configuration
 * This configuration provides access to the CC1000 radio stack
 * @author David Moss
 *
 */

configuration CC1000RadioC {
  provides {
    interface StdControl;
    interface BareSendMsg as Send;
    interface ReceiveMsg as Receive;
    interface LowPowerListening;
    interface Packet;
    interface CC1000Control;
    interface PacketAcknowledgements;
    interface MacControl;
  }
}

implementation {
  components CC1000SendReceiveC, CC1000ControlC;
  components CC1000CsmaC, CC1000RssiC;
  components RandomC;
  
  StdControl = CC1000SendReceiveC;
  StdControl = CC1000ControlC;
  StdControl = CC1000RssiC;
  StdControl = CC1000CsmaC;
  StdControl = RandomC;
  
  Send = CC1000SendReceiveC;
  Receive = CC1000SendReceiveC;
  Packet = CC1000SendReceiveC;
  PacketAcknowledgements = CC1000SendReceiveC;
  MacControl = CC1000SendReceiveC;
  
  LowPowerListening = CC1000CsmaC;
  
  CC1000Control = CC1000ControlC;
}









More information about the Tinyos-contrib-commits mailing list