We are using the BMP388 and have a board with it (and 5 other sensors) on it. I can read and write to the device, and can successfully read the product ID (00) -- I have found the 1.1.0 API code release in Gethub, and have integrated it with our exising code. But I have several questions.
1) No where in the code or datasheet does it say what units the compensated pressure data is returned in. The data sheet gives the sensor's range and accuracy in hPa, so I assumed that is what the API would return from the compensate_pressure() function -- is that correct? In the BMP-series-pressure-sensor-design-guide there is example code with a printf() statement that prints "P: %.2f" supplying "bmp3_comp_data.pressure / 100" - so that indicates it is in Pa, not hPa? Can you confirm? That example code is not included in the API package so the only way to find this is to hunt around on the web and your site and finally find that one line buried in the example?
2) There is no example (sample inputs with expected outputs) for any of the calculations -- and the values read out of the device are unusable without running it through the compensation formulas, and there is no way to validate if the output is correct, making debugging virtually impossible. Can you supply example input/expected results for the Temp and Humidity register reads, with example triming register values and the outputs of the compensated values. (and including intermediate results would be exceedingly valuable).
3) If you get through 1) and 2) and the results don't match your reference platform (if you have one) or your local weather report within some small range, there is no way to validate your results or know if there is a subtle bug in the code or if there is just an offset in the BMP3xx measurement results.
Thanks, Ken