mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-06-08 02:17:07 +08:00
actually call callback
This commit is contained in:
@@ -106,8 +106,6 @@ public:
|
||||
|
||||
template<typename M>
|
||||
Subscriber * subscribe(const struct orb_metadata *meta, std::function<void(const M&)> callback) {
|
||||
// Subscriber * subscribe(const struct orb_metadata *meta, std::function<void(int i)> callback) {
|
||||
// Subscriber * subscribe(const struct orb_metadata *meta, CallbackFunction callback) {
|
||||
unsigned interval = 0;//XXX decide how to wrap this, ros equivalent?
|
||||
//XXX
|
||||
Subscriber *sub = new SubscriberPX4<M>(meta, interval, callback, &_subs);
|
||||
@@ -124,7 +122,9 @@ public:
|
||||
void spinOnce();
|
||||
|
||||
void spin() {
|
||||
//XXX: call callbacks and do not return until task is terminated
|
||||
while (true) { //XXX
|
||||
spinOnce();
|
||||
}
|
||||
}
|
||||
private:
|
||||
static const uint16_t kMaxSubscriptions = 100;
|
||||
|
||||
@@ -80,11 +80,10 @@ public:
|
||||
SubscriberPX4(const struct orb_metadata *meta,
|
||||
unsigned interval,
|
||||
std::function<void(const M&)> callback,
|
||||
// std::function<void(int i)> callback,
|
||||
// CallbackFunction callback,
|
||||
List<uORB::SubscriptionNode *> * list) :
|
||||
Subscriber(),
|
||||
uORB::Subscription<M>(meta, interval, list)
|
||||
uORB::Subscription<M>(meta, interval, list),
|
||||
_callback(callback)
|
||||
//XXX store callback
|
||||
{}
|
||||
~SubscriberPX4() {};
|
||||
@@ -94,13 +93,11 @@ public:
|
||||
uORB::Subscription<M>::update();
|
||||
|
||||
/* Call callback which performs actions based on this data */
|
||||
// _callback();
|
||||
_callback(uORB::Subscription<M>::getData());
|
||||
|
||||
};
|
||||
private:
|
||||
// std::function<void(int i)> _callback;
|
||||
// CallbackFunction _callback;
|
||||
std::function<void(const M&)> _callback;
|
||||
std::function<void(const M&)> _callback;
|
||||
|
||||
};
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user