X-Git-Url: https://oss.titaniummirror.com/gitweb/?p=tinyos-2.x.git;a=blobdiff_plain;f=apps%2Ftosthreads%2Fapps%2FBaseStation%2FBaseStationAppC.nc;h=09ca717efcb67ab987e89e2091ecb0852d0ac2f0;hp=46f26a53f8df13d2eeca75264cb2dd1acae1ac77;hb=e9bfab607e051bae6afb47b44892ce37541d1b44;hpb=adf1de6c009d13b7b52e68535c63b28f59c97400 diff --git a/apps/tosthreads/apps/BaseStation/BaseStationAppC.nc b/apps/tosthreads/apps/BaseStation/BaseStationAppC.nc index 46f26a53..09ca717e 100644 --- a/apps/tosthreads/apps/BaseStation/BaseStationAppC.nc +++ b/apps/tosthreads/apps/BaseStation/BaseStationAppC.nc @@ -30,6 +30,33 @@ */ /** + * BaseStation is a reimplementation of the standard BaseStation application using + * the TOSThreads thread library. It transparently forwards any AM messages it + * receives from its radio interface to its serial interface and vice versa. + * + *

On the serial link, BaseStation sends and receives simple active + * messages (not particular radio packets): on the radio link, it + * sends radio active messages, whose format depends on the network + * stack being used. BaseStation will copy its compiled-in group ID to + * messages moving from the serial link to the radio, and will filter + * out incoming radio messages that do not contain that group ID.

+ * + *

BaseStation includes queues in both directions, with a guarantee + * that once a message enters a queue, it will eventually leave on the + * other interface. The queues allow the BaseStation to handle load + * spikes.

+ * + *

BaseStation acknowledges a message arriving over the serial link + * only if that message was successfully enqueued for delivery to the + * radio link.

+ * + *

The LEDS are programmed to toggle as follows:

+ * + * * @author Kevin Klues * @author Chieh-Jan Mike Liang */ @@ -105,12 +132,4 @@ implementation SerialReceiveRadioSendP.SendAMPacket -> BlockingRadioActiveMessageC; SerialReceiveRadioSendP.BlockingReceiveAny -> BlockingSerialActiveMessageC.BlockingReceiveAny; SerialReceiveRadioSendP.BlockingAMSend -> BlockingRadioActiveMessageC; - - components ActiveMessageC, SerialActiveMessageC; - BlockingRadioActiveMessageC.Receive -> ActiveMessageC.Receive; - BlockingRadioActiveMessageC.Snoop -> ActiveMessageC.Snoop; - BlockingRadioActiveMessageC.AMSend -> ActiveMessageC.AMSend; - - BlockingSerialActiveMessageC.Receive -> SerialActiveMessageC.Receive; - BlockingSerialActiveMessageC.AMSend -> SerialActiveMessageC.AMSend; }