Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 8013

General • Re: Help with PIO fundamentals to drive matrix-based displays.

$
0
0
DMA does have a circular mode, but that only works with power-of-2 sized buffers; the solution for this case is to use a pair of DMA channels, with one channel doing a 175-byte transfer to the PIO and then chaining to the second channel; the second channel then just reloads the first one to do it again.
Thanks! Both of those sound like it would work. I'd like the PIO to just keep refreshing the displays, updating the framebuffer data whenever I need to. I could easily expand the data to make it fit into 256 bytes, skipping over the empty blocks.

The clock rate that the bits output are based on the divider for the state machine the code runs on?

If I have a cyclic buffer, can I write new data to it from MicroPython? Or do I have to signal the PIO with an IRQ to stop and start it again with new data? Lots of moving parts to this to try and wrap my head around.
I have just created a driver for a 4-digit, 7-segment multiplexed display using PIO+DMA. Will probably be easily modified to handle your VFD.

https://github.com/fdufnews/pico_exampl ... s/essaiPIO
I'll have to wire that up and try it out, looks very cool. One difference is I need to send bits through a clock/data line as well as light up one of 5 column pins.

The hardest part about new hardware and software is just trying to figure out the syntax. Examples help a lot, thanks.

Statistics: Posted by iansmith6 — Fri Apr 05, 2024 4:56 pm



Viewing all articles
Browse latest Browse all 8013

Trending Articles