summaryrefslogtreecommitdiff
path: root/src/tuners/mod.rs
blob: 269ff2644a275e01607637c76864a3cd4393b6da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
use super::RtlSdrDeviceHandle;

pub mod fc0013;
pub mod r820t;

pub struct TunerInfo {
    pub id: &'static str,
    pub name: &'static str,
    pub i2c_addr: u8,
    pub check_addr: u8,
    pub check_val: u8,
    // pub gains: Vec<i8>,
}

pub trait Tuner {
    fn init(&self, handle: &RtlSdrDeviceHandle);
    fn exit(&self);
    fn set_freq(&self, freq: u32);
    fn set_bw(&self, bw: u32, handle: &RtlSdrDeviceHandle);
    fn set_gain(&self, gain: u32);
    fn set_if_gain(&self, if_gain: u32);
    fn set_gain_mode(&self, mode: bool);
    fn display(&self) -> &str;
}