On Tue, 2006-02-28 at 16:34 +1000, Simon Willis wrote:
> Hi everyone,
> 
> I'm about to commence my first programming in TinyOS. I am using TinyOS 
> for a wireless sensor network that we have designed that is based on the 
> Mica2. Basically, it has new radio hardware and will require the radio 
> interface to be rewritten. We would like to test the new network with a 
> routing protocol etc and I was thinking of using TinyOS 2 since it has 
> the hardware abstraction architecture. The problem is that it doesn't 
> seem to have much implemented yet (as far as routing protocols etc go).

The net2 WG is currently working on basic collection and dissemination
protocols. On one hand, TinyOS 1.x does have existing implementations;
on the other, some of them (e.g., MultihopLQI) are hardware-specific.
MintRoute is hardware-independent. My guess is that porting MintRoute to
TinyOS 2.x would take one or two days at most. The steps would be pretty
simple:

1) Change references from TOS_Msg to message_t, TOS_MsgPtr to message_t*
2) Change SendMsg to Send, returning FAIL on cancel
3) Change timer interface to 2.x timer interface
4) Change all packet structs to nx_structs
5) Change packet field references to use interfaces

The reason net2 isn't going this route is because we're trying to come
up with a more general collection layer that can use different link
estimators, rather than binding it to a particular one. MintRoute binds
it to a hardware-independent one (sequence numbers) so it can
theoretically run on any platform, but this prevents it from using
better information.

> Am I better off sticking with TinyOS 1 for the time being or starting my 
> project in TinyOS 2?

It depends on what your timeframe is. Given the smaller amount of
existing support code, 2.x will have a bit more activation energy (e.g.,
the changes to MintRoute above). However, its cleaner decomposition and
hardware architecture mean that in the long term (e.g., more than a
month) it will be easier.

Phil

_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to