00001 /** 00002 * @file LEDControl.h 00003 * 00004 * Definition of class LEDControlInterfaces 00005 */ 00006 00007 #ifndef __LEDControl_h_ 00008 #define __LEDControl_h_ 00009 00010 #include "Tools/Module/Module.h" 00011 00012 #include "Representations/Motion/LEDRequest.h" 00013 #include "Representations/Motion/LEDValue.h" 00014 00015 /** 00016 * @class LEDControlInterfaces 00017 * 00018 * Interfaces of the LEDControl Module. 00019 */ 00020 class LEDControlInterfaces 00021 { 00022 public: 00023 /** Constructor 00024 * @param ledRequest A request how to set the leds from the behavior 00025 * @param wLanStatus Number of robots connected 00026 * @param ledValue The value of the led to be filled 00027 * @param frameNumber Number of the current frame 00028 */ 00029 LEDControlInterfaces( 00030 const unsigned long& frameNumber, 00031 const LEDRequest& ledRequest, 00032 const int& wLanStatus, 00033 LEDValue& ledValue) 00034 : 00035 frameNumber(frameNumber), 00036 ledRequest(ledRequest), 00037 wLanStatus(wLanStatus), 00038 ledValue(ledValue) 00039 {} 00040 protected: 00041 /** A reference to the frame number */ 00042 const unsigned long& frameNumber; 00043 00044 /** A request how to set the leds from the behavior */ 00045 const LEDRequest& ledRequest; 00046 00047 /** The status of the WLan connection to be displayed with the ear leds */ 00048 const int& wLanStatus; 00049 00050 /** The value of the led to be filled */ 00051 LEDValue& ledValue; 00052 }; 00053 00054 /** 00055 * @class LEDControl 00056 * 00057 * A generic class for LED control modules 00058 */ 00059 class LEDControl : public Module, public LEDControlInterfaces 00060 { 00061 public: 00062 /* 00063 * Constructor. 00064 * @param interfaces The paramters of the LEDControl module. 00065 */ 00066 LEDControl(const LEDControlInterfaces& interfaces) 00067 : LEDControlInterfaces(interfaces) 00068 {} 00069 00070 /** Destructor */ 00071 virtual ~LEDControl() {} 00072 }; 00073 00074 #endif //__LEDControl_h_ 00075 00076 /* 00077 * Change log : 00078 * 00079 * $Log: LEDControl.h,v $ 00080 * Revision 1.3 2004/09/08 14:39:03 wachter 00081 * - Fixed some doxygen-errors 00082 * 00083 * Revision 1.2 2004/06/09 07:45:57 juengel 00084 * Added frameNumber to LEDControlInterfaces. 00085 * 00086 * Revision 1.1.1.1 2004/05/22 17:20:15 cvsadm 00087 * created new repository GT2004_WM 00088 * 00089 * Revision 1.3 2004/05/14 14:12:08 wachter 00090 * - Added communication support for 5 robots 00091 * - rewrote parts of team-communication to be faster and more stable 00092 * 00093 * Revision 1.2 2004/03/08 01:39:02 roefer 00094 * Interfaces should be const 00095 * 00096 * Revision 1.1 2003/10/06 14:10:14 cvsadm 00097 * Created GT2004 (M.J.) 00098 * 00099 * Revision 1.2 2003/09/26 15:27:49 juengel 00100 * Renamed DataTypes to representations. 00101 * 00102 * Revision 1.1.1.1 2003/07/02 09:40:24 cvsadm 00103 * created new repository for the competitions in Padova from the 00104 * tamara CVS (Tuesday 2:00 pm) 00105 * 00106 * removed unused solutions 00107 * 00108 * Revision 1.5 2003/02/04 14:11:20 wachter 00109 * fixed initialisation of wLanStatus 1..3 00110 * 00111 * Revision 1.4 2002/10/14 13:14:25 dueffert 00112 * doxygen comments corrected 00113 * 00114 * Revision 1.3 2002/09/12 13:17:27 loetzsch 00115 * made member variables of module interfaces protected 00116 * 00117 * Revision 1.2 2002/09/11 20:06:19 loetzsch 00118 * continued experiments with modules/solutions 00119 * 00120 * Revision 1.1 2002/09/10 15:36:15 cvsadm 00121 * Created new project GT2003 (M.L.) 00122 * - Cleaned up the /Src/DataTypes directory 00123 * - Removed challenge related source code 00124 * - Removed processing of incoming audio data 00125 * - Renamed AcousticMessage to SoundRequest 00126 * 00127 * Revision 1.2 2002/05/16 22:36:11 roefer 00128 * Team communication and GTMath bugs fixed 00129 * 00130 * Revision 1.4 2002/05/04 17:47:44 loetzsch 00131 * LEDControl now has access to an instance of WLanStatus 00132 * (which shall be displayed then with the green leds. follows next) 00133 * 00134 * Revision 1.3 2001/12/21 14:09:39 roefer 00135 * Added several destructors 00136 * 00137 * Revision 1.2 2001/12/10 17:47:06 risler 00138 * change log added 00139 * 00140 */