[Tinyos-help] RE: [imote] TOSBase for imote?
LEE, Yui-wah (Clement)
leecy at dnrc.bell-labs.com
Thu Mar 10 13:08:36 PST 2005
Thanks for your suggestions! Especially your reminder of copying data
to the middle layer.
On Tue, 8 Mar 2005, Nachman, Lama wrote:
> Hi Clement,
> You can certainly abstract out the differences with the middle layer you
> are proposing. This layer would need to take care of the address
> translation ( AM to imote address) and memory allocation/de-allocation.
> Also, as you mentioned in your email, you'll need to implement the
> broadcast based on the multiple unicast down the tree. There is a
> broadcast option in BT, but I haven't tried it. I have implemented
> something similar for the address translation and memory allocation
> abstraction to support a generic reliability layer that ran on top of
> Imote and Mica2.
> Note though that if you need to completely abstract out the differences
> (i.e. no changes to the app) you will need to copy the data in the
> middle layer. Also, if the app depends on any of the other fields in
> the Tos message (ack, security, time, etc), then you'll have to populate
> these fields, which is more problematic.
> -----Original Message-----
> From: LEE, Yui-wah (Clement) [mailto:leecy at dnrc.bell-labs.com]
> Sent: Tuesday, March 08, 2005 7:49 AM
> To: Kling, Ralph M
> Cc: Tinyos-help at millennium.berkeley.edu; Hummel, Vincent; Nachman, Lama
> Subject: RE: [imote] TOSBase for imote?
> Dear Ralph,
> I am thinking of writing an imote-specific RadioCRCPacket that is only
> a wrapper providing the interfaces of BareSendMsg and ReceiveMsg. The
> wrapper uses of the component NetworkC (and its interfaces
> NetworkCommand and NetworkPacket) to actually transmit the bits over
> As for the difference between connection-oriented and broadcast lower
> level, in my thinking an imote node (running RadioCRCPacket) can
> simply transmit the bits to all nodes that it has established a link,
> and thus emulate a broadcast medium.
> Have you tried something similar before? If you can point me to some
> code examples that would be great. If you see some hidden obstacles
> please also let me know. Thanks in advance!
> Why did you say that the common TinyOS demos would have to be
> rewritten? Would the difference between the two network media to
> difficult to mask?
> An interesting note that I would point out is that, in the Mica2 case,
> BareSendMsg is often used by an upper layer interfaces call SendMsg.
> SendMsg.send() is very similar to imote's NetworkPacket.Send(), they
> both accept arguments for an address (AM address in the former; BT
> address in the latter), message length, and then a pointer to the
> actual data.
> On Mon, 7 Mar 2005, Kling, Ralph M wrote:
> > Hi Clement,
> > The main reason why we implemented a custom network stack is that the
> > Intel Mote radio is based on a connection oriented lower level
> > (Bluetooth) vs. a broadcast oriented one (Mica2 motes). This
> > necessitates a different approach on how a network is formed,
> > maintained, etc.
> > One can, however, interface to the network at a higher level at which
> > the differences between the different network layers are abstracted
> > (we have, as a matter of fact, done this for some applications). This
> > would require a rewrite of the common TinyOS demos though, to make
> > network independent.
> > - Ralph
> > -----Original Message-----
> > From: LEE, Yui-wah (Clement) [mailto:leecy at dnrc.bell-labs.com]
> > Sent: Monday, March 07, 2005 1:48 PM
> > To: Tinyos-help at millennium.berkeley.edu
> > Subject: Re: [imote] TOSBase for imote?
> > My dear friends from the TinyOS community,
> > I have thought a little bit more about the issue, and would like to
> > see if someone can shed some more light on it.
> > Many TinyOS applications, including TOSBase and OscilloscopeRF, and
> > components, such as GenericComm, use directly or indirectly the
> > component called RadioCRCPacket, which is platform dependent. So if
> > we can have port RadioCRCPacket to imote, then we can get all these
> > applications and components to work. However, if I look at the
> > example codes that Intel gave, they use instead another component
> > called NetworkC (beta/platform/imote/NetworkC.nc). (RadioCRCPacket
> > provides the interfaces BareSendMsg and ReceiveMsg; NetworkC provides
> > the interfaces NetworkCommand and NetworkPacket -- the latter two
> > interfaces are imote specific.) Does anyone know if there are any
> > reasons for that? I am thinking of implementing an imote
> > RadioCRCPacket by using NetworkC as a reference. But I am interested
> > to know why Intel was not doing that in the first place.
> > Thanks in advance!
> > Clement
> > On Mon, 7 Mar 2005, LEE, Yui-wah (Clement) wrote:
> > > Hi,
> > >
> > > I need something similar to TOSBase for imote. Does it already
> > > or we will need to program one? If it is the latter case, what is
> > > easier path to get it done?
> > >
> > > So far, what I have learnt are:
> > >
> > > 1. If I use directly the TOSBase in apps/ (this works for mica2 and
> > > other platforms), then it will use the component
> > > There seems to be an imote-specific RadioCRCPacket (defined in
> > > beta/platform/imote/RadioCRCPacket.nc). Unfortunately it uses a
> > > component called BTRadioM, but I could not find it in my
> > > (based on TinyOS 1.1.8). I also goggled for "BTRadioM" or
> > > "BTRadioM.nc", but could not find any mentioning of them. Does
> > > imote-specific RadioCRCPacket.nc work?
> > >
> > > 2. There is an example in contrib/imote/apps/Accelerometer/ that
> > > to use BT as radio. The radio component it uses, however, is
> > > "NetworkC" but not "RadioCRCPacket". Does anyone know if this
> > > example app work or not? Can I use it as an example to write an
> > > imote-specific TOSBase? (or an imote-specific RadioCRCPacket) Or
> > > should I use some other example app as the starting point or
> > > reference?
> > >
> > > Any other comments in this general direction are welcome. Thanks in
> > > advance!
> > >
> > > Clement
> > >
> > >
> > > _______________________________________________
> > > Tinyos-help mailing list
> > > Tinyos-help at Millennium.Berkeley.EDU
> > > http://mail.Millennium.Berkeley.EDU/mailman/listinfo/tinyos-help
> > >
More information about the Tinyos-help