hy

Dependencies:   mbed

Committer:
CarlaY
Date:
Thu Mar 24 16:03:15 2016 +0000
Revision:
0:daa4f58b511e
ko;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
CarlaY 0:daa4f58b511e 1 /****************************************************************************/
CarlaY 0:daa4f58b511e 2 // Hardware: Grove - I2C Color Sensor
CarlaY 0:daa4f58b511e 3 // Arduino IDE: Arduino-1.6
CarlaY 0:daa4f58b511e 4 //
CarlaY 0:daa4f58b511e 5 // Author: Isaac Drafton
CarlaY 0:daa4f58b511e 6 // Version: 0.9
CarlaY 0:daa4f58b511e 7 // Refactored version of the library by FrankieChu - www.seeedstudio.com
CarlaY 0:daa4f58b511e 8 //
CarlaY 0:daa4f58b511e 9 /******************************************************************************/
CarlaY 0:daa4f58b511e 10
CarlaY 0:daa4f58b511e 11 #ifndef GROVECOLORSENSOR
CarlaY 0:daa4f58b511e 12 #define GROVECOLORSENSOR
CarlaY 0:daa4f58b511e 13
CarlaY 0:daa4f58b511e 14 //#if defined(ARDUINO) && ARDUINO >= 100
CarlaY 0:daa4f58b511e 15 //#include "Arduino.h"
CarlaY 0:daa4f58b511e 16 //#else
CarlaY 0:daa4f58b511e 17 //#include "WProgram.h"
CarlaY 0:daa4f58b511e 18 //#endif
CarlaY 0:daa4f58b511e 19 //#include <Registers.h>
CarlaY 0:daa4f58b511e 20
CarlaY 0:daa4f58b511e 21 class GroveColorSensor
CarlaY 0:daa4f58b511e 22 {
CarlaY 0:daa4f58b511e 23 public:
CarlaY 0:daa4f58b511e 24
CarlaY 0:daa4f58b511e 25 // Color Sensor LED Status
CarlaY 0:daa4f58b511e 26 int ledStatus;
CarlaY 0:daa4f58b511e 27 // Default constructor
CarlaY 0:daa4f58b511e 28 tColorSensor();
CarlaY 0:daa4f58b511e 29 // Constructor with parameters
CarlaY 0:daa4f58b511e 30 tColorSensor(
CarlaY 0:daa4f58b511e 31 const int& triggerMode
CarlaY 0:daa4f58b511e 32 , const int& interruptSource
CarlaY 0:daa4f58b511e 33 , const int& interruptMode
CarlaY 0:daa4f58b511e 34 , const int& gainAndPrescaler
CarlaY 0:daa4f58b511e 35 , const int& sensorAddress);
CarlaY 0:daa4f58b511e 36
CarlaY 0:daa4f58b511e 37 void readRGB();
CarlaY 0:daa4f58b511e 38 void readRGB(int *red, int *green, int *blue);
CarlaY 0:daa4f58b511e 39 void calculateCoordinate();
CarlaY 0:daa4f58b511e 40 void clearInterrupt();
CarlaY 0:daa4f58b511e 41
CarlaY 0:daa4f58b511e 42 private:
CarlaY 0:daa4f58b511e 43
CarlaY 0:daa4f58b511e 44 // Set trigger mode. Including free mode, manually mode, single synchronization mode or so.
CarlaY 0:daa4f58b511e 45 void setTimingReg();
CarlaY 0:daa4f58b511e 46 // Set interrupt source
CarlaY 0:daa4f58b511e 47 void setInterruptSourceReg();
CarlaY 0:daa4f58b511e 48 // Set interrupt mode
CarlaY 0:daa4f58b511e 49 void setInterruptControlReg();
CarlaY 0:daa4f58b511e 50 // Set gain value and pre-scaler value
CarlaY 0:daa4f58b511e 51 void setGain();
CarlaY 0:daa4f58b511e 52 // Start ADC of the colour sensor
CarlaY 0:daa4f58b511e 53 void setEnableADC();
CarlaY 0:daa4f58b511e 54
CarlaY 0:daa4f58b511e 55 // Used for storing the colour data
CarlaY 0:daa4f58b511e 56 int readingdata_[8];
CarlaY 0:daa4f58b511e 57 int green_;
CarlaY 0:daa4f58b511e 58 int red_;
CarlaY 0:daa4f58b511e 59 int blue_;
CarlaY 0:daa4f58b511e 60 int clear_;
CarlaY 0:daa4f58b511e 61
CarlaY 0:daa4f58b511e 62 int triggerMode_;
CarlaY 0:daa4f58b511e 63 int interruptSource_;
CarlaY 0:daa4f58b511e 64 int interruptMode_;
CarlaY 0:daa4f58b511e 65 int gainAndPrescaler_;
CarlaY 0:daa4f58b511e 66 int sensorAddress_;
CarlaY 0:daa4f58b511e 67
CarlaY 0:daa4f58b511e 68 };
CarlaY 0:daa4f58b511e 69
CarlaY 0:daa4f58b511e 70 #endif