85 lines
1.6 KiB
Bash
Executable File
85 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
TOOLDIR=tools/
|
|
LUATOOL=${TOOLDIR}luatool.py
|
|
|
|
DIET=bin/luasrcdiet
|
|
|
|
DEVICE=$1
|
|
BAUD=115200
|
|
|
|
# check environment
|
|
if [ ! -f $LUATOOL ]; then
|
|
echo "$LUATOOL not found"
|
|
echo "is the command prompt at the same level as the tools folder ?"
|
|
exit 1
|
|
fi
|
|
|
|
# check the serial connection
|
|
|
|
if [ ! -c $DEVICE ]; then
|
|
echo "$DEVICE does not exist"
|
|
exit 1
|
|
fi
|
|
|
|
if [ $# -eq 0 ]; then
|
|
echo ""
|
|
echo "e.g. usage $0 <device> [<files to upoad>]"
|
|
exit 1
|
|
fi
|
|
|
|
if [ $# -eq 1 ]; then
|
|
FILES="displayword.lua main.lua timecore.lua webpage.html webserver.lua telnet.lua wordclock.lua init.lua"
|
|
else
|
|
FILES=$2
|
|
fi
|
|
|
|
echo "Generate DIET version of the files"
|
|
OUTFILES=""
|
|
ROOTDIR=$PWD
|
|
cd $TOOLDIR
|
|
for f in $FILES; do
|
|
if [[ "$f" == *.lua ]] && [[ "$f" != init.lua ]]; then
|
|
echo "Compress $f ..."
|
|
out=$(echo "$f" | sed 's/.lua/_diet.lua/g')
|
|
$DIET ../$f -o ../diet/$out
|
|
OUTFILES="$OUTFILES diet/$out"
|
|
else
|
|
OUTFILES="$OUTFILES $f"
|
|
fi
|
|
done
|
|
FILES=$OUTFILES
|
|
cd $ROOTDIR
|
|
|
|
if [ $# -eq 1 ]; then
|
|
# Format filesystem first
|
|
echo "Format the complete ESP"
|
|
python3 $LUATOOL -p $DEVICE -w -b $BAUD
|
|
if [ $? -ne 0 ]; then
|
|
echo "STOOOOP"
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
echo "Start Flasing ..."
|
|
for f in $FILES; do
|
|
if [ ! -f $f ]; then
|
|
echo "Cannot find $f"
|
|
echo "place the terminal into the folder where the lua files are present"
|
|
exit 1
|
|
fi
|
|
|
|
espFile=$(echo "$f" | sed 's;diet/;;g')
|
|
echo "------------- $espFile ------------"
|
|
python3 $LUATOOL -p $DEVICE -f $f -b $BAUD -t $espFile
|
|
if [ $? -ne 0 ]; then
|
|
echo "STOOOOP"
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
echo "Reboot the ESP"
|
|
echo "node.restart()" >> $DEVICE
|
|
|
|
exit 0
|