determine how to get precise fixed-duration timing
I tested driving a TLC5940 using GPIO, but got a flickery display, I think because GPIO could not get consistent timing and was subject to process pre-emption and file system flushes on the board. It may not be possible to get more precise timing within the go execution context of hwio, but it would be good to see if its possible.
Do you have a capacitor near the TLC5940? I had some transmission interference without that capacitor and it manifested it self as a flicker...
No, I didn't have them on the test circuit I was using on the beaglebone. Thanks for reminding me, though. I've used these chips before (http://stuffwemade.net/project/led-cylinder/) and I did need quite a few decoupling capacitors to reduce flicker (and double buffering)
I think there is is something in the preemptive multitasking of linux though, which I'm not sure how to work around in user space. I noticed a correlation with flickering and LED blicking indicating 'disk' activity.