aboutsummaryrefslogtreecommitdiff
path: root/ROMFS/px4fmu_common/init.d/rc.boarddetect
blob: f233e51df49324505a0ee48fbd015f03e98e07c2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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