From 76a4498f3a1eb0ce3919c3ce72fad76f99049942 Mon Sep 17 00:00:00 2001 From: Elrond Date: Wed, 21 Oct 2015 16:17:19 +0200 Subject: 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 --- decoders/uart/pd.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'decoders') 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' -- cgit v1.2.3-70-g09d2