The problem with STM, is that for the F1 they call them Controllers, and Channels, and then several peripherals can use the same channel but not at the same time. They don't use the word stream in F1 at all. There is some differences between the F1 and F4 DMA controllers, but to be honest I haven't looked at the F4 at all, so I dont know the differences.Ollie wrote:I agree, that we will have many moons before we will use Arduino IDE for serious or semiserious F4/F7/H7 programming. In that frontier, the developers need to be aware of the capabilities and restrictions of different peripheral buses and the DMA channels in them.
I do propose that we are using STM terminology for these concepts. In that sense we need to identify that there are only few DMA channels and each of them have multiple streams. The streams in different channels can be active at the same time, but for the streams in a channel only one can be active at any point of time.
Leaflabs had started to use that terminology to be consistent between the F1 and the F4 ports, so we can go ahead and use it, but they were calling something tubes. Again I haven't looked at that much, I've been using the old methods in the F1. We can switch that to use the "tubes" methods, that should be compatible with both F1 and F4, and perhaps add a wiki page, if leaflabs didn't have one, explaining the differences between the F1 and F4 DMA. Otherwise if you start talking about streams or tubes in the F1 context, and someone tries to find it in the F1 reference manual, won't find anything.