]> sigrok.org Git - libsigrokdecode.git/blobdiff - decoders/mlx90614/mlx90614.py
configure.ac/Makefile.am: Alphabetical order.
[libsigrokdecode.git] / decoders / mlx90614 / mlx90614.py
index f50e56882123d419d152ead60e35c916434638f1..1ee88d78509bad088f36254e1c4ab5b778beb350 100644 (file)
@@ -27,8 +27,7 @@ class Decoder(srd.Decoder):
     id = 'mlx90614'
     name = 'MLX90614'
     longname = 'Melexis MLX90614'
-    desc = 'TODO.'
-    longdesc = 'TODO.'
+    desc = 'Infrared Thermometer protocol.'
     license = 'gplv2+'
     inputs = ['i2c']
     outputs = ['mlx90614']
@@ -56,7 +55,7 @@ class Decoder(srd.Decoder):
 
     # Quick hack implementation! This needs to be improved a lot!
     def decode(self, ss, es, data):
-        cmd, databyte, ack = data
+        cmd, databyte = data
 
         # State machine.
         if self.state == 'IGNORE START REPEAT':
@@ -68,11 +67,13 @@ class Decoder(srd.Decoder):
                 return
             self.state = 'GET TEMPERATURE'
         elif self.state == 'GET TEMPERATURE':
+            if cmd != 'DATA WRITE':
+                return
             if len(self.data) == 0:
-                self.data += [databyte]
+                self.data.append(databyte)
                 self.ss = ss
             elif len(self.data) == 1:
-                self.data += [databyte]
+                self.data.append(databyte)
                 self.es = es
             else:
                 kelvin = (self.data[0] | (self.data[1] << 8)) * 0.02