[Tinyos-contrib-commits]
CVS: tinyos-1.x/contrib/shockfish/tools/java_tc65/src/com/shockfish/tinyos/bridge
CldcBridgeThread.java, NONE, 1.1
rogmeier
rogmeier at users.sourceforge.net
Thu Jun 22 10:36:43 PDT 2006
Update of /cvsroot/tinyos/tinyos-1.x/contrib/shockfish/tools/java_tc65/src/com/shockfish/tinyos/bridge
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv29317/tinyos/bridge
Added Files:
CldcBridgeThread.java
Log Message:
Added rudimentary but functional bridge demo app
--- NEW FILE: CldcBridgeThread.java ---
package com.shockfish.tinyos.bridge;
import net.tinyos.message.Dump;
import net.tinyos.util.PrintStreamMessenger;
import com.shockfish.tinyos.tools.Tc65Manager;
import com.shockfish.tinyos.packet.*;
import java.io.*;
public class CldcBridgeThread extends Thread implements CldcPacketListener {
CldcPacketizer serialPacketizer;
CldcNetworkByteSource nsb;
CldcPacketizer airPacketizer;
Tc65Manager manager;
String inetHost;
int inetPort;
byte inetMessageFilter;
public CldcBridgeThread(CldcPacketizer serialPacketizer,
Tc65Manager manager, String inetHost, int inetPort) {
this.serialPacketizer = serialPacketizer;
this.inetHost = inetHost;
this.inetPort = inetPort;
//this.inetMessageFilter = inetMessageFilter;
this.manager = manager;
//this.nsb = new CldcNetworkByteSource("www2.shockfish.com", 2020, manager.getGprsConf());
this.nsb = new CldcNetworkByteSource(this.inetHost, this.inetPort,
manager.getGprsConf());
this.airPacketizer = new CldcPacketizer("GPRS", nsb, 0); // WARNING 1 is TINYOS
}
public void run() {
serialPacketizer.setPacketListener(this);
try {
airPacketizer.open(PrintStreamMessenger.err);
} catch (IOException ioe) {
ioe.printStackTrace();
}
int packetCnt = 0;
for (;;) {
try {
byte[] packet = airPacketizer.readPacket();
// write back to serial interface
long t1 = System.currentTimeMillis();
serialPacketizer.writePacket(packet);
long t2 = System.currentTimeMillis();
System.out.println("*** FWD GPRS > SERIAL done in "+(t2-t1));
} catch (Exception e) {
e.printStackTrace();
}
}
// TODO somehow interrupt the loop and unregister
}
// any packet received by the serial are sent back to the air iface
public void packetReceived(byte[] packet) {
try {
// (byte)0x0A
// packet filtering, oscope specific
//if (packet.length > 7)
//if (packet[4] == this.inetMessageFilter)
long t1 = System.currentTimeMillis();
airPacketizer.writePacket(packet);
long t2 = System.currentTimeMillis();
System.out.println("*** FWD GPRS < SERIAL done in "+(t2-t1));
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
}
More information about the Tinyos-contrib-commits
mailing list