jgarff / rpi_ws281x

Userspace Raspberry Pi PWM library for WS281X LEDs
BSD 2-Clause "Simplified" License
1.77k stars 621 forks source link

DREQ/PANIC level configuration #352

Open fbourge opened 5 years ago

fbourge commented 5 years ago

https://github.com/jgarff/rpi_ws281x/blob/ba3b5bdad55dc7754567a68c4364b1e772735f47/ws2811.c#L370

Are you sure that is the right DREQ/PANIC level configuration ? The PWM is an output peripheral, so DREQ/PANIC are low level thresholds, the lesser level is the more critical. If the PANIC level is set at 7, it will be used most of the time instead of the DREQ level that is too low (3). So most of the DMA requests will be made in PANIC mode with this version. Datasheet BCM2835 : 4.2.1.3 Peripheral DREQ Signals (page 61 ) and page 49.

Gadgetoid commented 5 years ago

I'm not familiar with the guts of rpi_ws281x or whether or not your assertion is correct (or, indeed, have any idea what PANIC/DREQ modes are and what the difference might be), but have you tried making a change to this line and testing it?