From f0025e9c44c519224b532c54c8b301029a42f98e Mon Sep 17 00:00:00 2001 From: Yuval Adam <_@yuv.al> Date: Mon, 30 Jul 2018 21:58:21 +0300 Subject: Implement deinit_baseband() --- src/lib.rs | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/lib.rs') diff --git a/src/lib.rs b/src/lib.rs index 305ecbd..f2f20eb 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -190,6 +190,13 @@ impl<'a> RtlSdr<'a> { self.demod_write_reg(&handle, 0, 0x0d, 0x83, 1); } + fn deinit_baseband(&self, handle: &libusb::DeviceHandle) { + // deinit tuner? + + // power off demod and ADCs + self.write_reg(&handle, BLOCK_SYSB, ADDR_SYS_DEMOD_CTL, 0x20, 1); + } + pub fn open(&mut self) { for mut dev in self.ctx.devices().unwrap().iter() { let desc = dev.device_descriptor().unwrap(); @@ -245,6 +252,8 @@ impl<'a> RtlSdr<'a> { }; } + self.deinit_baseband(&handle); + if has_kernel_driver { handle.attach_kernel_driver(self.iface_id).ok(); } -- cgit v1.3.1