summaryrefslogtreecommitdiff
path: root/src/lib.rs
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2018-07-23 19:56:08 +0300
committerYuval Adam <_@yuv.al>2018-07-23 19:56:08 +0300
commitb19f35cbc702f3855db52824e26939093148f1b9 (patch)
tree5cb946b1aceb1ce2e4e33cb2442638ea8813a969 /src/lib.rs
parent42b95915c11780a796f32ca9c35cb286155da7cc (diff)
Initial RtlSdr struct and impl
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs28
1 files changed, 28 insertions, 0 deletions
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::*;