-
Notifications
You must be signed in to change notification settings - Fork 636
Description
When attempting to use PCM in strandtest.py by setting:
LED_PIN = 21
The LEDs display as expected but upon termination, the python process for strandtest.py goes to 100% CPU, does not terminate with CTRL-C, and must be killed. With some debugging, I find that the CPU goes to 100% in PixelStrip._cleanup(). With further code review, this line in ws2811_fini() appears to be a good suspect:
while (!(pcm->cs & RPI_PCM_CS_TXE)) ; // Wait till TX FIFO is empty
I'd guess that the RPI_PCM_CS_TXE bit is never set or something else has cleared it.
strandtest.py works as expected and terminates normally with PWM (LED_PIN = 18). PWM works for me, so I don't need a fix but I thought others might have the same experience and want to know.
Running a RPi 4B with Raspbian GNU/Linux 11 (bullseye), Linux 6.1.21-V8+
Thx