]> sigrok.org Git - libsigrokdecode.git/blobdiff - decoders/pan1321/pan1321.py
srd: PDs: Cleanups, simplifications, small fixes.
[libsigrokdecode.git] / decoders / pan1321 / pan1321.py
index f383e00ccd4923fa53382085514fd58b7c7810ff..13f1226f4a80b624ec157345681abfe4acbef795 100644 (file)
@@ -65,11 +65,11 @@ class Decoder(srd.Decoder):
 
     def handle_host_command(self, ss, es, rxtx, s):
         if s.startswith('AT+JSEC'):
-            pin = s[s.find('\r\n') - 4:len(s) - 2]
+            pin = s[-4:]
             self.put(ss, es, self.out_ann,
                      [ANN_ASCII, ['Host set the Bluetooth PIN to ' + pin]])
         elif s.startswith('AT+JSLN'):
-            name = s[s.find(',') + 1:-2]
+            name = s[s.find(',') + 1:]
             self.put(ss, es, self.out_ann,
                      [ANN_ASCII, ['Host set the Bluetooth name to ' + name]])
         else:
@@ -78,10 +78,10 @@ class Decoder(srd.Decoder):
         self.cmd[rxtx] = ''
 
     def handle_device_reply(self, ss, es, rxtx, s):
-        if s == 'ROK\r\n':
+        if s == 'ROK':
             self.put(ss, es, self.out_ann,
                      [ANN_ASCII, ['Device initialized correctly']])
-        elif s == 'OK\r\n':
+        elif s == 'OK':
             self.put(ss, es, self.out_ann,
                      [ANN_ASCII, ['Device acknowledged last command']])
         elif s.startswith('ERR'):
@@ -108,10 +108,11 @@ class Decoder(srd.Decoder):
             return
 
         # Handle host commands and device replies.
+        # We remove trailing \r\n from the strings before handling them.
         if rxtx == RX:
-            self.handle_device_reply(ss, es, rxtx, self.cmd[rxtx])
+            self.handle_device_reply(ss, es, rxtx, self.cmd[rxtx][:-2])
         elif rxtx == TX:
-            self.handle_host_command(ss, es, rxtx, self.cmd[rxtx])
+            self.handle_host_command(ss, es, rxtx, self.cmd[rxtx][:-2])
         else:
             raise Exception('Invalid rxtx value: %d' % rxtx)