This library gets information from TSL2550 ambient light sensor through SMBus / I²C.
TSL2550.h@0:7e6a051d1700, 2011-03-30 (annotated)
- Committer:
- goeckeritz
- Date:
- Wed Mar 30 15:34:58 2011 +0000
- Revision:
- 0:7e6a051d1700
initial upload
Who changed what in which revision?
User | Revision | Line number | New 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 |