blob: 1c66552f9a8c7a47c9829b7bb75953cc3b519623 (
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
#!nsh
#
# PX4FMU startup script for test hackery.
#
set unit_test_failure 0
uorb start
if sercon
then
echo "[i] USB interface connected"
# Try to get an USB console
nshterm /dev/ttyACM0 &
fi
#
# Try to mount the microSD card.
#
mount -t vfat /dev/mmcsd0 /fs/microsd
if [ $? == 0 ]
then
echo "[i] card mounted at /fs/microsd"
# Start playing the startup tune
tone_alarm start
else
echo "[i] no microSD card found"
# Play SOS
tone_alarm error
fi
#
# Start a minimal system
#
if [ -f /etc/extras/px4io-v2_default.bin ]
then
set io_file /etc/extras/px4io-v2_default.bin
else
set io_file /etc/extras/px4io-v1_default.bin
fi
px4io start
if [ $? == 0 ]
then
echo "PX4IO OK"
else
set unit_test_failure 1
set unit_test_failure_list "${unit_test_failure_list} px4io_start"
fi
px4io checkcrc $io_file
if [ $? == 0 ]
then
echo "PX4IO CRC OK"
else
echo "PX4IO CRC failure"
tone_alarm MBABGP
if px4io forceupdate 14662 $io_file
then
if px4io start
then
echo "PX4IO restart OK"
tone_alarm MSPAA
else
echo "PX4IO restart failed"
tone_alarm MNGGG
set unit_test_failure 1
set unit_test_failure_list "${unit_test_failure_list} px4io_flash"
fi
else
echo "PX4IO update failed"
tone_alarm MNGGG
set unit_test_failure 1
set unit_test_failure_list "${unit_test_failure_list} px4io_flash"
fi
fi
#
# The presence of this file suggests we're running a mount stress test
#
if [ -f /fs/microsd/mount_test_cmds.txt ]
then
tests mount
fi
#
# Run unit tests at board boot, reporting failure as needed.
# Add new unit tests using the same pattern as below.
#
mavlink_tests
if [ $? != 0 ]
then
set unit_test_failure 1
set unit_test_failure_list "${unit_test_failure_list} mavlink_tests"
fi
commander_tests
if [ $? != 0 ]
then
set unit_test_failure 1
set unit_test_failure_list "${unit_test_failure_list} commander_tests"
fi
uorb test
if [ $? != 0 ]
then
set unit_test_failure 1
set unit_test_failure_list "${unit_test_failure_list} uorb_tests"
fi
adc start
hmc5883 -I -S start
if [ $? != 0 ]
then
# This is an FMUv1 or FMUv2
echo "FMUv2 (or FMUv3 where 'hmc5883 -I -S start' failed)"
ms5611 start
mpu6000 start
lsm303d start
l3gd20 start
else
# This is a FMUv3
echo "FMUv3"
mpu6000 -X start
mpu6000 start
lsm303d -X start
l3gd20 -X start
ms5611 start
fi
tests all
if [ $? != 0 ]
then
set unit_test_failure 1
set unit_test_failure_list "${unit_test_failure_list} system_tests"
fi
if [ $unit_test_failure == 0 ]
then
echo
echo "All Unit Tests PASSED"
else
echo
echo "Some Unit Tests FAILED:${unit_test_failure_list}"
fi
ver all
|