ARGoS
3
A parallel, multi-engine simulator for swarm robotics
|
00001 00007 #ifndef CCI_LEDS_ACTUATOR_H 00008 #define CCI_LEDS_ACTUATOR_H 00009 00010 namespace argos { 00011 class CCI_LEDsActuator; 00012 } 00013 00014 #include <argos3/core/control_interface/ci_actuator.h> 00015 #include <argos3/core/utility/datatypes/color.h> 00016 00017 namespace argos { 00018 00019 class CCI_LEDsActuator : public CCI_Actuator { 00020 00021 public: 00022 00023 typedef std::vector<CColor> TSettings; 00024 00025 public: 00026 00027 CCI_LEDsActuator() {} 00028 00029 virtual ~CCI_LEDsActuator() {} 00030 00034 inline size_t GetNumLEDs() const { 00035 return m_tSettings.size(); 00036 } 00037 00046 virtual void SetSingleColor(UInt32 un_led_number, 00047 const CColor& c_color); 00048 00057 virtual void SetAllColors(const CColor& c_color); 00058 00069 virtual void SetAllColors(const TSettings& c_colors); 00070 00078 virtual void SetSingleIntensity(UInt32 un_led_number, 00079 UInt8 un_intensity); 00080 00087 virtual void SetAllIntensities(UInt8 un_intensity); 00088 00089 #ifdef ARGOS_WITH_LUA 00090 virtual void CreateLuaState(lua_State* pt_lua_state); 00091 #endif 00092 00093 protected: 00094 00095 TSettings m_tSettings; 00096 00097 }; 00098 00099 } 00100 00101 #endif