X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=decoders%2Fmlx90614%2Fmlx90614.py;h=1ee88d78509bad088f36254e1c4ab5b778beb350;hb=671cc3009b967bd105757d0a0c267a68f18c58b9;hp=f50e56882123d419d152ead60e35c916434638f1;hpb=156509ca42f0df2380c9f205f9aad337e1a07802;p=libsigrokdecode.git diff --git a/decoders/mlx90614/mlx90614.py b/decoders/mlx90614/mlx90614.py index f50e568..1ee88d7 100644 --- a/decoders/mlx90614/mlx90614.py +++ b/decoders/mlx90614/mlx90614.py @@ -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