[Tinyos-beta-commits]
CVS: tinyos-1.x/beta/teps/txt tep106.txt, 1.12,
1.13 tep110.txt, 1.3, 1.4 tep111.txt, 1.1, 1.2 tep112.txt, 1.4, 1.5
Phil Levis
scipio at users.sourceforge.net
Wed Oct 26 10:25:53 PDT 2005
- Previous message: [Tinyos-beta-commits] CVS: tinyos-1.x/beta/teps/html tep110.html,
1.1, 1.2 tep111.html, 1.1, 1.2 tep106.html, 1.7, 1.8
- Next message: [Tinyos-beta-commits] CVS: tinyos-1.x/beta/Drip Drip.h, 1.6,
1.7 Drip.nc, 1.3, 1.4 DripM.nc, 1.9, 1.10 DripState.nc, 1.3,
1.4 DripStateM.nc, 1.7, 1.8
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/tinyos/tinyos-1.x/beta/teps/txt
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13040/txt
Modified Files:
tep106.txt tep110.txt tep111.txt tep112.txt
Log Message:
Fixed formatting errors in some of my TEPs.
Index: tep106.txt
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/beta/teps/txt/tep106.txt,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** tep106.txt 12 Jul 2005 18:20:28 -0000 1.12
--- tep106.txt 26 Oct 2005 17:25:51 -0000 1.13
***************
*** 367,378 ****
.. [1] Erik Cota-Robles and James P. Held. "A Comparison of Windows
! Driver Model Latency Performance on Windows NT and Windows 98." In
! *Proceedings of the Third Symposium on Operating System Design
! and Implementation (OSDI).*
.. [2] David Gay, Philip Levis, Rob von Behren, Matt Welsh, Eric Brewer
! and David Culler. "The *nesC* Language: A Holistic Approach to Networked
! Embedded Systems." In *Proceedings of the ACM SIGPLAN 2003 Conference on
! Programming Language Design and Implementation (PLDI).*
--- 367,378 ----
.. [1] Erik Cota-Robles and James P. Held. "A Comparison of Windows
! Driver Model Latency Performance on Windows NT and Windows 98." In
! *Proceedings of the Third Symposium on Operating System Design
! and Implementation (OSDI).*
.. [2] David Gay, Philip Levis, Rob von Behren, Matt Welsh, Eric Brewer
! and David Culler. "The *nesC* Language: A Holistic Approach to Networked
! Embedded Systems." In *Proceedings of the ACM SIGPLAN 2003 Conference on
! Programming Language Design and Implementation (PLDI).*
Index: tep110.txt
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/beta/teps/txt/tep110.txt,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** tep110.txt 3 Sep 2005 01:59:31 -0000 1.3
--- tep110.txt 26 Oct 2005 17:25:51 -0000 1.4
***************
*** 248,252 ****
**NOTE: These services are not supported as of the 2.x prerelease.
! They will be supported by the first full release.*
OSKI's third communication service is tree-based collection routing.
--- 248,252 ----
**NOTE: These services are not supported as of the 2.x prerelease.
! They will be supported by the first full release.**
OSKI's third communication service is tree-based collection routing.
***************
*** 455,459 ****
|
| Service = AMServiceImplP.Service[unique("AMServiceImplP.Service")];
! |}
Note that the two strings are the same, so that the uniqueCount() in
--- 455,459 ----
|
| Service = AMServiceImplP.Service[unique("AMServiceImplP.Service")];
! | }
Note that the two strings are the same, so that the uniqueCount() in
Index: tep111.txt
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/beta/teps/txt/tep111.txt,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** tep111.txt 13 Aug 2005 22:12:05 -0000 1.1
--- tep111.txt 26 Oct 2005 17:25:51 -0000 1.2
***************
*** 55,105 ****
definition, which is
! | ``typedef struct TOS_Msg {``
! | `` /* The following fields are transmitted/received on the radio. */``
! | `` uint16_t addr;``
! | `` uint8_t type;``
! | `` uint8_t group;``
! | `` uint8_t length;``
! | `` int8_t data[TOSH_DATA_LENGTH];``
! | `` uint16_t crc;``
|
! | `` /* The following fields are not actually transmitted or received ``
! | `` * on the radio! They are used for internal accounting only.``
! | `` * The reason they are in this structure is that the AM interface``
! | `` * requires them to be part of the TOS_Msg that is passed to``
! | `` * send/receive operations.``
! | `` */``
! | `` uint16_t strength;``
! | `` uint8_t ack;``
! | `` uint16_t time;``
! | `` uint8_t sendSecurityMode;``
! | `` uint8_t receiveSecurityMode;``
! | ``} TOS_Msg;``
while on a mote with a CC420 radio (e.g., micaZ), TOS_Msg is defined as:
! | ``typedef struct TOS_Msg {``
! | `` /* The following fields are transmitted/received on the radio. */``
! | `` uint8_t length;``
! | `` uint8_t fcfhi;``
! | `` uint8_t fcflo;``
! | `` uint8_t dsn;``
! | `` uint16_t destpan;``
! | `` uint16_t addr;``
! | `` uint8_t type;``
! | `` uint8_t group;``
! | `` int8_t data[TOSH_DATA_LENGTH];``
! | ````
! | `` /* The following fields are not actually transmitted or received ``
! | `` * on the radio! They are used for internal accounting only.``
! | `` * The reason they are in this structure is that the AM interface``
! | `` * requires them to be part of the TOS_Msg that is passed to``
! | `` * send/receive operations.``
! | `` */``
! | `` uint8_t strength;``
! | `` uint8_t lqi;``
! | `` bool crc;``
! | `` uint8_t ack;``
! | `` uint16_t time;``
| ``} TOS_Msg;``
--- 55,105 ----
definition, which is
! | ``typedef struct TOS_Msg {``
! | ``// The following fields are transmitted/received on the radio.``
! | ``uint16_t addr;``
! | ``uint8_t type;``
! | ``uint8_t group;``
! | ``uint8_t length;``
! | ``int8_t data[TOSH_DATA_LENGTH];``
! | ``uint16_t crc;``
|
! | ``// The following fields are not actually transmitted or received``
! | ``// on the radio! They are used for internal accounting only.``
! | ``// The reason they are in this structure is that the AM interface``
! | ``// requires them to be part of the TOS_Msg that is passed to``
! | ``// send/receive operations.``
! |
! | ``uint16_t strength;``
! | ``uint8_t ack;``
! | ``uint16_t time;``
! | ``uint8_t sendSecurityMode;``
! | ``uint8_t receiveSecurityMode;``
! | ``} TOS_Msg;``
while on a mote with a CC420 radio (e.g., micaZ), TOS_Msg is defined as:
! | ``typedef struct TOS_Msg {``
! | ``// The following fields are transmitted/received on the radio.``
! | ``uint8_t length;``
! | ``uint8_t fcfhi;``
! | ``uint8_t fcflo;``
! | ``uint8_t dsn;``
! | ``uint16_t destpan;``
! | ``uint16_t addr;``
! | ``uint8_t type;``
! | ``uint8_t group;``
! | ``int8_t data[TOSH_DATA_LENGTH];``
! |
! | ``// The following fields are not actually transmitted or received``
! | ``// on the radio! They are used for internal accounting only.``
! | ``// The reason they are in this structure is that the AM interface``
! | ``// requires them to be part of the TOS_Msg that is passed to``
! | ``// send/receive operations.``
! |
! | ``uint8_t strength;``
! | ``uint8_t lqi;``
! | ``bool crc;``
! | ``uint8_t ack;``
! | ``uint16_t time;``
| ``} TOS_Msg;``
***************
*** 134,143 ****
message_t structure is defined in ``tos/types/TOSMsg.h``:
! | ``typedef nx_struct message_t {``
! | `` TOSRadioHeader header;``
! | `` nx_uint8_t data[TOSH_DATA_LENGTH];``
! | `` TOSRadioFooter footer;``
! | `` TOSRadioMetadata metadata;``
! | ``} message_t;``
This format keeps data at a fixed offset, which is important when
--- 134,143 ----
message_t structure is defined in ``tos/types/TOSMsg.h``:
! | ``typedef nx_struct message_t {``
! | ``TOSRadioHeader header;``
! | ``nx_uint8_t data[TOSH_DATA_LENGTH];``
! | ``TOSRadioFooter footer;``
! | ``TOSRadioMetadata metadata;``
! | ``} message_t;``
This format keeps data at a fixed offset, which is important when
***************
*** 155,176 ****
structures in ``CC1000Msg.h``:
! | ``typedef nx_struct CC1KHeader {``
! | `` nx_am_addr_t addr;``
! | `` nx_uint8_t length;``
! | `` nx_am_group_t group;``
! | `` nx_am_id_t type;``
! | ``} CC1KHeader;``
! | ````
! | ``typedef nx_struct CC1KFooter {``
! | `` nxle_uint16_t crc; ``
! | ``} CC1KFooter;``
! | ````
! | ``typedef nx_struct CC1KMetadata {``
! | `` nx_uint16_t strength;``
! | `` nx_uint8_t ack;``
! | `` nx_uint16_t time;``
! | `` nx_uint8_t sendSecurityMode;``
! | `` nx_uint8_t receiveSecurityMode; ``
! | ``} CC1KMetadata;``
Each link layer defines its structres, but a **platform** is responsible
--- 155,176 ----
structures in ``CC1000Msg.h``:
! | ``typedef nx_struct CC1KHeader {``
! | ``nx_am_addr_t addr;``
! | ``nx_uint8_t length;``
! | ``nx_am_group_t group;``
! | ``nx_am_id_t type;``
! | ``} CC1KHeader;``
! |
! | ``typedef nx_struct CC1KFooter {``
! | ``nxle_uint16_t crc;``
! | ``} CC1KFooter;``
! |
! | ``typedef nx_struct CC1KMetadata {``
! | ``nx_uint16_t strength;``
! | ``nx_uint8_t ack;``
! | ``nx_uint16_t time;``
! | ``nx_uint8_t sendSecurityMode;``
! | ``nx_uint8_t receiveSecurityMode;``
! | ``} CC1KMetadata;``
Each link layer defines its structres, but a **platform** is responsible
***************
*** 189,207 ****
that has both a CC1000 and a CC2420 radio. Its RadioTOSMsg.h looks like this:
! | ``typedef union MegaMicaHeader {``
! | `` CC1KHeader cc1k;``
! | `` CC2420Header cc2420;``
! | ``} MegaMicaHeader;``
! |
! | ``typedef union MegaMicaFooter {``
! | `` CC1KFooter cc1k;``
! | `` CC2420Footer cc2420;``
! | ``} MegaMicaFooter;``
|
! | ``typedef union MegaMicaMetadata {``
! | `` CC1KMetadata cc1k;``
! | `` CC2420Metadata cc2420;``
! | ``} MegaMicaMetadata;``
|
| ``typedef MegaMicaHeader TOSRadioHeader;``
| ``typedef MegaMicaFooter TOSRadioFooter;``
--- 189,207 ----
that has both a CC1000 and a CC2420 radio. Its RadioTOSMsg.h looks like this:
! | ``typedef union MegaMicaHeader {``
! | ``CC1KHeader cc1k;``
! | ``CC2420Header cc2420;``
! | ``} MegaMicaHeader;``
|
! | ``typedef union MegaMicaFooter {``
! | ``CC1KFooter cc1k;``
! | ``CC2420Footer cc2420;``
! | ``} MegaMicaFooter;``
|
+ | ``typedef union MegaMicaMetadata {``
+ | ``CC1KMetadata cc1k;``
+ | ``CC2420Metadata cc2420;``
+ | ``} MegaMicaMetadata;``
+ |
| ``typedef MegaMicaHeader TOSRadioHeader;``
| ``typedef MegaMicaFooter TOSRadioFooter;``
***************
*** 251,265 ****
example, consider this case:
! | ``typedef struct HeaderA {``
! | `` uint8_t a;``
! | ``}``
! | ``typedef struct HeaderB {``
! | `` uint16_t b;``
! | ``}``
! | ``typedef union MyHeader {``
! | `` HeaderA A;``
! | `` HeaderB B;``
! | ``}``
! | ``typedef MyHeader TOSRadioHeader;``
Given nesC nx_struct layout, when TOSRadioHeader is specified as a union
--- 251,265 ----
example, consider this case:
! | ``typedef struct HeaderA {``
! | ``uint8_t a;``
! | ``}``
! | ``typedef struct HeaderB {``
! | ``uint16_t b;``
! | ``}``
! | ``typedef union MyHeader {``
! | ``HeaderA A;``
! | ``HeaderB B;``
! | ``}``
! | ``typedef MyHeader TOSRadioHeader;``
Given nesC nx_struct layout, when TOSRadioHeader is specified as a union
***************
*** 277,284 ****
returns the field ``a`` of HeaderA. Its code looks like this:
! | ``command uint8_t APacket.a(message_t* msg) { ``
! | `` HeaderA* hdr = (HeaderA*)(msg->data - sizeof(HeaderA));``
! | `` return hdr->a;``
! | ``}``
We can trust the C compiler to optimize the call into a static offset
--- 277,284 ----
returns the field ``a`` of HeaderA. Its code looks like this:
! | ``command uint8_t APacket.a(message_t* msg) {``
! | ``HeaderA* hdr = (HeaderA*)(msg->data - sizeof(HeaderA));``
! | ``return hdr->a;``
! | ``}``
We can trust the C compiler to optimize the call into a static offset
***************
*** 288,302 ****
It is an example of what components MUST NOT do:
! | ``command uint8_t APacket.a(message_t* msg) { ``
! | `` HeaderA* hdr = (HeaderA*)(msg->header);``
! | `` return hdr->a;``
! | ``}``
The following example is also incorrect, as it directly accesses the
header structure. It is an example of what components MUST NOT do.
! | ``command uint8_t APacket.a(message_t* msg) { ``
! | `` return msg->header.A.a;``
! | ``}``
--- 288,302 ----
It is an example of what components MUST NOT do:
! | ``command uint8_t APacket.a(message_t* msg) {``
! | ``HeaderA* hdr = (HeaderA*)(msg->header);``
! | ``return hdr->a;``
! | ``}``
The following example is also incorrect, as it directly accesses the
header structure. It is an example of what components MUST NOT do.
! | ``command uint8_t APacket.a(message_t* msg) {``
! | ``return msg->header.A.a;``
! | ``}``
***************
*** 313,320 ****
field of the structure.
-
-
-
-
The placement of the packet footer is implementation dependent.
--- 313,316 ----
Index: tep112.txt
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/beta/teps/txt/tep112.txt,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** tep112.txt 27 Sep 2005 20:11:45 -0000 1.4
--- tep112.txt 26 Oct 2005 17:25:51 -0000 1.5
***************
*** 1,5 ****
! ============================
Microcontroller Power Management
! ============================
:TEP: 112
--- 1,5 ----
! ====================================================================
Microcontroller Power Management
! ====================================================================
:TEP: 112
- Previous message: [Tinyos-beta-commits] CVS: tinyos-1.x/beta/teps/html tep110.html,
1.1, 1.2 tep111.html, 1.1, 1.2 tep106.html, 1.7, 1.8
- Next message: [Tinyos-beta-commits] CVS: tinyos-1.x/beta/Drip Drip.h, 1.6,
1.7 Drip.nc, 1.3, 1.4 DripM.nc, 1.9, 1.10 DripState.nc, 1.3,
1.4 DripStateM.nc, 1.7, 1.8
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Tinyos-beta-commits
mailing list