aboutsummaryrefslogtreecommitdiff
path: root/src/modules/mavlink/mavlink_stream.h
diff options
context:
space:
mode:
authorAnton Babushkin <anton.babushkin@me.com>2014-02-24 23:46:58 +0400
committerAnton Babushkin <anton.babushkin@me.com>2014-02-24 23:46:58 +0400
commitd8fdade6aba5e0bd2b56c206d09da4a92fda5fa0 (patch)
tree1ba840d46f4d805b0a6baabbad3450157762508a /src/modules/mavlink/mavlink_stream.h
parentb17cdb12b013a99a924b02ccef718c0ea0f776aa (diff)
downloadpx4-firmware-d8fdade6aba5e0bd2b56c206d09da4a92fda5fa0.tar.gz
px4-firmware-d8fdade6aba5e0bd2b56c206d09da4a92fda5fa0.tar.bz2
px4-firmware-d8fdade6aba5e0bd2b56c206d09da4a92fda5fa0.zip
mavlink: major rewrite, prepare for dynamic mavlink streams configuration, WIP
Diffstat (limited to 'src/modules/mavlink/mavlink_stream.h')
-rw-r--r--src/modules/mavlink/mavlink_stream.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/modules/mavlink/mavlink_stream.h b/src/modules/mavlink/mavlink_stream.h
new file mode 100644
index 000000000..0f959d720
--- /dev/null
+++ b/src/modules/mavlink/mavlink_stream.h
@@ -0,0 +1,33 @@
+/*
+ * mavlink_stream.h
+ *
+ * Created on: 24.02.2014
+ * Author: ton
+ */
+
+#ifndef MAVLINK_STREAM_H_
+#define MAVLINK_STREAM_H_
+
+class Mavlink;
+class MavlinkOrbListener;
+class MavlinkOrbSubscription;
+
+class MavlinkStream {
+public:
+ void (*callback)(const MavlinkStream *);
+ uintptr_t arg;
+ unsigned int subscriptions_n;
+ MavlinkOrbSubscription **subscriptions;
+ hrt_abstime last_sent;
+ unsigned int interval;
+ MavlinkStream *next;
+ Mavlink *mavlink;
+ MavlinkOrbListener* listener;
+
+ 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();
+ int update(const hrt_abstime t);
+};
+
+
+#endif /* MAVLINK_STREAM_H_ */