MattIPv4 / PyDMXControl

A Python 3 module to control DMX using OpenDMX or uDMX - Featuring fixture profiles, built-in effects and a web control panel.
https://pypi.org/project/PyDMXControl/
GNU General Public License v3.0
114 stars 22 forks source link

Flicker when using SerialController on Linux/rPi #43

Closed bdyetton closed 1 year ago

bdyetton commented 1 year ago

Hi, Love the library so far, thanks! I've been using a SerialController and a cheap USB to DMX converter to operate a small pinspot light. The following code works as expected on windows:

from PyDMXControl.controllers import SerialController
from PyDMXControl.profiles.Generic import Dimmer
dmx = SerialController('COM3') #or '/dev/ttyUSB0'
ps1= dmx.add_fixture(Dimmer, name="PinSpot1")
ps1.dim(127, 5000)

However, the same code on raspberry pi produces a correct dim sequence, but with a flicker at about 2hz. Any idea why that might be the case?

lndr commented 1 year ago

Hey @bdyetton, I implemented the SerialController some years ago. Hard to say what causes the flickering. DMX is a timing based protocol, maybe the load on the processor it to high? Can you check if the voltage levels on the bus are sufficient. Maybe the output of the USB port of the pi can not drive the long cables?

bdyetton commented 1 year ago

Hi @lndr, This is quite possible. The display on the pinspot light was flickering at the same rate, which makes me think its a general voltage level thing. I switched to the OpenDMX (via ENTTEC device) and it works perfectly now. Probably just an issue with the poor quality USB to DMX converter when running of the lower power rPi.