10-01-2021 07:23 PM
How can I verifiy the trimming coefficients stored in the NVM of the BMP390 sensor? I would expect to find a checksum somewhere in the NVM section and a corresponding checksum formula in order to be able to verify the values. This is a memory dump of the trimming coefficients received from the BMP390 (Register addresses: 0x31 - 0x45):
Solved! Go to Solution.
10-05-2021 05:04 PM
Hi,
Thanks for your inquiry.
BMP390 doesn't have checksum to verify if the read from NVM for the coefficient parameters are correct or not. Basically you could run self-test at https://www.bosch-sensortec.com/media/boschsensortec/downloads/application_notes_1/bst-mps-an006.pdf. If the self-test passes, then it means the parameters from NVM are correct. Otherwise, the self-test will fail.
BMP390 API source code can be found at https://github.com/BoschSensortec/BMP3-Sensor-API.
Thanks.
10-25-2021 07:47 AM - edited 10-25-2021 07:48 AM
Many thanks for your reply!
The library Adafruit_BMP3XX implements a crc check of the trimming coefficients using the address 0x30, where a crc8 is stored. I've checked it on my BMP390-application and it is correct. The address 0x30 consists of a crc8 which ca be calculated using the 0x1D polynomial. Why is this not part of the official documentation?
10-28-2021 05:11 PM
Hi,
BMP390 API code is available online at Github. There is a bmp3_selftest.c file that has CRC check function for NVM parameters at https://github.com/BoschSensortec/BMP3-Sensor-API/blob/master/self-test/bmp3_selftest.c.
Thanks.