general radio interface now implements old packet radio

This commit is contained in:
fros4943 2008-03-18 13:01:13 +00:00
parent 36b6fa15eb
commit 066a055563

View file

@ -24,7 +24,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* *
* $Id: Radio.java,v 1.8 2008/03/17 09:50:27 fros4943 Exp $ * $Id: Radio.java,v 1.9 2008/03/18 13:01:13 fros4943 Exp $
*/ */
package se.sics.cooja.interfaces; package se.sics.cooja.interfaces;
@ -34,26 +34,42 @@ import se.sics.cooja.*;
/** /**
* A Radio represents a mote radio transceiver. * A Radio represents a mote radio transceiver.
* *
* A radio can support different abstraction levels such as transmitting and * @see RadioPacket
* receiving on a byte or packet-basis. In order to support communication * @see CustomDataRadio
* between different levels the general rule in COOJA is that all radios at a
* lower abstraction level must also implement all higher levels.
*
* @see PacketRadio
* @see ByteRadio
* *
* @author Fredrik Osterlind * @author Fredrik Osterlind
*/ */
@ClassDescription("Packet Radio") @ClassDescription("Radio")
public abstract class Radio extends MoteInterface { public abstract class Radio extends MoteInterface {
/** /**
* Events that radios should notify observers about. * Events that radios should notify observers about.
*/ */
public enum RadioEvent { public enum RadioEvent {
UNKNOWN, HW_OFF, HW_ON, RECEPTION_STARTED, RECEPTION_FINISHED, RECEPTION_INTERFERED, TRANSMISSION_STARTED, TRANSMISSION_FINISHED, PACKET_TRANSMITTED, BYTE_TRANSMITTED UNKNOWN, HW_OFF, HW_ON,
RECEPTION_STARTED, RECEPTION_FINISHED, RECEPTION_INTERFERED,
TRANSMISSION_STARTED, TRANSMISSION_FINISHED,
PACKET_TRANSMITTED, CUSTOM_DATA_TRANSMITTED
} }
/**
* Register the radio packet that is being received during a connection. This
* packet should be supplied to the radio medium as soon as possible.
*
* @param packet Packet data
*/
public abstract void setReceivedPacket(RadioPacket packet);
/**
* @return Last packet transmitted by radio
*/
public abstract RadioPacket getLastPacketTransmitted();
/**
* @return Last packet received by radio
*/
public abstract RadioPacket getLastPacketReceived();
/** /**
* Signal that a new reception just begun. This method should normally be * Signal that a new reception just begun. This method should normally be
* called from the radio medium. * called from the radio medium.