I am happy to share this new project!
https://github.com/Jean-MarcHarvengt/VGA_t4
Probably not yet at the level of uVGA but it was at least a good opportunity for me to learn about QTIMER and FlexIO from all the experiments shared on the forum (thanks to KurtE, Manitou, easone and Paul of course!)
For the moment it supports 352x240 and 512x240 in 8bits RRRGGGBB.
It can be extended to 480 pixels vertically without any problem and I think 12bits would even be possible (see code, feel free to try but it would require another resistor ladder!)
QTIMER3 (timer3) is used for generating the H-SYNC (and the line interrupt)
I use FlexIO1 and FlexIO2 to obtain 2x4bits in parallel on the IO pins.
2 DMA channels are used to generate the PIXELS from the 8bits buffer, started from the line interrupt (feeding the 2 FlexIO shift registers at the pixel clock)
https://github.com/Jean-MarcHarvengt/VGA_t4
Probably not yet at the level of uVGA but it was at least a good opportunity for me to learn about QTIMER and FlexIO from all the experiments shared on the forum (thanks to KurtE, Manitou, easone and Paul of course!)
For the moment it supports 352x240 and 512x240 in 8bits RRRGGGBB.
It can be extended to 480 pixels vertically without any problem and I think 12bits would even be possible (see code, feel free to try but it would require another resistor ladder!)
QTIMER3 (timer3) is used for generating the H-SYNC (and the line interrupt)
I use FlexIO1 and FlexIO2 to obtain 2x4bits in parallel on the IO pins.
2 DMA channels are used to generate the PIXELS from the 8bits buffer, started from the line interrupt (feeding the 2 FlexIO shift registers at the pixel clock)