ARGoS
3
A parallel, multi-engine simulator for swarm robotics
|
00001 00007 #include "ci_footbot_turret_encoder_sensor.h" 00008 00009 #ifdef ARGOS_WITH_LUA 00010 #include <argos3/core/wrappers/lua/lua_utility.h> 00011 #endif 00012 00013 namespace argos { 00014 00015 /****************************************/ 00016 /****************************************/ 00017 00018 const CRange<CRadians> CCI_FootBotTurretEncoderSensor::ANGULAR_RANGE(CRadians(-ARGOS_PI), CRadians(ARGOS_PI)); 00019 00020 /****************************************/ 00021 /****************************************/ 00022 00023 #ifdef ARGOS_WITH_LUA 00024 void CCI_FootBotTurretEncoderSensor::CreateLuaState(lua_State* pt_lua_state) { 00025 CLuaUtility::OpenRobotStateTable(pt_lua_state, "turret"); 00026 CLuaUtility::AddToTable(pt_lua_state, "rotation", m_cRotation); 00027 CLuaUtility::CloseRobotStateTable(pt_lua_state); 00028 } 00029 #endif 00030 00031 /****************************************/ 00032 /****************************************/ 00033 00034 #ifdef ARGOS_WITH_LUA 00035 void CCI_FootBotTurretEncoderSensor::ReadingsToLuaState(lua_State* pt_lua_state) { 00036 lua_getfield(pt_lua_state, -1, "turret"); 00037 lua_pushnumber(pt_lua_state, m_cRotation.GetValue()); 00038 lua_setfield(pt_lua_state, -2, "rotation"); 00039 lua_pop(pt_lua_state, 1); 00040 } 00041 #endif 00042 00043 00044 /****************************************/ 00045 /****************************************/ 00046 00047 }