13247897b0
640: Skip EasyDMA slice location check for empty slices and copy data if necessary r=Dirbaio a=TilBlechschmidt As discussed, this PR makes the following changes: - Ignore pointer location of zero-length slices (fixes #631) - Change default functions so they copy the tx buffer if it does not reside in RAM - Introduce new variants for `write`, `transfer`, and their blocking versions which fails instead of copying - Add documentation about the motivation behind all these variants <img width="984" alt="image" src="https://user-images.githubusercontent.com/5037967/155415788-c2cd1055-9289-4004-959d-be3b1934a439.png"> Remaining TODOs: - [x] Change copying behaviour for other peripherals - [x] TWI - [x] UART - [x] Add module-level documentation regarding EasyDMA and `_from_ram` method variants `@Dirbaio` it probably makes sense for you to review it now before I "copy" over the changes to the other two peripherals. Co-authored-by: Til Blechschmidt <til@blechschmidt.de> |
||
---|---|---|
.. | ||
chips | ||
ppi | ||
buffered_uarte.rs | ||
fmt.rs | ||
gpio.rs | ||
gpiote.rs | ||
lib.rs | ||
nvmc.rs | ||
pwm.rs | ||
qspi.rs | ||
rng.rs | ||
saadc.rs | ||
spim.rs | ||
temp.rs | ||
time_driver.rs | ||
timer.rs | ||
twim.rs | ||
uarte.rs | ||
usb.rs | ||
util.rs | ||
wdt.rs |