pub trait _esp_hal_pulse_control_OutputChannel {
    type ConfiguredChannel<'d, P: OutputPin + 'd>;

    // Required methods
    fn set_idle_output_level(&mut self, level: bool) -> &mut Self;
    fn set_idle_output(&mut self, state: bool) -> &mut Self;
    fn set_channel_divider(&mut self, divider: u8) -> &mut Self;
    fn set_carrier_modulation(&mut self, state: bool) -> &mut Self;
    fn assign_pin<'d, P>(
        self,
        pin: impl Peripheral<P = P> + 'd
    ) -> Self::ConfiguredChannel<'d, P>
       where P: OutputPin;
}
Expand description

Functionality that every OutputChannel must support

Required Associated Types§

source

type ConfiguredChannel<'d, P: OutputPin + 'd>

Output channel type

Required Methods§

source

fn set_idle_output_level(&mut self, level: bool) -> &mut Self

Set the logical level that the connected pin is pulled to while the channel is idle

source

fn set_idle_output(&mut self, state: bool) -> &mut Self

Enable/Disable the output while the channel is idle

source

fn set_channel_divider(&mut self, divider: u8) -> &mut Self

Set channel clock divider value

source

fn set_carrier_modulation(&mut self, state: bool) -> &mut Self

Enable/Disable carrier modulation

source

fn assign_pin<'d, P>( self, pin: impl Peripheral<P = P> + 'd ) -> Self::ConfiguredChannel<'d, P>where P: OutputPin,

Assign a pin that should be driven by this channel

Implementors§