pub enum MemoryAccess {
Direct {
memory_block_symbols: usize,
},
Indirect {
memory_block_symbols: usize,
},
}Expand description
Controls how the channel accesses memory.
Variants§
Direct
Enables the DMA backend for the channel. Using the DMA allows a significant amount of
the channel’s workload to be offloaded from the CPU. However, the DMA backend is not
available on all ESP chips, please refer to TRM before you enable this option.
Or you might encounter a ESP_ERR_NOT_SUPPORTED error.
Fields
§
memory_block_symbols: usizeThis field controls the size of the internal DMA buffer. To achieve a better
throughput and smaller CPU overhead, you can set a larger value, e.g., 1024.
Indirect
Disables direct memory access. The CPU will have to read/write the data transferred from/to the RMT memory.
Fields
§
memory_block_symbols: usizeThis field controls the size of the dedicated memory block owned by the channel, which should be at least 64.
Trait Implementations§
Source§impl Clone for MemoryAccess
impl Clone for MemoryAccess
Source§fn clone(&self) -> MemoryAccess
fn clone(&self) -> MemoryAccess
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MemoryAccess
impl Debug for MemoryAccess
Source§impl Default for MemoryAccess
impl Default for MemoryAccess
Source§impl PartialEq for MemoryAccess
impl PartialEq for MemoryAccess
impl Copy for MemoryAccess
impl Eq for MemoryAccess
impl StructuralPartialEq for MemoryAccess
Auto Trait Implementations§
impl Freeze for MemoryAccess
impl RefUnwindSafe for MemoryAccess
impl Send for MemoryAccess
impl Sync for MemoryAccess
impl Unpin for MemoryAccess
impl UnsafeUnpin for MemoryAccess
impl UnwindSafe for MemoryAccess
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
Mutably borrows from an owned value. Read more
§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)
🔬This is a nightly-only experimental API. (
clone_to_uninit)