aboutsummaryrefslogtreecommitdiff
path: root/ROMFS/px4fmu_common/init.d
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2014-08-26 09:29:55 +0200
committerLorenz Meier <lm@inf.ethz.ch>2014-08-26 09:29:55 +0200
commit943463391241cdad88cc169d9cedbb5cb4cddf47 (patch)
treec56579fe413d9743397acf3e253a962b59ecd8f5 /ROMFS/px4fmu_common/init.d
parent8f2fa6da25ffcb83b27e732e4d22b845a652500f (diff)
parent19fa79dcb1b3b34176341b3edb7187b6bb117aff (diff)
downloadpx4-firmware-943463391241cdad88cc169d9cedbb5cb4cddf47.tar.gz
px4-firmware-943463391241cdad88cc169d9cedbb5cb4cddf47.tar.bz2
px4-firmware-943463391241cdad88cc169d9cedbb5cb4cddf47.zip
Merged upstream/master
Diffstat (limited to 'ROMFS/px4fmu_common/init.d')
-rw-r--r--ROMFS/px4fmu_common/init.d/rc.uavcan18
-rw-r--r--ROMFS/px4fmu_common/init.d/rcS12
2 files changed, 26 insertions, 4 deletions
diff --git a/ROMFS/px4fmu_common/init.d/rc.uavcan b/ROMFS/px4fmu_common/init.d/rc.uavcan
new file mode 100644
index 000000000..9a470a6b8
--- /dev/null
+++ b/ROMFS/px4fmu_common/init.d/rc.uavcan
@@ -0,0 +1,18 @@
+#!nsh
+#
+# UAVCAN initialization script.
+#
+
+if param compare UAVCAN_ENABLE 1
+then
+ if uavcan start
+ then
+ # First sensor publisher to initialize takes lowest instance ID
+ # This delay ensures that UAVCAN-interfaced sensors would be allocated on lowest instance IDs
+ sleep 1
+ echo "[init] UAVCAN started"
+ else
+ echo "[init] ERROR: Could not start UAVCAN"
+ tone_alarm $TUNE_OUT_ERROR
+ fi
+fi
diff --git a/ROMFS/px4fmu_common/init.d/rcS b/ROMFS/px4fmu_common/init.d/rcS
index c9e6a27ca..195771905 100644
--- a/ROMFS/px4fmu_common/init.d/rcS
+++ b/ROMFS/px4fmu_common/init.d/rcS
@@ -304,11 +304,10 @@ then
then
if [ $OUTPUT_MODE == uavcan_esc ]
then
- if uavcan start 1
+ if param compare UAVCAN_ENABLE 0
then
- echo "CAN UP"
- else
- echo "CAN ERR"
+ echo "[init] OVERRIDING UAVCAN_ENABLE = 1"
+ param set UAVCAN_ENABLE 1
fi
fi
@@ -448,6 +447,11 @@ then
mavlink start $MAVLINK_FLAGS
#
+ # UAVCAN
+ #
+ sh /etc/init.d/rc.uavcan
+
+ #
# Sensors, Logging, GPS
#
sh /etc/init.d/rc.sensors