pub struct RxChannelConfig {
pub clock_source: ClockSource,
pub resolution: Hertz,
pub memory_access: MemoryAccess,
pub interrupt_priority: i32,
pub invert_in: bool,
pub io_loop_back: bool,
pub allow_pd: bool,
/* private fields */
}Fields§
§clock_source: ClockSourceSelects the source clock for the RMT channel.
Note that, the selected clock is also used by other channels, which means the user should ensure this configuration is the same when allocating other channels, regardless of TX or RX. For the effect on the power consumption of different clock sources, please refer to the Power Management section.
resolution: HertzSets the resolution of the internal tick counter. The timing parameter of the RMT signal is calculated based on this tick.
memory_access: MemoryAccessControls how the channel accesses memory.
interrupt_priority: i32Set the priority of the interrupt. If set to 0, then the driver will use a
interrupt with low or medium priority (priority level may be one of 1, 2 or 3),
otherwise use the priority indicated by RxChannelConfig::interrupt_priority.
Please pay attention that once the interrupt priority is set, it cannot be changed until the channel is dropped.
invert_in: boolIs used to decide whether to invert the incoming RMT signal.
io_loop_back: boolThe signal output from the GPIO will be fed to the input path as well.
allow_pd: boolConfigures if the driver allows the system to power down the peripheral in light sleep mode. Before entering sleep, the system will backup the RMT register context, which will be restored later when the system exit the sleep mode. Powering down the peripheral can save more power, but at the cost of more memory consumed to save the register context. It’s a tradeoff between power consumption and memory consumption. This configuration option relies on specific hardware feature, if you enable it on an unsupported chip, you will see error message like not able to power down in light sleep.
Trait Implementations§
Source§impl Clone for RxChannelConfig
impl Clone for RxChannelConfig
Source§fn clone(&self) -> RxChannelConfig
fn clone(&self) -> RxChannelConfig
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RxChannelConfig
impl Debug for RxChannelConfig
Auto Trait Implementations§
impl Freeze for RxChannelConfig
impl RefUnwindSafe for RxChannelConfig
impl Send for RxChannelConfig
impl Sync for RxChannelConfig
impl Unpin for RxChannelConfig
impl UnsafeUnpin for RxChannelConfig
impl UnwindSafe for RxChannelConfig
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)