aboutsummaryrefslogtreecommitdiff
path: root/src/modules/mavlink/mavlink_stream.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/mavlink/mavlink_stream.h')
-rw-r--r--src/modules/mavlink/mavlink_stream.h42
1 files changed, 42 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..9f175adbe
--- /dev/null
+++ b/src/modules/mavlink/mavlink_stream.h
@@ -0,0 +1,42 @@
+/*
+ * mavlink_stream.h
+ *
+ * Created on: 24.02.2014
+ * Author: ton
+ */
+
+#ifndef MAVLINK_STREAM_H_
+#define MAVLINK_STREAM_H_
+
+#include <drivers/drv_hrt.h>
+
+class Mavlink;
+class MavlinkStream;
+
+#include "mavlink_main.h"
+
+class MavlinkStream {
+private:
+ hrt_abstime _last_sent;
+
+protected:
+ mavlink_channel_t _channel;
+ unsigned int _interval;
+
+ virtual void send(const hrt_abstime t) = 0;
+
+public:
+ MavlinkStream *next;
+
+ MavlinkStream();
+ ~MavlinkStream();
+ void set_interval(const unsigned int interval);
+ void set_channel(mavlink_channel_t channel);
+ int update(const hrt_abstime t);
+ virtual MavlinkStream *new_instance() = 0;
+ virtual void subscribe(Mavlink *mavlink) = 0;
+ virtual const char *get_name() = 0;
+};
+
+
+#endif /* MAVLINK_STREAM_H_ */