[Firebug-cvs] fireboard/beta/fireworks/tools/java/net/sf/firebug/fireworks DataElement.java,NONE,1.1
Brought to you by:
doolin
From: Karthik D. <da...@us...> - 2005-07-26 18:51:16
|
Update of /cvsroot/firebug/fireboard/beta/fireworks/tools/java/net/sf/firebug/fireworks In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6852 Added Files: DataElement.java Fireworks.java Makefile Log Message: Java portion of Fireworks --- NEW FILE: Makefile --- TOS = $(shell ncc -print-tosdir) PACKAGE = net.sf.firebug.fireworks APP = $(FIREBOARDROOT)/beta/fireworks/apps/Fireworks MIG = mig java # List of message classes to build MSGS = DataRequestMsg.java DataMsg.java PingMsg.java PingReplyMsg.java INITIAL_TARGETS = $(MSGS) OTHER_CLEAN = cleanmig ROOT = $(TOSROOT)/tools/java include $(ROOT)/Makefile.include DataRequestMsg.java: $(MIG) -java-classname=$(PACKAGE).DataRequestMsg $(APP)/Fireworks.h DataRequestMsg -o $@ $(JAVAC) $@ DataMsg.java: $(MIG) -java-classname=$(PACKAGE).DataMsg $(APP)/Fireworks.h DataMsg -o $@ $(JAVAC) $@ PingMsg.java: $(MIG) -java-classname=$(PACKAGE).PingMsg $(APP)/Fireworks.h PingMsg -o $@ $(JAVAC) $@ PingReplyMsg.java: $(MIG) -java-classname=$(PACKAGE).PingReplyMsg $(APP)/Fireworks.h PingReplyMsg -o $@ $(JAVAC) $@ cleanmig: rm -f $(MSGS) --- NEW FILE: DataElement.java --- /* * Authors: Karthik Dantu * Graduate Student * Firebug Project * http://firebug.sf.net * * Date: 7/25/2005 * */ package net.sf.firebug.fireworks; public class DataElement { int[] RSSI; int source; private int counter; DataElement() { counter = 0; RSSI = new int[100]; } DataElement(int src) { source = src; counter = 0; RSSI = new int[100]; } public void add(int rssivalue) { RSSI[counter++]= rssivalue; } public int get(int idx) { return RSSI[idx]; } public int get() { return RSSI[counter-1]; } public int get_index() { return counter; } public void set_source(int src) { source = src; return; } public int get_source() { return source; } public void add(int[] rssi, int src) { int i=0; if(this.source != src) { System.err.println("Adding RSSI values to DataElement with different source"); System.exit(1); } for(i=0;i<rssi.length;i++) RSSI[counter++]=rssi[i]; return; } } --- NEW FILE: Fireworks.java --- /* * Authors: Karthik Dantu * Graduate Student * Firebug Project * http://firebug.sf.net * * Date: 7/25/2005 * */ package net.sf.firebug.fireworks; import net.tinyos.util.*; import net.tinyos.packet.*; import net.tinyos.message.*; import java.io.*; import java.util.*; public class Fireworks implements MessageListener { private static final boolean VERBOSE = false; static int group_id = 0x7d; MoteIF mote; static Fireworks fw; LinkedList data; static int numNodes; static int numTrials; static int numPowerLevels; static int frequency; Fireworks() { data = new LinkedList(); mote = new MoteIF(PrintStreamMessenger.err, group_id); mote.registerListener(new DataMsg(), this); mote.registerListener(new DataRequestMsg(), this); mote.registerListener(new PingMsg(), this); mote.registerListener(new PingReplyMsg(), this); } static void printUsage() { System.err.println("Fireworks Usage: java net.sf.firebug.fireworks.Fireworks <numNodes> <numTrials> <numPowerLevels> <frequency> <group id>"); System.err.println("Please pass all parameters in the same order"); System.exit(1); } public static void main(String[] args) throws IOException { if(args.length != 6) { printUsage(); } else { numNodes = Integer.parseInt(args[1]); numTrials = Integer.parseInt(args[2]); numPowerLevels = Integer.parseInt(args[3]); frequency = Integer.parseInt(args[4]); group_id = Integer.parseInt(args[5]); fw = new Fireworks(); /* Now that we have all the data we need, start sending datarequest packets and wait for data packets to come in */ } } public void messageReceived(int dest, Message msg) { if(msg instanceof PingMsg) { PingMsg pMsg = (PingMsg) msg; if(VERBOSE) { System.out.println("Received Ping Msg from " + dest + " to " + pMsg.get_source() + " with sequence number " + pMsg.get_seqno()); } } else if(msg instanceof PingReplyMsg) { PingReplyMsg prMsg = (PingReplyMsg) msg; if(VERBOSE) { System.out.println("Received Ping Reply Msg from " + dest + " to " + prMsg.get_source() + " with sequence number " + prMsg.get_seqno() + " and RSSI value " + prMsg.get_RSSI()); } } else if(msg instanceof DataMsg) { DataMsg dMsg = (DataMsg) msg; int src=0; int seq; DataElement dElement=new DataElement(); if(VERBOSE) { System.out.println("Received Data Msg from " + dest); } if(dMsg.get_seqno() == 0) { /* Beginning of data msg. */ DataRequestMsg drMsg = new DataRequestMsg(dMsg, 1); src = drMsg.get_source(); dElement = new DataElement(src); data.add(dElement); } else { if(dElement.get_source() != 0 && dElement.get_source() != src) { dElement.add(dMsg.get_data(), src); } else { System.err.println("DataElement Uninitialized"); } } } } } |