pub trait SwoAccess {
    fn enable_swo(&mut self, config: &SwoConfig) -> Result<(), ArmError>;
    fn disable_swo(&mut self) -> Result<(), ArmError>;
    fn read_swo_timeout(
        &mut self,
        timeout: Duration
    ) -> Result<Vec<u8>, ArmError>; fn read_swo(&mut self) -> Result<Vec<u8>, ArmError> { ... } fn swo_poll_interval_hint(&mut self, config: &SwoConfig) -> Option<Duration> { ... } fn swo_buffer_size(&mut self) -> Option<usize> { ... } }
Expand description

An interface to operate SWO to be implemented on drivers that support SWO.

Required Methods§

Configure a SwoAccess interface for reading SWO data.

Disable SWO reading on this SwoAccess interface.

Read SWO data for up to timeout duration.

If no data is received before the timeout, returns an empty Vec. May return earlier than timeout if the receive buffer fills up.

Provided Methods§

Read any available SWO data without waiting.

Returns a Vec<u8> of received SWO bytes since the last read_swo() call. If no data was available, returns an empty Vec.

Request an estimated best time to wait between polls of read_swo.

A probe can implement this if it can work out a sensible time to wait between polls, for example using the probe’s internal buffer size and SWO baud rate, or a 0s duration if reads can block for new data.

The default implementation computes an estimated interval based on the buffer size, mode, and baud rate.

Request the probe SWO buffer size, if known.

Implementors§