]> sigrok.org Git - libsigrokdecode.git/commitdiff
pan1321: Add warnings for invalid protocol usage.
authorUwe Hermann <redacted>
Sun, 4 Aug 2013 12:24:40 +0000 (14:24 +0200)
committerUwe Hermann <redacted>
Mon, 2 Sep 2013 07:05:01 +0000 (09:05 +0200)
decoders/pan1321/pd.py

index 241399f3fd5a5922e664e7a8d3737d55d8049625..50f5adfb53e22c1dcd95195273b7e1bf6e930694 100644 (file)
@@ -41,6 +41,7 @@ class Decoder(srd.Decoder):
     annotations = [
         ['Text (verbose)', 'Human-readable text (verbose)'],
         ['Text', 'Human-readable text'],
+        ['Warnings', 'Human-readable warnings'],
     ]
 
     def __init__(self, **kwargs):
@@ -60,11 +61,19 @@ class Decoder(srd.Decoder):
     def handle_host_command(self, rxtx, s):
         if s.startswith('AT+JPRO'):
             p = s[s.find('=') + 1:]
+            if p not in ('0', '1'):
+                self.putx([2, ['Warning: Invalid JPRO parameter "%s"' % p]])
+                self.cmd[rxtx] = ''
+                return
             onoff = 'off' if (p == '0') else 'on'
             x = 'Leaving' if (p == '0') else 'Entering'
             self.putx([0, ['%s production mode' % x]])
             self.putx([1, ['Production mode = %s' % onoff]])
         elif s.startswith('AT+JRES'):
+            if s != 'AT+JRES': # JRES has no params.
+                self.putx([2, ['Warning: Invalid JRES usage.']])
+                self.cmd[rxtx] = ''
+                return
             self.putx([0, ['Triggering a software reset']])
             self.putx([1, ['Reset']])
         elif s.startswith('AT+JSEC'):