]> sigrok.org Git - libsigrokdecode.git/commitdiff
gpib: drop obscure "total number of samples" option
authorGerhard Sittig <redacted>
Sun, 24 Nov 2019 18:45:01 +0000 (19:45 +0100)
committerUwe Hermann <redacted>
Sun, 24 Nov 2019 19:41:54 +0000 (20:41 +0100)
The gpib decoder tried to "flush" input data at a user specified sample
number when the input data lacked the respective edge which triggers the
processing during regular operation.

This is rather obscure a feature, not seen in any other decoder, perhaps
a workaround for bug #292, rather unaccessible to users (units of sample
numbers not times nor automatic detection of the EOF condition), highly
confusing according to user reports, and not covered by existing tests.

The mere presence of this option caused severe issues in application
code (see bug #1444). While there is no apparent fix that won't affect
other decoders. So let's drop this questionable feature. Valid and
complete captures should contain all relevent edges and thus decode
properly.

decoders/gpib/pd.py

index a7c9c73a9f548b68b7ee43483d92365999bca0d7..f3497f4c21e06e9176c186602850c37476c54af3 100644 (file)
@@ -47,9 +47,6 @@ class Decoder(srd.Decoder):
         {'id': 'atn', 'name': 'ATN', 'desc': 'Attention'},
         {'id': 'ren', 'name': 'REN', 'desc': 'Remote enable'},
     )
-    options = (
-        {'id': 'sample_total', 'desc': 'Total number of samples', 'default': 0},
-    )
     annotations = (
         ('items', 'Items'),
         ('gpib', 'DAT/CMD'),
@@ -166,15 +163,9 @@ class Decoder(srd.Decoder):
 
         # Inspect samples at falling edge of DAV. But make sure to also
         # start inspection when the capture happens to start with low
-        # DAV level. Optionally enforce processing when a user specified
-        # sample number was reached.
+        # DAV level.
         waitcond = [{9: 'l'}]
-        lsn = self.options['sample_total']
-        if lsn:
-            waitcond.append({'skip': lsn})
         while True:
-            if lsn:
-                waitcond[1]['skip'] = lsn - self.samplenum - 1
             pins = self.wait(waitcond)
             self.handle_bits(pins)
             waitcond[0][9] = 'f'