+ # Bits[46:46]: Transmitter bit (1 == host)
+ bit, self.bit_ss, self.bit_es = tb(5, 6)[0], tb(5, 6)[1], tb(5, 6)[2]
+ if bit == 1:
+ self.putb([134, ['Transmitter bit: %d' % bit]])
+ else:
+ self.putb([135, ['Transmitter bit: %d (Warning: Must be 1!)' % bit]])
+
+ # Bits[45:40]: Command index (BCD; valid: 0-63)
+ cmd = self.cmd_index = t[0] & 0x3f
+ self.bit_ss, self.bit_es = tb(5, 5)[1], tb(5, 0)[2]
+ self.putb([134, ['Command: %s%d (%s)' % (s, cmd, self.cmd_name(cmd))]])
+
+ # Bits[39:8]: Argument
+ self.arg = (t[1] << 24) | (t[2] << 16) | (t[3] << 8) | t[4]
+ self.bit_ss, self.bit_es = tb(4, 7)[1], tb(1, 0)[2]
+ self.putb([134, ['Argument: 0x%04x' % self.arg]])
+
+ # Bits[7:1]: CRC7
+ # TODO: Check CRC7.
+ crc = t[5] >> 1
+ self.bit_ss, self.bit_es = tb(0, 7)[1], tb(0, 1)[2]
+ self.putb([134, ['CRC7: 0x%01x' % crc]])
+
+ # Bits[0:0]: End bit (always 1)
+ bit, self.bit_ss, self.bit_es = tb(0, 0)[0], tb(0, 0)[1], tb(0, 0)[2]
+ self.putb([134, ['End bit: %d' % bit]])
+ if bit == 1:
+ self.putb([134, ['End bit: %d' % bit]])
+ else:
+ self.putb([135, ['End bit: %d (Warning: Must be 1!)' % bit]])