library for the motor driver
Dependents: 4180_final_project
Fork of libTCS34725 by
Diff: TCS34725.h
- Revision:
- 0:4796574af790
- Child:
- 1:06c9bbbdb8b0
diff -r 000000000000 -r 4796574af790 TCS34725.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TCS34725.h Thu Jan 19 18:53:40 2017 +0000 @@ -0,0 +1,46 @@ +// TCS34725 RGB Color I2C Sensor breakout library for F030R8 Nucleo board + +//These pins should be the only piece specific to the F030R8 +#define SCL PB_8 +#define SDA PB_9 + +//I2C Address + +#define SENSOR_ADDR 0x29 + +//Important Registers + +#define TCS34725_ENABLE (0x00) //for turning on the device +#define TCS34725_ATIME (0x01) //for integration time +#define TCS34725_CONTROL (0x0F) //for setting the gain +#define TCS34725_CDATAL (0x14) /* Clear channel data */ +#define TCS34725_CDATAH (0x15) +#define TCS34725_RDATAL (0x16) /* Red channel data */ +#define TCS34725_RDATAH (0x17) +#define TCS34725_GDATAL (0x18) /* Green channel data */ +#define TCS34725_GDATAH (0x19) +#define TCS34725_BDATAL (0x1A) /* Blue channel data */ +#define TCS34725_BDATAH (0x1B) + +//Configuration Bits + +#define TCS34725_ENABLE_AEN (0x02) /* RGBC Enable - Writing 1 actives the ADC, 0 disables it */ +#define TCS34725_ENABLE_PON (0x01) /* Power on - Writing 1 activates the internal oscillator, 0 disables it */ +#define TCS34725_INTEGRATIONTIME_2_4MS 0xFF /**< 2.4ms - 1 cycle - Max Count: 1024 */ +#define TCS34725_INTEGRATIONTIME_24MS 0xF6 /**< 24ms - 10 cycles - Max Count: 10240 */ +#define TCS34725_INTEGRATIONTIME_50MS 0xEB /**< 50ms - 20 cycles - Max Count: 20480 */ +#define TCS34725_INTEGRATIONTIME_101MS 0xD5 /**< 101ms - 42 cycles - Max Count: 43008 */ +#define TCS34725_INTEGRATIONTIME_154MS 0xC0 /**< 154ms - 64 cycles - Max Count: 65535 */ +#define TCS34725_INTEGRATIONTIME_700MS 0x00 /**< 700ms - 256 cycles - Max Count: 65535 */ +#define TCS34725_GAIN_1X 0x00 /**< No gain */ +#define TCS34725_GAIN_4X 0x01 /**< 4x gain */ +#define TCS34725_GAIN_16X 0x02 /**< 16x gain */ +#define TCS34725_GAIN_60X 0x03 /**< 60x gain */ + +void i2cWrite8(uint8_t addr, char reg, char data); +uint8_t i2cRead8(uint8_t addr, char reg); +uint16_t i2cRead16(uint8_t addr, char reg); + +TCS34725_init(char intTime, char gain); +TCS34725_config(char intTime, char gain); +TCS34725_getColor(uint16_t *r, uint16_t *g, uint16_t *b, uint16_t *c); \ No newline at end of file