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 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src/lib.rs') 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::*; -- cgit v1.3.1