pub trait Transport {
Show 14 methods // Required method fn capabilities(&self) -> Result<Capabilities>; // Provided methods fn apply_default_configuration(&self) -> Result<()> { ... } fn jtag(&self, _opts: &JtagParams) -> Result<Box<dyn JtagChain + '_>> { ... } fn spi(&self, _instance: &str) -> Result<Rc<dyn Target>> { ... } fn i2c(&self, _instance: &str) -> Result<Rc<dyn Bus>> { ... } fn uart(&self, _instance: &str) -> Result<Rc<dyn Uart>> { ... } fn gpio_pin(&self, _instance: &str) -> Result<Rc<dyn GpioPin>> { ... } fn gpio_monitoring(&self) -> Result<Rc<dyn GpioMonitoring>> { ... } fn gpio_bitbanging(&self) -> Result<Rc<dyn GpioBitbanging>> { ... } fn emulator(&self) -> Result<Rc<dyn Emulator>> { ... } fn proxy_ops(&self) -> Result<Rc<dyn ProxyOps>> { ... } fn dispatch(&self, _action: &dyn Any) -> Result<Option<Box<dyn Annotate>>> { ... } fn maintain_connection(&self) -> Result<Rc<dyn MaintainConnection>> { ... } fn nonblocking_help(&self) -> Result<Rc<dyn NonblockingHelp>> { ... }
}
Expand description

A transport object is a factory for the low-level interfaces provided by a given communications backend.

Required Methods§

source

fn capabilities(&self) -> Result<Capabilities>

Returns a Capabilities object to check the capabilities of this transport object.

Provided Methods§

source

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 jtag(&self, _opts: &JtagParams) -> Result<Box<dyn JtagChain + '_>>

Returns a JtagChain implementation.

source

fn spi(&self, _instance: &str) -> Result<Rc<dyn Target>>

Returns a SPI Target implementation.

source

fn i2c(&self, _instance: &str) -> Result<Rc<dyn Bus>>

Returns a I2C Bus implementation.

source

fn uart(&self, _instance: &str) -> Result<Rc<dyn Uart>>

Returns a Uart implementation.

source

fn gpio_pin(&self, _instance: &str) -> Result<Rc<dyn GpioPin>>

Returns a GpioPin implementation.

source

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>>

Returns a GpioBitbanging implementation, for timed and synchronized manipulation of multiple GPIO pins.

source

fn emulator(&self) -> Result<Rc<dyn Emulator>>

Returns a Emulator implementation.

source

fn proxy_ops(&self) -> Result<Rc<dyn ProxyOps>>

Methods available only on Proxy implementation.

source

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>>

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.

source

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.

Implementors§

source§

impl Transport for Dediprog

source§

impl Transport for HyperdebugDfu

The device does not support any part of the Transport trait, except the UpdateFirmware action.

source§

impl Transport for Proxy

source§

impl Transport for EmptyTransport

source§

impl Transport for Ti50Emulator

Implementation of the Transport trait backed based on TockOS HostEmulation port.

source§

impl Transport for Ultradebug

source§

impl Transport for Verilator

source§

impl<B: Board + 'static> Transport for ChipWhisperer<B>

source§

impl<T: Flavor> Transport for Hyperdebug<T>