#include <serchan.h>
Inheritance diagram for PSerialChannel:
Construction | |
enum | Parity { DefaultParity, NoParity, EvenParity, OddParity, MarkParity, SpaceParity } |
Configuration of serial port parity options. More... | |
enum | FlowControl { DefaultFlowControl, NoFlowControl, XonXoff, RtsCts } |
Configuration of serial port flow control options. More... | |
PSerialChannel () | |
Create a new serial channel object, but do not open it. | |
PSerialChannel (const PString &port, DWORD speed=0, BYTE data=0, Parity parity=DefaultParity, BYTE stop=0, FlowControl inputFlow=DefaultFlowControl, FlowControl outputFlow=DefaultFlowControl) | |
~PSerialChannel () | |
Close the serial channel on destruction. | |
Open functions | |
virtual PBoolean | Open (const PString &port, DWORD speed=0, BYTE data=0, Parity parity=DefaultParity, BYTE stop=0, FlowControl inputFlow=DefaultFlowControl, FlowControl outputFlow=DefaultFlowControl) |
static PStringList | GetPortNames () |
Public Member Functions | |
PBoolean | Close () |
Configuration functions | |
PBoolean | SetSpeed (DWORD speed) |
DWORD | GetSpeed () const |
PBoolean | SetDataBits (BYTE data) |
BYTE | GetDataBits () const |
PBoolean | SetParity (Parity parity) |
Parity | GetParity () const |
PBoolean | SetStopBits (BYTE stop) |
BYTE | GetStopBits () const |
PBoolean | SetInputFlowControl (FlowControl flowControl) |
FlowControl | GetInputFlowControl () const |
PBoolean | SetOutputFlowControl (FlowControl flowControl) |
FlowControl | GetOutputFlowControl () const |
Status functions | |
void | SetDTR (PBoolean state=PTrue) |
void | ClearDTR () |
void | SetRTS (PBoolean state=PTrue) |
void | ClearRTS () |
void | SetBreak (PBoolean state=PTrue) |
void | ClearBreak () |
PBoolean | GetCTS () |
PBoolean | GetDSR () |
PBoolean | GetDCD () |
PBoolean | GetRing () |
Configuration of serial port parity options.
PSerialChannel::PSerialChannel | ( | ) |
Create a new serial channel object, but do not open it.
PSerialChannel::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.
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::~PSerialChannel | ( | ) |
Close the serial channel on destruction.
virtual PBoolean PSerialChannel::Open | ( | const PString & | port, | |
DWORD | speed = 0 , |
|||
BYTE | data = 0 , |
|||
Parity | parity = DefaultParity , |
|||
BYTE | stop = 0 , |
|||
FlowControl | inputFlow = DefaultFlowControl , |
|||
FlowControl | outputFlow = DefaultFlowControl | |||
) | [virtual] |
Open a serial channal. The channel is opened it on the specified port and with the specified attributes.
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. |
Reimplemented in PModem.
static PStringList PSerialChannel::GetPortNames | ( | ) | [static] |
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".
PBoolean PSerialChannel::SetSpeed | ( | DWORD | speed | ) |
Set the speed (baud rate) of the serial channel.
speed | New speed for serial channel. |
DWORD PSerialChannel::GetSpeed | ( | ) | const |
Get the speed (baud rate) of the serial channel.
PBoolean PSerialChannel::SetDataBits | ( | BYTE | data | ) |
Set the data bits (5, 6, 7 or 8) of the serial port.
data | New number of data bits for serial channel. |
BYTE PSerialChannel::GetDataBits | ( | ) | const |
Get the data bits (5, 6, 7 or 8) of the serial port.
Set the parity of the serial port.
parity | New parity option for serial channel. |
Parity PSerialChannel::GetParity | ( | ) | const |
Get the parity of the serial port.
PBoolean PSerialChannel::SetStopBits | ( | BYTE | stop | ) |
Set the stop bits (1 or 2) of the serial port.
stop | New number of stop bits for serial channel. |
BYTE PSerialChannel::GetStopBits | ( | ) | const |
Get the stop bits (1 or 2) of the serial port.
PBoolean PSerialChannel::SetInputFlowControl | ( | FlowControl | flowControl | ) |
Set the flow control (handshaking) protocol of the input to the serial port.
flowControl | New flow control for serial channel input. |
FlowControl PSerialChannel::GetInputFlowControl | ( | ) | const |
Get the flow control (handshaking) protocol of the input to the serial port.
PBoolean PSerialChannel::SetOutputFlowControl | ( | FlowControl | flowControl | ) |
Set the flow control (handshaking) protocol of the output to the serial port.
flowControl | New flow control for serial channel output. |
FlowControl PSerialChannel::GetOutputFlowControl | ( | ) | const |
Get the flow control (handshaking) protocol of the output from the serial port.
void PSerialChannel::SetDTR | ( | PBoolean | state = PTrue |
) |
Set the Data Terminal Ready signal of the serial port.
state | New state of the DTR signal. |
void PSerialChannel::ClearDTR | ( | ) |
Clear the Data Terminal Ready signal of the serial port. This is equivalent to SetDTR(PFalse)#.
void PSerialChannel::SetRTS | ( | PBoolean | state = PTrue |
) |
Set the Request To Send signal of the serial port.
state | New state of the RTS signal. |
void PSerialChannel::ClearRTS | ( | ) |
Clear the Request To Send signal of the serial port. This is equivalent to SetRTS(PFalse)#.
void PSerialChannel::SetBreak | ( | PBoolean | state = PTrue |
) |
Set the break condition of the serial port.
state | New state of the serial port break condition. |
void PSerialChannel::ClearBreak | ( | ) |
Clear the break condition of the serial port. This is equivalent to SetBreak(PFalse)#.
PBoolean PSerialChannel::GetCTS | ( | ) |
Get the Clear To Send signal of the serial port.
PBoolean PSerialChannel::GetDSR | ( | ) |
Get the Data Set Ready signal of the serial port.
PBoolean PSerialChannel::GetDCD | ( | ) |
Get the Data Carrier Detect signal of the serial port.
PBoolean PSerialChannel::GetRing | ( | ) |
Get the Ring Indicator signal of the serial port.
PBoolean PSerialChannel::Close | ( | ) | [virtual] |