]> sigrok.org Git - libsigrokdecode.git/commitdiff
uart: Emit databyte and bits list at the same time.
authorUwe Hermann <redacted>
Thu, 16 Oct 2014 07:35:27 +0000 (09:35 +0200)
committerUwe Hermann <redacted>
Thu, 16 Oct 2014 09:37:13 +0000 (11:37 +0200)
This will allow for much simpler code in stacked PDs.

Adapt stacked PDs to new API.

decoders/midi/pd.py
decoders/pan1321/pd.py
decoders/uart/pd.py

index 296cee47e12be8d53fcc8452a32dac9318f1b0a9..5915976c164535d42c10d29b920f9a81795777a3 100644 (file)
@@ -175,6 +175,9 @@ class Decoder(srd.Decoder):
 
         self.ss, self.es = ss, es
 
+        # We're only interested in the byte value (not individual bits).
+        pdata = pdata[0]
+
         # Short MIDI overview:
         #  - Status bytes are 0x80-0xff, data bytes are 0x00-0x7f.
         #  - Most messages: 1 status byte, 1-2 data bytes.
index 60e754914d28319b6baece23288ca7011563fbc2..b70defc4f852b70b9831ef38529c38488bbb8fa8 100644 (file)
@@ -136,6 +136,9 @@ class Decoder(srd.Decoder):
         if ptype != 'DATA':
             return
 
+        # We're only interested in the byte value (not individual bits).
+        pdata = pdata[0]
+
         # If this is the start of a command/reply, remember the start sample.
         if self.cmd[rxtx] == '':
             self.ss_block = ss
index b8508a72c74b7338e7a1039ce6e265e84badda2c..c3422434050862027c7e23086df6650e1153feec 100644 (file)
@@ -28,9 +28,9 @@ Packet:
 
 This is the list of <ptype>s and their respective <pdata> values:
  - 'STARTBIT': The data is the (integer) value of the start bit (0/1).
- - 'DATA': The data is the (integer) value of the UART data. Valid values
-   range from 0 to 512 (as the data can be up to 9 bits in size).
- 'DATABITS': List of data bits and their ss/es numbers.
+ - ('DATA', 'DATABITS'): DATA is the (integer) value of the UART data. Valid
+   values range from 0 to 512 (as the data can be up to 9 bits in size).
  'DATABITS' is the list of individual data bits and their ss/es numbers.
  - 'PARITYBIT': The data is the (integer) value of the parity bit (0/1).
  - 'STOPBIT': The data is the (integer) value of the stop bit (0 or 1).
  - 'INVALID STARTBIT': The data is the (integer) value of the start bit (0/1).
@@ -263,8 +263,8 @@ class Decoder(srd.Decoder):
 
         self.state[rxtx] = 'GET PARITY BIT'
 
-        self.putpx(rxtx, ['DATABITS', rxtx, self.databits[rxtx]])
-        self.putpx(rxtx, ['DATA', rxtx, self.databyte[rxtx]])
+        self.putpx(rxtx, ['DATA', rxtx,
+            (self.databyte[rxtx], self.databits[rxtx])])
 
         b, f = self.databyte[rxtx], self.options['format']
         if f == 'ascii':