At this point I have put together a lot of register level code in µPython to control the low level hardware capabilities of the rp2040, but not really done it in a reusable way: every instance is bespoke. Next step then to start looking at building up a set of libraries which abstract some of the functionality (ADC via FIFO, DMA, UARTs, PWM, …) such that it can be used in a more general program.
This has the side-effect that the code will start to look a lot like the rp2040 SDK: lots of header files full of numbers you can include in your source code, with code to manipulate those numbers.
Is this something I want to do? 🤔
Alternatively chaining DMAs and getting something running which will make for a set of sustainable DMA requests over a longish time frame would also be useful -> next step? Have prototype for that in the existing picoripheral code base in C.