X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=decoders%2Fmlx90614%2Fmlx90614.py;h=1ee88d78509bad088f36254e1c4ab5b778beb350;hb=de2f532821bab1bef235ee65b38b0f4427bb9d5c;hp=4cc39a358463a5acbc3aa8306b65d4e1e2096166;hpb=b77614bc977475102062ac5d1c8fe8e55349315a;p=libsigrokdecode.git diff --git a/decoders/mlx90614/mlx90614.py b/decoders/mlx90614/mlx90614.py index 4cc39a3..1ee88d7 100644 --- a/decoders/mlx90614/mlx90614.py +++ b/decoders/mlx90614/mlx90614.py @@ -18,9 +18,7 @@ ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ## -# # Melexis MLX90614 Infrared Thermometer protocol decoder -# import sigrokdecode as srd @@ -29,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'] @@ -58,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': @@ -70,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