ECRobot C++ API for LEGO MINDSTORMS NXT  1.0.10
device/NxtColorSensor.h
00001 //
00002 // NxtColorSensor.h
00003 //
00004 // Copyright 2009 by Takashi Chikamasa, Jon C. Martin, Robert W. Kramer, Marcel Hein and Benjamin Bode
00005 //
00006 
00007 #ifndef NXTCOLORSENSOR_H_
00008 #define NXTCOLORSENSOR_H_
00009 
00010 #include "Port.h"
00011 
00012 extern "C"
00013 {
00014         #include "ecrobot_interface.h"
00015         #include "rtoscalls.h"
00016 };
00017 
00018 namespace ecrobot
00019 {
00023 class NxtColorSensor
00024 {
00025 public:
00029         enum eSensorMode
00030         {
00031                 _COLORSENSOR = 0,   
00032                 _LIGHTSENSOR_RED,   
00033                 _LIGHTSENSOR_GREEN, 
00034                 _LIGHTSENSOR_BLUE,  
00035                 _LIGHTSENSOR_WHITE, 
00036                 _LIGHTSENSOR_NONE,  
00037                 _DEACTIVATE         
00038         };
00039         
00043         enum eColorNumber
00044         {
00045                 _BLACK = 0,     
00046                 _BLUE,          
00047                 _GREEN,         
00048                 _YELLOW,        
00049                 _ORANGE,        
00050                 _RED,           
00051                 _WHITE,         
00052                 _UNKNOWN = 99   
00053         };
00054 
00065         explicit NxtColorSensor(ePortS port, eSensorMode mode=_COLORSENSOR);
00066 
00072         virtual ~NxtColorSensor(void);
00073 
00080         void processBackground(void);
00081 
00087         void setSensorMode(eSensorMode mode);
00088 
00094         inline eSensorMode getSensorMode(void) const { return mSensorMode; }
00095 
00101         S16 get(void) const;
00102 
00108         S16 getBrightness(void) const;
00109 
00116         eColorNumber getColorNumber(void) const;
00117 
00125         void getRawColor(S16 rgb[3]) const;
00126 
00127 private:
00128         ePortS mPort;
00129         eSensorMode mSensorMode;
00130 };
00131 }
00132 
00133 #endif
 All Classes Files Functions Variables Enumerations Enumerator Friends Defines