X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=decoders%2Fpan1321%2Fpd.py;h=b70defc4f852b70b9831ef38529c38488bbb8fa8;hb=1c49e875623918f8893308307f487a1f551daec4;hp=42cace2ca3f6a6ec0909256646a72157ddf2078f;hpb=f2a5df42ea41e6c4370d4efa1a27ab942ba1ddff;p=libsigrokdecode.git diff --git a/decoders/pan1321/pd.py b/decoders/pan1321/pd.py index 42cace2..b70defc 100644 --- a/decoders/pan1321/pd.py +++ b/decoders/pan1321/pd.py @@ -18,8 +18,6 @@ ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ## -# Panasonic PAN1321 Bluetooth module protocol decoder - import sigrokdecode as srd # ... @@ -27,7 +25,7 @@ RX = 0 TX = 1 class Decoder(srd.Decoder): - api_version = 1 + api_version = 2 id = 'pan1321' name = 'PAN1321' longname = 'Panasonic PAN1321' @@ -35,25 +33,18 @@ class Decoder(srd.Decoder): license = 'gplv2+' inputs = ['uart'] outputs = ['pan1321'] - probes = [] - optional_probes = [] - options = {} - annotations = [ - ['Text (verbose)', 'Human-readable text (verbose)'], - ['Text', 'Human-readable text'], - ['Warnings', 'Human-readable warnings'], - ] + annotations = ( + ('text-verbose', 'Human-readable text (verbose)'), + ('text', 'Human-readable text'), + ('warnings', 'Human-readable warnings'), + ) def __init__(self, **kwargs): self.cmd = ['', ''] self.ss_block = None def start(self): - # self.out_proto = self.add(srd.OUTPUT_PYTHON, 'pan1321') - self.out_ann = self.add(srd.OUTPUT_ANN, 'pan1321') - - def report(self): - pass + self.out_ann = self.register(srd.OUTPUT_ANN) def putx(self, data): self.put(self.ss_block, self.es_block, self.out_ann, data) @@ -145,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 @@ -163,8 +157,5 @@ class Decoder(srd.Decoder): self.handle_device_reply(rxtx, self.cmd[rxtx][:-2]) elif rxtx == TX: self.handle_host_command(rxtx, self.cmd[rxtx][:-2]) - else: - raise Exception('Invalid rxtx value: %d' % rxtx) self.cmd[rxtx] = '' -