aboutsummaryrefslogtreecommitdiff
path: root/src/modules/mavlink
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2013-06-02 21:10:40 +0200
committerLorenz Meier <lm@inf.ethz.ch>2013-06-02 21:10:40 +0200
commit7bb583d6e21a0fa7e51f147d23997aaeb7e218c9 (patch)
tree72ff4a7b2ab58368e02d18b8f5ff063214164b0f /src/modules/mavlink
parent37740cc9aff6b23b472a364d21a3aec225216cb3 (diff)
parent971e8103014412d8453b010063318cf46e996288 (diff)
downloadpx4-firmware-7bb583d6e21a0fa7e51f147d23997aaeb7e218c9.tar.gz
px4-firmware-7bb583d6e21a0fa7e51f147d23997aaeb7e218c9.tar.bz2
px4-firmware-7bb583d6e21a0fa7e51f147d23997aaeb7e218c9.zip
Merge branch 'integration' into mavlink_variable_length
Diffstat (limited to 'src/modules/mavlink')
-rw-r--r--src/modules/mavlink/mavlink.c2
-rw-r--r--src/modules/mavlink/mavlink_log.c29
-rw-r--r--src/modules/mavlink/mavlink_receiver.c10
3 files changed, 35 insertions, 6 deletions
diff --git a/src/modules/mavlink/mavlink.c b/src/modules/mavlink/mavlink.c
index de78cd139..c72a53fee 100644
--- a/src/modules/mavlink/mavlink.c
+++ b/src/modules/mavlink/mavlink.c
@@ -787,7 +787,7 @@ int mavlink_main(int argc, char *argv[])
errx(0, "mavlink already running\n");
thread_should_exit = false;
- mavlink_task = task_spawn("mavlink",
+ mavlink_task = task_spawn_cmd("mavlink",
SCHED_DEFAULT,
SCHED_PRIORITY_DEFAULT,
2048,
diff --git a/src/modules/mavlink/mavlink_log.c b/src/modules/mavlink/mavlink_log.c
index fa974dc0b..d9416a08b 100644
--- a/src/modules/mavlink/mavlink_log.c
+++ b/src/modules/mavlink/mavlink_log.c
@@ -41,6 +41,7 @@
#include <string.h>
#include <stdlib.h>
+#include <stdarg.h>
#include <mavlink/mavlink_log.h>
@@ -87,3 +88,31 @@ int mavlink_logbuffer_read(struct mavlink_logbuffer *lb, struct mavlink_logmessa
return 1;
}
}
+
+void mavlink_logbuffer_vasprintf(struct mavlink_logbuffer *lb, int severity, const char *fmt, ...)
+{
+ va_list ap;
+ va_start(ap, fmt);
+ int end = (lb->start + lb->count) % lb->size;
+ lb->elems[end].severity = severity;
+ vsnprintf(lb->elems[end].text, sizeof(lb->elems[0].text), fmt, ap);
+ va_end(ap);
+
+ /* increase count */
+ if (mavlink_logbuffer_is_full(lb)) {
+ lb->start = (lb->start + 1) % lb->size; /* full, overwrite */
+
+ } else {
+ ++lb->count;
+ }
+}
+
+__EXPORT void mavlink_vasprintf(int _fd, int severity, const char *fmt, ...)
+{
+ va_list ap;
+ va_start(ap, fmt);
+ char text[MAVLINK_LOG_MAXLEN + 1];
+ vsnprintf(text, sizeof(text), fmt, ap);
+ va_end(ap);
+ ioctl(_fd, severity, (unsigned long)&text[0]);
+}
diff --git a/src/modules/mavlink/mavlink_receiver.c b/src/modules/mavlink/mavlink_receiver.c
index a42612f9e..940d030b2 100644
--- a/src/modules/mavlink/mavlink_receiver.c
+++ b/src/modules/mavlink/mavlink_receiver.c
@@ -429,11 +429,11 @@ handle_message(mavlink_message_t *msg)
hil_frames += 1 ;
// output
- if ((timestamp - old_timestamp) > 10000000) {
- printf("receiving hil gps at %d hz\n", hil_frames/10);
- old_timestamp = timestamp;
- hil_frames = 0;
- }
+ // if ((timestamp - old_timestamp) > 10000000) {
+ // printf("receiving hil gps at %d hz\n", hil_frames/10);
+ // old_timestamp = timestamp;
+ // hil_frames = 0;
+ // }
}
if (msg->msgid == MAVLINK_MSG_ID_HIL_STATE) {