pub struct USBProtocol { /* private fields */ }Implementations§
Source§impl USBProtocol
impl USBProtocol
Sourcepub fn list_devices(all: bool) -> Result<Vec<UsbDeviceInfo>, CommunicationError>
pub fn list_devices(all: bool) -> Result<Vec<UsbDeviceInfo>, CommunicationError>
List currently connected USB-HID devices.
By default, only devices whose VID matches a known NXP vendor ID
(see NXP_USB_VIDS) are returned, to avoid cluttering the output
with unrelated HID devices (mice, keyboards, etc.) present on the
system. Pass all = true to return every HID device the OS reports,
unfiltered.
This is primarily intended to help a user find the path or serial
of a specific board when several identical devices (same VID/PID) are
connected, for use as the <selector> part of a
-u/--usb <vid>,<pid>,<selector> identifier.
§Errors
Returns an error if the underlying HID API fails to initialize.
Trait Implementations§
Source§impl Debug for USBProtocol
impl Debug for USBProtocol
Source§impl Protocol for USBProtocol
impl Protocol for USBProtocol
Source§fn get_polling_interval(&self) -> Duration
fn get_polling_interval(&self) -> Duration
Get the polling interval for checking responses
Source§fn get_timeout(&self) -> Duration
fn get_timeout(&self) -> Duration
Get the configured timeout duration for operations
Source§fn get_identifier(&self) -> &str
fn get_identifier(&self) -> &str
Get a string identifier for this protocol instance
Source§fn read(&mut self, bytes: usize) -> Result<Vec<u8>, CommunicationError>
fn read(&mut self, bytes: usize) -> Result<Vec<u8>, CommunicationError>
Read raw bytes from the device Read more
Source§fn write_packet_raw(&mut self, data: &[u8]) -> Result<(), CommunicationError>
fn write_packet_raw(&mut self, data: &[u8]) -> Result<(), CommunicationError>
Write raw packet data to the device Read more
Source§fn read_packet_raw(&mut self, _: u8) -> Result<Vec<u8>, CommunicationError>
fn read_packet_raw(&mut self, _: u8) -> Result<Vec<u8>, CommunicationError>
Read a raw packet with specific type code Read more
Source§fn write_packet_concrete<T>(
&mut self,
packet: T,
) -> Result<(), CommunicationError>where
T: PacketConstruct + Packet,
fn write_packet_concrete<T>(
&mut self,
packet: T,
) -> Result<(), CommunicationError>where
T: PacketConstruct + Packet,
Write a strongly-typed packet to the device Read more
Source§fn read_packet_concrete<T>(&mut self) -> Result<T, CommunicationError>where
T: PacketParse + Packet,
fn read_packet_concrete<T>(&mut self) -> Result<T, CommunicationError>where
T: PacketParse + Packet,
Read a strongly-typed packet from the device Read more
Source§impl ProtocolOpen for USBProtocol
impl ProtocolOpen for USBProtocol
Source§fn open(identifier: &str) -> Result<Self, CommunicationError>
fn open(identifier: &str) -> Result<Self, CommunicationError>
Open a protocol connection with basic identifier Read more
Source§fn open_with_options(
identifier: &str,
_baudrate: u32,
timeout: Duration,
polling_interval: Duration,
) -> Result<Self, CommunicationError>
fn open_with_options( identifier: &str, _baudrate: u32, timeout: Duration, polling_interval: Duration, ) -> Result<Self, CommunicationError>
Open a protocol connection with advanced options Read more
Auto Trait Implementations§
impl !RefUnwindSafe for USBProtocol
impl !Sync for USBProtocol
impl !UnwindSafe for USBProtocol
impl Freeze for USBProtocol
impl Send for USBProtocol
impl Unpin for USBProtocol
impl UnsafeUnpin for USBProtocol
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