pub struct SerialPortAdapter { /* private fields */ }Available on crate feature
serialport-compat only.Expand description
Shared serialport::SerialPort adapter over SerialPortHandle + background reader.
Implementations§
Source§impl SerialPortAdapter
impl SerialPortAdapter
Sourcepub fn new(
handle: SerialPortHandle,
name: impl Into<String>,
line_config: LineConfig,
flow_control: FlowControl,
) -> Result<Self>
pub fn new( handle: SerialPortHandle, name: impl Into<String>, line_config: LineConfig, flow_control: FlowControl, ) -> Result<Self>
Wrap an open SerialPortHandle. Call Self::start_reader after line/DTR setup.
Sourcepub fn start_reader(&self) -> Result<()>
pub fn start_reader(&self) -> Result<()>
Start background bulk-IN reader after line/DTR setup (avoids racing driver init on OTG).
pub fn with_write_chunk(self, chunk: usize) -> Self
Trait Implementations§
Source§impl Clone for SerialPortAdapter
impl Clone for SerialPortAdapter
Source§impl Read for SerialPortAdapter
impl Read for SerialPortAdapter
Source§fn read(&mut self, buf: &mut [u8]) -> Result<usize>
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
Pull some bytes from this source into the specified buffer, returning
how many bytes were read. Read more
1.36.0 · Source§fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
Like
read, except that it reads into a slice of buffers. Read moreSource§fn is_read_vectored(&self) -> bool
fn is_read_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector)1.0.0 · Source§fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
Reads all bytes until EOF in this source, placing them into
buf. Read more1.0.0 · Source§fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
Reads all bytes until EOF in this source, appending them to
buf. Read more1.6.0 · Source§fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
Reads the exact number of bytes required to fill
buf. Read moreSource§fn read_buf(&mut self, buf: BorrowedCursor<'_, u8>) -> Result<(), Error>
fn read_buf(&mut self, buf: BorrowedCursor<'_, u8>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf)Pull some bytes from this source into the specified buffer. Read more
Source§fn read_buf_exact(
&mut self,
cursor: BorrowedCursor<'_, u8>,
) -> Result<(), Error>
fn read_buf_exact( &mut self, cursor: BorrowedCursor<'_, u8>, ) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf)Reads the exact number of bytes required to fill
cursor. Read more1.0.0 · Source§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
Creates a “by reference” adapter for this instance of
Read. Read more1.0.0 · Source§fn chain<R>(self, next: R) -> Chain<Self, R>
fn chain<R>(self, next: R) -> Chain<Self, R>
Creates an adapter which will chain this stream with another. Read more
1.0.0 · Source§fn take(self, limit: u64) -> Take<Self>where
Self: Sized,
fn take(self, limit: u64) -> Take<Self>where
Self: Sized,
Creates an adapter which will read at most
limit bytes from it. Read moreSource§fn read_array<const N: usize>(&mut self) -> Result<[u8; N], Error>where
Self: Sized,
fn read_array<const N: usize>(&mut self) -> Result<[u8; N], Error>where
Self: Sized,
🔬This is a nightly-only experimental API. (
read_array)Read and return a fixed array of bytes from this source. Read more
Source§impl SerialPort for SerialPortAdapter
impl SerialPort for SerialPortAdapter
Source§fn flow_control(&self) -> Result<SpFlowControl>
fn flow_control(&self) -> Result<SpFlowControl>
Returns the flow control mode. Read more
Source§fn set_data_bits(&mut self, data_bits: SpDataBits) -> Result<()>
fn set_data_bits(&mut self, data_bits: SpDataBits) -> Result<()>
Sets the character size.
Source§fn set_flow_control(&mut self, flow_control: SpFlowControl) -> Result<()>
fn set_flow_control(&mut self, flow_control: SpFlowControl) -> Result<()>
Sets the flow control mode.
Source§fn set_stop_bits(&mut self, stop_bits: SpStopBits) -> Result<()>
fn set_stop_bits(&mut self, stop_bits: SpStopBits) -> Result<()>
Sets the number of stop bits.
Source§fn set_timeout(&mut self, timeout: Duration) -> Result<()>
fn set_timeout(&mut self, timeout: Duration) -> Result<()>
Sets the timeout for future I/O operations. Read more
Source§fn write_request_to_send(&mut self, level: bool) -> Result<()>
fn write_request_to_send(&mut self, level: bool) -> Result<()>
Sets the state of the RTS (Request To Send) control signal. Read more
Source§fn write_data_terminal_ready(&mut self, level: bool) -> Result<()>
fn write_data_terminal_ready(&mut self, level: bool) -> Result<()>
Writes to the Data Terminal Ready pin Read more
Source§fn read_clear_to_send(&mut self) -> Result<bool>
fn read_clear_to_send(&mut self) -> Result<bool>
Reads the state of the CTS (Clear To Send) control signal. Read more
Source§fn read_data_set_ready(&mut self) -> Result<bool>
fn read_data_set_ready(&mut self) -> Result<bool>
Reads the state of the Data Set Ready control signal. Read more
Source§fn read_ring_indicator(&mut self) -> Result<bool>
fn read_ring_indicator(&mut self) -> Result<bool>
Reads the state of the Ring Indicator control signal. Read more
Source§fn read_carrier_detect(&mut self) -> Result<bool>
fn read_carrier_detect(&mut self) -> Result<bool>
Reads the state of the Carrier Detect control signal. Read more
Source§fn bytes_to_read(&self) -> Result<u32>
fn bytes_to_read(&self) -> Result<u32>
Gets the number of bytes available to be read from the input buffer. Read more
Source§fn bytes_to_write(&self) -> Result<u32>
fn bytes_to_write(&self) -> Result<u32>
Get the number of bytes written to the output buffer, awaiting transmission. Read more
Source§fn clear(&self, buffer_to_clear: ClearBuffer) -> Result<()>
fn clear(&self, buffer_to_clear: ClearBuffer) -> Result<()>
Discards all bytes from the serial driver’s input buffer and/or output buffer. Read more
Source§fn try_clone(&self) -> Result<Box<dyn SerialPort>>
fn try_clone(&self) -> Result<Box<dyn SerialPort>>
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 moreSource§fn clear_break(&self) -> Result<()>
fn clear_break(&self) -> Result<()>
Stop transmitting a break
Source§impl Write for SerialPortAdapter
impl Write for SerialPortAdapter
Source§fn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Writes a buffer into this writer, returning how many bytes were written. Read more
Source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flushes this output stream, ensuring that all intermediately buffered
contents reach their destination. Read more
Source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector)1.0.0 · Source§fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this writer. Read more
Source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
write_all_vectored)Attempts to write multiple buffers into this writer. Read more
Auto Trait Implementations§
impl Freeze for SerialPortAdapter
impl RefUnwindSafe for SerialPortAdapter
impl Send for SerialPortAdapter
impl Sync for SerialPortAdapter
impl Unpin for SerialPortAdapter
impl UnsafeUnpin for SerialPortAdapter
impl UnwindSafe for SerialPortAdapter
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more