This library gets information from TSL2550 ambient light sensor through SMBus / I²C.

Committer:
goeckeritz
Date:
Wed Mar 30 15:34:58 2011 +0000
Revision:
0:7e6a051d1700
initial upload

Who changed what in which revision?

UserRevisionLine numberNew contents of line
goeckeritz 0:7e6a051d1700 1 /*
goeckeritz 0:7e6a051d1700 2 * mbed library to use a TAOS TSL2550 Ambient Light Sensor
goeckeritz 0:7e6a051d1700 3 * Copyright (c) 2011 Stefan Goeckeritz,
goeckeritz 0:7e6a051d1700 4 * RheinAhrCampus Remagen, Suedallee 2, 53424 Remagen
goeckeritz 0:7e6a051d1700 5 *
goeckeritz 0:7e6a051d1700 6 * Released under the MIT License: http://mbed.org/license/mit
goeckeritz 0:7e6a051d1700 7 */
goeckeritz 0:7e6a051d1700 8
goeckeritz 0:7e6a051d1700 9 #ifndef TSL2550_H
goeckeritz 0:7e6a051d1700 10 #define TSL2550_H
goeckeritz 0:7e6a051d1700 11
goeckeritz 0:7e6a051d1700 12 #include "mbed.h"
goeckeritz 0:7e6a051d1700 13
goeckeritz 0:7e6a051d1700 14 class TSL2550 : public Base {
goeckeritz 0:7e6a051d1700 15 public:
goeckeritz 0:7e6a051d1700 16 TSL2550(PinName p_sda, PinName p_scl);
goeckeritz 0:7e6a051d1700 17 TSL2550(I2C& p_i2c);
goeckeritz 0:7e6a051d1700 18
goeckeritz 0:7e6a051d1700 19 unsigned short get_ch0();
goeckeritz 0:7e6a051d1700 20 unsigned short get_ch1();
goeckeritz 0:7e6a051d1700 21 double get_lux();
goeckeritz 0:7e6a051d1700 22 void update();
goeckeritz 0:7e6a051d1700 23
goeckeritz 0:7e6a051d1700 24 protected:
goeckeritz 0:7e6a051d1700 25 void init();
goeckeritz 0:7e6a051d1700 26 unsigned short twi_read (unsigned short, unsigned short);
goeckeritz 0:7e6a051d1700 27 void twi_write (unsigned short, unsigned short);
goeckeritz 0:7e6a051d1700 28
goeckeritz 0:7e6a051d1700 29 I2C i2c;
goeckeritz 0:7e6a051d1700 30
goeckeritz 0:7e6a051d1700 31 private:
goeckeritz 0:7e6a051d1700 32 double lux;
goeckeritz 0:7e6a051d1700 33 unsigned short ch0, ch1;
goeckeritz 0:7e6a051d1700 34 };
goeckeritz 0:7e6a051d1700 35
goeckeritz 0:7e6a051d1700 36 #endif