id = 'dmx512'
name = 'DMX512'
longname = 'Digital MultipleX 512'
- desc = 'Professional lighting control protocol.'
+ desc = 'Digital MultipleX 512 (DMX512) lighting protocol.'
license = 'gplv2+'
inputs = ['logic']
- outputs = ['dmx512']
+ outputs = []
+ tags = ['Embedded/industrial', 'Lighting']
channels = (
{'id': 'dmx', 'name': 'DMX data', 'desc': 'Any DMX data line'},
)
)
def __init__(self):
+ self.reset()
+
+ def reset(self):
self.samplerate = None
self.sample_usec = None
self.run_start = -1
# Mark and read a single transmitted byte
# (start bit, 8 data bits, 2 stop bits).
elif self.state == 'READ BYTE':
- (dmx,) = self.wait({'skip': 1})
+ (dmx,) = self.wait()
self.next_sample = self.run_start + (self.bit + 1) * self.skip_per_bit
self.aggreg += dmx
if self.samplenum != self.next_sample: