DMX fixes

This commit is contained in:
Gavan Fantom
2025-08-22 17:36:00 +01:00
parent cfb6c517c1
commit a2408b4dbe

12
dmx.py
View File

@@ -51,7 +51,7 @@ class FixtureType:
else:
number = value
return (name, number)
return (name, int(number))
def channel(self, name):
if name not in self._channels:
@@ -60,12 +60,12 @@ class FixtureType:
def range_lookup(self, channel, name, number):
channel = self.channel(channel)
range = channel['range']
if isinstance(range, dict):
if name not in range:
chrange = channel['range']
if isinstance(chrange, dict) and (name is not None):
if name not in chrange:
raise KeyError('Range {} not found'.format(name))
(a, b) = range['range']
if number < a or number > b:
(a, b) = chrange[name]
if number < 0 or number > b-1:
raise ValueError('DMX value out of range')
return a + number
else: