From: mmaroti Date: Wed, 25 Feb 2009 20:43:57 +0000 (+0000) Subject: implement getChannel and rename interface to RadioChannel X-Git-Tag: rc_6_tinyos_2_1_1~484 X-Git-Url: https://oss.titaniummirror.com/gitweb/?p=tinyos-2.x.git;a=commitdiff_plain;h=60f8c4ec4b792c6a99d5ef66ee413e8712a10a1e implement getChannel and rename interface to RadioChannel --- diff --git a/tos/chips/rf230/MessageBufferLayerC.nc b/tos/chips/rf230/MessageBufferLayerC.nc index b746abbe..90402c35 100644 --- a/tos/chips/rf230/MessageBufferLayerC.nc +++ b/tos/chips/rf230/MessageBufferLayerC.nc @@ -28,7 +28,7 @@ configuration MessageBufferLayerC interface SplitControl; interface Send; interface Receive; - interface RadioConfig; + interface RadioChannel; } uses { @@ -49,7 +49,7 @@ implementation SplitControl = MessageBufferLayerP; Send = MessageBufferLayerP; Receive = MessageBufferLayerP; - RadioConfig = MessageBufferLayerP; + RadioChannel = MessageBufferLayerP; RadioState = MessageBufferLayerP; MessageBufferLayerP.Tasklet -> TaskletC; diff --git a/tos/chips/rf230/MessageBufferLayerP.nc b/tos/chips/rf230/MessageBufferLayerP.nc index bc31ef72..374edaad 100644 --- a/tos/chips/rf230/MessageBufferLayerP.nc +++ b/tos/chips/rf230/MessageBufferLayerP.nc @@ -33,7 +33,7 @@ module MessageBufferLayerP interface Send; interface Receive; - interface RadioConfig; + interface RadioChannel; } uses { @@ -100,7 +100,7 @@ implementation return error; } - command error_t RadioConfig.setChannel(uint8_t channel) + command error_t RadioChannel.setChannel(uint8_t channel) { error_t error; @@ -119,6 +119,11 @@ implementation return error; } + command uint8_t RadioChannel.getChannel() + { + return call RadioState.getChannel(); + } + task void stateDoneTask() { uint8_t s; @@ -133,7 +138,7 @@ implementation else if( s == STATE_TURN_OFF ) signal SplitControl.stopDone(SUCCESS); else if( s == STATE_CHANNEL ) - signal RadioConfig.setChannelDone(); + signal RadioChannel.setChannelDone(); else // not our event, ignore it state = s; } @@ -151,7 +156,7 @@ implementation { } - default event void RadioConfig.setChannelDone() + default event void RadioChannel.setChannelDone() { } diff --git a/tos/chips/rf230/RF230ActiveMessageC.nc b/tos/chips/rf230/RF230ActiveMessageC.nc index 6a026044..892da9d9 100644 --- a/tos/chips/rf230/RF230ActiveMessageC.nc +++ b/tos/chips/rf230/RF230ActiveMessageC.nc @@ -37,7 +37,7 @@ configuration RF230ActiveMessageC interface AMPacket; interface PacketAcknowledgements; interface LowPowerListening; - interface RadioConfig; + interface RadioChannel; interface PacketField as PacketLinkQuality; interface PacketField as PacketTransmitPower; @@ -69,7 +69,7 @@ implementation PacketTimeStampRadio = RF230PacketC; PacketTimeStampMilli = RF230PacketC; LowPowerListening = LowPowerListeningLayerC; - RadioConfig = MessageBufferLayerC; + RadioChannel = MessageBufferLayerC; components ActiveMessageLayerC; #ifdef TFRAMES_ENABLED diff --git a/tos/chips/rf230/RF230LayerP.nc b/tos/chips/rf230/RF230LayerP.nc index dac78439..9c0a3624 100644 --- a/tos/chips/rf230/RF230LayerP.nc +++ b/tos/chips/rf230/RF230LayerP.nc @@ -268,6 +268,11 @@ implementation /*----------------- CHANNEL -----------------*/ + tasklet_async command uint8_t RadioState.getChannel() + { + return channel; + } + tasklet_async command error_t RadioState.setChannel(uint8_t c) { c &= RF230_CHANNEL_MASK; diff --git a/tos/chips/rf230/RadioChannel.nc b/tos/chips/rf230/RadioChannel.nc new file mode 100644 index 00000000..5fa6c247 --- /dev/null +++ b/tos/chips/rf230/RadioChannel.nc @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2009, Vanderbilt University + * All rights reserved. + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without written agreement is + * hereby granted, provided that the above copyright notice, the following + * two paragraphs and the author appear in all copies of this software. + * + * IN NO EVENT SHALL THE VANDERBILT UNIVERSITY BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT + * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE VANDERBILT + * UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * THE VANDERBILT UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS + * ON AN "AS IS" BASIS, AND THE VANDERBILT UNIVERSITY HAS NO OBLIGATION TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + * Author: Miklos Maroti + */ + +interface RadioChannel +{ + /** + * Sets the current channel. Returns EBUSY if the stack is unable + * to change the channel this time (some other operation is in progress), + * EALREADY if the selected channel is already set, SUCCESS otherwise. + */ + command error_t setChannel(uint8_t channel); + + /** + * This event is signaled exactly once for each sucessfully posted state + * setChannel command when it is completed. + */ + event void setChannelDone(); + + /** + * Returns the currently selected channel. + */ + command uint8_t getChannel(); +} diff --git a/tos/chips/rf230/RadioConfig.nc b/tos/chips/rf230/RadioConfig.nc deleted file mode 100644 index 82864a61..00000000 --- a/tos/chips/rf230/RadioConfig.nc +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (c) 2009, Vanderbilt University - * All rights reserved. - * - * Permission to use, copy, modify, and distribute this software and its - * documentation for any purpose, without fee, and without written agreement is - * hereby granted, provided that the above copyright notice, the following - * two paragraphs and the author appear in all copies of this software. - * - * IN NO EVENT SHALL THE VANDERBILT UNIVERSITY BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT - * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE VANDERBILT - * UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * THE VANDERBILT UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY - * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE VANDERBILT UNIVERSITY HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Author: Miklos Maroti - */ - -interface RadioConfig -{ - /** - * Sets the current channel. Returns EBUSY if the stack is unable - * to change the channel this time (some other operation is in progress), - * EALREADY if the selected channel is already set, SUCCESS otherwise. - */ - command error_t setChannel(uint8_t channel); - - /** - * This event is signaled exactly once for each sucessfully posted state - * setChannel command when it is completed. - */ - event void setChannelDone(); -} diff --git a/tos/chips/rf230/RadioState.nc b/tos/chips/rf230/RadioState.nc index 72543835..cae77813 100644 --- a/tos/chips/rf230/RadioState.nc +++ b/tos/chips/rf230/RadioState.nc @@ -56,4 +56,9 @@ interface RadioState * transition and setChannel command when it is completed. */ tasklet_async event void done(); + + /** + * Returns the currently selected channel. + */ + tasklet_async command uint8_t getChannel(); } diff --git a/tos/chips/rf230/TrafficMonitorLayerP.nc b/tos/chips/rf230/TrafficMonitorLayerP.nc index 75328ac5..144fc0f5 100644 --- a/tos/chips/rf230/TrafficMonitorLayerP.nc +++ b/tos/chips/rf230/TrafficMonitorLayerP.nc @@ -226,6 +226,11 @@ implementation return call SubState.setChannel(channel); } + tasklet_async command uint8_t RadioState.getChannel() + { + return call SubState.getChannel(); + } + task void startStopTimer() { if( radioCmd == RADIO_CMD_TURNON )