Skip to content
Snippets Groups Projects
Commit 508d453a authored by Pascal Weiner's avatar Pascal Weiner
Browse files

Add data streaming to RobotUnitComponentPlugin

parent d176e6ae
No related branches found
No related tags found
No related merge requests found
......@@ -8,6 +8,7 @@ set(LIBS
DebugDrawer
diffik
RobotStatechartHelpers
RobotUnitDataStreamingReceiver
)
set(LIB_FILES
......
......@@ -2,6 +2,15 @@
namespace armarx::plugins
{
RobotUnitDataStreamingReceiverPtr
RobotUnitComponentPlugin::startDataSatreming(
const RobotUnitDataStreaming::Config& cfg)
{
//ok to create smart ptr from parent, since ice handels this
return make_shared<RobotUnitDataStreamingReceiver>(
&parent(), getRobotUnit(), cfg);
}
void RobotUnitComponentPlugin::postOnDisconnectComponent()
{
if (!_ctrls.empty())
......@@ -19,6 +28,16 @@ namespace armarx::plugins
bool doManageController)
{
ARMARX_CHECK_NOT_NULL(_robotUnit);
ARMARX_INFO << ARMARX_STREAM_PRINTER
{
out << "creating ";
if (doManageController)
{
out << "and managing ";
}
out << " controller '" << instanceName
<< "' of class '" << instanceName << "'";
};
const auto prx = _robotUnit->createOrReplaceNJointController(className, instanceName, config);
ARMARX_CHECK_NOT_NULL(prx);
if (doManageController)
......
......@@ -2,6 +2,7 @@
#include <ArmarXCore/core/Component.h>
#include <RobotAPI/interface/units/RobotUnit/RobotUnitInterface.h>
#include <RobotAPI/libraries/RobotUnitDataStreamingReceiver/RobotUnitDataStreamingReceiver.h>
namespace armarx
......@@ -28,6 +29,8 @@ namespace armarx
void deactivate();
//controllers
public:
template<class PrxT>
PrxT createNJointController(const std::string& className,
const std::string& instanceName,
......@@ -51,6 +54,11 @@ namespace armarx
bool doManageController = true);
void manageController(const NJointControllerInterfacePrx& ctrl);
void manageController(const std::string& ctrl);
//datastreaming
public:
RobotUnitDataStreamingReceiverPtr startDataSatreming(const RobotUnitDataStreaming::Config& cfg);
private:
static constexpr const char* PROPERTY_NAME = "RobotUnitName";
RobotUnitInterfacePrx _robotUnit;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment