⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 radio.java

📁 传感器网络操作系统contiki。 被广泛应用于环境检测、结构健康监测等等。包括路由协议
💻 JAVA
字号:
/* * Copyright (c) 2006, Swedish Institute of Computer Science. All rights * reserved. *  * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. 2. Redistributions in * binary form must reproduce the above copyright notice, this list of * conditions and the following disclaimer in the documentation and/or other * materials provided with the distribution. 3. Neither the name of the * Institute nor the names of its contributors may be used to endorse or promote * products derived from this software without specific prior written * permission. *  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE FOR ANY * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *  * $Id: Radio.java,v 1.7 2007/05/30 10:52:57 fros4943 Exp $ */package se.sics.cooja.interfaces;import se.sics.cooja.*;/** * A Radio represents a mote radio transceiver. *  * A radio can support different abstraction levels such as transmitting and * receiving on a byte or packet-basis. In order to support communication * 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 */@ClassDescription("Packet Radio")public abstract class Radio extends MoteInterface {  /**   * Events that radios should notify observers about.   */  public enum RadioEvent {    UNKNOWN, HW_OFF, HW_ON, RECEPTION_STARTED, RECEPTION_FINISHED, RECEPTION_INTERFERED, TRANSMISSION_STARTED, TRANSMISSION_FINISHED, PACKET_TRANSMITTED, BYTE_TRANSMITTED  }  /**   * Signal that a new reception just begun. This method should normally be   * called from the radio medium.   *    * @see #signalReceptionEnd()   */  public abstract void signalReceptionStart();  /**   * Signal that the current reception was ended. This method should normally be   * called from the radio medium.   *    * @see #signalReceptionStart()   */  public abstract void signalReceptionEnd();  /**   * Returns last event at this radio. This method should be used to learn the   * reason when a radio notifies a change to observers.   *    * @return Last radio event   */  public abstract RadioEvent getLastEvent();  /**   * Returns true if this radio is transmitting, or just finished transmitting,   * data.   *    * @see #isReceiving()   * @return True if radio is transmitting data   */  public abstract boolean isTransmitting();  /**   * Returns true if this radio is receiving data.   *    * @see #isTransmitting()   * @return True if radio is receiving data   */  public abstract boolean isReceiving();  /**   * Returns true if this radio had a connection that was dropped due to   * interference.   *    * @return True if this radio is interfered   */  public abstract boolean isInterfered();  /**   * Interferes with any current reception. If this method is called, the packet   * will be dropped. This method can be used to simulate radio interference   * such as high background noise.   */  public abstract void interfereAnyReception();  /**   * @return Current output power (dBm)   */  public abstract double getCurrentOutputPower();  /**   * @return Current output power indicator (1-100)   */  public abstract int getCurrentOutputPowerIndicator();  /**   * @return Current surrounding signal strength   */  public abstract double getCurrentSignalStrength();  /**   * Sets surrounding signal strength. This method should normally be called by   * the radio medium.   *    * @param signalStrength   *          Current surrounding signal strength   */  public abstract void setCurrentSignalStrength(double signalStrength);  /**   * Returns the current radio channel number.   *    * @return Current channel number   */  public abstract int getChannel();  /**   * Returns the radio position.   * This is typically the position of the mote.   *    * @return Radio position   */  public abstract Position getPosition();  /**   * This is a convenience function.   * It returns the mote, if any, that holds this radio.   *    * @return Mote   */  public abstract Mote getMote();  }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -