ci_footbot_turret_encoder_sensor.cpp
Go to the documentation of this file.
1 
8 
9 #ifdef ARGOS_WITH_LUA
10 #include <argos3/core/wrappers/lua/lua_utility.h>
11 #endif
12 
13 namespace argos {
14 
15  /****************************************/
16  /****************************************/
17 
18  const CRange<CRadians> CCI_FootBotTurretEncoderSensor::ANGULAR_RANGE(CRadians(-ARGOS_PI), CRadians(ARGOS_PI));
19 
20  /****************************************/
21  /****************************************/
22 
24  return m_cRotation;
25  }
26 
27  /****************************************/
28  /****************************************/
29 
30 #ifdef ARGOS_WITH_LUA
31  void CCI_FootBotTurretEncoderSensor::CreateLuaState(lua_State* pt_lua_state) {
32  CLuaUtility::OpenRobotStateTable(pt_lua_state, "turret");
33  CLuaUtility::AddToTable(pt_lua_state, "rotation", m_cRotation);
35  }
36 #endif
37 
38  /****************************************/
39  /****************************************/
40 
41 #ifdef ARGOS_WITH_LUA
42  void CCI_FootBotTurretEncoderSensor::ReadingsToLuaState(lua_State* pt_lua_state) {
43  lua_getfield(pt_lua_state, -1, "turret");
44  lua_pushnumber(pt_lua_state, m_cRotation.GetValue());
45  lua_setfield(pt_lua_state, -2, "rotation");
46  lua_pop(pt_lua_state, 1);
47  }
48 #endif
49 
50 
51  /****************************************/
52  /****************************************/
53 
54 }
static void AddToTable(lua_State *pt_state, const std::string &str_key, void *pt_data)
Adds a pointer to a chunk of data with the given string key to the table located at the top of the st...
It defines the basic type CRadians, used to store an angle value in radians.
Definition: angles.h:42
Real GetValue() const
Returns the value in radians.
Definition: angles.h:111
static void OpenRobotStateTable(lua_State *pt_state, const std::string &str_key)
Opens a table in the robot state, creating it if it does not exist.
#define ARGOS_PI
To be used when initializing static variables.
Definition: angles.h:32
The namespace containing all the ARGoS related code.
Definition: ci_actuator.h:12
static void CloseRobotStateTable(lua_State *pt_state)
Closes a table in the robot state.