-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wrong pressure reported when using a BMP388 and BMP390 at the same time #18
Comments
correct, same as |
Thanks for getting back so quickly ladyada, Is there a super easy way to clone the library and create an Adafruit_BMP388.h and Adafruit_BMP390.h, so that each sensor utilizes it's own library as a temporary work-around? I'm not sure if this would even work, but willing to try if there is some chance of success. |
goodness.. maybe? you'd have to rename everything tho. |
you can try #19 |
Please update to the 2.1.0 release and see if that resolves this issue: |
The issue is not resolved, at least as far as pressure is concerned. In the example showing 2-sensor operation, only temperature was printed. My 2 BMP390 sensors agreed closely on temperature, but differed completely (by >1250 Pa) in pressure. If the sensors are operated solo (with no attempt to replicate sensors) their pressure readings agree almost perfectly -within a few Pa. My best guess is that the voluminous sensor-specific calibration data are not being applied correctly to the appropriate sensor, & that the corrections being applied are significantly more critical for pressure than for temperature. |
Hmmm... After removing & reinstalling the Adafruit_BMPXX library, & ensuring (again) that I had the latest build, I am getting matching to within an excellent ~2-4 Pa between the two sensors, which are MUXed on a TCA9548 (because reasons). And each sensor faithfully responds to separate pressure changes. So, this appears to have been a false alarm. Apologies! |
Well, after re-compiling, the large difference between the sensors reappeared. Here is a sample of what this looks like (units are kPa):
Ah well, don't have the time to chase this down. It was nice while it lasted! I was going to average 2 sensors but will now abandon that plan for the moment. |
When attempting to run the simpletest for an Adafruit BMP390 and Adafruit BMP388 at the same time, the pressure reported back on one device will always be wrong. This was tested on one I2C bus with a BMP390 at 0x77 and a BMP388 at 0x76.
The same issue occurs when attempting to run this across two different I2C buses as well. The bug appears to affect whichever sensor is started second, which becomes the erroneous pressure sensor. If either pressure sensor is run by itself, the correct pressure is always reported.
These were the Serial results are from a Teensy 4.1 compiled in Arduino 1.8.13, however it should replicate on any Arduino.
bmp3xx_simpletest example code to replicate the issue:
The text was updated successfully, but these errors were encountered: