From 7bf2edc3bf9f04d52c6bd9a64d383acbc2071a00 Mon Sep 17 00:00:00 2001 From: Lorenz Meier Date: Thu, 18 Jul 2013 14:01:42 +0200 Subject: [PATCH] Script cleanup, WIP on mavlink logging --- .../init.d/{rc.1_fmu_quad_x => 01_fmu_quad_x} | 0 .../{rc.2_fmu_io_quad_x => 02_io_quad_x} | 0 .../init.d/{rc.fmu_ardrone => 08_ardrone} | 0 .../{rc.fmu_ardrone_flow => 09_ardrone_flow} | 0 .../{rc.30_fmu_io_camflyer => 30_io_camflyer} | 0 .../{rc.31_fmu_io_phantom => 31_io_phantom} | 0 ROMFS/px4fmu_common/init.d/rcS | 63 ++++++++++++------- src/modules/mavlink/mavlink_log.c | 11 ++++ 8 files changed, 50 insertions(+), 24 deletions(-) rename ROMFS/px4fmu_common/init.d/{rc.1_fmu_quad_x => 01_fmu_quad_x} (100%) rename ROMFS/px4fmu_common/init.d/{rc.2_fmu_io_quad_x => 02_io_quad_x} (100%) rename ROMFS/px4fmu_common/init.d/{rc.fmu_ardrone => 08_ardrone} (100%) rename ROMFS/px4fmu_common/init.d/{rc.fmu_ardrone_flow => 09_ardrone_flow} (100%) rename ROMFS/px4fmu_common/init.d/{rc.30_fmu_io_camflyer => 30_io_camflyer} (100%) rename ROMFS/px4fmu_common/init.d/{rc.31_fmu_io_phantom => 31_io_phantom} (100%) diff --git a/ROMFS/px4fmu_common/init.d/rc.1_fmu_quad_x b/ROMFS/px4fmu_common/init.d/01_fmu_quad_x similarity index 100% rename from ROMFS/px4fmu_common/init.d/rc.1_fmu_quad_x rename to 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 similarity index 100% rename from ROMFS/px4fmu_common/init.d/rc.2_fmu_io_quad_x rename to 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 similarity index 100% rename from ROMFS/px4fmu_common/init.d/rc.fmu_ardrone rename to 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 similarity index 100% rename from ROMFS/px4fmu_common/init.d/rc.fmu_ardrone_flow rename to 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 similarity index 100% rename from ROMFS/px4fmu_common/init.d/rc.30_fmu_io_camflyer rename to 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 similarity index 100% rename from ROMFS/px4fmu_common/init.d/rc.31_fmu_io_phantom rename to 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 ee7e840505..b22591f3c3 100755 --- a/ROMFS/px4fmu_common/init.d/rcS +++ b/ROMFS/px4fmu_common/init.d/rcS @@ -23,30 +23,6 @@ else tone_alarm 2 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. # @@ -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 d9416a08b9..1921958568 100644 --- a/src/modules/mavlink/mavlink_log.c +++ b/src/modules/mavlink/mavlink_log.c @@ -41,16 +41,20 @@ #include #include +#include #include #include +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 {