Can not turn lights off initially: a simple fix by zero last_update time. Even if no fade is started initially a it is a fade to zero intensity then the zero status is sent by the first packed because the last_update is old. Added a test for #25 .
Removed unsupported Python 3.7 from tests and added Python 3.10.
Added a configurable limit MAX_FPS because 44 fps is related only to full number of 512 channels in a universe. Some ArtNet controllers that directly control LED strips without conversion to DMX512 protocol can work on a higher frequency. This can be configured e.g. by from pyartnet import ArtNetNode and setattr(ArtNetNode, 'MAX_FPS', 50).
(It is important to read this frequency from device documentation and not empirical by PyArtNet because the current implementation only ensures by an additional sleep delay that the frequency is not higher, but the process() method itself can be slow if the number of universes and channels is high. It is not easy to compensate it easily without any of possible undesirable side effects. Therefore I keep it simple.)
Three commits for three issues:
last_update
time. Even if no fade is started initially a it is a fade to zero intensity then the zero status is sent by the first packed because thelast_update
is old. Added a test for #25 .from pyartnet import ArtNetNode
andsetattr(ArtNetNode, 'MAX_FPS', 50)
.(It is important to read this frequency from device documentation and not empirical by PyArtNet because the current implementation only ensures by an additional sleep delay that the frequency is not higher, but the
process()
method itself can be slow if the number of universes and channels is high. It is not easy to compensate it easily without any of possible undesirable side effects. Therefore I keep it simple.)