aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2013-07-18 14:01:42 +0200
committerLorenz Meier <lm@inf.ethz.ch>2013-07-18 14:01:42 +0200
commit7bf2edc3bf9f04d52c6bd9a64d383acbc2071a00 (patch)
tree001d200d9461e51e3610f76b7fda7f1b507fb701
parenta4d0594bd73d6ec24c320380674d94c59a141595 (diff)
downloadpx4-firmware-7bf2edc3bf9f04d52c6bd9a64d383acbc2071a00.tar.gz
px4-firmware-7bf2edc3bf9f04d52c6bd9a64d383acbc2071a00.tar.bz2
px4-firmware-7bf2edc3bf9f04d52c6bd9a64d383acbc2071a00.zip
Script cleanup, WIP on mavlink logging
-rw-r--r--ROMFS/px4fmu_common/init.d/01_fmu_quad_x (renamed from ROMFS/px4fmu_common/init.d/rc.1_fmu_quad_x)0
-rw-r--r--ROMFS/px4fmu_common/init.d/02_io_quad_x (renamed from ROMFS/px4fmu_common/init.d/rc.2_fmu_io_quad_x)0
-rw-r--r--ROMFS/px4fmu_common/init.d/08_ardrone (renamed from ROMFS/px4fmu_common/init.d/rc.fmu_ardrone)0
-rw-r--r--ROMFS/px4fmu_common/init.d/09_ardrone_flow (renamed from ROMFS/px4fmu_common/init.d/rc.fmu_ardrone_flow)0
-rw-r--r--ROMFS/px4fmu_common/init.d/30_io_camflyer (renamed from ROMFS/px4fmu_common/init.d/rc.30_fmu_io_camflyer)0
-rw-r--r--ROMFS/px4fmu_common/init.d/31_io_phantom (renamed from ROMFS/px4fmu_common/init.d/rc.31_fmu_io_phantom)0
-rwxr-xr-xROMFS/px4fmu_common/init.d/rcS63
-rw-r--r--src/modules/mavlink/mavlink_log.c11
8 files changed, 50 insertions, 24 deletions
diff --git a/ROMFS/px4fmu_common/init.d/rc.1_fmu_quad_x b/ROMFS/px4fmu_common/init.d/01_fmu_quad_x
index 58a970eba..58a970eba 100644
--- a/ROMFS/px4fmu_common/init.d/rc.1_fmu_quad_x
+++ b/ROMFS/px4fmu_common/init.d/01_fmu_quad_x
diff --git a/ROMFS/px4fmu_common/init.d/rc.2_fmu_io_quad_x b/ROMFS/px4fmu_common/init.d/02_io_quad_x
index 200f49d1b..200f49d1b 100644
--- a/ROMFS/px4fmu_common/init.d/rc.2_fmu_io_quad_x
+++ b/ROMFS/px4fmu_common/init.d/02_io_quad_x
diff --git a/ROMFS/px4fmu_common/init.d/rc.fmu_ardrone b/ROMFS/px4fmu_common/init.d/08_ardrone
index f55ac2ae3..f55ac2ae3 100644
--- a/ROMFS/px4fmu_common/init.d/rc.fmu_ardrone
+++ b/ROMFS/px4fmu_common/init.d/08_ardrone
diff --git a/ROMFS/px4fmu_common/init.d/rc.fmu_ardrone_flow b/ROMFS/px4fmu_common/init.d/09_ardrone_flow
index e7173f6e6..e7173f6e6 100644
--- a/ROMFS/px4fmu_common/init.d/rc.fmu_ardrone_flow
+++ b/ROMFS/px4fmu_common/init.d/09_ardrone_flow
diff --git a/ROMFS/px4fmu_common/init.d/rc.30_fmu_io_camflyer b/ROMFS/px4fmu_common/init.d/30_io_camflyer
index 5090b98a4..5090b98a4 100644
--- a/ROMFS/px4fmu_common/init.d/rc.30_fmu_io_camflyer
+++ b/ROMFS/px4fmu_common/init.d/30_io_camflyer
diff --git a/ROMFS/px4fmu_common/init.d/rc.31_fmu_io_phantom b/ROMFS/px4fmu_common/init.d/31_io_phantom
index 5090b98a4..5090b98a4 100644
--- a/ROMFS/px4fmu_common/init.d/rc.31_fmu_io_phantom
+++ b/ROMFS/px4fmu_common/init.d/31_io_phantom
diff --git a/ROMFS/px4fmu_common/init.d/rcS b/ROMFS/px4fmu_common/init.d/rcS
index ee7e84050..b22591f3c 100755
--- a/ROMFS/px4fmu_common/init.d/rcS
+++ b/ROMFS/px4fmu_common/init.d/rcS
@@ -24,30 +24,6 @@ else
fi
#
-# Check if auto-setup from one of the standard scripts is wanted
-# SYS_AUTOSTART = 0 means no autostart (default)
-#
-if param compare SYS_AUTOSTART 1
-then
- sh /etc/init.d/rc.1_fmu_quad_x
-fi
-
-if param compare SYS_AUTOSTART 2
-then
- sh /etc/init.d/rc.2_fmu_io_quad_x
-fi
-
-if param compare SYS_AUTOSTART 30
-then
- sh /etc/init.d/rc.30_fmu_io_camflyer
-fi
-
-if param compare SYS_AUTOSTART 31
-then
- sh /etc/init.d/rc.31_fmu_io_phantom
-fi
-
-#
# Look for an init script on the microSD card.
#
# To prevent automatic startup in the current flight mode,
@@ -106,3 +82,42 @@ else
fi
fi
+
+#
+# Check if auto-setup from one of the standard scripts is wanted
+# SYS_AUTOSTART = 0 means no autostart (default)
+#
+if param compare SYS_AUTOSTART 1
+then
+ sh /etc/init.d/01_fmu_quad_x
+fi
+
+if param compare SYS_AUTOSTART 2
+then
+ sh /etc/init.d/02_io_quad_x
+fi
+
+if param compare SYS_AUTOSTART 8
+then
+ sh /etc/init.d/08_ardrone
+fi
+
+if param compare SYS_AUTOSTART 9
+then
+ sh /etc/init.d/09_ardrone_flow
+fi
+
+if param compare SYS_AUTOSTART 10
+then
+ sh /etc/init.d/10_io_f330
+fi
+
+if param compare SYS_AUTOSTART 30
+then
+ sh /etc/init.d/30_io_camflyer
+fi
+
+if param compare SYS_AUTOSTART 31
+then
+ sh /etc/init.d/31_io_phantom
+fi
diff --git a/src/modules/mavlink/mavlink_log.c b/src/modules/mavlink/mavlink_log.c
index d9416a08b..192195856 100644
--- a/src/modules/mavlink/mavlink_log.c
+++ b/src/modules/mavlink/mavlink_log.c
@@ -41,16 +41,20 @@
#include <string.h>
#include <stdlib.h>
+#include <stdio.h>
#include <stdarg.h>
#include <mavlink/mavlink_log.h>
+static FILE* text_recorder_fd = NULL;
+
void mavlink_logbuffer_init(struct mavlink_logbuffer *lb, int size)
{
lb->size = size;
lb->start = 0;
lb->count = 0;
lb->elems = (struct mavlink_logmessage *)calloc(lb->size, sizeof(struct mavlink_logmessage));
+ text_recorder_fd = fopen("/fs/microsd/text_recorder.txt", "w");
}
int mavlink_logbuffer_is_full(struct mavlink_logbuffer *lb)
@@ -82,6 +86,13 @@ int mavlink_logbuffer_read(struct mavlink_logbuffer *lb, struct mavlink_logmessa
memcpy(elem, &(lb->elems[lb->start]), sizeof(struct mavlink_logmessage));
lb->start = (lb->start + 1) % lb->size;
--lb->count;
+
+ if (text_recorder_fd) {
+ fwrite(elem->text, 1, strnlen(elem->text, 50), text_recorder_fd);
+ fputc("\n", text_recorder_fd);
+ fsync(text_recorder_fd);
+ }
+
return 0;
} else {