Trait esp32c3_hal::pulse_control::OutputChannel
source · pub trait OutputChannel {
type ConfiguredChannel<'d, P: OutputPin + 'd>;
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§
sourcetype ConfiguredChannel<'d, P: OutputPin + 'd>
type ConfiguredChannel<'d, P: OutputPin + 'd>
Output channel type
Required Methods§
sourcefn set_idle_output_level(&mut self, level: bool) -> &mut Self
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
sourcefn set_idle_output(&mut self, state: bool) -> &mut Self
fn set_idle_output(&mut self, state: bool) -> &mut Self
Enable/Disable the output while the channel is idle
sourcefn set_channel_divider(&mut self, divider: u8) -> &mut Self
fn set_channel_divider(&mut self, divider: u8) -> &mut Self
Set channel clock divider value
sourcefn set_carrier_modulation(&mut self, state: bool) -> &mut Self
fn set_carrier_modulation(&mut self, state: bool) -> &mut Self
Enable/Disable carrier modulation
sourcefn assign_pin<'d, P>(
self,
pin: impl Peripheral<P = P> + 'd
) -> Self::ConfiguredChannel<'d, P>where
P: OutputPin,
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