aboutsummaryrefslogtreecommitdiff
path: root/src/platforms
diff options
context:
space:
mode:
authorThomas Gubler <thomasgubler@gmail.com>2014-11-24 17:38:27 +0100
committerThomas Gubler <thomasgubler@gmail.com>2014-11-24 17:38:27 +0100
commit1826fa5d39a5feb2a7c044102c899c23c1f12453 (patch)
treefac6bd06ecaa4884c6b7477c2700f87743a6ea76 /src/platforms
parent3f36d30a3413cd70096e953a2c9ea0ded65bf24e (diff)
downloadpx4-firmware-1826fa5d39a5feb2a7c044102c899c23c1f12453.tar.gz
px4-firmware-1826fa5d39a5feb2a7c044102c899c23c1f12453.tar.bz2
px4-firmware-1826fa5d39a5feb2a7c044102c899c23c1f12453.zip
improve subsciber api
Diffstat (limited to 'src/platforms')
-rw-r--r--src/platforms/px4_nodehandle.h5
-rw-r--r--src/platforms/px4_subscriber.h5
2 files changed, 7 insertions, 3 deletions
diff --git a/src/platforms/px4_nodehandle.h b/src/platforms/px4_nodehandle.h
index df198615c..809d0eb15 100644
--- a/src/platforms/px4_nodehandle.h
+++ b/src/platforms/px4_nodehandle.h
@@ -50,8 +50,9 @@ class NodeHandle : private ros::NodeHandle
public:
template<class M>
Subscriber* subscribe(const char *topic, void(*fp)(M)) {
- ros::NodeHandle::subscribe("rc_channels", 1000, fp);
- return new Subscriber();
+ ros::Subscriber ros_sub = ros::NodeHandle::subscribe(topic, 1000, fp);
+ //XXX create list here, for ros and nuttx
+ return new Subscriber(ros_sub);
}
};
#else
diff --git a/src/platforms/px4_subscriber.h b/src/platforms/px4_subscriber.h
index 8f883154e..8933b2ab2 100644
--- a/src/platforms/px4_subscriber.h
+++ b/src/platforms/px4_subscriber.h
@@ -47,8 +47,11 @@ namespace px4
#if defined(__linux) || (defined(__APPLE__) && defined(__MACH__))
class Subscriber
{
+private:
+ ros::Subscriber _ros_sub;
public:
- Subscriber() {};
+ Subscriber(ros::Subscriber ros_sub) : _ros_sub(ros_sub)
+ {}
~Subscriber() {};
};
#else