mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-07-04 06:30:34 +08:00
multiplatform: re-enable interval functionality (for uorb)
This commit is contained in:
@@ -62,13 +62,13 @@ SubscriberExample::SubscriberExample() :
|
||||
|
||||
/* Do some subscriptions */
|
||||
/* Function */
|
||||
_n.subscribe<px4_rc_channels>(rc_channels_callback_function); //ROS version
|
||||
_n.subscribe<px4_rc_channels>(rc_channels_callback_function, _interval);
|
||||
|
||||
/* No callback */
|
||||
_sub_rc_chan = _n.subscribe<px4_rc_channels>();
|
||||
_sub_rc_chan = _n.subscribe<px4_rc_channels>(500);
|
||||
|
||||
/* Class Method */
|
||||
_n.subscribe<px4_rc_channels>(&SubscriberExample::rc_channels_callback, this);
|
||||
_n.subscribe<px4_rc_channels>(&SubscriberExample::rc_channels_callback, this, 1000);
|
||||
|
||||
PX4_INFO("subscribed");
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@ public:
|
||||
* @param fb Callback, executed on receiving a new message
|
||||
*/
|
||||
template<typename T>
|
||||
Subscriber<T> *subscribe(void(*fp)(const T &))
|
||||
Subscriber<T> *subscribe(void(*fp)(const T &), unsigned interval)
|
||||
{
|
||||
SubscriberBase *sub = new SubscriberROS<T>((ros::NodeHandle*)this, std::bind(fp, std::placeholders::_1));
|
||||
_subs.push_back(sub);
|
||||
@@ -92,7 +92,7 @@ public:
|
||||
* @param obj pointer class instance
|
||||
*/
|
||||
template<typename T, typename C>
|
||||
Subscriber<T> *subscribe(void(C::*fp)(const T &), C *obj)
|
||||
Subscriber<T> *subscribe(void(C::*fp)(const T &), C *obj, unsigned interval)
|
||||
{
|
||||
SubscriberBase *sub = new SubscriberROS<T>((ros::NodeHandle*)this, std::bind(fp, obj, std::placeholders::_1));
|
||||
_subs.push_back(sub);
|
||||
@@ -103,7 +103,7 @@ public:
|
||||
* Subscribe with no callback, just the latest value is stored on updates
|
||||
*/
|
||||
template<typename T>
|
||||
Subscriber<T> *subscribe()
|
||||
Subscriber<T> *subscribe(unsigned interval)
|
||||
{
|
||||
SubscriberBase *sub = new SubscriberROS<T>((ros::NodeHandle*)this);
|
||||
_subs.push_back(sub);
|
||||
@@ -186,8 +186,9 @@ public:
|
||||
*/
|
||||
|
||||
template<typename T>
|
||||
Subscriber<T> *subscribe(void(*fp)(const T &), unsigned interval=10) //XXX interval
|
||||
Subscriber<T> *subscribe(void(*fp)(const T &), unsigned interval)
|
||||
{
|
||||
(void)interval;
|
||||
SubscriberUORBCallback<T> *sub_px4 = new SubscriberUORBCallback<T>(interval, std::bind(fp, std::placeholders::_1));
|
||||
update_sub_min_interval(interval, sub_px4);
|
||||
_subs.add((SubscriberNode *)sub_px4);
|
||||
@@ -200,8 +201,9 @@ public:
|
||||
* @param obj pointer class instance
|
||||
*/
|
||||
template<typename T, typename C>
|
||||
Subscriber<T> *subscribe(void(C::*fp)(const T &), C *obj, unsigned interval=10)
|
||||
Subscriber<T> *subscribe(void(C::*fp)(const T &), C *obj, unsigned interval)
|
||||
{
|
||||
(void)interval;
|
||||
SubscriberUORBCallback<T> *sub_px4 = new SubscriberUORBCallback<T>(interval, std::bind(fp, obj, std::placeholders::_1));
|
||||
update_sub_min_interval(interval, sub_px4);
|
||||
_subs.add((SubscriberNode *)sub_px4);
|
||||
@@ -214,8 +216,9 @@ public:
|
||||
*/
|
||||
|
||||
template<typename T>
|
||||
Subscriber<T> *subscribe(unsigned interval=10) //XXX interval
|
||||
Subscriber<T> *subscribe(unsigned interval)
|
||||
{
|
||||
(void)interval;
|
||||
SubscriberUORB<T> *sub_px4 = new SubscriberUORB<T>(interval);
|
||||
update_sub_min_interval(interval, sub_px4);
|
||||
_subs.add((SubscriberNode *)sub_px4);
|
||||
|
||||
Reference in New Issue
Block a user