Skip to content

Commit

Permalink
Merge pull request #153 from robotology/fixyarp311
Browse files Browse the repository at this point in the history
 Fix compatibility with YARP 3.11 and bump version to 1.3.6
  • Loading branch information
S-Dafarra authored Feb 20, 2025
2 parents 78f41c0 + e42a72f commit c8db919
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 9 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ cmake_minimum_required(VERSION 3.5)
set(CMAKE_CXX_STANDARD 14)

project(walking-teleoperation
VERSION 1.3.5)
VERSION 1.3.6)

list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
include(WalkingTeleoperationFindDependencies)
Expand Down
26 changes: 21 additions & 5 deletions modules/Oculus_module/src/OculusModule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
#include <yarp/os/LogStream.h>
#include <yarp/os/Property.h>
#include <yarp/os/Stamp.h>
#include <yarp/conf/version.h>

#include <iDynTree/EigenHelpers.h>
#include <iDynTree/YARPConversions.h>
Expand All @@ -17,6 +18,21 @@

#include <functional>

inline bool OculusModuleFrameExists(yarp::dev::IFrameTransform* frameTransformInterface,
const std::string& frameID)
{
bool frameExists = false;
#if YARP_VERSION_MAJOR == 3 && YARP_VERSION_MINOR < 11
frameExists = frameTransformInterface->frameExists(frameID);
#else
bool frameExistsOk = false;
bool frameExistsReturnValue = false;
frameExistsReturnValue = frameTransformInterface->frameExists(frameID, frameExistsOk);
frameExists = frameExistsOk && frameExistsReturnValue;
#endif
return frameExists;
}

Eigen::Ref<Eigen::Matrix<double, 3, 3, Eigen::RowMajor>> getRotation(yarp::sig::Matrix& m)
{

Expand Down Expand Up @@ -778,7 +794,7 @@ bool OculusModule::runningModule()

if (m_useOpenXr)
{
if (!m_frameTransformInterface->frameExists(m_headFrameName))
if (!OculusModuleFrameExists(m_frameTransformInterface,m_headFrameName))
{
yError() << "[OculusModule::runningModule] The frame named " << m_headFrameName
<< " does not exist.";
Expand Down Expand Up @@ -900,13 +916,13 @@ bool OculusModule::getTransforms()
if (!m_useXsens)
{
// check if everything is ok
if (!m_frameTransformInterface->frameExists(m_rootFrameName))
if (!OculusModuleFrameExists(m_frameTransformInterface, m_rootFrameName))
{
yError() << "[OculusModule::getTransforms] No " << m_rootFrameName << " frame.";
return false;
}

if (!m_frameTransformInterface->frameExists(m_headFrameName))
if (!OculusModuleFrameExists(m_frameTransformInterface, m_headFrameName))
{

if (m_useOpenXr)
Expand Down Expand Up @@ -993,14 +1009,14 @@ bool OculusModule::getTransforms()
if (!m_useXsens && !m_useIFeel)
{

if (!m_frameTransformInterface->frameExists(m_leftHandFrameName))
if (!OculusModuleFrameExists(m_frameTransformInterface, m_leftHandFrameName))
{

yError() << "[OculusModule::getTransforms] No " << m_leftHandFrameName << " frame.";
return false;
}

if (!m_frameTransformInterface->frameExists(m_rightHandFrameName))
if (!OculusModuleFrameExists(m_frameTransformInterface,m_rightHandFrameName))
{
yError() << "[OculusModule::getTransforms] No " << m_rightHandFrameName << " frame.";
return false;
Expand Down
22 changes: 19 additions & 3 deletions modules/OpenXRJoypad_module/src/OpenXRJoypadModule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,22 @@
#include <OpenXRJoypadModule.hpp>
#include <Utils.hpp>

inline bool OpenXRJoypadModuleFrameExists(yarp::dev::IFrameTransform* frameTransformInterface,
const std::string& frameID)
{
bool frameExists = false;
#if YARP_VERSION_MAJOR == 3 && YARP_VERSION_MINOR < 11
frameExists = frameTransformInterface->frameExists(frameID);
#else
bool frameExistsOk = false;
bool frameExistsReturnValue = false;
frameExistsReturnValue = frameTransformInterface->frameExists(frameID, frameExistsOk);
frameExists = frameExistsOk && frameExistsReturnValue;
#endif
return frameExists;
}


class RobotControlHelper
{
yarp::dev::PolyDriver m_robotDevice; /**< Main robot device. */
Expand Down Expand Up @@ -989,9 +1005,9 @@ struct OpenXRJoypadModule::Impl
yarp::sig::Matrix& headOpenXR_T_rightHandOpenXR) {
bool ok = true;

ok = ok && this->frameTransformInterface->frameExists(this->headFrameName);
ok = ok && this->frameTransformInterface->frameExists(this->leftHandFrameName);
ok = ok && this->frameTransformInterface->frameExists(this->rightHandFrameName);
ok = ok && OpenXRJoypadModuleFrameExists(this->frameTransformInterface, this->headFrameName);
ok = ok && OpenXRJoypadModuleFrameExists(this->frameTransformInterface, this->leftHandFrameName);
ok = ok && OpenXRJoypadModuleFrameExists(this->frameTransformInterface, this->rightHandFrameName);

ok = ok
&& this->frameTransformInterface->getTransform(this->rightHandFrameName, //
Expand Down

0 comments on commit c8db919

Please sign in to comment.