I am using three libraries (Adafruit_ADS1X15, Adafruit_AM2315, Adafruit_BME280) sourced from Particle: include library to connect to three I2C devices. From there I had two bugs.
While testing each device independently, the AM2315 and BME280 libraries Wire->begin() would cause firmware corruption after multiple compiles. The firmware would compile and flash to the device without issue, but would immediatly turn solid white and the d7 LED would blink at 1Hz. This issue was resolved by removing offending
#include Arduino.hstatements in the two libraries.
With each device is working independently, another issue appeared. When all three are used simultaneously the ADS1X15 and BME280 are functioning correctly, but the AM2315 fails to read from I2C.
Wire->begin() calls seems like a pretty hacky fix. Is there a standard way to deal with this issue? Has anyone else run into issues with
<Wire.h> in Particle vetted libraries? Any help would be greatly appreciated.