[−][src]Crate usb_enumeration
A cross platform Rust library that returns the vendor and product IDs of currently connected USB devices
Example
let devices = usb_enumeration::enumerate(); println!("{:#?}", devices); // Outputs: // [ // USBDevice { // id: "USB\\VID_0CE9&PID_1220\\0000000004BE", // vendor_id: 3305, // product_id: 4640, // description: Some( // "PicoScope 4000 series PC Oscilloscope", // ), // }, // USBDevice { // id: "USB\\VID_046D&PID_C52B\\5&17411534&0&11", // vendor_id: 1133, // product_id: 50475, // description: Some( // "USB Composite Device", // ), // }, // USBDevice { // id: "USB\\VID_046D&PID_C52B&MI_00\\6&12D311A2&0&0000", // vendor_id: 1133, // product_id: 50475, // description: Some( // "Logitech USB Input Device", // ), // }, // etc... // ]
You can also subscribe events using the Observer
:
use usb_enumeration::{Observer, Event}; // Set the poll interval to 2 seconds let sub = Observer::new(2) .with_vendor_id(0x1234) .with_product_id(0x5678) .subscribe(); // when sub is dropped, the background thread will close for event in sub.rx_event.iter() { match event { Event::Initial(d) => println!("Initial devices: {:?}", d), Event::Connect(d) => println!("Connected device: {:?}", d), Event::Disconnect(d) => println!("Disconnected device: {:?}", d), } }
Structs
Observer | |
Subscription | |
USBDevice | Discovered USB device |
Enums
Event | Events send from the Observer |
Traits
Filters |
Functions
enumerate | Enumerates connected USB devices |