ARGoS 3
A parallel, multi-engine simulator for swarm robotics
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
10namespace 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
17namespace 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
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 namespace containing all the ARGoS related code.
Definition ci_actuator.h:12
The basic interface for all sensors.
Definition ci_sensor.h:34
SInterface::TVector m_vecInterfaces
virtual ~CCI_RadiosSensor()
Destructor.
const SInterface::TVector & GetInterfaces() const
Returns a const reference to the radio interfaces.
std::vector< SInterface > TVector
SInterface(const std::string &str_id, const std::vector< CByteArray > &vec_data={})