aboutsummaryrefslogtreecommitdiff
path: root/ROMFS
diff options
context:
space:
mode:
authorpx4dev <px4@purgatory.org>2013-04-26 16:14:32 -0700
committerpx4dev <px4@purgatory.org>2013-04-26 16:14:32 -0700
commit01e427b17c161d8adaa38d6bdb91aecb434451f2 (patch)
treee33f4f6b78ef133c91ad92f1a413c2b16f17a5d5 /ROMFS
parentce0e4a3afd28b97d5a540e02bef86c52a335f243 (diff)
downloadpx4-firmware-01e427b17c161d8adaa38d6bdb91aecb434451f2.tar.gz
px4-firmware-01e427b17c161d8adaa38d6bdb91aecb434451f2.tar.bz2
px4-firmware-01e427b17c161d8adaa38d6bdb91aecb434451f2.zip
Merge working changes into export-build branch.
Diffstat (limited to 'ROMFS')
-rw-r--r--ROMFS/px4fmu_common/init.d/rc.FMU_quad_x67
-rw-r--r--ROMFS/px4fmu_common/init.d/rc.PX4IO80
-rw-r--r--ROMFS/px4fmu_common/init.d/rc.PX4IOAR98
-rw-r--r--ROMFS/px4fmu_common/init.d/rc.boarddetect66
-rw-r--r--ROMFS/px4fmu_common/init.d/rc.jig10
-rw-r--r--ROMFS/px4fmu_common/init.d/rc.logging9
-rw-r--r--ROMFS/px4fmu_common/init.d/rc.sensors34
-rw-r--r--ROMFS/px4fmu_common/init.d/rc.standalone13
-rwxr-xr-xROMFS/px4fmu_common/init.d/rcS79
-rw-r--r--ROMFS/px4fmu_common/logging/logconv.m (renamed from ROMFS/px4fmu_default/logging/logconv.m)0
-rw-r--r--ROMFS/px4fmu_common/mixers/FMU_AERT.mix (renamed from ROMFS/px4fmu_default/mixers/FMU_AERT.mix)0
-rw-r--r--ROMFS/px4fmu_common/mixers/FMU_AET.mix (renamed from ROMFS/px4fmu_default/mixers/FMU_AET.mix)0
-rw-r--r--ROMFS/px4fmu_common/mixers/FMU_Q.mix (renamed from ROMFS/px4fmu_default/mixers/FMU_Q.mix)0
-rw-r--r--ROMFS/px4fmu_common/mixers/FMU_RET.mix (renamed from ROMFS/px4fmu_default/mixers/FMU_RET.mix)0
-rw-r--r--ROMFS/px4fmu_common/mixers/FMU_X5.mix (renamed from ROMFS/px4fmu_default/mixers/FMU_X5.mix)0
-rw-r--r--ROMFS/px4fmu_common/mixers/FMU_delta.mix (renamed from ROMFS/px4fmu_default/mixers/FMU_delta.mix)0
-rw-r--r--ROMFS/px4fmu_common/mixers/FMU_hex_+.mix (renamed from ROMFS/px4fmu_default/mixers/FMU_hex_+.mix)0
-rw-r--r--ROMFS/px4fmu_common/mixers/FMU_hex_x.mix (renamed from ROMFS/px4fmu_default/mixers/FMU_hex_x.mix)0
-rw-r--r--ROMFS/px4fmu_common/mixers/FMU_octo_+.mix (renamed from ROMFS/px4fmu_default/mixers/FMU_octo_+.mix)0
-rw-r--r--ROMFS/px4fmu_common/mixers/FMU_octo_x.mix (renamed from ROMFS/px4fmu_default/mixers/FMU_octo_x.mix)0
-rw-r--r--ROMFS/px4fmu_common/mixers/FMU_pass.mix (renamed from ROMFS/px4fmu_default/mixers/FMU_pass.mix)0
-rw-r--r--ROMFS/px4fmu_common/mixers/FMU_quad_+.mix (renamed from ROMFS/px4fmu_default/mixers/FMU_quad_+.mix)0
-rw-r--r--ROMFS/px4fmu_common/mixers/FMU_quad_x.mix (renamed from ROMFS/px4fmu_default/mixers/FMU_quad_x.mix)0
-rw-r--r--ROMFS/px4fmu_common/mixers/README (renamed from ROMFS/px4fmu_default/mixers/README)0
24 files changed, 456 insertions, 0 deletions
diff --git a/ROMFS/px4fmu_common/init.d/rc.FMU_quad_x b/ROMFS/px4fmu_common/init.d/rc.FMU_quad_x
new file mode 100644
index 000000000..8787443ea
--- /dev/null
+++ b/ROMFS/px4fmu_common/init.d/rc.FMU_quad_x
@@ -0,0 +1,67 @@
+#!nsh
+#
+# Flight startup script for PX4FMU with PWM outputs.
+#
+
+# Disable the USB interface
+set USB no
+
+# Disable autostarting other apps
+set MODE custom
+
+echo "[init] doing PX4FMU Quad startup..."
+
+#
+# Start the ORB
+#
+uorb start
+
+#
+# Load microSD params
+#
+echo "[init] loading microSD params"
+param select /fs/microsd/parameters
+if [ -f /fs/microsd/parameters ]
+then
+ param load /fs/microsd/parameters
+fi
+
+#
+# Force some key parameters to sane values
+# MAV_TYPE 1 = fixed wing, 2 = quadrotor, 13 = hexarotor
+# see https://pixhawk.ethz.ch/mavlink/
+#
+param set MAV_TYPE 2
+
+#
+# Start MAVLink
+#
+mavlink start -d /dev/ttyS0 -b 57600
+usleep 5000
+
+#
+# Start the sensors and test them.
+#
+sh /etc/init.d/rc.sensors
+
+#
+# Start the commander.
+#
+commander start
+
+#
+# Start the attitude estimator
+#
+attitude_estimator_ekf start
+
+echo "[init] starting PWM output"
+fmu mode_pwm
+mixer load /dev/pwm_output /etc/mixers/FMU_quad_x.mix
+
+#
+# Start attitude control
+#
+multirotor_att_control start
+
+echo "[init] startup done, exiting"
+exit \ No newline at end of file
diff --git a/ROMFS/px4fmu_common/init.d/rc.PX4IO b/ROMFS/px4fmu_common/init.d/rc.PX4IO
new file mode 100644
index 000000000..1e3963b9a
--- /dev/null
+++ b/ROMFS/px4fmu_common/init.d/rc.PX4IO
@@ -0,0 +1,80 @@
+#!nsh
+
+# Disable USB and autostart
+set USB no
+set MODE camflyer
+
+#
+# Start the ORB
+#
+uorb start
+
+#
+# Load microSD params
+#
+echo "[init] loading microSD params"
+param select /fs/microsd/parameters
+if [ -f /fs/microsd/parameters ]
+then
+ param load /fs/microsd/parameters
+fi
+
+#
+# Force some key parameters to sane values
+# MAV_TYPE 1 = fixed wing, 2 = quadrotor, 13 = hexarotor
+# see https://pixhawk.ethz.ch/mavlink/
+#
+param set MAV_TYPE 1
+
+#
+# Start the sensors.
+#
+sh /etc/init.d/rc.sensors
+
+#
+# Start MAVLink
+#
+mavlink start -d /dev/ttyS1 -b 57600
+usleep 5000
+
+#
+# Start the commander.
+#
+commander start
+
+#
+# Start GPS interface
+#
+gps start
+
+#
+# Start the attitude estimator
+#
+kalman_demo start
+
+#
+# Start PX4IO interface
+#
+px4io start
+
+#
+# Load mixer and start controllers
+#
+mixer load /dev/pwm_output /etc/mixers/FMU_Q.mix
+control_demo start
+
+#
+# Start logging
+#
+sdlog start -s 10
+
+#
+# Start system state
+#
+if blinkm start
+then
+ echo "using BlinkM for state indication"
+ blinkm systemstate
+else
+ echo "no BlinkM found, OK."
+fi
diff --git a/ROMFS/px4fmu_common/init.d/rc.PX4IOAR b/ROMFS/px4fmu_common/init.d/rc.PX4IOAR
new file mode 100644
index 000000000..72df68e35
--- /dev/null
+++ b/ROMFS/px4fmu_common/init.d/rc.PX4IOAR
@@ -0,0 +1,98 @@
+#!nsh
+#
+# Flight startup script for PX4FMU on PX4IOAR carrier board.
+#
+
+# Disable the USB interface
+set USB no
+
+# Disable autostarting other apps
+set MODE ardrone
+
+echo "[init] doing PX4IOAR startup..."
+
+#
+# Start the ORB
+#
+uorb start
+
+#
+# Init the parameter storage
+#
+echo "[init] loading microSD params"
+param select /fs/microsd/parameters
+if [ -f /fs/microsd/parameters ]
+then
+ param load /fs/microsd/parameters
+fi
+
+#
+# Force some key parameters to sane values
+# MAV_TYPE 1 = fixed wing, 2 = quadrotor, 13 = hexarotor
+# see https://pixhawk.ethz.ch/mavlink/
+#
+param set MAV_TYPE 2
+
+#
+# Start the sensors.
+#
+sh /etc/init.d/rc.sensors
+
+#
+# Start MAVLink
+#
+mavlink start -d /dev/ttyS0 -b 57600
+usleep 5000
+
+#
+# Start the commander.
+#
+commander start
+
+#
+# Start the attitude estimator
+#
+attitude_estimator_ekf start
+
+#
+# Configure PX4FMU for operation with PX4IOAR
+#
+fmu mode_gpio_serial
+
+#
+# Fire up the multi rotor attitude controller
+#
+multirotor_att_control start
+
+#
+# Fire up the AR.Drone interface.
+#
+ardrone_interface start -d /dev/ttyS1
+
+#
+# Start GPS capture
+#
+gps start
+
+#
+# Start logging
+#
+sdlog start -s 10
+
+#
+# Start system state
+#
+if blinkm start
+then
+ echo "using BlinkM for state indication"
+ blinkm systemstate
+else
+ echo "no BlinkM found, OK."
+fi
+
+#
+# startup is done; we don't want the shell because we
+# use the same UART for telemetry
+#
+echo "[init] startup done"
+exit \ No newline at end of file
diff --git a/ROMFS/px4fmu_common/init.d/rc.boarddetect b/ROMFS/px4fmu_common/init.d/rc.boarddetect
new file mode 100644
index 000000000..f233e51df
--- /dev/null
+++ b/ROMFS/px4fmu_common/init.d/rc.boarddetect
@@ -0,0 +1,66 @@
+#!nsh
+#
+# 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 test name PX4IOAR
+ then
+ set BOARD PX4IOAR
+ if [ -f /etc/init.d/rc.PX4IOAR ]
+ then
+ echo "[init] reading /etc/init.d/rc.PX4IOAR"
+ usleep 500
+ sh /etc/init.d/rc.PX4IOAR
+ fi
+ else
+ echo "[init] PX4IOAR not detected"
+ fi
+
+ #
+ # Are we attached to a PX4IO?
+ #
+ if boardinfo test name PX4IO
+ then
+ set BOARD PX4IO
+ if [ -f /etc/init.d/rc.PX4IO ]
+ then
+ echo "[init] reading /etc/init.d/rc.PX4IO"
+ usleep 500
+ 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 \ No newline at end of file
diff --git a/ROMFS/px4fmu_common/init.d/rc.jig b/ROMFS/px4fmu_common/init.d/rc.jig
new file mode 100644
index 000000000..e2b5d8f30
--- /dev/null
+++ b/ROMFS/px4fmu_common/init.d/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/px4fmu_common/init.d/rc.logging b/ROMFS/px4fmu_common/init.d/rc.logging
new file mode 100644
index 000000000..09c2d00d1
--- /dev/null
+++ b/ROMFS/px4fmu_common/init.d/rc.logging
@@ -0,0 +1,9 @@
+#!nsh
+#
+# Initialise logging services.
+#
+
+if [ -d /fs/microsd ]
+then
+ sdlog start
+fi
diff --git a/ROMFS/px4fmu_common/init.d/rc.sensors b/ROMFS/px4fmu_common/init.d/rc.sensors
new file mode 100644
index 000000000..42c2f52e9
--- /dev/null
+++ b/ROMFS/px4fmu_common/init.d/rc.sensors
@@ -0,0 +1,34 @@
+#!nsh
+#
+# Standard startup script for PX4FMU onboard sensor drivers.
+#
+
+#
+# Start sensor drivers here.
+#
+
+ms5611 start
+adc start
+
+if mpu6000 start
+then
+ echo "using MPU6000 and HMC5883L"
+ hmc5883 start
+else
+ echo "using L3GD20 and LSM303D"
+ l3gd20 start
+ lsm303 start
+fi
+
+#
+# Start the sensor collection task.
+# IMPORTANT: this also loads param offsets
+# ALWAYS start this task before the
+# preflight_check.
+#
+sensors start
+
+#
+# Check sensors - run AFTER 'sensors start'
+#
+preflight_check \ No newline at end of file
diff --git a/ROMFS/px4fmu_common/init.d/rc.standalone b/ROMFS/px4fmu_common/init.d/rc.standalone
new file mode 100644
index 000000000..67e95215b
--- /dev/null
+++ b/ROMFS/px4fmu_common/init.d/rc.standalone
@@ -0,0 +1,13 @@
+#!nsh
+#
+# Flight startup script for PX4FMU standalone configuration.
+#
+
+echo "[init] doing standalone PX4FMU startup..."
+
+#
+# Start the ORB
+#
+uorb start
+
+echo "[init] startup done"
diff --git a/ROMFS/px4fmu_common/init.d/rcS b/ROMFS/px4fmu_common/init.d/rcS
new file mode 100755
index 000000000..89a767879
--- /dev/null
+++ b/ROMFS/px4fmu_common/init.d/rcS
@@ -0,0 +1,79 @@
+#!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 autoconnect
+
+#
+# Start playing the startup tune
+#
+tone_alarm start
+
+#
+# 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
+# Also consider rc.txt files
+if [ -f /fs/microsd/etc/rc.txt ]
+then
+ echo "[init] reading /fs/microsd/etc/rc.txt"
+ sh /fs/microsd/etc/rc.txt
+fi
+
+#
+# Check for USB host
+#
+if [ $USB != autoconnect ]
+then
+ echo "[init] not connecting USB"
+else
+ if sercon
+ then
+ echo "[init] USB interface connected"
+ else
+ echo "[init] No USB connected"
+ fi
+fi
+
+# if this is an APM build then there will be a rc.APM script
+# from an EXTERNAL_SCRIPTS build option
+if [ -f /etc/init.d/rc.APM ]
+then
+ echo Running rc.APM
+ # if APM startup is successful then nsh will exit
+ sh /etc/init.d/rc.APM
+fi
diff --git a/ROMFS/px4fmu_default/logging/logconv.m b/ROMFS/px4fmu_common/logging/logconv.m
index 3750ddae2..3750ddae2 100644
--- a/ROMFS/px4fmu_default/logging/logconv.m
+++ b/ROMFS/px4fmu_common/logging/logconv.m
diff --git a/ROMFS/px4fmu_default/mixers/FMU_AERT.mix b/ROMFS/px4fmu_common/mixers/FMU_AERT.mix
index 75e82bb00..75e82bb00 100644
--- a/ROMFS/px4fmu_default/mixers/FMU_AERT.mix
+++ b/ROMFS/px4fmu_common/mixers/FMU_AERT.mix
diff --git a/ROMFS/px4fmu_default/mixers/FMU_AET.mix b/ROMFS/px4fmu_common/mixers/FMU_AET.mix
index 20cb88b91..20cb88b91 100644
--- a/ROMFS/px4fmu_default/mixers/FMU_AET.mix
+++ b/ROMFS/px4fmu_common/mixers/FMU_AET.mix
diff --git a/ROMFS/px4fmu_default/mixers/FMU_Q.mix b/ROMFS/px4fmu_common/mixers/FMU_Q.mix
index ebcb66b24..ebcb66b24 100644
--- a/ROMFS/px4fmu_default/mixers/FMU_Q.mix
+++ b/ROMFS/px4fmu_common/mixers/FMU_Q.mix
diff --git a/ROMFS/px4fmu_default/mixers/FMU_RET.mix b/ROMFS/px4fmu_common/mixers/FMU_RET.mix
index 95beb8927..95beb8927 100644
--- a/ROMFS/px4fmu_default/mixers/FMU_RET.mix
+++ b/ROMFS/px4fmu_common/mixers/FMU_RET.mix
diff --git a/ROMFS/px4fmu_default/mixers/FMU_X5.mix b/ROMFS/px4fmu_common/mixers/FMU_X5.mix
index 9f81e1dc3..9f81e1dc3 100644
--- a/ROMFS/px4fmu_default/mixers/FMU_X5.mix
+++ b/ROMFS/px4fmu_common/mixers/FMU_X5.mix
diff --git a/ROMFS/px4fmu_default/mixers/FMU_delta.mix b/ROMFS/px4fmu_common/mixers/FMU_delta.mix
index 981466704..981466704 100644
--- a/ROMFS/px4fmu_default/mixers/FMU_delta.mix
+++ b/ROMFS/px4fmu_common/mixers/FMU_delta.mix
diff --git a/ROMFS/px4fmu_default/mixers/FMU_hex_+.mix b/ROMFS/px4fmu_common/mixers/FMU_hex_+.mix
index b5e38ce9e..b5e38ce9e 100644
--- a/ROMFS/px4fmu_default/mixers/FMU_hex_+.mix
+++ b/ROMFS/px4fmu_common/mixers/FMU_hex_+.mix
diff --git a/ROMFS/px4fmu_default/mixers/FMU_hex_x.mix b/ROMFS/px4fmu_common/mixers/FMU_hex_x.mix
index 8e8d122ad..8e8d122ad 100644
--- a/ROMFS/px4fmu_default/mixers/FMU_hex_x.mix
+++ b/ROMFS/px4fmu_common/mixers/FMU_hex_x.mix
diff --git a/ROMFS/px4fmu_default/mixers/FMU_octo_+.mix b/ROMFS/px4fmu_common/mixers/FMU_octo_+.mix
index 2cb70e814..2cb70e814 100644
--- a/ROMFS/px4fmu_default/mixers/FMU_octo_+.mix
+++ b/ROMFS/px4fmu_common/mixers/FMU_octo_+.mix
diff --git a/ROMFS/px4fmu_default/mixers/FMU_octo_x.mix b/ROMFS/px4fmu_common/mixers/FMU_octo_x.mix
index edc71f013..edc71f013 100644
--- a/ROMFS/px4fmu_default/mixers/FMU_octo_x.mix
+++ b/ROMFS/px4fmu_common/mixers/FMU_octo_x.mix
diff --git a/ROMFS/px4fmu_default/mixers/FMU_pass.mix b/ROMFS/px4fmu_common/mixers/FMU_pass.mix
index e9a81f2bb..e9a81f2bb 100644
--- a/ROMFS/px4fmu_default/mixers/FMU_pass.mix
+++ b/ROMFS/px4fmu_common/mixers/FMU_pass.mix
diff --git a/ROMFS/px4fmu_default/mixers/FMU_quad_+.mix b/ROMFS/px4fmu_common/mixers/FMU_quad_+.mix
index dfdf1d58e..dfdf1d58e 100644
--- a/ROMFS/px4fmu_default/mixers/FMU_quad_+.mix
+++ b/ROMFS/px4fmu_common/mixers/FMU_quad_+.mix
diff --git a/ROMFS/px4fmu_default/mixers/FMU_quad_x.mix b/ROMFS/px4fmu_common/mixers/FMU_quad_x.mix
index 12a3bee20..12a3bee20 100644
--- a/ROMFS/px4fmu_default/mixers/FMU_quad_x.mix
+++ b/ROMFS/px4fmu_common/mixers/FMU_quad_x.mix
diff --git a/ROMFS/px4fmu_default/mixers/README b/ROMFS/px4fmu_common/mixers/README
index 6649c53c2..6649c53c2 100644
--- a/ROMFS/px4fmu_default/mixers/README
+++ b/ROMFS/px4fmu_common/mixers/README