/
check_update.sh
executable file
·64 lines (57 loc) · 1.74 KB
/
check_update.sh
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
#!/bin/sh
UPDATE_DIR=/update
UPDATE_PATH=$UPDATE_DIR/ardrone2_update.plf
VERSION_PATH=$UPDATE_DIR/version.txt
ERR_PATH=$UPDATE_DIR/err.log
echo "Copy version.txt file in ftp directory"
cp /firmware/version.txt $VERSION_PATH
PELF_ARGS=$(cat /tmp/.program.elf.arguments | tr '\n' ' ')
echo "Check if update is necessary ..."
if [ -e $UPDATE_PATH ] ; then
VERSION=`cat $VERSION_PATH`
if [ -e $ERR_PATH ] ; then
CHECK_ERR=`cat $ERR_PATH`
if [ "$CHECK_ERR" = "NEED_TO_FLASH" ] ; then
CHECK_PLF=`/bin/checkplf $UPDATE_PATH $VERSION`
if [ "$CHECK_PLF" = "NEED_TO_FLASH" ] ; then
echo "ERR=FLASH_KO" > $ERR_PATH
else
/bin/checkplf $UPDATE_PATH $VERSION > $ERR_PATH
fi
else
/bin/checkplf $UPDATE_PATH $VERSION > $ERR_PATH
fi
else
/bin/checkplf $UPDATE_PATH $VERSION > $ERR_PATH
fi
CHECK_ERR=`cat $ERR_PATH`
if [ "$CHECK_ERR" = "NEED_TO_FLASH" ] ; then
echo "File $UPDATE_PATH exists... Start updating..."
pinst_trigger
echo "Rebooting..."
reboot
else
if [ "$CHECK_ERR" = "VERSION_OK" ] ; then
echo "Version OK"
elif [ "$CHECK_ERR" = "ERR=FLASH_KO" ] ; then
echo "Error during Updating... Removing..."
else
echo "File $UPDATE_PATH not valid... Removing..."
fi
# Cleaning update directory
rm -Rf $UPDATE_DIR/*
cp /firmware/version.txt $VERSION_PATH
echo "Start Drone software..."
inetd
(/bin/program.elf ${PELF_ARGS}; gpio 181 -d ho 1) &
fi
else
echo "File $UPDATE_PATH doesn't exists... Start Drone software..."
# Cleaning update directory
rm -Rf $UPDATE_DIR/*
cp /firmware/version.txt $VERSION_PATH
inetd
insmod /custom_modules/uvcvideo.ko quirks=640
(/bin/program.elf ${PELF_ARGS}; gpio 181 -d ho 1) &
/custom_modules/launch_stream.sh
fi