-// sg_serial.hxx -- Serial I/O routines
-//
+/**
+ * \file sg_serial.hxx
+ * Serial I/O routines
+ */
+
// Written by Curtis Olson, started November 1999.
//
-// Copyright (C) 1999 Curtis L. Olson - curt@flightgear.org
+// Copyright (C) 1999 Curtis L. Olson - http://www.flightgear.org/~curt
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
-// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
//
// $Id$
#include "iochannel.hxx"
-FG_USING_STD(string);
-
+SG_USING_STD(string);
+/**
+ * A serial I/O class based on SGIOChannel.
+ */
class SGSerial : public SGIOChannel {
string device;
string baud;
- FGSerialPort port;
+ SGSerialPort port;
char save_buf[ 2 * SG_IO_MAX_MSG_SIZE ];
int save_len;
public:
+ /**
+ * Create an instance of SGSerial.
+ * This creates an instance of the SGSerial class. You need to
+ * provide the serial device name and desired baud rate. For Unix
+ * style systems, device names will be similar to
+ * ``/dev/ttyS0''. For DOS style systems you may want to use
+ * something similar to ``COM1:''. As with the SGFile class,
+ * device is not opened immediately, but instead will be opened
+ * when the open() method is called.
+ * @param device_name name of serial device
+ * @param baud_rate speed of communication
+ */
SGSerial( const string& device_name, const string& baud_rate );
+
+ /** Destructor */
~SGSerial();
// open the serial port based on specified direction
// close port
bool close();
+ /** @return the serial port device name */
inline string get_device() const { return device; }
+
+ /** @return the baud rate */
inline string get_baud() const { return baud; }
};