

/**
 * Java-side application for testing "TestNetwork" communication.
 * 
 *
 * @author varun Jain
 * @date June 30 2008
 */

import java.io.IOException;

import net.tinyos.message.*;
import net.tinyos.packet.*;
import net.tinyos.util.*;


public class TestNetwork implements MessageListener {

  private MoteIF moteIF;
  
  public TestNetwork(MoteIF moteIF) {
    this.moteIF = moteIF;
    this.moteIF.registerListener(new TestNetworkMsg(), this);
  }

  

  public void messageReceived(int to, Message message) {
    TestNetworkMsg msg = (TestNetworkMsg)message;
	
	System.out.println("The source of the event is node = " + msg.get_source());
	
	System.out.println("The sequence number of sending node = " + msg.get_seqno());
	
	System.out.println("PARENT is  " + msg.get_parent());
	
	System.out.println("ETX is " + msg.get_metric());
	
	System.out.println("Number of times button is pressed on node is " + msg.get_eventdata());
	
  }
  
  
  private static void usage() {
    System.err.println("usage: TestNetwork [-comm <source>]");
  }
  

  public static void main(String[] args) throws Exception {
    String source = null;
    if (args.length == 2) {
      if (!args[0].equals("-comm")) {
	usage();
	System.exit(1);
      }
      source = args[1];
    }
    else if (args.length != 0) {
      usage();
      System.exit(1);
    }
    
    PhoenixSource phoenix;
    
    if (source == null) {
      phoenix = BuildSource.makePhoenix(PrintStreamMessenger.err);
    }
    else {
      phoenix = BuildSource.makePhoenix(source, PrintStreamMessenger.err);
    }

    MoteIF mif = new MoteIF(phoenix);
    TestNetwork serial = new TestNetwork(mif);
    
  }

}

