Basic functions for Gravitech's i2c color sensor

Dependencies:   mbed

Dependents:   R5 2016 Robotics Team 1

Committer:
Hypna
Date:
Sat Apr 09 11:01:08 2016 +0000
Revision:
1:b4139bd2715f
Parent:
0:42c0a779b199
did things

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Hypna 0:42c0a779b199 1 #ifndef COLORSENSOR_H
Hypna 0:42c0a779b199 2 #define COLORSENSOR_H
Hypna 0:42c0a779b199 3
Hypna 0:42c0a779b199 4 #include "mbed.h"
Hypna 0:42c0a779b199 5
Hypna 0:42c0a779b199 6 //constants for i2c register communication
Hypna 1:b4139bd2715f 7 const int ADDR = 0x3A;
Hypna 0:42c0a779b199 8 const char CTRL_VAL = 0x80;
Hypna 0:42c0a779b199 9 const char* const CTRL = &CTRL_VAL;
Hypna 0:42c0a779b199 10 const char CTRL_INIT_VAL = 0x03;
Hypna 0:42c0a779b199 11 const char* const CTRL_INIT = &CTRL_INIT_VAL;
Hypna 0:42c0a779b199 12 const char GAIN_VAL = 0x87;
Hypna 0:42c0a779b199 13 const char* const GAIN = &GAIN_VAL;
Hypna 0:42c0a779b199 14 const char GAIN_INIT_VAL = 0x10;
Hypna 0:42c0a779b199 15 const char* const GAIN_INIT = &GAIN_INIT_VAL;
Hypna 0:42c0a779b199 16 const char RED_LO_VAL = 0x92;
Hypna 0:42c0a779b199 17 const char* const RED_LO = &RED_LO_VAL;
Hypna 0:42c0a779b199 18 const char RED_HI_VAL = 0x93;
Hypna 0:42c0a779b199 19 const char* const RED_HI = &RED_HI_VAL;
Hypna 0:42c0a779b199 20 const char GRN_LO_VAL = 0x90;
Hypna 0:42c0a779b199 21 const char* const GRN_LO = &GRN_LO_VAL;
Hypna 0:42c0a779b199 22 const char GRN_HI_VAL = 0x91;
Hypna 0:42c0a779b199 23 const char* const GRN_HI = &GRN_HI_VAL;
Hypna 0:42c0a779b199 24 const char BLU_LO_VAL = 0x94;
Hypna 0:42c0a779b199 25 const char* const BLU_LO = &BLU_LO_VAL;
Hypna 0:42c0a779b199 26 const char BLU_HI_VAL = 0x95;
Hypna 0:42c0a779b199 27 const char* const BLU_HI = &BLU_HI_VAL;
Hypna 0:42c0a779b199 28 const char CLR_LO_VAL = 0x96;
Hypna 0:42c0a779b199 29 const char* const CLR_LO = &CLR_LO_VAL;
Hypna 0:42c0a779b199 30 const char CLR_HI_VAL = 0x97;
Hypna 0:42c0a779b199 31 const char* const CLR_HI = &CLR_HI_VAL;
Hypna 0:42c0a779b199 32
Hypna 0:42c0a779b199 33 class ColorSensor
Hypna 0:42c0a779b199 34 {
Hypna 0:42c0a779b199 35 public:
Hypna 0:42c0a779b199 36 ColorSensor(PinName sda, PinName scl);
Hypna 0:42c0a779b199 37 int getR();
Hypna 0:42c0a779b199 38 int getG();
Hypna 0:42c0a779b199 39 int getB();
Hypna 0:42c0a779b199 40 int getC();
Hypna 0:42c0a779b199 41 void setGain(int g);
Hypna 0:42c0a779b199 42 void setScaler(int s);
Hypna 0:42c0a779b199 43
Hypna 0:42c0a779b199 44 private:
Hypna 0:42c0a779b199 45 I2C i2c;
Hypna 0:42c0a779b199 46 int gain;
Hypna 0:42c0a779b199 47 int scale;
Hypna 0:42c0a779b199 48 };
Hypna 0:42c0a779b199 49 #endif