+ def get_wait_cond(self, rxtx, inv):
+ """
+ Determine Decoder.wait() condition for specified UART line.
+
+ Returns condititions that are suitable for Decoder.wait(). Those
+ conditions either match the falling edge of the START bit, or
+ the sample point of the next bit time.
+ """
+
+ state = self.state[rxtx]
+ if state == 'WAIT FOR START BIT':
+ return {rxtx: 'r' if inv else 'f'}
+ if state == 'GET START BIT':
+ bitnum = 0
+ elif state == 'GET DATA BITS':
+ bitnum = 1 + self.cur_data_bit[rxtx]
+ elif state == 'GET PARITY BIT':
+ bitnum = 1 + self.options['num_data_bits']
+ elif state == 'GET STOP BITS':
+ bitnum = 1 + self.options['num_data_bits']
+ bitnum += 0 if self.options['parity_type'] == 'none' else 1
+ want_num = self.get_sample_point(rxtx, bitnum)
+ # want_num = int(want_num + 0.5)
+ want_num = ceil(want_num)
+ cond = {'skip': want_num - self.samplenum}
+ return cond
+
+ def decode(self):