melexis / mlx90632-library

MLX90632 library for the Melexis 90632 Infra Red temperature sensor.
Apache License 2.0
42 stars 15 forks source link

EEPROM version register documentation mismatch with library ? #46

Open linkineo opened 1 year ago

linkineo commented 1 year ago

We're using both Medical/Extended-grade and standard versions of the sensor.

In the library during initialization, the following check is performed in the EEPROM version register 0x240b https://github.com/melexis/mlx90632-library/blob/0b1be08be1191f7244b3b65eac74a1614edaf3b8/src/mlx90632.c#L467

with https://github.com/melexis/mlx90632-library/blob/0b1be08be1191f7244b3b65eac74a1614edaf3b8/inc/mlx90632.h#L192

Yet the latest datasheet from your website does not document this register. It however documents the product code like this:

image

Questions: Is the magic 0x0500 always reflecting a medical-grade device or which meaning does it have ? Why not use in the library the product code as a way to identify a medical-grade device ?

Letme commented 1 year ago

0x0500 does not mention anything about medical-grade device, so I am not sure why you would think this is connected?

The extended range is read at initialization (https://github.com/melexis/mlx90632-library/blob/0b1be08be1191f7244b3b65eac74a1614edaf3b8/src/mlx90632.c#L446) from EE_VERSION (https://github.com/melexis/mlx90632-library/blob/master/inc/mlx90632.h#L87) which is on address 0x240B and it defines the eeprom content variation which enables us to keep some backwards compatibility with older versions as well as with newer extended range versions. The product code you are referencing is not present in older devices.