mavlink: adding message stream by name implemnted, mavlink streams definitions and formatters moved to mavlink_messages.h/cpp, mavlink_orb_listener class and thread removed

This commit is contained in:
Anton Babushkin
2014-02-26 00:24:14 +04:00
parent 4e27fd9a38
commit e291af990f
10 changed files with 326 additions and 713 deletions
+4 -4
View File
@@ -7,20 +7,20 @@
#include <stdlib.h>
#include "mavlink_orb_listener.h"
#include "mavlink_stream.h"
#include "mavlink_main.h"
MavlinkStream::MavlinkStream(MavlinkOrbListener *listener, void (*callback)(const MavlinkStream *), const unsigned int subs_n, const struct orb_metadata **metas, const size_t *sizes, const uintptr_t arg, const unsigned int interval)
MavlinkStream::MavlinkStream(Mavlink *mavlink, void (*callback)(const MavlinkStream *), const unsigned int subs_n, const struct orb_metadata **topics, const size_t *sizes, const uintptr_t arg, const unsigned int interval)
{
this->callback = callback;
this->arg = arg;
this->interval = interval * 1000;
this->mavlink = mavlink;
this->listener = listener;
this->subscriptions_n = subs_n;
this->subscriptions = (MavlinkOrbSubscription **) malloc(subs_n * sizeof(MavlinkOrbSubscription *));
for (int i = 0; i < subs_n; i++) {
this->subscriptions[i] = listener->add_subscription(metas[i], sizes[i], this, interval);
this->subscriptions[i] = mavlink->add_orb_subscription(topics[i], sizes[i]);
}
}