pub struct Hyperdebug<T: Flavor> { /* private fields */ }
Expand description
Implementation of the Transport trait for HyperDebug based on the Nucleo-L552ZE-Q.
Implementations§
Trait Implementations§
Source§impl<T: Flavor> Transport for Hyperdebug<T>
impl<T: Flavor> Transport for Hyperdebug<T>
Source§fn maintain_connection(&self) -> Result<Rc<dyn MaintainConnection>>
fn maintain_connection(&self) -> Result<Rc<dyn MaintainConnection>>
The way that the HyperDebug driver allows callers to request optimization for a sequence
of operations without other opentitantool
processes meddling with the USB devices, is to
let the caller hold an Rc
-reference to the Conn
struct, thereby keeping the USB
connection alive. Callers should only hold ond to the object as long as they can
guarantee that no other opentitantool
processes simultaneously attempt to access the
same HyperDebug USB device.
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 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 jtag(&self, opts: &JtagParams) -> Result<Box<dyn JtagChain + '_>>
fn jtag(&self, opts: &JtagParams) -> Result<Box<dyn JtagChain + '_>>
Returns a
JtagChain
implementation.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.Auto Trait Implementations§
impl<T> !Freeze for Hyperdebug<T>
impl<T> !RefUnwindSafe for Hyperdebug<T>
impl<T> !Send for Hyperdebug<T>
impl<T> !Sync for Hyperdebug<T>
impl<T> Unpin for Hyperdebug<T>where
T: Unpin,
impl<T> !UnwindSafe for Hyperdebug<T>
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