ci_directional_leds_actuator.h
Go to the documentation of this file.
1 
7 #ifndef CCI_DIRECTIONAL_LEDS_ACTUATOR_H
8 #define CCI_DIRECTIONAL_LEDS_ACTUATOR_H
9 
10 namespace argos {
11  class CCI_DirectionalLEDsActuator;
12 }
13 
14 #include <argos3/core/control_interface/ci_actuator.h>
15 #include <argos3/core/utility/datatypes/color.h>
16 
17 namespace argos {
18 
20 
21  public:
22 
24 
26 
30  size_t GetNumLEDs() const;
31 
40  virtual void SetSingleColor(UInt32 un_led_number,
41  const CColor& c_color);
42 
51  virtual void SetAllColors(const CColor& c_color);
52 
63  virtual void SetAllColors(const std::vector<CColor>& c_colors);
64 
72  virtual void SetSingleIntensity(UInt32 un_led_number,
73  UInt8 un_intensity);
74 
81  virtual void SetAllIntensities(UInt8 un_intensity);
82 
83 #ifdef ARGOS_WITH_LUA
84  virtual void CreateLuaState(lua_State* pt_lua_state);
85 #endif
86 
87  protected:
88 
89  std::vector<CColor> m_tSettings;
90  std::vector<CColor> m_tInitSettings;
91 
92  };
93 
94 }
95 
96 #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 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.
virtual void SetAllIntensities(UInt8 un_intensity)
Sets the intensity of all the LEDs in the ring.
virtual void SetAllColors(const CColor &c_color)
Sets the color of the whole LED ring.