[Tinyos-2-commits] CVS: tinyos-2.x/doc/txt tep111.txt, 1.1.2.9,
1.1.2.10
Phil Levis
scipio at users.sourceforge.net
Fri Jun 9 10:57:47 PDT 2006
Update of /cvsroot/tinyos/tinyos-2.x/doc/txt
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv5292/txt
Modified Files:
Tag: tinyos-2_0_devel-BRANCH
tep111.txt
Log Message:
Fixed citations.
Index: tep111.txt
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/doc/txt/Attic/tep111.txt,v
retrieving revision 1.1.2.9
retrieving revision 1.1.2.10
diff -C2 -d -r1.1.2.9 -r1.1.2.10
*** tep111.txt 1 Jun 2006 19:31:39 -0000 1.1.2.9
--- tep111.txt 9 Jun 2006 17:57:45 -0000 1.1.2.10
***************
*** 32,39 ****
====================================================================
! In TinyOS 1.x, a message buffer is a TOS_Msg. A buffer contains an
active message (AM) packet as well as packet metadata, such as timestamps,
acknowledgement bits, and signal strength if the packet was received.
! TOS_Msg is a fixed size structure whose size is defined by the maximum
AM payload length (the default is 29 bytes). Fixed sized buffers allows
TinyOS 1.x to have zero-copy semantics: when a component receives a
--- 32,39 ----
====================================================================
! In TinyOS 1.x, a message buffer is a ``TOS_Msg``. A buffer contains an
active message (AM) packet as well as packet metadata, such as timestamps,
acknowledgement bits, and signal strength if the packet was received.
! ``TOS_Msg`` is a fixed size structure whose size is defined by the maximum
AM payload length (the default is 29 bytes). Fixed sized buffers allows
TinyOS 1.x to have zero-copy semantics: when a component receives a
***************
*** 42,55 ****
packet.
! One issue that arises is what defines the TOS_Msg structure, as different
link layers may require different layouts. For example, 802.15.4 radio
hardware (such as the CC2420, used in the Telos and micaZ platforms)
may require 802.15.4 headers, while a software stack built on top of
byte radios (such as the CC1000, used in the mica2 platform) can specify
! its own packet format. This means that TOS_Msg may be different on
different platforms.
The solution to this problem in TinyOS 1.x is for there to be a standard
! definition of TOS_Msg, which a platform (e.g., the micaZ) can
redefine to match its radio. For example, a mica2 mote uses the standard
definition, which is::
--- 42,55 ----
packet.
! One issue that arises is what defines the ``TOS_Msg`` structure, as different
link layers may require different layouts. For example, 802.15.4 radio
hardware (such as the CC2420, used in the Telos and micaZ platforms)
may require 802.15.4 headers, while a software stack built on top of
byte radios (such as the CC1000, used in the mica2 platform) can specify
! its own packet format. This means that ``TOS_Msg`` may be different on
different platforms.
The solution to this problem in TinyOS 1.x is for there to be a standard
! definition of ``TOS_Msg``, which a platform (e.g., the micaZ) can
redefine to match its radio. For example, a mica2 mote uses the standard
definition, which is::
***************
*** 76,80 ****
} TOS_Msg;
! while on a mote with a CC420 radio (e.g., micaZ), TOS_Msg is defined as::
typedef struct TOS_Msg {
--- 76,80 ----
} TOS_Msg;
! while on a mote with a CC420 radio (e.g., micaZ), ``TOS_Msg`` is defined as::
typedef struct TOS_Msg {
***************
*** 108,112 ****
and the structure layout. For example, many network services built on
top of data link layers care whether sent packets are acknowledged. They
! therefore check the ``ack`` field of TOS_Msg. If a link layer does not
provide acknowledgements, it must still include the ``ack`` field
and always set it to 0, wasting a byte of RAM per buffer.
--- 108,112 ----
and the structure layout. For example, many network services built on
top of data link layers care whether sent packets are acknowledged. They
! therefore check the ``ack`` field of ``TOS_Msg``. If a link layer does not
provide acknowledgements, it must still include the ``ack`` field
and always set it to 0, wasting a byte of RAM per buffer.
***************
*** 116,120 ****
defined in the structure and directly access them. If a platform
has two different link layers (e.g., a CC1000 *and* a CC2420 radio),
! then a TOS_Msg needs to allocate the right amount of space for both
of their headers while allowing implementations to directly access
header fields. This is very difficult to do in C.
--- 116,120 ----
defined in the structure and directly access them. If a platform
has two different link layers (e.g., a CC1000 *and* a CC2420 radio),
! then a ``TOS_Msg`` needs to allocate the right amount of space for both
of their headers while allowing implementations to directly access
header fields. This is very difficult to do in C.
***************
*** 125,129 ****
preceding it might have different lengths, and packet-level radios
often require packets to be contiguous memory regions. Overall, these
! complexities make specifying the format of TOS_Msg very difficult.
2. message_t
--- 125,129 ----
preceding it might have different lengths, and packet-level radios
often require packets to be contiguous memory regions. Overall, these
! complexities make specifying the format of ``TOS_Msg`` very difficult.
2. message_t
***************
*** 187,191 ****
named ``platform_message.h``. The mica2 platform, for example, has
two data link layers: the CC1000 radio and the TinyOS serial
! stack (TEP 113). The serial packet format does not have a footer
or metadata section. The ``platform_message.h`` of the mica2
looks like this::
--- 187,191 ----
named ``platform_message.h``. The mica2 platform, for example, has
two data link layers: the CC1000 radio and the TinyOS serial
! stack [1]_. The serial packet format does not have a footer
or metadata section. The ``platform_message.h`` of the mica2
looks like this::
***************
*** 248,252 ****
The most basic of these interfaces is Packet, which provides
access to a packet payload. TEP 116 describes common TinyOS
! packet ADT interfaces.
Link layer components MAY access packet fields differently than other
--- 248,252 ----
The most basic of these interfaces is Packet, which provides
access to a packet payload. TEP 116 describes common TinyOS
! packet ADT interfaces [2]_.
Link layer components MAY access packet fields differently than other
***************
*** 277,281 ****
a 12-byte serial packet on the Telos platform::
! 11 bytes TOSH_DATA_LENGTH 7 bytes
+-----------+-----------------------------+-------+
message_t | header | data | meta |
--- 277,281 ----
a 12-byte serial packet on the Telos platform::
! 11 bytes TOSH_DATA_LENGTH 7 bytes
+-----------+-----------------------------+-------+
message_t | header | data | meta |
***************
*** 394,398 ****
====================================================================
! .. [tep113] TEP 113: Serial Communication.
! .. [tep116] TEP 116: Packet Protocols.
--- 394,400 ----
====================================================================
! .. [1] TEP 113: Serial Communication.
!
! .. [2] TEP 116: Packet Protocols.
!
More information about the Tinyos-2-commits
mailing list