diff options
| -rw-r--r-- | src/lib.rs | 28 | ||||
| -rw-r--r-- | src/main.rs | 15 |
2 files changed, 34 insertions, 9 deletions
@@ -1,9 +1,37 @@ +extern crate libusb; + pub struct Dongle { vendor: u16, product: u16, name: &'static str } +pub struct RtlSdr { + usb_ctx: libusb::Context +} + +impl RtlSdr { + pub fn new() -> RtlSdr { + let usb_ctx = libusb::Context::new().unwrap(); + RtlSdr { + usb_ctx + } + } + + pub fn find(&self) { + for mut dev in self.usb_ctx.devices().unwrap().iter() { + let desc = dev.device_descriptor().unwrap(); + println!("Bus {:03} Device {:03} ID {:04x}:{:04x}", + dev.bus_number(), + dev.address(), + desc.vendor_id(), + desc.product_id()); + } + } +} + + + #[cfg(test)] mod tests { use super::*; diff --git a/src/main.rs b/src/main.rs index 697912b..ce80d1b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,14 +1,11 @@ extern crate libusb; +mod lib; + +use lib::RtlSdr; + fn main() { println!("Running"); - let ctx = libusb::Context::new().unwrap(); - for mut dev in ctx.devices().unwrap().iter() { - let desc = dev.device_descriptor().unwrap(); - println!("Bus {:03} Device {:03} ID {:04x}:{:04x}", - dev.bus_number(), - dev.address(), - desc.vendor_id(), - desc.product_id()); - } + let rtlsdr = RtlSdr::new(); + rtlsdr.find(); } |
