Trait si5351::Si5351
[−]
[src]
pub trait Si5351<'a> { fn init_adafruit_module(&mut self) -> Result<(), Error>; fn init(&mut self, xtal_load: CrystalLoad) -> Result<(), Error>; fn read_device_status(&mut self) -> Result<DeviceStatusBits, Error>; fn find_int_dividers_for_max_pll_freq(
&self,
max_pll_freq: u32,
freq: u32
) -> Result<(u16, OutputDivider), Error>; fn find_pll_coeffs_for_dividers(
&self,
total_div: u32,
denom: u32,
freq: u32
) -> Result<(u8, u32), Error>; fn set_frequency(
&mut self,
pll: PLL,
clk: ClockOutput,
freq: u32
) -> Result<(), Error>; fn set_clock_enabled(&mut self, clk: ClockOutput, enabled: bool); fn flush_output_enabled(&mut self) -> Result<(), Error>; fn flush_clock_control(&mut self, clk: ClockOutput) -> Result<(), Error>; fn setup_pll_int(&mut self, pll: PLL, mult: u8) -> Result<(), Error>; fn setup_pll(
&mut self,
pll: PLL,
mult: u8,
num: u32,
denom: u32
) -> Result<(), Error>; fn setup_multisynth_int(
&mut self,
ms: Multisynth,
mult: u16,
r_div: OutputDivider
) -> Result<(), Error>; fn setup_multisynth(
&mut self,
ms: Multisynth,
div: u16,
num: u32,
denom: u32,
r_div: OutputDivider
) -> Result<(), Error>; fn select_clock_pll(&mut self, clocl: ClockOutput, pll: PLL); }
Required Methods
fn init_adafruit_module(&mut self) -> Result<(), Error>
fn init(&mut self, xtal_load: CrystalLoad) -> Result<(), Error>
fn read_device_status(&mut self) -> Result<DeviceStatusBits, Error>
fn find_int_dividers_for_max_pll_freq(
&self,
max_pll_freq: u32,
freq: u32
) -> Result<(u16, OutputDivider), Error>
&self,
max_pll_freq: u32,
freq: u32
) -> Result<(u16, OutputDivider), Error>
fn find_pll_coeffs_for_dividers(
&self,
total_div: u32,
denom: u32,
freq: u32
) -> Result<(u8, u32), Error>
&self,
total_div: u32,
denom: u32,
freq: u32
) -> Result<(u8, u32), Error>
fn set_frequency(
&mut self,
pll: PLL,
clk: ClockOutput,
freq: u32
) -> Result<(), Error>
&mut self,
pll: PLL,
clk: ClockOutput,
freq: u32
) -> Result<(), Error>
fn set_clock_enabled(&mut self, clk: ClockOutput, enabled: bool)
fn flush_output_enabled(&mut self) -> Result<(), Error>
fn flush_clock_control(&mut self, clk: ClockOutput) -> Result<(), Error>
fn setup_pll_int(&mut self, pll: PLL, mult: u8) -> Result<(), Error>
fn setup_pll(
&mut self,
pll: PLL,
mult: u8,
num: u32,
denom: u32
) -> Result<(), Error>
&mut self,
pll: PLL,
mult: u8,
num: u32,
denom: u32
) -> Result<(), Error>
fn setup_multisynth_int(
&mut self,
ms: Multisynth,
mult: u16,
r_div: OutputDivider
) -> Result<(), Error>
&mut self,
ms: Multisynth,
mult: u16,
r_div: OutputDivider
) -> Result<(), Error>
fn setup_multisynth(
&mut self,
ms: Multisynth,
div: u16,
num: u32,
denom: u32,
r_div: OutputDivider
) -> Result<(), Error>
&mut self,
ms: Multisynth,
div: u16,
num: u32,
denom: u32,
r_div: OutputDivider
) -> Result<(), Error>
fn select_clock_pll(&mut self, clocl: ClockOutput, pll: PLL)
Implementors
impl<'a, I2C, E> Si5351<'a> for Si5351Device<'a, I2C> where
I2C: WriteRead<Error = E> + Write<Error = E>,