Infineon/DPS310-Pressure-Sensor

Goertek SPL06-007

ilopata1 opened this issue · 0 comments

I have been using this library with both the Infineon DPS310 and Goertek SPL06-007, which I believe to be a packaging of the DPS310. I was experiencing a problem reading temperatures from the Goertek sensor with code that worked on the Infineon sensor. I have discovered that the Goertek sensor does not implement, according to its specification document, the TMP_COEF_
SRCE (0x28). However, an attempt to read this register does not fail. Consequently, the code in DPS310::init which selects the temperature based on the value in bit 7 of TMP_COEF_SRCE does not work correctly and results in the temperature being read from the ASIC while the coefficients are for the MEMS sensor.

For my purposes it is sufficient to hardcode sensor=1 but a better solution would be either for Goertek to properly implement TMP_COEF_SRCE or for this library to read the Product ID and Revision to determine whether this is a Goertek implementation. (I am assuming they are different from the DPS310 values but have not actually checked.)