+ def putd(self, data, bit_count):
+ name = self.state.title()
+ d = {'ADDRESS': Ann.ADDR, 'ADDRESS#': Ann.ADDR_INV,
+ 'COMMAND': Ann.CMD, 'COMMAND#': Ann.CMD_INV}
+ s = {'ADDRESS': ['ADDR', 'A'], 'ADDRESS#': ['ADDR#', 'A#'],
+ 'COMMAND': ['CMD', 'C'], 'COMMAND#': ['CMD#', 'C#']}
+ fmt = '{{}}: 0x{{:0{}X}}'.format(bit_count // 4)
+ self.putx([d[self.state], [
+ fmt.format(name, data),
+ fmt.format(s[self.state][0], data),
+ fmt.format(s[self.state][1], data),
+ s[self.state][1],
+ ]])
+
+ def putstop(self, ss):
+ self.put(ss, ss + self.stop, self.out_ann,
+ [Ann.STOP_BIT, ['Stop bit', 'Stop', 'St', 'S']])
+
+ def putpause(self, p):
+ self.put(self.ss_start, self.ss_other_edge, self.out_ann,
+ [Ann.AGC, ['AGC pulse', 'AGC', 'A']])
+ idx = Ann.LONG_PAUSE if p == 'Long' else Ann.SHORT_PAUSE
+ self.put(self.ss_other_edge, self.samplenum, self.out_ann, [idx, [
+ '{} pause'.format(p),
+ '{}-pause'.format(p[0]),
+ '{}P'.format(p[0]),
+ 'P',
+ ]])
+
+ def putremote(self):
+ dev = address.get(self.addr, 'Unknown device')
+ buttons = command.get(self.addr, {})
+ btn = buttons.get(self.cmd, ['Unknown', 'Unk'])
+ self.put(self.ss_remote, self.ss_bit + self.stop, self.out_ann, [Ann.REMOTE, [
+ '{}: {}'.format(dev, btn[0]),
+ '{}: {}'.format(dev, btn[1]),
+ '{}'.format(btn[1]),
+ ]])
+
+ def __init__(self):
+ self.reset()
+
+ def reset(self):