]> sigrok.org Git - libsigrokdecode.git/commitdiff
UART: Handle framing errors better
authorElrond <redacted>
Wed, 21 Oct 2015 14:17:19 +0000 (16:17 +0200)
committerUwe Hermann <redacted>
Thu, 22 Oct 2015 18:20:58 +0000 (20:20 +0200)
1. Show Frame Error on the Start bit
2. Don't overwrite framing errors with (valid) start/stop bit info

decoders/uart/pd.py

index 7995e9979674833c56b4fd571fafccd9a1621242..9b3a6bd2c282321751ca46f3141484fa53e517bb 100644 (file)
@@ -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'