ci_radios_sensor.h
Go to the documentation of this file.
1 
7 #ifndef CI_RADIOS_SENSOR_H
8 #define CI_RADIOS_SENSOR_H
9 
10 namespace argos {
11  class CCI_RadiosSensor;
12 }
13 
14 #include <argos3/core/control_interface/ci_sensor.h>
15 #include <argos3/core/utility/datatypes/byte_array.h>
16 
17 namespace argos {
18 
19  class CCI_RadiosSensor: virtual public CCI_Sensor {
20 
21  public:
22 
23  struct SInterface {
24  SInterface(const std::string& str_id,
25  const std::vector<CByteArray>& vec_data = {}) :
26  Id(str_id),
27  Data(vec_data) {}
28  std::string Id;
29  std::vector<CByteArray> Data;
30  using TVector = std::vector<SInterface>;
31  };
32 
33  public:
34 
39 
43  virtual ~CCI_RadiosSensor() {}
44 
45  public:
46 
51  const SInterface::TVector& GetInterfaces() const;
52 
53 #ifdef ARGOS_WITH_LUA
54  virtual void CreateLuaState(lua_State* pt_lua_state);
55 
56  virtual void ReadingsToLuaState(lua_State* pt_lua_state);
57 #endif
58 
59  protected:
60 
62 
63  };
64 
65 }
66 
67 #endif
The basic interface for all sensors.
Definition: ci_sensor.h:34
std::vector< CByteArray > Data
SInterface(const std::string &str_id, const std::vector< CByteArray > &vec_data={})
virtual ~CCI_RadiosSensor()
Destructor.
const SInterface::TVector & GetInterfaces() const
Returns a const reference to the radio interfaces.
SInterface::TVector m_vecInterfaces
CCI_RadiosSensor()
Constructor.
The namespace containing all the ARGoS related code.
Definition: ci_actuator.h:12
std::vector< SInterface > TVector