Digital 16bit Serial Output Type Ambient Light Sensor IC by ROHM, Ambient light sensor (Illuminance to digital converter)
Revision 1:4a02a8fbf021, committed 2017-08-23
- Comitter:
- kenjiArai
- Date:
- Wed Aug 23 09:21:39 2017 +0000
- Parent:
- 0:d95f6ac4c8d6
- Commit message:
- countermeasure for NonCopyable
Changed in this revision
BH1750.cpp | Show annotated file Show diff for this revision Revisions of this file |
BH1750.h | Show annotated file Show diff for this revision Revisions of this file |
diff -r d95f6ac4c8d6 -r 4a02a8fbf021 BH1750.cpp --- a/BH1750.cpp Sat Mar 07 23:44:42 2015 +0000 +++ b/BH1750.cpp Wed Aug 23 09:21:39 2017 +0000 @@ -3,40 +3,38 @@ * light intensity sensor module with built-in a 16 bit AD converter generating digital signal. * BH1750 by ROHM Co.,Ltd. * - * Copyright (c) 2015 Kenji Arai / JH1PJL + * Copyright (c) 2015,'17 Kenji Arai / JH1PJL * http://www.page.sannet.ne.jp/kenjia/index.html * http://mbed.org/users/kenjiArai/ - * Created: March 7th, 2015 - * Revised: March 8th, 2015 - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, - * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE - * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * Created: March 7th, 2015 + * Revised: August 23rd, 2017 */ #include "BH1750.h" -BH1750::BH1750 (PinName p_sda, PinName p_scl) : _i2c(p_sda, p_scl) +BH1750::BH1750 (PinName p_sda, PinName p_scl) + : _i2c_p(new I2C(p_sda, p_scl)), _i2c(*_i2c_p) { BH1750_addr = BH1750_G_CHIP_ADDR; init(); } -BH1750::BH1750 (PinName p_sda, PinName p_scl, uint8_t addr) : _i2c(p_sda, p_scl) +BH1750::BH1750 (PinName p_sda, PinName p_scl, uint8_t addr) + : _i2c_p(new I2C(p_sda, p_scl)), _i2c(*_i2c_p) { BH1750_addr = addr; init(); } -BH1750::BH1750 (I2C& p_i2c) : _i2c(p_i2c) +BH1750::BH1750 (I2C& p_i2c) + : _i2c(p_i2c) { BH1750_addr = BH1750_G_CHIP_ADDR; init(); } -BH1750::BH1750 (I2C& p_i2c, uint8_t addr) : _i2c(p_i2c) +BH1750::BH1750 (I2C& p_i2c, uint8_t addr) + : _i2c(p_i2c) { BH1750_addr = addr; init(); @@ -49,7 +47,7 @@ _i2c.read(BH1750_addr, (char *)dt, 2, false); lux = (float)(dt[0] << 8 | dt[1]); - lux = lux / 1.2 * ((float)sensitivity/69); + lux = lux / 1.2f * ((float)sensitivity/69); return lux; } @@ -97,3 +95,5 @@ { _i2c.frequency(hz); } + +
diff -r d95f6ac4c8d6 -r 4a02a8fbf021 BH1750.h --- a/BH1750.h Sat Mar 07 23:44:42 2015 +0000 +++ b/BH1750.h Wed Aug 23 09:21:39 2017 +0000 @@ -3,17 +3,11 @@ * light intensity sensor module with built-in a 16 bit AD converter generating digital signal. * BH1750 by ROHM Co.,Ltd. * - * Copyright (c) 2015 Kenji Arai / JH1PJL + * Copyright (c) 2015,'17 Kenji Arai / JH1PJL * http://www.page.sannet.ne.jp/kenjia/index.html * http://mbed.org/users/kenjiArai/ - * Created: March 7th, 2015 - * Revised: March 8th, 2015 - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, - * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE - * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * Created: March 7th, 2015 + * Revised: August 23rd, 2017 */ /* *---------------- REFERENCE ---------------------------------------------------------------------- @@ -115,7 +109,8 @@ void power_down(void); protected: - I2C _i2c; + I2C *_i2c_p; + I2C &_i2c; void init(void); @@ -126,3 +121,4 @@ }; #endif // BH1750_H +