-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathupload_build.sh
executable file
·95 lines (83 loc) · 2.74 KB
/
upload_build.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
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
#!/bin/bash
function finish {
rm -rf build_temp
}
trap finish EXIT
usage() {
echo "Usage: $0 [-p <port>] [-b <baudrate>] [-c] [-f]" 1>&2
echo "-p : specifies device port (/dev/ttyUSB0 for example)" 1>&2
echo "-b : specifies baudrate (115200 if not specified)" 1>&2
echo "-c : compile .lua files" 1>&2
echo "-f : format ESP8266 filesystem" 1>&2
echo ""
echo "ports available: "
sudo node `dirname $0`/node_modules/nodemcu-tool/bin/nodemcu-tool.js devices
exit 0
}
[ $# -eq 0 ] && usage
baudrate=115200
while getopts ":p:b:cfh" arg; do
case $arg in
p)
port=${OPTARG}
;;
b)
baudrate=${OPTARG}
;;
c)
compile="true"
;;
f)
format="true"
;;
h | *) # display help
usage
;;
esac
done
[ "$port" == "" ] && usage
mkdir `dirname $0`/build_temp
cp `dirname $0`/src/*.lua `dirname $0`/build_temp/
cp `dirname $0`/src/*.json `dirname $0`/build_temp/
# changing .lua to .lc in dofiles
if [ "$compile" == "true" ]
then
echo ""
echo "Preprocessing..."
for filename in `dirname $0`/build_temp/*.lua; do
node `dirname $0`/build/luatolc.js $filename
done
fi
# formatting fs
if [ "$format" == "true" ]
then
echo ""
echo "Formatting..."
sudo node `dirname $0`/node_modules/nodemcu-tool/bin/nodemcu-tool.js -p $port -b $baudrate reset
sleep 2
sudo node `dirname $0`/node_modules/nodemcu-tool/bin/nodemcu-tool.js -p $port -b $baudrate remove init.lua
sudo node `dirname $0`/node_modules/nodemcu-tool/bin/nodemcu-tool.js -p $port -b $baudrate reset
sleep 2
sudo node `dirname $0`/node_modules/nodemcu-tool/bin/nodemcu-tool.js -p $port -b $baudrate mkfs
fi
echo ""
echo "Uploading..."
sudo node `dirname $0`/node_modules/nodemcu-tool/bin/nodemcu-tool.js -p $port -b $baudrate reset
sleep 2
sudo node `dirname $0`/node_modules/nodemcu-tool/bin/nodemcu-tool.js -p $port -b $baudrate remove init.lua
sudo node `dirname $0`/node_modules/nodemcu-tool/bin/nodemcu-tool.js -p $port -b $baudrate reset
sleep 2
for filename in `dirname $0`/build_temp/*; do
echo ""
echo "$filename"
if [ "$compile" == true ] && [ $filename != `dirname $0`/build_temp/init.lua ]
then
sudo node `dirname $0`/node_modules/nodemcu-tool/bin/nodemcu-tool.js -p $port -b $baudrate upload -c $filename
else
sudo node `dirname $0`/node_modules/nodemcu-tool/bin/nodemcu-tool.js -p $port -b $baudrate upload $filename
fi
done
rm -rf build_temp
sudo node `dirname $0`/node_modules/nodemcu-tool/bin/nodemcu-tool.js -p $port -b $baudrate reset
sudo node `dirname $0`/node_modules/nodemcu-tool/bin/nodemcu-tool.js -p $port -b $baudrate terminal
exit 0