summaryrefslogtreecommitdiff
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
parent42b95915c11780a796f32ca9c35cb286155da7cc (diff)
Initial RtlSdr struct and impl
-rw-r--r--src/lib.rs28
-rw-r--r--src/main.rs15
2 files changed, 34 insertions, 9 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::*;
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();
}