ShiftPWM support topic. Latest update: Schematics, high power LED's, LED strips

This is pre-built. It's actually the lamp matrix on a Williams pinball machine. The lamps have been replaced with compatible LEDs which have their own local resistors.

The matrix itself has been tested and worked fine with an older board design I had using a TLC5940, and it was a working pull from an existing game, so I have no reason to doubt the matrix at this point.

Further inspection shows that the high side was inverted, so I corrected this but now I get nothing at all. The high side cycles as one would (I assume) expect, simply going down each rail and giving it a pulse. Conversely, the low side seems to be exhibiting a similar "correct" behavior of sinking current per rail at specific times. However it's like the timings never line up. If I tie a LED from +5 to the tpic's drains, it pulses around once every 1.5 seconds with onebyonefast(), and the scope confirms the high side is pulsing every rail. So I have no idea why I'm not getting anything back. I went back and did a sanity check on the matrix and it's not plugged in backwards.

I'm sure i'm doing something obviously wrong somewhere, but I can't find it.

Edit 2: Ok, yeah, that seems to be the case.

Notice that ch2 is sinking just before power is applied, during an idle trough when power was already bleeding out of the matrix. So what it sink's during this cycle is nowhere near enough to light the LEDs

Edit 3: Ok, so individual outputs one at a time don't work, but fading in/out ALL at once works as you'd expect.

Edit 4: So ShiftMatrixPWM.OneByOneFast(); is the culprit. Manually controlling LEDs seems to work fine. PROBLEM SOLVED WOO