micropython-st7789py-lcd-dr.../examples/upload_all.sh

119 wiersze
2.5 KiB
Bash
Executable File

#!/bin/sh
#
# This script uploads all the files to the device
#
if ! command -v mpremote >/dev/null 2>&1; then
echo "This script requires the mpremote command. You can install it with:"
echo "pip3 install --user mpremote"
exit 1
fi
if ! command -v mpy-cross >/dev/null 2>&1; then
echo "This script requires the mpy-cross command. You can install it with:"
echo "pip3 install --user mpy-cross"
exit 1
fi
upload_fonts () {
cd ../romfonts
rm -f *.mpy
for font in *.py
do
compile $font
done
cd ..
mpremote cp romfonts/*.mpy :
cd examples
}
upload () {
echo "Uploading $1"
mpremote cp $1 :
}
compile () {
echo "Compiling $1"
mpy-cross $1
}
compile_upload () {
source="$1"
compiled="${source%.py}.mpy"
compile ${source}
upload ${compiled}
}
select_menu() {
local subdirectories=()
directory="$2"
selection=""
# Display the title
echo -e "\n$1\n"
# Populate the subdirectories array
while IFS= read -r subdirectory; do
subdirectories+=("$subdirectory")
done < <(find "$directory" -mindepth 1 -type d -printf "%f\n")
# Display the menu
PS3="Select a subdirectory (enter 0 to cancel): "
select subdirectory in "${subdirectories[@]}"; do
if [[ "$REPLY" == "0" ]]; then
echo "Canceled."
exit 1
elif [[ -n "$subdirectory" ]]; then
selection="$subdirectory"
break
else
echo "Invalid selection. Please try again."
fi
done
echo "Selected subdirectory: ${directory}/${selection}"
}
select_menu "Select a configuration to upload:" "../tft_configs"
upload "${directory}/${selection}/*.py"
# Driver
upload "../lib/st7789py.py"
# Fonts
upload_fonts
compile_upload alien/alien_bitmap.py
upload alien/alien.py
upload feathers.py
upload rotations.py
upload scroll.py
upload fonts.py
upload hello.py
upload color_test.py
upload tiny_toasters/tiny_toasters.py
compile_upload tiny_toasters/tiny_toasters_bitmaps.py
upload boxlines.py
upload proverbs/proverbs.py
compile_upload proverbs/proverbs_20.py
compile_upload proverbs/proverbs_30.py
upload roids.py
upload chango/chango.py
compile_upload chango/chango_16.py
compile_upload chango/chango_32.py
compile_upload chango/chango_64.py
upload noto_fonts/noto_fonts.py
compile_upload noto_fonts/NotoSans_32.py
compile_upload noto_fonts/NotoSansMono_32.py
compile_upload noto_fonts/NotoSerif_32.py
upload tiny_hello.py