[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