Trait esp32c3_hal::pulse_control::OutputChannel
source · pub trait OutputChannel<CC> {
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<RmtPin>(self, pin: RmtPin) -> CC
where
RmtPin: OutputPin;
}
Expand description
Functionality that every OutputChannel must support
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<RmtPin>(self, pin: RmtPin) -> CCwhere
RmtPin: OutputPin,
fn assign_pin<RmtPin>(self, pin: RmtPin) -> CCwhere
RmtPin: OutputPin,
Assign a pin that should be driven by this channel
(Note that we only take a reference here, so the ownership remains with the calling entity. The configured pin thus can be re-configured independently.)