|
@@ -88,3 +88,30 @@ float GroveTemp::raw_value()
|
88
|
88
|
{
|
89
|
89
|
return (float) maa_aio_read_u16(m_aio);
|
90
|
90
|
}
|
|
91
|
+
|
|
92
|
+//// GroveLight ////
|
|
93
|
+
|
|
94
|
+GroveLight::GroveLight(unsigned int pin)
|
|
95
|
+{
|
|
96
|
+ maa_init();
|
|
97
|
+ m_aio = maa_aio_init(pin);
|
|
98
|
+ m_name = "Light Sensor";
|
|
99
|
+}
|
|
100
|
+
|
|
101
|
+GroveLight::~GroveLight()
|
|
102
|
+{
|
|
103
|
+ maa_aio_close(m_aio);
|
|
104
|
+}
|
|
105
|
+
|
|
106
|
+int GroveLight::value ()
|
|
107
|
+{
|
|
108
|
+ // rough conversion to Lux
|
|
109
|
+ int a = maa_aio_read_u16(m_aio);
|
|
110
|
+ a = 10000/(((1023-a)*10/a)*15)^(4/3);
|
|
111
|
+ return a;
|
|
112
|
+}
|
|
113
|
+
|
|
114
|
+float GroveLight::raw_value()
|
|
115
|
+{
|
|
116
|
+ return (float) maa_aio_read_u16(m_aio);
|
|
117
|
+}
|