CC1000
RADIO
Found in TinyOS 1.x
CVS under /contrib/rincon/tos/lib/CC1000Radio
I backported the
TinyOS 2.x CC1000 radio stack to TinyOS 1.x and made a few
modifications. You should be able to
drop this radio stack in place of your old one, just compile your app so
it accesses the new radio stack library rather than the default CC1000 files
found in /tos/platform/mica2. If you're thinking about moving over to
TinyOS 2.x, this may be a good place to start porting over your existing 1.x
application because it provides a few of the same interfaces as
2.x
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 to use only the internal oscillator.
uisp with --wr_fuse_l=c4 (?) (needs verification)
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 to use only the internal oscillator.
uisp with --wr_fuse_l=c4 (?) (needs verification)
MESH
COLLECT
Found in TinyOS 1.x
CVS under /contrib/rincon/apps/MeshCollect
This
new multihop component is based on MultiHopLQI. It's definitely not
meant as a replacement for Drain, but it follows more of the same
behavior as MultiHopLQI in that it keeps regenerating the tree locally instead
of statically like Drain. It has a bunch of new features over the old
MultiHopLQI implementation that you should find useful for setting up,
maintaining, and analyzing the network. From the
readme:
> Built on top of Transceiver, which provides a publically shared
message pool that's application-wide and managed automatically.
> QuickJoin functionality allows the mote to quickly
connect to its surrounding network. QuickJoin is run when
the mote is first turned on, and when it loses communication.
> Mesh Analysis provides the ability to
find out how the network is doing.
At the moment, custom implementation is involved to do anything
useful with the locally heard or multihop collected analysis packets.
At the moment, custom implementation is involved to do anything
useful with the locally heard or multihop collected analysis packets.
> MultiHop and SingleHop Transceivers allow an application
to either transmit data out to the base station through the network,
or communicate directly with a nearby mote.
> Collect message signatures allows an application to know for sure
if a sent/received message is really a multihop message.
> Increased simplicity by removing
Snoop and Intercept - which does
decrease functionality to some degree, but makes the overall component
more of a no-brainer. The SinglehopTransceiver makes up for this
decrease functionality to some degree, but makes the overall component
more of a no-brainer. The SinglehopTransceiver makes up for this
> Multiple base stations are allowed, and
it's easy to force a mote
to be a base station at compile time by setting the FORCE_BASE_STATION
preprocessor variable to 1
to be a base station at compile time by setting the FORCE_BASE_STATION
preprocessor variable to 1
> Ability to dynamically turn a mote into
a base station mote and back,
if you ever need that functionality.
if you ever need that functionality.
Hope someone is able
to find these components useful,
-David
_______________________________________________ Tinyos-help mailing list [email protected] https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
