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");
}
}
}
}
}
|