From: Elrond Date: Wed, 21 Oct 2015 14:17:19 +0000 (+0200) Subject: UART: Handle framing errors better X-Git-Tag: libsigrokdecode-0.4.0~42 X-Git-Url: https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=commitdiff_plain;h=76a4498f3a1eb0ce3919c3ce72fad76f99049942;ds=sidebyside UART: Handle framing errors better 1. Show Frame Error on the Start bit 2. Don't overwrite framing errors with (valid) start/stop bit info --- diff --git a/decoders/uart/pd.py b/decoders/uart/pd.py index 7995e99..9b3a6bd 100644 --- a/decoders/uart/pd.py +++ b/decoders/uart/pd.py @@ -225,6 +225,7 @@ class Decoder(srd.Decoder): # The startbit must be 0. If not, we report an error. if self.startbit[rxtx] != 0: self.putp(['INVALID STARTBIT', rxtx, self.startbit[rxtx]]) + self.putg([rxtx + 10, ['Frame error', 'Frame err', 'FE']]) # TODO: Abort? Ignore rest of the frame? self.cur_data_bit[rxtx] = 0 @@ -324,7 +325,7 @@ class Decoder(srd.Decoder): # Stop bits must be 1. If not, we report an error. if self.stopbit1[rxtx] != 1: self.putp(['INVALID STOPBIT', rxtx, self.stopbit1[rxtx]]) - self.putg([rxtx + 8, ['Frame error', 'Frame err', 'FE']]) + self.putg([rxtx + 10, ['Frame error', 'Frame err', 'FE']]) # TODO: Abort? Ignore the frame? Other? self.state[rxtx] = 'WAIT FOR START BIT'