pub struct Proxy { /* private fields */ }
Expand description
Implementation of the Transport trait backed by connection to a remote OpenTitan tool session process.
Implementations§
Trait Implementations§
Source§impl Transport for Proxy
impl Transport for Proxy
Source§fn capabilities(&self) -> Result<Capabilities>
fn capabilities(&self) -> Result<Capabilities>
Returns a
Capabilities
object to check the capabilities of this
transport object.Source§fn apply_default_configuration(&self) -> Result<()>
fn apply_default_configuration(&self) -> Result<()>
Resets the transport to power-on condition. That is, pin/uart/spi configuration reverts
to default, ongoing operations are cancelled, etc.
Source§fn gpio_pin(&self, pinname: &str) -> Result<Rc<dyn GpioPin>>
fn gpio_pin(&self, pinname: &str) -> Result<Rc<dyn GpioPin>>
Returns a
GpioPin
implementation.Source§fn gpio_monitoring(&self) -> Result<Rc<dyn GpioMonitoring>>
fn gpio_monitoring(&self) -> Result<Rc<dyn GpioMonitoring>>
Returns a
GpioMonitoring
implementation, for logic analyzer functionality.Source§fn gpio_bitbanging(&self) -> Result<Rc<dyn GpioBitbanging>>
fn gpio_bitbanging(&self) -> Result<Rc<dyn GpioBitbanging>>
Returns a
GpioBitbanging
implementation, for timed and synchronized manipulation of
multiple GPIO pins.Source§fn proxy_ops(&self) -> Result<Rc<dyn ProxyOps>>
fn proxy_ops(&self) -> Result<Rc<dyn ProxyOps>>
Methods available only on Proxy implementation.
Source§fn nonblocking_help(&self) -> Result<Rc<dyn NonblockingHelp>>
fn nonblocking_help(&self) -> Result<Rc<dyn NonblockingHelp>>
Before nonblocking operations can be used on
Uart
or other traits, this
NonblockingHelp
object must be invoked, in order to get the Transport
implementation a
chance to register its internal event sources with the main event loop.Source§fn jtag(&self, _opts: &JtagParams) -> Result<Box<dyn JtagChain + '_>>
fn jtag(&self, _opts: &JtagParams) -> Result<Box<dyn JtagChain + '_>>
Returns a
JtagChain
implementation.Source§fn dispatch(&self, _action: &dyn Any) -> Result<Option<Box<dyn Annotate>>>
fn dispatch(&self, _action: &dyn Any) -> Result<Option<Box<dyn Annotate>>>
Invoke non-standard functionality of some Transport implementations.
Source§fn maintain_connection(&self) -> Result<Rc<dyn MaintainConnection>>
fn maintain_connection(&self) -> Result<Rc<dyn MaintainConnection>>
As long as the returned
MaintainConnection
object is kept by the caller, this driver may
assume that no other opentitantool
processes attempt to access the same debugger device.
This allows for optimzations such as keeping USB handles open across function invocations.Auto Trait Implementations§
impl Freeze for Proxy
impl !RefUnwindSafe for Proxy
impl !Send for Proxy
impl !Sync for Proxy
impl Unpin for Proxy
impl !UnwindSafe for Proxy
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