X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fio%2Fsg_serial.hxx;h=bb51ce33afb0bdd07579c6f04048c4bd4ae39711;hb=dc09a50472890ac706d3c76d8af34cc3682ada0c;hp=43cb4433069860f8b5b74b2278cf1374676a377a;hpb=9325ec681e8bb61e6a5d15e42f61d10aa7a483e5;p=simgear.git diff --git a/simgear/io/sg_serial.hxx b/simgear/io/sg_serial.hxx index 43cb4433..bb51ce33 100644 --- a/simgear/io/sg_serial.hxx +++ b/simgear/io/sg_serial.hxx @@ -1,8 +1,11 @@ -// 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 @@ -33,7 +36,7 @@ #include -// #ifdef FG_HAVE_STD_INCLUDES +// #ifdef SG_HAVE_STD_INCLUDES // # include // #else // # include @@ -43,25 +46,41 @@ #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 - bool open( SGProtocolDir dir ); + bool open( const SGProtocolDir d ); // read a block of data of specified size int read( char *buf, int length ); @@ -70,15 +89,18 @@ public: int readline( char *buf, int length ); // write data to port - int write( char *buf, int length ); + int write( const char *buf, const int length ); // write null terminated string to port - int writestring( char *str ); + int writestring( const char *str ); // 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; } };