grove: initial groveLight support

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
This commit is contained in:
Brendan Le Foll 2014-05-07 15:40:39 +01:00
parent 11ac453218
commit 5e14ddb540
2 changed files with 37 additions and 0 deletions

View File

@ -88,3 +88,30 @@ float GroveTemp::raw_value()
{ {
return (float) maa_aio_read_u16(m_aio); return (float) maa_aio_read_u16(m_aio);
} }
//// GroveLight ////
GroveLight::GroveLight(unsigned int pin)
{
maa_init();
m_aio = maa_aio_init(pin);
m_name = "Light Sensor";
}
GroveLight::~GroveLight()
{
maa_aio_close(m_aio);
}
int GroveLight::value ()
{
// rough conversion to Lux
int a = maa_aio_read_u16(m_aio);
a = 10000/(((1023-a)*10/a)*15)^(4/3);
return a;
}
float GroveLight::raw_value()
{
return (float) maa_aio_read_u16(m_aio);
}

View File

@ -61,4 +61,14 @@ class GroveTemp: public Grove {
maa_aio_context* m_aio; maa_aio_context* m_aio;
}; };
class GroveLight: public Grove {
public:
GroveLight(unsigned int pin);
~GroveLight();
float raw_value();
int value();
private:
maa_aio_context* m_aio;
};
} }