embedded-dma
embedded-dma copied to clipboard
`ReadTarget` allows implement `ReadBuffer` for some standard generic types, such as `alloc::Box`, [heapless::Box](https://docs.rs/heapless/latest/heapless/pool/boxed/struct.Box.html#) et. al. ```rust unsafe impl ReadBuffer for B where B: Deref + StableDeref + 'static, T: ReadTarget...
Currently using stack-allocated buffers is impossible without unsafe. Here are two ideas on how to do this, coming from our conversations in Matrix :) I'm not sure which one is...
The `ReadBuffer`/`WriteBuffer` types only have the base address and length, but no stride. This doesn't allow them to handle DMA engines where you can do scatter-gather operations. Or alternatively a...
Depends on #19 Add a means for taking a slice of a buffer. I think the reasoning for this is best explained by the documentation I have written. --- A...
All of the buffer access methods, `write_buffer`, `read_buffer`, and their static counterparts, are `unsafe`, but the *Safety* section in their docs does not explain what invariants the caller needs to...
I have a use case where I'd like to reuse a buffer type for multiple different DMA operations that require different word sizes and alignments. Basically what I'd like to...
Maybe embedded-dma could provide an (unsafe, obviously) API to use any buffer with minimal fuss? Something like this: ```rust struct UnsafeWriteBuffer{ pub unsafe fn new(inner: &'a mut T) -> Self{...
I have been working on some examples using different `setup()` functions for different `stm32*xx_hals` and then common application code. Some time ago I put aside the serial dma examples because...