ci_leds_actuator.h
Go to the documentation of this file.
1 
7 #ifndef CCI_LEDS_ACTUATOR_H
8 #define CCI_LEDS_ACTUATOR_H
9 
10 namespace argos {
11  class CCI_LEDsActuator;
12 }
13 
14 #include <argos3/core/control_interface/ci_actuator.h>
15 #include <argos3/core/utility/datatypes/color.h>
16 
17 namespace argos {
18 
19  class CCI_LEDsActuator : public CCI_Actuator {
20 
21  public:
22 
23  typedef std::vector<CColor> TSettings;
24 
25  public:
26 
28 
29  virtual ~CCI_LEDsActuator() {}
30 
34  size_t GetNumLEDs() const;
35 
44  virtual void SetSingleColor(UInt32 un_led_number,
45  const CColor& c_color);
46 
55  virtual void SetAllColors(const CColor& c_color);
56 
67  virtual void SetAllColors(const TSettings& c_colors);
68 
76  virtual void SetSingleIntensity(UInt32 un_led_number,
77  UInt8 un_intensity);
78 
85  virtual void SetAllIntensities(UInt8 un_intensity);
86 
87 #ifdef ARGOS_WITH_LUA
88  virtual void CreateLuaState(lua_State* pt_lua_state);
89 #endif
90 
91  protected:
92 
94 
95  };
96 
97 }
98 
99 #endif
unsigned int UInt32
32-bit unsigned integer.
Definition: datatypes.h:97
unsigned char UInt8
8-bit unsigned integer.
Definition: datatypes.h:60
The namespace containing all the ARGoS related code.
Definition: ci_actuator.h:12
The basic interface for all actuators.
Definition: ci_actuator.h:34
The basic color type.
Definition: color.h:25
size_t GetNumLEDs() const
Returns the number of LEDs.
virtual void SetAllColors(const CColor &c_color)
Sets the color of the whole LED ring.
virtual void SetAllIntensities(UInt8 un_intensity)
Sets the intensity of all the LEDs in the ring.
virtual void SetSingleColor(UInt32 un_led_number, const CColor &c_color)
Sets the color of a single LED.
virtual void SetSingleIntensity(UInt32 un_led_number, UInt8 un_intensity)
Sets the intensity of a single LED in the ring.
std::vector< CColor > TSettings