Wordclock/tools/initialDietFlash.sh
2021-02-09 19:58:59 +01:00

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 "Serial target: $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