From b19f35cbc702f3855db52824e26939093148f1b9 Mon Sep 17 00:00:00 2001 From: Yuval Adam <_@yuv.al> Date: Mon, 23 Jul 2018 19:56:08 +0300 Subject: Initial RtlSdr struct and impl --- src/lib.rs | 28 ++++++++++++++++++++++++++++ src/main.rs | 15 ++++++--------- 2 files changed, 34 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/lib.rs b/src/lib.rs index 40b4b77..268c0bd 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -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(); } -- cgit v1.3.1