diff --git a/src/platforms/px4_nodehandle.h b/src/platforms/px4_nodehandle.h index c85b8118b3..fd1647051a 100644 --- a/src/platforms/px4_nodehandle.h +++ b/src/platforms/px4_nodehandle.h @@ -243,13 +243,8 @@ public: template Publisher *advertise() { - //XXX - // uORB::PublicationBase * uorb_pub = new uORB::PublicationBase((new T())->handle()); - uORB::PublicationBase * uorb_pub = new uORB::PublicationBase(T::handle()); - PublisherUORB *pub = new PublisherUORB(uorb_pub); - + PublisherUORB *pub = new PublisherUORB(); _pubs.add(pub); - return (Publisher*)pub; } diff --git a/src/platforms/px4_publisher.h b/src/platforms/px4_publisher.h index ea675e67be..a9e40e8d67 100644 --- a/src/platforms/px4_publisher.h +++ b/src/platforms/px4_publisher.h @@ -130,10 +130,10 @@ public: /** * Construct Publisher by providing orb meta data */ - PublisherUORB(uORB::PublicationBase * uorb_pub) : + PublisherUORB() : Publisher(), PublisherNode(), - _uorb_pub(uorb_pub) + _uorb_pub(new uORB::PublicationBase(T::handle())) {} ~PublisherUORB() {}; diff --git a/src/platforms/px4_subscriber.h b/src/platforms/px4_subscriber.h index e086cd4c26..17a95f12d8 100644 --- a/src/platforms/px4_subscriber.h +++ b/src/platforms/px4_subscriber.h @@ -107,21 +107,22 @@ public: SubscriberROS(ros::NodeHandle *rnh) : px4::Subscriber(), _cbf(NULL), - _ros_sub(rnh->subscribe(T::handle(), 1, &SubscriberROS::callback, this)) + _ros_sub(rnh->subscribe(T::handle(), kQueueSizeDefault, &SubscriberROS::callback, this)) {} /** * Construct Subscriber by providing a callback function */ - //XXX queue default SubscriberROS(ros::NodeHandle *rnh, std::function cbf) : _cbf(cbf), - _ros_sub(rnh->subscribe(T::handle(), 1, &SubscriberROS::callback, this)) + _ros_sub(rnh->subscribe(T::handle(), kQueueSizeDefault, &SubscriberROS::callback, this)) {} virtual ~SubscriberROS() {}; protected: + static const uint32_t kQueueSizeDefault = 1; /**< Size of queue for ROS */ + /** * Called on topic update, saves the current message and then calls the provided callback function * needs to use the native type as it is called by ROS