15PeriodicThread (0.010),
16m_thrift_rpcPort_Name("/frameTransformGet/rpc")
30 bool default_config =
true;
31 if(config.
check(
"default-config")) {
32 default_config = config.
find(
"default-config").asString() ==
"true";
35 if (config.
check(
"nws_thrift_port_prefix")){
36 prefix = config.
find(
"nws_thrift_port_prefix").asString() + (default_config ? m_defaultConfigPrefix :
"");
37 if(prefix[0] !=
'/') {prefix =
"/"+prefix;}
38 m_thrift_rpcPort_Name = prefix +
"/" + m_deviceName +
"/thrift";
41 prefix = default_config ? m_defaultConfigPrefix :
"";
42 m_thrift_rpcPort_Name = prefix +
"/" + m_deviceName +
"/thrift";
45 if(config.
check(
"streaming_enabled")) {
46 m_streaming_port_enabled = config.
find(
"streaming_enabled").asString() ==
"true";
48 if (config.
check(
"period")) {
49 double period = config.
find(
"period").asFloat64();
54 if(!m_thrift_rpcPort.
open(m_thrift_rpcPort_Name))
59 if(!this->
yarp().attachAsServer(m_thrift_rpcPort))
68 if (m_streaming_port_enabled)
70 if (config.
check(
"output_streaming_port_prefix")){
71 prefix = config.
find(
"output_streaming_port_prefix").asString() + (default_config ? m_defaultConfigPrefix :
"");
72 if(prefix[0] !=
'/') {prefix =
"/"+prefix;}
73 m_streaming_port_name = prefix +
"/" + m_deviceName +
"/tf:o";
76 prefix = default_config ? m_defaultConfigPrefix :
"";
77 m_streaming_port_name = prefix +
"/" + m_deviceName +
"/tf:o";
81 if (!m_streaming_port.
open(m_streaming_port_name))
115 m_thrift_rpcPort.
close();
117 m_streaming_port.
close();
124 std::lock_guard<std::mutex> m_lock(m_mutex);
125 m_iFrameTransformStorageGet =
nullptr;
132 std::lock_guard<std::mutex> m_lock(m_mutex);
133 deviceToAttach->
view(m_iFrameTransformStorageGet);
135 if ( m_iFrameTransformStorageGet==
nullptr){
145 std::lock_guard<std::mutex> m_lock(m_mutex);
146 if (m_iFrameTransformStorageGet !=
nullptr) {
147 std::vector<yarp::math::FrameTransform> localTransform;
148 if (m_iFrameTransformStorageGet->
getTransforms(localTransform)) {
159 std::lock_guard<std::mutex> m_lock(m_mutex);
160 if (m_iFrameTransformStorageGet !=
nullptr)
162 std::vector<yarp::math::FrameTransform> localTransform;
163 if (m_iFrameTransformStorageGet->
getTransforms(localTransform))
166 m_streaming_port.
write(rgt);
bool view(T *&x)
Get an interface to the device driver.
A container for a device driver.
static bool checkNetwork()
Check if the YARP Network is up and running.
bool setPeriod(double period)
Set the (new) period of the thread.
bool isRunning() const
Returns true when the thread is started, false otherwise.
bool start()
Call this to start the thread.
void stop()
Call this to stop the thread, this call blocks until the thread is terminated (and releaseThread() ca...
bool write(const PortWriter &writer, const PortWriter *callback=nullptr) const override
Write an object to the port.
void interrupt() override
Interrupt any current reads or writes attached to the port.
void close() override
Stop port activity.
bool open(const std::string &name) override
Start port operation, with a specific name, with automatically-chosen network parameters.
A base class for nested structures that can be searched.
virtual bool check(const std::string &key) const =0
Check if there exists a property of the given name.
virtual std::string toString() const =0
Return a standard text representation of the content of the object.
virtual Value & find(const std::string &key) const =0
Gets a value corresponding to a given keyword.
yarp::os::WireLink & yarp()
Get YARP state associated with this object.
#define yCInfo(component,...)
#define yCError(component,...)
#define yCTrace(component,...)
#define yCWarning(component,...)
#define YARP_LOG_COMPONENT(name,...)