Address is changed to suit Grove Digital Light Sensor.
Fork of TSL2561_I2C by
TCS3472_I2C.h@2:38d5187a4e7b, 2014-03-19 (annotated)
- Committer:
- karlmaxwell67
- Date:
- Wed Mar 19 18:48:12 2014 +0000
- Revision:
- 2:38d5187a4e7b
- Parent:
- 1:70d7d9f1af01
- Child:
- 3:6a89ac4a1979
Added functions setIntegrationTime, enableWait, disableWait, enableInterrupt, disableInterrupt and setWaitTime.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
karlmaxwell67 | 0:453a43c8bf2b | 1 | #ifndef TCS3472_I2C_H |
karlmaxwell67 | 0:453a43c8bf2b | 2 | #define TCS3472_I2C_H |
karlmaxwell67 | 0:453a43c8bf2b | 3 | #include "mbed.h" |
karlmaxwell67 | 0:453a43c8bf2b | 4 | |
karlmaxwell67 | 1:70d7d9f1af01 | 5 | //Defines |
karlmaxwell67 | 1:70d7d9f1af01 | 6 | #define SLAVE_ADDRESS 0x29 |
karlmaxwell67 | 2:38d5187a4e7b | 7 | |
karlmaxwell67 | 1:70d7d9f1af01 | 8 | #define ENABLE_REGISTER 0x00 |
karlmaxwell67 | 2:38d5187a4e7b | 9 | #define ATIME 0x01 |
karlmaxwell67 | 2:38d5187a4e7b | 10 | #define WTIME 0x03 |
karlmaxwell67 | 2:38d5187a4e7b | 11 | #define CONFIGURATION_REGISTER 0x0D |
karlmaxwell67 | 1:70d7d9f1af01 | 12 | #define CDATA 0x14 |
karlmaxwell67 | 1:70d7d9f1af01 | 13 | #define RDATA 0x16 |
karlmaxwell67 | 1:70d7d9f1af01 | 14 | #define GDATA 0x18 |
karlmaxwell67 | 1:70d7d9f1af01 | 15 | #define BDATA 0x1A |
karlmaxwell67 | 1:70d7d9f1af01 | 16 | |
karlmaxwell67 | 0:453a43c8bf2b | 17 | class TCS3472_I2C { |
karlmaxwell67 | 0:453a43c8bf2b | 18 | public: |
karlmaxwell67 | 0:453a43c8bf2b | 19 | TCS3472_I2C( PinName sda, PinName scl ); |
karlmaxwell67 | 1:70d7d9f1af01 | 20 | |
karlmaxwell67 | 1:70d7d9f1af01 | 21 | int getAllColours( int* readings ); |
karlmaxwell67 | 1:70d7d9f1af01 | 22 | int getClearData(); |
karlmaxwell67 | 1:70d7d9f1af01 | 23 | int getRedData(); |
karlmaxwell67 | 1:70d7d9f1af01 | 24 | int getGreenData(); |
karlmaxwell67 | 1:70d7d9f1af01 | 25 | int getBlueData(); |
karlmaxwell67 | 1:70d7d9f1af01 | 26 | |
karlmaxwell67 | 2:38d5187a4e7b | 27 | int setIntegrationTime( const float itime ); // itime (in ms) should be in the range 2.4 - 614.4ms. |
karlmaxwell67 | 2:38d5187a4e7b | 28 | int enableWait(); |
karlmaxwell67 | 2:38d5187a4e7b | 29 | int disableWait(); |
karlmaxwell67 | 2:38d5187a4e7b | 30 | int enableInterrupt(); |
karlmaxwell67 | 2:38d5187a4e7b | 31 | int disableInterrupt(); |
karlmaxwell67 | 2:38d5187a4e7b | 32 | int setWaitTime( const float wtime ); // wtime (in ms) should be in the range 2.4 - 7400ms. |
karlmaxwell67 | 0:453a43c8bf2b | 33 | |
karlmaxwell67 | 0:453a43c8bf2b | 34 | private: |
karlmaxwell67 | 0:453a43c8bf2b | 35 | I2C i2c_; |
karlmaxwell67 | 1:70d7d9f1af01 | 36 | |
karlmaxwell67 | 1:70d7d9f1af01 | 37 | int enableRGBC(); |
karlmaxwell67 | 2:38d5187a4e7b | 38 | char readEnableRegister(); |
karlmaxwell67 | 1:70d7d9f1af01 | 39 | int writeSingleRegister( char address, char data ); |
karlmaxwell67 | 1:70d7d9f1af01 | 40 | char readSingleRegister( char address ); |
karlmaxwell67 | 1:70d7d9f1af01 | 41 | int readMultipleRegisters( char address, char* output, int quantity ); |
karlmaxwell67 | 0:453a43c8bf2b | 42 | }; |
karlmaxwell67 | 0:453a43c8bf2b | 43 | |
karlmaxwell67 | 1:70d7d9f1af01 | 44 | #endif |