X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=decoders%2Fmlx90614%2Fmlx90614.py;h=707eb7fc1663127e54f9ee5760a9ba639891aa0b;hb=3e3c03309ee21d839f85e981d361ca77b08d5ba0;hp=fa1621c2b8556a4a59e61559841a79b02fd9bc35;hpb=bc1385a6d999c0011050b1cbd275879a928f4252;p=libsigrokdecode.git diff --git a/decoders/mlx90614/mlx90614.py b/decoders/mlx90614/mlx90614.py index fa1621c..707eb7f 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,13 +27,12 @@ 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'] probes = [] - extra_probes = [] + optional_probes = [] options = {} annotations = [ ['Celsius', 'Temperature in degrees Celsius'], @@ -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': @@ -71,16 +68,16 @@ class Decoder(srd.Decoder): self.state = 'GET TEMPERATURE' elif self.state == 'GET TEMPERATURE': 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 celsius = kelvin - 273.15 - self.putx([0, ['Temperature: %d °C' % celsius]]) - self.putx([1, ['Temperature: %d °K' % kelvin]]) + self.putx([0, ['Temperature: %3.2f °C' % celsius]]) + self.putx([1, ['Temperature: %3.2f °K' % kelvin]]) self.state = 'IGNORE START REPEAT' self.data = [] else: