Class which provides functions to control a TAOS TCS3472 Color Light-to-Digital Converter with IR Filter via I2C. (Tidied up)

Dependents:   openwear-lifelogger-example

Fork of TCS3472_I2C by Karl Maxwell

TCS3472_I2C.h

Committer:
karlmaxwell67
Date:
2014-03-19
Revision:
1:70d7d9f1af01
Parent:
0:453a43c8bf2b
Child:
2:38d5187a4e7b

File content as of revision 1:70d7d9f1af01:

#ifndef TCS3472_I2C_H
#define TCS3472_I2C_H
#include "mbed.h"

//Defines 
#define SLAVE_ADDRESS           0x29
#define ENABLE_REGISTER         0x00
#define CDATA                   0x14
#define RDATA                   0x16
#define GDATA                   0x18
#define BDATA                   0x1A

class TCS3472_I2C {
public:
    TCS3472_I2C( PinName sda, PinName scl );
    
    int getAllColours( int* readings );
    int getClearData();
    int getRedData();
    int getGreenData();
    int getBlueData();
    
    char readEnableRegister();

private:
    I2C i2c_;
    
    int enableRGBC();
    int writeSingleRegister( char address, char data );
    char readSingleRegister( char address );
    int readMultipleRegisters( char address, char* output, int quantity );
};

#endif