Struct serial_io::TTYPort [−][src]
pub struct TTYPort { /* fields omitted */ }Expand description
A serial port implementation for POSIX TTY ports
The port will be closed when the value is dropped. However, this struct
should not be instantiated directly by using TTYPort::open(), instead use
the cross-platform serialport::open() or
serialport::open_with_settings().
Implementations
Opens a TTY device as a serial port.
path should be the path to a TTY device, e.g., /dev/ttyS0.
Ports are opened in exclusive mode by default. If this is undesireable
behavior, use TTYPort::set_exclusive(false).
Errors
NoDeviceif the device could not be opened. This could indicate that the device is already in use.InvalidInputifpathis not a valid device name.Iofor any other error while opening or initializing the device.
Returns the exclusivity of the port
If a port is exclusive, then trying to open the same device path again will fail.
Sets the exclusivity of the port
If a port is exclusive, then trying to open the same device path again will fail.
See the man pages for the tiocexcl and tiocnxcl ioctl’s for more details.
Errors
Iofor any error while setting exclusivity for the port.
Create a pair of pseudo serial terminals
Returns
Two connected TTYPort objects: (master, slave)
Errors
Attempting any IO or parameter settings on the slave tty after the master tty is closed will return errors.
On some platforms manipulating the master port will fail and only modifying the slave port is possible.
Examples
use serialport::TTYPort; let (master, slave) = TTYPort::pair().unwrap();
Sends 0-valued bits over the port for a set duration
Attempts to clone the SerialPort. This allow you to write and read simultaneously from the
same serial connection. Please note that if you want a real asynchronous serial port you
should look at mio-serial or
tokio-serial.
Also, you must be very careful when changing the settings of a cloned SerialPort : since
the settings are cached on a per object basis, trying to modify them from two different
objects can cause some nasty behavior.
This is the same as SerialPort::try_clone() but returns the concrete type instead.
Errors
This function returns an error if the serial port couldn’t be cloned.
Trait Implementations
Consumes this object, returning the raw underlying file descriptor. Read more
Pull some bytes from this source into the specified buffer, returning how many bytes were read. Read more
Like read, except that it reads into a slice of buffers. Read more
can_vector)Determines if this Reader has an efficient read_vectored
implementation. Read more
read_initializer)Determines if this Reader can work with buffers of uninitialized
memory. Read more
Read all bytes until EOF in this source, placing them into buf. Read more
Read all bytes until EOF in this source, appending them to buf. Read more
Read the exact number of bytes required to fill buf. Read more
Creates a “by reference” adaptor for this instance of Read. Read more
Creates an adaptor which will chain this stream with another. Read more
Returns the port’s baud rate
On some platforms this will be the actual device baud rate, which may differ from the desired baud rate.
Returns the flow control mode. Read more
Sets the baud rate. Read more
Sets the flow control mode.
Sets the parity-checking mode.
Sets the character size.
Sets the number of stop bits.
Sets the timeout for future I/O operations.
Sets the state of the RTS (Request To Send) control signal. Read more
Writes to the Data Terminal Ready pin Read more
Reads the state of the CTS (Clear To Send) control signal. Read more
Reads the state of the Data Set Ready control signal. Read more
Reads the state of the Ring Indicator control signal. Read more
Reads the state of the Carrier Detect control signal. Read more
Gets the number of bytes available to be read from the input buffer. Read more
Get the number of bytes written to the output buffer, awaiting transmission. Read more
Discards all bytes from the serial driver’s input buffer and/or output buffer. Read more
Attempts to clone the SerialPort. This allow you to write and read simultaneously from the
same serial connection. Please note that if you want a real asynchronous serial port you
should look at mio-serial or
tokio-serial. Read more
Stop transmitting a break
Write a buffer into this writer, returning how many bytes were written. Read more
Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
can_vector)Determines if this Writer has an efficient write_vectored
implementation. Read more
Attempts to write an entire buffer into this writer. Read more
write_all_vectored)Attempts to write multiple buffers into this writer. Read more
Writes a formatted string into this writer, returning any error encountered. Read more
Auto Trait Implementations
impl RefUnwindSafe for TTYPortimpl UnwindSafe for TTYPort