2020-07-27 13:14:04 +00:00
|
|
|
#!/bin/sh
|
2020-05-07 02:43:17 +00:00
|
|
|
|
2023-01-21 13:34:29 +00:00
|
|
|
PYTHON=${PYTHON:-$(which python3 python | head -n 1)}
|
2021-03-22 01:29:20 +00:00
|
|
|
|
2020-07-27 13:14:04 +00:00
|
|
|
# Usage info
|
|
|
|
show_help() {
|
2023-01-21 13:34:29 +00:00
|
|
|
cat <<EOF
|
2021-04-10 03:02:25 +00:00
|
|
|
Usage: $(basename $0) [-h] [-p ESPTOOL_PORT] [-P PYTHON] [-f FILENAME|FILENAME]
|
2020-07-27 13:14:04 +00:00
|
|
|
Flash image file to device, leave existing system intact."
|
2020-05-07 02:43:17 +00:00
|
|
|
|
2020-07-27 13:14:04 +00:00
|
|
|
-h Display this help and exit
|
|
|
|
-p ESPTOOL_PORT Set the environment variable for ESPTOOL_PORT. If not set, ESPTOOL iterates all ports (Dangerrous).
|
2021-03-22 01:29:20 +00:00
|
|
|
-P PYTHON Specify alternate python interpreter to use to invoke esptool. (Default: "$PYTHON")
|
2022-11-24 11:30:15 +00:00
|
|
|
-f FILENAME The *update.bin file to flash. Custom to your device type.
|
2022-11-26 16:00:33 +00:00
|
|
|
|
2020-07-27 13:14:04 +00:00
|
|
|
EOF
|
|
|
|
}
|
2020-05-07 02:43:17 +00:00
|
|
|
|
2021-03-22 01:29:20 +00:00
|
|
|
while getopts ":hp:P:f:" opt; do
|
2023-01-21 13:34:29 +00:00
|
|
|
case "${opt}" in
|
|
|
|
h)
|
|
|
|
show_help
|
|
|
|
exit 0
|
|
|
|
;;
|
|
|
|
p)
|
|
|
|
export ESPTOOL_PORT=${OPTARG}
|
|
|
|
;;
|
|
|
|
P)
|
|
|
|
PYTHON=${OPTARG}
|
|
|
|
;;
|
|
|
|
f)
|
|
|
|
FILENAME=${OPTARG}
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "Invalid flag."
|
|
|
|
show_help >&2
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
2020-07-27 13:14:04 +00:00
|
|
|
done
|
2023-01-21 13:34:29 +00:00
|
|
|
shift "$((OPTIND - 1))"
|
2020-07-27 13:14:04 +00:00
|
|
|
|
2021-04-10 03:02:25 +00:00
|
|
|
[ -z "$FILENAME" -a -n "$1" ] && {
|
2023-01-21 13:34:29 +00:00
|
|
|
FILENAME=$1
|
|
|
|
shift
|
2021-04-10 03:02:25 +00:00
|
|
|
}
|
|
|
|
|
2022-12-03 14:24:11 +00:00
|
|
|
if [ -f "${FILENAME}" ] && [ -z "${FILENAME##*"update"*}" ]; then
|
2022-11-26 16:00:33 +00:00
|
|
|
printf "Trying to flash update ${FILENAME}"
|
2022-11-24 11:30:15 +00:00
|
|
|
$PYTHON -m esptool --baud 115200 write_flash 0x10000 ${FILENAME}
|
2020-07-27 13:14:04 +00:00
|
|
|
else
|
|
|
|
show_help
|
2022-11-26 16:00:33 +00:00
|
|
|
echo "Invalid file: ${FILENAME}"
|
2020-07-27 13:14:04 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
exit 0
|