opentitanlib::transport::hyperdebug

Struct Inner

Source
pub struct Inner { /* private fields */ }
Expand description

Internal state of the Hyperdebug struct, this struct is reference counted such that Gpio, Spi and Uart sub-structs can all refer to this shared data, which is guaranteed to live on, even if the caller lets the outer Hyperdebug struct run out of scope.

Implementations§

Source§

impl Inner

Source

pub fn connect(&self) -> Result<Rc<Conn>>

Establish connection with HyperDebug console USB interface.

Source

pub fn cmd_no_output(&self, cmd: &str) -> Result<()>

Send a command to HyperDebug firmware, expecting to receive no output. Any output will be reported through an Err() return.

Source

pub fn cmd_one_line_output(&self, cmd: &str) -> Result<String>

Send a command to HyperDebug firmware, expecting to receive a single line of output. Any more or less output will be reported through an Err() return.

Source

pub fn cmd_one_line_output_match<'a>( &self, cmd: &str, regex: &Regex, buf: &'a mut String, ) -> Result<Captures<'a>>

Send a command to HyperDebug firmware, expecting to receive a single line of output. Any more or less output will be reported through an Err() return.

Auto Trait Implementations§

§

impl !Freeze for Inner

§

impl !RefUnwindSafe for Inner

§

impl !Send for Inner

§

impl !Sync for Inner

§

impl Unpin for Inner

§

impl !UnwindSafe for Inner

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V