aboutsummaryrefslogtreecommitdiff
path: root/ROMFS/scripts
diff options
context:
space:
mode:
authorpx4dev <px4@purgatory.org>2012-08-04 15:12:36 -0700
committerpx4dev <px4@purgatory.org>2012-08-04 15:12:36 -0700
commit8a365179eafdf3aea98e60ab9f5882b200d4c759 (patch)
tree4f38d6d4cd80bd0b6e22e2bb534c3f117ce44e56 /ROMFS/scripts
downloadpx4-firmware-8a365179eafdf3aea98e60ab9f5882b200d4c759.tar.gz
px4-firmware-8a365179eafdf3aea98e60ab9f5882b200d4c759.tar.bz2
px4-firmware-8a365179eafdf3aea98e60ab9f5882b200d4c759.zip
Fresh import of the PX4 firmware sources.
Diffstat (limited to 'ROMFS/scripts')
-rw-r--r--ROMFS/scripts/rc.PX4IO74
-rw-r--r--ROMFS/scripts/rc.PX4IOAR69
-rw-r--r--ROMFS/scripts/rc.jig10
-rw-r--r--ROMFS/scripts/rc.logging10
-rw-r--r--ROMFS/scripts/rc.sensors28
-rw-r--r--ROMFS/scripts/rc.standalone67
-rwxr-xr-xROMFS/scripts/rcS120
7 files changed, 378 insertions, 0 deletions
diff --git a/ROMFS/scripts/rc.PX4IO b/ROMFS/scripts/rc.PX4IO
new file mode 100644
index 000000000..e2f4fca84
--- /dev/null
+++ b/ROMFS/scripts/rc.PX4IO
@@ -0,0 +1,74 @@
+#!nsh
+#
+# Flight startup script for PX4FMU with PX4IO carrier board.
+#
+
+echo "[init] doing PX4IO startup..."
+
+#
+# Start the ORB
+#
+uorb start
+
+#
+# Start the sensors.
+#
+sh /etc/init.d/rc.sensors
+
+#
+# Start MAVLink
+#
+mavlink -d /dev/ttyS0 -b 57600 &
+
+#
+# Start the commander.
+#
+# XXX this should be '<command> start'.
+#
+commander &
+
+#
+# Start the attitude estimator
+#
+# XXX this should be '<command> start'.
+#
+attitude_estimator_bm &
+#position_estimator &
+
+#
+# Configure PX4FMU for operation with PX4IO
+#
+# XXX arguments?
+#
+px4fmu start
+
+#
+# Start the fixed-wing controller
+#
+# XXX this should be '<command> start'.
+#
+fixedwing_control &
+
+#
+# Fire up the PX4IO interface.
+#
+px4io start
+
+#
+# Start looking for a GPS.
+#
+# XXX this should not need to be backgrounded
+#
+gps -d /dev/ttyS3 -m all &
+
+#
+# Start logging to microSD if we can
+#
+sh /etc/init.d/rc.logging
+
+#
+# startup is done; we don't want the shell because we
+# use the same UART for telemetry (dumb).
+#
+echo "[init] startup done, exiting."
+exit
diff --git a/ROMFS/scripts/rc.PX4IOAR b/ROMFS/scripts/rc.PX4IOAR
new file mode 100644
index 000000000..d626ca213
--- /dev/null
+++ b/ROMFS/scripts/rc.PX4IOAR
@@ -0,0 +1,69 @@
+#!nsh
+#
+# Flight startup script for PX4FMU on PX4IOAR carrier board.
+#
+
+echo "[init] doing PX4IOAR startup..."
+
+#
+# Start the ORB
+#
+uorb start
+
+#
+# Start the sensors.
+#
+sh /etc/init.d/rc.sensors
+
+#
+# Start MAVLink
+#
+mavlink -d /dev/ttyS0 -b 57600 &
+
+#
+# Start the commander.
+#
+# XXX this should be '<command> start'.
+#
+commander &
+
+#
+# Start the attitude estimator
+#
+# XXX this should be '<command> start'.
+#
+attitude_estimator_bm &
+#position_estimator &
+
+#
+# Configure PX4FMU for operation with PX4IOAR
+#
+# XXX arguments?
+#
+px4fmu start
+
+#
+# Fire up the AR.Drone controller.
+#
+# XXX this should be '<command> start'.
+#
+ardrone_control -d /dev/ttyS1 -m attitude &
+
+#
+# Start looking for a GPS.
+#
+# XXX this should not need to be backgrounded
+#
+gps -d /dev/ttyS3 -m all &
+
+#
+# Start logging to microSD if we can
+#
+sh /etc/init.d/rc.logging
+
+#
+# startup is done; we don't want the shell because we
+# use the same UART for telemetry (dumb).
+#
+echo "[init] startup done, exiting."
+exit
diff --git a/ROMFS/scripts/rc.jig b/ROMFS/scripts/rc.jig
new file mode 100644
index 000000000..e2b5d8f30
--- /dev/null
+++ b/ROMFS/scripts/rc.jig
@@ -0,0 +1,10 @@
+#!nsh
+#
+# Test jig startup script
+#
+
+echo "[testing] doing production test.."
+
+tests jig
+
+echo "[testing] testing done"
diff --git a/ROMFS/scripts/rc.logging b/ROMFS/scripts/rc.logging
new file mode 100644
index 000000000..cbc303dab
--- /dev/null
+++ b/ROMFS/scripts/rc.logging
@@ -0,0 +1,10 @@
+#!nsh
+#
+# Initialise logging services.
+#
+
+if [ -d /fs/microsd ]
+then
+ # XXX this should be '<command> start'.
+ # sdlog &
+fi
diff --git a/ROMFS/scripts/rc.sensors b/ROMFS/scripts/rc.sensors
new file mode 100644
index 000000000..7515c1947
--- /dev/null
+++ b/ROMFS/scripts/rc.sensors
@@ -0,0 +1,28 @@
+#!nsh
+#
+# Standard startup script for PX4FMU onboard sensor drivers.
+#
+
+#
+# Start sensor drivers here.
+#
+
+#ms5611 start
+
+#
+# Start the sensor collection task.
+#
+# XXX should be 'sensors start'
+#
+sensors &
+
+#
+# Test sensor functionality
+#
+# XXX integrate with 'sensors start' ?
+#
+#if sensors quicktest
+#then
+# echo "[init] sensor initialisation FAILED."
+# reboot
+#fi
diff --git a/ROMFS/scripts/rc.standalone b/ROMFS/scripts/rc.standalone
new file mode 100644
index 000000000..72153ef18
--- /dev/null
+++ b/ROMFS/scripts/rc.standalone
@@ -0,0 +1,67 @@
+#!nsh
+#
+# Flight startup script for PX4FMU standalone configuration.
+#
+
+echo "[init] doing standalone PX4FMU startup..."
+
+#
+# Start the ORB
+#
+#uorb start
+
+#
+# Start the sensors.
+#
+#sh /etc/init.d/rc.sensors
+
+#
+# Start MAVLink
+#
+# mavlink -d /dev/ttyS0 -b 57600 &
+
+#
+# Start the commander.
+#
+# XXX this should be 'commander start'.
+#
+#commander &
+
+#
+# Start the attitude estimator
+#
+# XXX this should be '<command> start'.
+#
+#attitude_estimator_bm &
+#position_estimator &
+
+#
+# Start the fixed-wing controller.
+#
+# XXX should this be looking for configuration to decide
+# whether the board is configured for fixed-wing use?
+#
+# XXX this should be 'fixedwing_control start'.
+#
+#fixedwing_control &
+
+#
+# Configure FMU for standalone mode
+#
+# XXX arguments?
+#
+#px4fmu start
+
+#
+# Start looking for a GPS.
+#
+# XXX this should not need to be backgrounded
+#
+#gps -d /dev/ttyS3 -m all &
+
+#
+# Start logging to microSD if we can
+#
+sh /etc/init.d/rc.logging
+
+echo "[init] startup done"
diff --git a/ROMFS/scripts/rcS b/ROMFS/scripts/rcS
new file mode 100755
index 000000000..9b9a2fd61
--- /dev/null
+++ b/ROMFS/scripts/rcS
@@ -0,0 +1,120 @@
+#!nsh
+#
+# PX4FMU startup script.
+#
+# This script is responsible for:
+#
+# - mounting the microSD card (if present)
+# - running the user startup script from the microSD card (if present)
+# - detecting the configuration of the system and picking a suitable
+# startup script to continue with
+#
+# Note: DO NOT add configuration-specific commands to this script;
+# add them to the per-configuration scripts instead.
+#
+
+#
+# Default to auto-start mode. An init script on the microSD card
+# can change this to prevent automatic startup of the flight script.
+#
+set MODE autostart
+set USB_ALLOWED yes
+set USB no
+
+#
+# Try to mount the microSD card.
+#
+echo "[init] looking for microSD..."
+if mount -t vfat /dev/mmcsd0 /fs/microsd
+then
+ echo "[init] card mounted at /fs/microsd"
+else
+ echo "[init] no microSD card found"
+fi
+
+#
+# Look for an init script on the microSD card.
+#
+# To prevent automatic startup in the current flight mode,
+# the script should set MODE to some other value.
+#
+if [ -f /fs/microsd/etc/rc ]
+then
+ echo "[init] reading /fs/microsd/etc/rc"
+ sh /fs/microsd/etc/rc
+fi
+
+#
+# Check for USB host
+#
+if [ $USB_ALLOWED == yes ]
+then
+ if sercon
+ then
+ echo "[init] USB interface connected"
+ fi
+fi
+
+#
+# If we are still in flight mode, work out what airframe
+# configuration we have and start up accordingly.
+#
+if [ $MODE != autostart ]
+then
+ echo "[init] automatic startup cancelled by user script"
+else
+ echo "[init] detecting attached hardware..."
+
+ #
+ # Assume that we are PX4FMU in standalone mode
+ #
+ set BOARD PX4FMU
+
+ #
+ # Are we attached to a PX4IOAR (AR.Drone carrier board)?
+ #
+ if boardinfo -t 7
+ then
+ set BOARD PX4IOAR
+ if [ -f /etc/init.d/rc.PX4IOAR ]
+ then
+ echo "[init] reading /etc/init.d/rc.PX4IOAR"
+ sh /etc/init.d/rc.PX4IOAR
+ fi
+ else
+ echo "[init] PX4IOAR not detected"
+ fi
+
+ #
+ # Are we attached to a PX4IO?
+ #
+ if boardinfo -t 6
+ then
+ set BOARD PX4IO
+ if [ -f /etc/init.d/rc.PX4IO ]
+ then
+ echo "[init] reading /etc/init.d/rc.PX4IO"
+ sh /etc/init.d/rc.PX4IO
+ fi
+ else
+ echo "[init] PX4IO not detected"
+ fi
+
+ #
+ # Looks like we are stand-alone
+ #
+ if [ $BOARD == PX4FMU ]
+ then
+ echo "[init] no expansion board detected"
+ if [ -f /etc/init.d/rc.standalone ]
+ then
+ echo "[init] reading /etc/init.d/rc.standalone"
+ sh /etc/init.d/rc.standalone
+ fi
+ fi
+
+ #
+ # We may not reach here if the airframe-specific script exits the shell.
+ #
+ echo "[init] startup done."
+fi