This class defines an I/O channel that communicates via a serial port.
Inheritance:
Public Methods
| Construction
|
| Open functions
|
| Configuration functions
|
| Status functions
|
Public Methods
-
Overrides from class PObject
-
Information functions
-
Reading functions
-
Writing functions
-
Miscellaneous functions
-
static BOOL ConvertOSError( int libcReturnValue, Errors & lastError, int & osError )
Public Members
-
Error functions
Protected Fields
-
int os_handle
-
Errors lastErrorCode[NumErrorGroups+1]
-
int lastErrorNumber[NumErrorGroups+1]
-
PINDEX lastReadCount
-
PINDEX lastWriteCount
-
PTimeInterval readTimeout
-
PTimeInterval writeTimeout
Protected Methods
-
virtual BOOL ConvertOSError( int libcReturnValue, ErrorGroup group = LastGeneralError )
-
BOOL SetErrorValues( Errors errorCode, int osError, ErrorGroup group = LastGeneralError )
-
int ReadCharWithTimeout( PTimeInterval & timeout )
Inherited from PObject:
Public Methods
-
Run Time Type functions
-
I/O functions
Public Members
-
Comparison functions
Documentation
This class defines an I/O channel that communicates via a serial port. This
is usually an RS-232 port.
Construction
PSerialChannel()
- Create a new serial channel object, but do not open it
enum Parity
- Configuration of serial port parity options
DefaultParity
- Use the default parity, ie do not change it
NoParity
- Set the port for no parity bit
EvenParity
- Set the port to generate parity and make it even
OddParity
- Set the port to generate parity and make it odd
MarkParity
- Set the port parity bit to mark only
SpaceParity
- Set the port parity bit to space only
enum FlowControl
- Configuration of serial port flow control options
DefaultFlowControl
- Use the default flow control, ie do not change it
NoFlowControl
- Set the port for no flow control
XonXoff
- Set the port for software or XON/XOFF flow control
RtsCts
- Set the port for hardware or RTS/CTS flow control
PSerialChannel( const PString & port, DWORD speed = 0, BYTE data = 0, Parity parity = DefaultParity, BYTE stop = 0, FlowControl inputFlow = DefaultFlowControl, FlowControl outputFlow = DefaultFlowControl )
- Create a serial channal.
The channel is opened it on the specified port and with the specified
attributes.
- Parameters:
- - port The name of the serial port to connect to. This is a platform
dependent string and woiuld rarely be a literal. The static function
GetPortNames() can be used to find the platforms serial ports.
speed - Serial port speed or baud rate. The actual values possible here are
platform dependent, but the standard value of 300, 1200, 2400, 4800,
9600, 19200, 38400 always be legal.
data - Number of data bits for serial port. The actual values possible here
are platform dependent, but 7 and 8 should always be legal.
parity - Parity for serial port. The actual values possible here are platform
dependent, but NoParity, OddParity and
EvenParity should always be legal.
stop - Number of stop bits for serial port. The actual values possible here
are platform dependent, but 1 and 2 should always be legal.
inputFlow - Flow control for data from the remote system into this conputer.
outputFlow - Flow control for data from this conputer out to remote system.
PSerialChannel( PConfig & cfg )
- Create a serial channal.
The channel is opened using attributes obtained from standard variables
in the configuration file. Note that it assumed that the correct
configuration file section is already set.
- Parameters:
- cfg - Configuration file to read serial port attributes from.
~PSerialChannel()
- Close the serial channel on destruction
Open functions
virtual BOOL Open( const PString & port, DWORD speed = 0, BYTE data = 0, Parity parity = DefaultParity, BYTE stop = 0, FlowControl inputFlow = DefaultFlowControl, FlowControl outputFlow = DefaultFlowControl )
- Open a serial channal.
The channel is opened it on the specified port and with the specified
attributes.
- Parameters:
- - port The name of the serial port to connect to. This is a platform
dependent string and woiuld rarely be a literal. The static function
GetPortNames() can be used to find the platforms serial ports.
speed - Serial port speed or baud rate. The actual values possible here are
platform dependent, but the standard value of 300, 1200, 2400, 4800,
9600, 19200, 38400 always be legal.
data - Number of data bits for serial port. The actual values possible here
are platform dependent, but 7 and 8 should always be legal.
parity - Parity for serial port. The actual values possible here are platform
dependent, but NoParity, OddParity and
EvenParity should always be legal.
stop - Number of stop bits for serial port. The actual values possible here
are platform dependent, but 1 and 2 should always be legal.
inputFlow - Flow control for data from the remote system into this conputer.
outputFlow - Flow control for data from this conputer out to remote system.
virtual BOOL Open( PConfig & cfg )
- Open a serial channal.
The channel is opened using attributes obtained from standard variables
in the configuration file. Note that it assumed that the correct
configuration file section is already set.
- Parameters:
- cfg - Configuration file to read serial port attributes from.
static PStringList GetPortNames()
- Get a list of the available serial ports. This returns a set of
platform dependent strings which describe the serial ports of the
computer. For example under unix it may be "ttyS0", under MS-DOS or
NT it would be "COM1" and for the Macintosh it could be "Modem".
- Returns:
- list of strings for possible serial ports.
Configuration functions
BOOL SetSpeed( DWORD speed )
- Set the speed (baud rate) of the serial channel.
- Parameters:
- speed - New speed for serial channel.
- Returns:
- TRUE if the change was successfully made.
DWORD GetSpeed() const
- Get the speed (baud rate) of the serial channel.
- Returns:
- current setting.
BOOL SetDataBits( BYTE data )
- Set the data bits (5, 6, 7 or 8) of the serial port.
- Parameters:
- data - New number of data bits for serial channel.
- Returns:
- TRUE if the change was successfully made.
BYTE GetDataBits() const
- Get the data bits (5, 6, 7 or 8) of the serial port.
- Returns:
- current setting.
BOOL SetParity( Parity parity )
- Set the parity of the serial port.
- Parameters:
- parity - New parity option for serial channel.
- Returns:
- TRUE if the change was successfully made.
Parity GetParity() const
- Get the parity of the serial port.
- Returns:
- current setting.
BOOL SetStopBits( BYTE stop )
- Set the stop bits (1 or 2) of the serial port.
- Parameters:
- stop - New number of stop bits for serial channel.
- Returns:
- TRUE if the change was successfully made.
BYTE GetStopBits() const
- Get the stop bits (1 or 2) of the serial port.
- Returns:
- current setting.
BOOL SetInputFlowControl( FlowControl flowControl )
- Set the flow control (handshaking) protocol of the input to the serial
port.
- Parameters:
- flowControl - New flow control for serial channel input.
- Returns:
- TRUE if the change was successfully made.
FlowControl GetInputFlowControl() const
- Get the flow control (handshaking) protocol of the input to the serial
port.
- Returns:
- current setting.
BOOL SetOutputFlowControl( FlowControl flowControl )
- Set the flow control (handshaking) protocol of the output to the serial
port.
- Parameters:
- flowControl - New flow control for serial channel output.
- Returns:
- TRUE if the change was successfully made.
FlowControl GetOutputFlowControl() const
- Get the flow control (handshaking) protocol of the output from the
serial port.
- Returns:
- current setting.
virtual void SaveSettings( PConfig & cfg )
- Save the current port settings into the configuration file. Note that
it assumed that the correct configuration file section is already set.
- Parameters:
- cfg - Configuration file to save setting into.
Status functions
void SetDTR( BOOL state = TRUE )
- Set the Data Terminal Ready signal of the serial port.
- Parameters:
- - state New state of the DTR signal.
void ClearDTR()
- Clear the Data Terminal Ready signal of the serial port. This is
equivalent to SetDTR(FALSE).
void SetRTS( BOOL state = TRUE )
- Set the Request To Send signal of the serial port.
- Parameters:
- - state New state of the RTS signal.
void ClearRTS()
- Clear the Request To Send signal of the serial port. This is equivalent
to SetRTS(FALSE).
void SetBreak( BOOL state = TRUE )
- Set the break condition of the serial port.
- Parameters:
- - state New state of the serial port break condition.
void ClearBreak()
- Clear the break condition of the serial port. This is equivalent to
SetBreak(FALSE).
BOOL GetCTS()
- Get the Clear To Send signal of the serial port.
- Returns:
- TRUE if the CTS signal is asserted.
BOOL GetDSR()
- Get the Data Set Ready signal of the serial port.
- Returns:
- TRUE if the DSR signal is asserted.
BOOL GetDCD()
- Get the Data Carrier Detect signal of the serial port.
- Returns:
- TRUE if the DCD signal is asserted.
BOOL GetRing()
- Get the Ring Indicator signal of the serial port.
- Returns:
- TRUE if the RI signal is asserted.
- Direct child classes:
- PModem
Alphabetic index HTML hierarchy of classes or Java
This page was generated with the help of DOC++.