[Tinyos-contrib-commits] CVS: tinyos-1.x/contrib/shockfish/tools/java_tc65/src/com/shockfish/tinyos/bridge CldcBridgeMasterThread.java, NONE, 1.1 CldcBridgeThread.java, 1.1, 1.2

rogmeier rogmeier at users.sourceforge.net
Mon Sep 11 06:40:07 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-serv28926/src/com/shockfish/tinyos/bridge

Modified Files:
	CldcBridgeThread.java 
Added Files:
	CldcBridgeMasterThread.java 
Log Message:
TC65/TinyNode foundations.

--- NEW FILE: CldcBridgeMasterThread.java ---
package com.shockfish.tinyos.bridge;

import java.io.IOException;

import com.shockfish.tinyos.tools.MamaBoardManager;
import com.shockfish.tinyos.packet.CldcNetworkByteSource;
import com.shockfish.tinyos.packet.Tc65SerialByteSource;
import com.shockfish.tinyos.packet.CldcPacketizer;
import net.tinyos.util.PrintStreamMessenger;
import com.shockfish.tinyos.tools.CldcLogger;

public class CldcBridgeMasterThread extends Thread {

    MamaBoardManager manager;
    String inetHost;
    int inetPort;
    boolean stopRequested;
    
    Tc65SerialByteSource tsb2;
    CldcPacketizer serialPacketizer;
    CldcBridgeThread br;
    
	public CldcBridgeMasterThread(MamaBoardManager manager, String host, int port) {
		this.manager = manager;
        this.inetHost = host;
        this.inetPort = port;       
        //this.tsb2 = null;
        this.serialPacketizer = manager.serialAsc0Packetizer;
        
	}
    
    public void requestStop() {
        try {
            serialPacketizer.close();
        } catch (Exception e) {}    
        try {
            br.requestStop();
        } catch (Exception e) {}  
        
        stopRequested = true;
    }

	public void run() {
        stopRequested = false;
		tsb2 = null;
        serialPacketizer = null;
		try {

			//tsb2 = new Tc65SerialByteSource("SERIAL", 0);
            //serialPacketizer = new CldcPacketizer("SERIAL", tsb2, 0); // 0 is tinynode

            CldcLogger.info("Starting bridge, host="+this.inetHost
                    +", port=" + this.inetPort);

			br = new CldcBridgeThread(serialPacketizer, this.manager,
					inetHost, inetPort);
			br.start();
            serialPacketizer.open(PrintStreamMessenger.err);
		} catch (IOException e) {
			e.printStackTrace();
		}
		int packetCnt = 0;
		for (;;) {
			try {
				byte[] packet = serialPacketizer.readPacket();
			} catch (IOException e) {
				e.printStackTrace();
			}
            
            if (stopRequested) { return;}
		}

	}

}

Index: CldcBridgeThread.java
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/contrib/shockfish/tools/java_tc65/src/com/shockfish/tinyos/bridge/CldcBridgeThread.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** CldcBridgeThread.java	22 Jun 2006 17:36:41 -0000	1.1
--- CldcBridgeThread.java	11 Sep 2006 13:40:03 -0000	1.2
***************
*** 10,24 ****
  
  	CldcPacketizer serialPacketizer;
- 
  	CldcNetworkByteSource nsb;
- 
  	CldcPacketizer airPacketizer;
- 
  	Tc65Manager manager;
! 
  	String inetHost;
- 
  	int inetPort;
! 
  	byte inetMessageFilter;
  
--- 10,21 ----
  
  	CldcPacketizer serialPacketizer;
  	CldcNetworkByteSource nsb;
  	CldcPacketizer airPacketizer;
  	Tc65Manager manager;
!     
!     boolean stopRequested;
  	String inetHost;
  	int inetPort;
!     
  	byte inetMessageFilter;
  
***************
*** 30,41 ****
  		//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);
  
--- 27,40 ----
  		//this.inetMessageFilter = inetMessageFilter;
  		this.manager = manager;
! 
  	}
  
  	public void run() {
  
+         stopRequested = false;
+         
+         this.nsb = new CldcNetworkByteSource(this.inetHost, this.inetPort, manager.getGprsConf());
+         this.airPacketizer = new CldcPacketizer("GPRS", nsb, 0); // WARNING 1 is TINYOS
+         
  		serialPacketizer.setPacketListener(this);
  
***************
*** 51,67 ****
  				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
- 
  	}
  
--- 50,66 ----
  				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));
!                 if (stopRequested) {
!                     serialPacketizer.removePacketListener(); 
!                     return;
!                 }
!                 
  			} catch (Exception e) {
  				e.printStackTrace();
  			}
  		}
  	}
  
***************
*** 82,85 ****
--- 81,92 ----
  		}
  	}
+     
+     public void requestStop() {
+         try {
+             airPacketizer.close();
+         } catch (Exception e) {}    
+         
+         stopRequested = true;
+     }
  
  }
\ No newline at end of file



More information about the Tinyos-contrib-commits mailing list