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

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

Enable/Disable the output while the channel is idle

Set channel clock divider value

Enable/Disable carrier modulation

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.)

Implementors