Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
rgbSensor.cpp
- Committer:
- DerekW2015
- Date:
- 2018-11-27
- Revision:
- 0:a9a4c0fd5f8a
File content as of revision 0:a9a4c0fd5f8a:
#include "mbed.h"
#include "rgbSensor.h"
rgbSensor::rgbSensor(PinName sda, PinName scl) :
_i2c(sda, scl){
value_R = 0;
value_G = 0;
value_B = 0;
sensor_addr = 41 << 1;
_i2c.frequency(200000);
char id_regval[1] = {146};
char data[1] = {0};
_i2c.write(sensor_addr,id_regval,1, true);
_i2c.read(sensor_addr,data,1,false);
}
void rgbSensor::update()
{
char clear_reg[1] = {148};
char clear_data[2] = {0,0};
_i2c.write(sensor_addr,clear_reg,1, true);
_i2c.read(sensor_addr,clear_data,2, false);
value_C = ((int)clear_data[1] << 8) | clear_data[0];
char red_reg[1] = {150};
char red_data[2] = {0,0};
_i2c.write(sensor_addr,red_reg,1, true);
_i2c.read(sensor_addr,red_data,2, false);
value_R = ((int)red_data[1] << 8) | red_data[0];
char green_reg[1] = {152};
char green_data[2] = {0,0};
_i2c.write(sensor_addr,green_reg,1, true);
_i2c.read(sensor_addr,green_data,2, false);
value_G = ((int)green_data[1] << 8) | green_data[0];
char blue_reg[1] = {154};
char blue_data[2] = {0,0};
_i2c.write(sensor_addr,blue_reg,1, true);
_i2c.read(sensor_addr,blue_data,2, false);
value_B = ((int)blue_data[1] << 8) | blue_data[0];
}
int rgbSensor::get_C()
{
return value_C;
}
int rgbSensor::get_R()
{
return value_R;
}
int rgbSensor::get_G()
{
return value_G;
}
int rgbSensor::get_B()
{
return value_B;
}
