Luminosity sensor by Texas Advanced Optoelectronic Solutions Inc.. Device combines one broadband photodiode (visible plus infrared) and one infrared-responding photodiode. Sets Gain x1 and 402mS as default.
Dependents: MusicBoxForFathersDay FTHR_SensorHub Affich_Lum_Moist Projetv0 ... more
Diff: TSL2561.cpp
- Revision:
- 3:d60d8198d76d
- Parent:
- 2:17591031447b
- Child:
- 4:05d322353720
--- a/TSL2561.cpp Wed Aug 23 09:27:52 2017 +0000 +++ b/TSL2561.cpp Tue Feb 20 10:49:43 2018 +0000 @@ -3,11 +3,13 @@ * Luminosity sensor -- LIGHT-TO-DIGITAL CONVERTER (light intensity to a digital signal output) * TSL2561 by Texas Advanced Optoelectronic Solutions Inc. * - * Copyright (c) 2015,'17 Kenji Arai / JH1PJL + * Copyright (c) 2015,'17,'18 Kenji Arai / JH1PJL * http://www.page.sannet.ne.jp/kenjia/index.html * http://mbed.org/users/kenjiArai/ * Created: Feburary 21st, 2015 * Revised: August 23rd, 2017 + * Revised: Feburary 20th, 2018 bug fix -> read_ID() & who_am_i() + * Thanks PARK JAICHANG */ #include "TSL2561.h" @@ -138,19 +140,32 @@ } /////////////// ID //////////////////////////////////////// +#if 0 uint16_t TSL2561::read_ID() { dt[0] = CMD_SINGLE + TSL2561_ID; _i2c.write((int)TSL2561_addr, (char *)dt, 1, true); + _i2c.read(TSL2561_addr, (char *)dt, 1, false); + id_number = dt[0] << 8 | dt[1]; + return id_number; +} +#else +uint8_t TSL2561::read_ID() +{ + dt[0] = CMD_SINGLE + TSL2561_ID; + _i2c.write((int)TSL2561_addr, (char *)dt, 1, true); _i2c.read(TSL2561_addr, (char *)dt, 2, false); - id_number = dt[0] << 8 | dt[1]; + id_number = dt[0]; return id_number; } +#endif uint8_t TSL2561::who_am_i() { read_ID(); - if ((id_number >> 4) == I_AM_TSL2561) { + if ((id_number >> 4) == I_AM_TSL2561CS) { + return 1; + } else if ((id_number >> 4) == I_AM_TSL2561T_FN_CL) { return 1; } else { return 0;