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

📄 clnn_listen_marzullo_temp.java

📁 主要用于无线传感网络的编写的书籍.对于初学者有着很大的用处
💻 JAVA
字号:
// $Id: Listen.java,v 1.5 2004/08/19 00:13:49 idgay Exp $/*									tab:4 * "Copyright (c) 2000-2003 The Regents of the University  of California.   * 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 UNIVERSITY OF CALIFORNIA 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 UNIVERSITY OF * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *  * THE UNIVERSITY OF CALIFORNIA 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 UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS." * * Copyright (c) 2002-2003 Intel Corporation * All rights reserved. * * This file is distributed under the terms in the attached INTEL-LICENSE      * file. If you do not find these files, copies can be found by writing to * Intel Research Berkeley, 2150 Shattuck Avenue, Suite 1300, Berkeley, CA,  * 94704.  Attention:  Intel License Inquiry. */package net.tinyos.tools;import java.io.*;import net.tinyos.packet.*;import net.tinyos.util.*;import net.tinyos.message.*;import java.lang.Math; public class CLNN_Listen_Marzullo_Temp {    public static void main(String args[]) throws IOException {	if (args.length > 0) {	    System.err.println("usage: java net.tinyos.tools.Listen");	    System.exit(2);	}	PacketSource reader = BuildSource.makePacketSource();	if (reader == null) {	    System.err.println("Invalid packet source (check your MOTECOM environment variable)");	    System.exit(2);	}	try {	  reader.open(PrintStreamMessenger.err);	  for (;;) {	    byte[] packet = reader.readPacket();	    anycast_info(packet);	    //Dump.printPacket(System.out, packet);	    //System.out.println();	    //System.out.flush();	  }	}	catch (IOException e) {	    System.err.println("Error on " + reader.getName() + ": " + e);	}    }    public static String addzero(String in) {	while(in.length() != 2)	    in = "0" + in;	return in;    }    public static double todegree(int raw) {	double a       = 0.00130705;	double b       = 0.000214381;	double c       = 0.000000093;	double k       = 273.15;	double adc_fs  = 1023;	double r1      = 10*1000;	double r       = r1*(adc_fs-raw)/raw;	double rkelvin = a + b*Math.log(r) + c*(Math.log(r))*(Math.log(r))*(Math.log(r));	double kelvin  = 1/rkelvin;	return kelvin-k;    }    public static void anycast_info(byte[] packet) {	String data[] = new String[9];	String out = "";	String out1 = "";	int mean = 0;	data[0] = "Source";	data[1] = "Training";	data[2] = "Min";	data[3] = "Max";	data[4] = "Fault";	data[5] = "Percent";	data[6] = "Mean";	data[7] = "95% CI";	data[8] = "Trust";	if(packet.length != 34) {	    System.out.println("Unknown packet received");	    return;	}   	int i=6;	System.out.println("----------");	for(int j=0; j<9; j++) {	    String tmp1 = addzero(Integer.toHexString(packet[i+1] & 0xff).toUpperCase())+""+		addzero(Integer.toHexString(packet[i] & 0xff).toUpperCase());	    int tmp = Integer.parseInt(tmp1,16);	    i+=2;	    	    if(j == 6)		mean = tmp;	    if(j == 5)		continue;	    if(j == 2 || j == 3 || j == 6)		out += data[j] + ": " + ((float)todegree(tmp)) + "\n";	    else if(j == 7)		out += data[j] + ": [" + ((float)todegree(mean-tmp)) + "," + ((float)todegree(mean+tmp)) + "]\n";	    else if(j != 8)		out += data[j] + ": " + tmp + "\n";	    if(j == 0 || j == 4)		out1 += data[j] + ": " + tmp + "\n";	    if(j==8 && tmp==2)		out = out1;	}	System.out.print(out);    }}

⌨️ 快捷键说明

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