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