00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _LightSensor_H_
00023 #define _LightSensor_H_
00024
00025 #include <config.h>
00026 #include <c++/Sensor.H>
00027
00028 #if defined(CONF_DSENSOR)
00029
00046 class LightSensor : public Sensor {
00047 public:
00053 LightSensor(const Sensor::Port port) : Sensor(port, true) {}
00061 unsigned int get() const {return LIGHT(sensor);}
00069 unsigned int sample(unsigned int size = 10, int wait = 2) const {
00070 if (size == 0) size = 1;
00071 unsigned int sum(get());
00072 for (unsigned int i = 1; i < size; ++i) {
00073 sum += get();
00074 delay(wait);
00075 }
00076 return sum / size;
00077 }
00078 };
00079
00080 #else // CONF_DSENSOR
00081 #warning Enable CONF_DSENSOR to use LightSensor.H
00082 #endif // CONF_DSENSOR
00083 #endif // _LightSensor_H_