42 usingTopic(getProperty<std::string>(
"MetaWearTopicName").getValue());
49 offeringTopic(getProperty<std::string>(
"DebugDrawerTopic").getValue());
56 debugDrawerPrx = getTopic<DebugDrawerInterfacePrx>(getProperty<std::string>(
"DebugDrawerTopic").getValue());
67 std::unique_lock lock(dataMutex);
69 if (!existsChannel(name))
71 offerChannel(name,
"MetaWear IMU data");
73 offerVector3(name,
"acceleration", data.acceleration);
74 offerVector3(name,
"gyro", data.gyro);
75 offerVector3(name,
"magnetic", data.magnetic);
76 offerQuaternion(name,
"orientationQuaternion", data.orientationQuaternion);
87 void MetaWearIMUObserver::offerVector3(
const std::string& channelName,
const std::string& dfName,
const std::vector<float>& data)
94 else if (data.size() != 0)
96 ARMARX_WARNING <<
"data." << dfName <<
".size() != 3 && data." << dfName <<
".size() != 0";
100 void MetaWearIMUObserver::offerQuaternion(
const std::string& channelName,
const std::string& dfName,
const std::vector<float>& data)
102 if (data.size() == 4)
107 else if (data.size() != 0)
109 ARMARX_WARNING <<
"data." << dfName <<
".size() != 4 && data." << dfName <<
".size() != 0";