The BH1750 library we've been using is really inadequate for our purposes. We want a library with following features:
better initialization (using static rather than a dynamic constructor)
by default, non-continuous measurements
able to select any of the three resolutions for any given measurement
inherit from cPollableInterface so that we can start a measurement and then get a callback when its ready rather than having to busy spin for 120 ms or whatever
the BH1750 varies from .96 to 1.44 lux/bit, a range of +/- 20%. With calibration, the result can be trimmed to make measure m the default is 1.2, but support for calibration (via data stored in FRAM) would let us trim this probably to 5%.
Since the measurement period can also be adjusted, we should be able to optimize flicker rejection for indoor lighting applications, if we calibrate the measurement period.
avoid hanging on I2C bus (this may be a problem with the current Wire library, but since we have our own BSP, we can possibly upgrade).
Some of these problems have been fixed in our fork of the BH1750 library. Perhaps we should now pull those into the core library with the above changes.
The BH1750 library we've been using is really inadequate for our purposes. We want a library with following features:
cPollableInterface
so that we can start a measurement and then get a callback when its ready rather than having to busy spin for 120 ms or whatever