@Igor Skochinsky
I wonder if you can do timed DMA reads from GPIO registers.
When I originally started MODDMA it was just a port of the NXP GPDMA Driver Library to a C++ "Mbed style" library component. However, it's gained a few minor features and bug fixes (that are still in the driver lib despite feeding them back) over time. However, Win's constant nagging about the Sync and BSel registers (sorry Wim, your not really nagging!) coupled with my poor response of "the manual is a bit vague" got me thinking. I don't like only vague ideas.
So this afternoon I set to on adding some lucidity to my understanding of some of the regsiters the NXP Driver Library doesn't support configurations for.
Low and behold, this is the result. Enjoy. I can see this new feature making MODDMA a popular library from it's previously obscure position :)
Note, only Timers 0 through 3 (although using 3 is a bad idea as we all know, Mbed libs use it) are supported for GPIO transfers. But that should be fine.
@Wim, I can now see how to remove the "latency" my other example of burst grabbing multiple ADC channels to a memory buffer. I'll probably add new transfer modes to MODDMA to support the same style of functionalty as timed sequence transfers of GPIO that the new functionaly has. Watch this space.
Hi,
FYI, I've just published a library wrapping the LPC's RIT (Repetitive Timer Interrupt).
See
Import programRIT_Demo
RIT (Repetitive Interrupt Timer) Demo.
Last commit 18 Jan 2022 by Wim van der Vegt
Any comments are welcome!