DMX fixes
This commit is contained in:
12
dmx.py
12
dmx.py
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user