package serial;

/*-----------------------------------------------------------------------------
 * File: SendStream.java
 * Function: Simple serail port stream example using SerialPort
 *
 * Copyright (c) 1997 Solutions Consulting, All Rights Reserved.
 *---------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
 * Solutions Consulting makes no representations or warranties about the
 * suitability of the software, either express or implied, including but
 * not limited to the implied warranties of merchantability, fitness for
 * a particular purpose, or non-infringement. Solutions Consulting shall
 * not be liable for any damages suffered by licensee as a result of
 * using, modifying or distributing this software or its derivatives.
 *---------------------------------------------------------------------------*/
import java.io.*;
import Serialio.*;

public class SendStream {
	static String banner = "Copyright (c) 1997,1998 Solutions Consulting, All Rights Reserved.";
	static String ver = "SendStream Ver 1.1";

	public static void main(String args[])
	throws IOException, NumberFormatException
	{
	SerialPortLocal sp;
	String devName = "";

	if (args.length == 0){
		PrintUsage();
		System.exit(1);
	}
	else {
		devName = args[0];
	}

	try {
    	SerialConfig serCfg = new SerialConfig(devName);
		sp = new SerialPortLocal(serCfg);
		sp.setTimeoutRx(1000);
		int verLib = sp.getLibVer();
		short vMajor = (short)(verLib >> 16);
		short vMinor = (short)(verLib & 0xffff);
		System.out.println("DLL version: "+vMajor+"."+vMinor);
        OutputStream so = (OutputStream) new SerOutputStream(sp);
		ObjectOutputStream soo = new ObjectOutputStream(so);
        SerDemoObject sObj = new SerDemoObject();
		soo.writeObject(sObj);
	}
	catch (Exception ioe) {
		System.out.println(ioe);
		System.exit(1);
		}
  	}

	static int PrintUsage() {
		System.out.println(ver);
		System.out.println(banner+"\n");
		System.out.println("Sends an Object out the serial port via SerOutputStream.");
		System.out.println("The parameters are 9600 bps, No Parity, 8 data bits, 1 stop bit.");
		System.out.println("\nEnter the serial device name as the first parameter.");
		System.out.println("To use COM2, enter this command: java SendStream COM2");
		return 0;
	}
}

