aboutsummaryrefslogtreecommitdiff
path: root/ROMFS/px4fmu_common/init.d/30_io_camflyer
diff options
context:
space:
mode:
Diffstat (limited to 'ROMFS/px4fmu_common/init.d/30_io_camflyer')
-rw-r--r--ROMFS/px4fmu_common/init.d/30_io_camflyer61
1 files changed, 35 insertions, 26 deletions
diff --git a/ROMFS/px4fmu_common/init.d/30_io_camflyer b/ROMFS/px4fmu_common/init.d/30_io_camflyer
index f7e653362..c4c4ea3da 100644
--- a/ROMFS/px4fmu_common/init.d/30_io_camflyer
+++ b/ROMFS/px4fmu_common/init.d/30_io_camflyer
@@ -1,6 +1,6 @@
#!nsh
-echo "[init] 30_io_camflyer: PX4FMU+PX4IO on Camflyer"
+echo "[init] PX4FMU v1, v2 with or without IO on Camflyer"
#
# Load default params for this platform
@@ -19,34 +19,32 @@ fi
# MAV_TYPE 1 = fixed wing
#
param set MAV_TYPE 1
-
-#
-# Start MAVLink (depends on orb)
-#
-mavlink start -d /dev/ttyS1 -b 57600
-usleep 5000
-
-#
-# Start the commander (depends on orb, mavlink)
-#
-commander start
-
-#
-# Start PX4IO interface (depends on orb, commander)
+
+set EXIT_ON_END no
+
#
-px4io start
-
+# Start and configure PX4IO or FMU interface
#
-# Allow PX4IO to recover from midair restarts.
-# this is very unlikely, but quite safe and robust.
-px4io recovery
+if px4io detect
+then
+ # Start MAVLink (depends on orb)
+ mavlink start
+ usleep 5000
-#
-# Set actuator limit to 100 Hz update (50 Hz PWM)
-px4io limit 100
+ sh /etc/init.d/rc.io
+ # Limit to 100 Hz updates and (implicit) 50 Hz PWM
+ px4io limit 100
+else
+ # Start MAVLink (on UART1 / ttyS0)
+ mavlink start -d /dev/ttyS0
+ usleep 5000
+ fmu mode_pwm
+ param set BAT_V_SCALING 0.004593
+ set EXIT_ON_END yes
+fi
#
-# Start the sensors (depends on orb, px4io)
+# Start the sensors and test them.
#
sh /etc/init.d/rc.sensors
@@ -54,7 +52,12 @@ sh /etc/init.d/rc.sensors
# Start logging (depends on sensors)
#
sh /etc/init.d/rc.logging
-
+
+#
+# Start the commander.
+#
+commander start
+
#
# Start GPS interface (depends on orb)
#
@@ -70,4 +73,10 @@ att_pos_estimator_ekf start
#
mixer load /dev/pwm_output /etc/mixers/FMU_Q.mix
fw_att_control start
-fw_pos_control_l1 start
+# Not ready yet for prime-time
+#fw_pos_control_l1 start
+
+if [ $EXIT_ON_END == yes ]
+then
+ exit
+fi