///////////////////////////////////////////////////////////////
//AGSerialComTest.h
//
//Author:     Amanda Green
//Date:       6/26/00
//Version:    2
//
//Purpose:    Attempting to get serial data from Joystick
//		  At this point, it should read in from the defined
//		  serial port, parse the data, and print it to the 
//		  screen. 
///////////////////////////////////////////////////////////////
#ifndef _AGSerialComTest_H
#define _AGSerialComTest_H

#include <unistd.h>
#include <termios.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/uio.h>
#include <fcntl.h>
#include <errno.h>
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>

#include "StreamSerialDriver.h"
#include "SerialDevice.h"
#include "SerialParameters.h"
#include "DeviceIF.h"


class AGSerialComTest : public StreamSerialDriver {


public:
     ///////////////////////////////////////////////////////
     //Constructor
     AGSerialComTest(SerialDevice *device, SerialParameters *serialParams);

     ///////////////////////////////////////////////////////
     //Destructor
     //commenting out for now
     //~AGSerialComTest();

     ///////////////////////////////////////////////////////
     //Mode
     //virtual int mode();

     ///////////////////////////////////////////////////////
     //Propeller speed
     //virtual int propeller();

     ///////////////////////////////////////////////////////
     //Rudder angle 
     //virtual int rudder();

     ///////////////////////////////////////////////////////
     //Elevator angle
     //virtual int elevator();

protected:
     ////////////////////////////////////////////////////////
     //Initialize device
     virtual DeviceIF::Status initialize();

     ////////////////////////////////////////////////////////
     //Process device data
     virtual DeviceIF::Status processRecord(unsigned char *record, int nRecordBytes);

     SerialParameters *_serialParams;
};
#endif
