diff --git a/bin/device-install.sh b/bin/device-install.sh index 1101e26b..fb374d09 100755 --- a/bin/device-install.sh +++ b/bin/device-install.sh @@ -1,11 +1,45 @@ -#!/bin/bash +#!/bin/sh -set -e +# Usage info +show_help() { +cat << EOF +Usage: ${0##*/} [-h] [-p ESPTOOL_PORT] [-f FILENAME] +Flash image file to device, but first erasing and writing system information" -FILENAME=$1 + -h Display this help and exit + -p ESPTOOL_PORT Set the environment variable for ESPTOOL_PORT. If not set, ESPTOOL iterates all ports (Dangerrous). + -f FILENAME The .bin file to flash. Custom to your device type and region. +EOF +} -echo "Trying to flash $FILENAME, but first erasing and writing system information" -esptool.py --baud 921600 erase_flash -esptool.py --baud 921600 write_flash 0x1000 system-info.bin -esptool.py --baud 921600 write_flash 0x10000 $FILENAME +while getopts ":h:p:f:" opt; do + case "${opt}" in + h) + show_help + exit 0 + ;; + p) export ESPTOOL_PORT=${OPTARG} + ;; + f) FILENAME=${OPTARG} + ;; + *) + echo "Invalid flag." + show_help >&2 + exit 1 + ;; + esac +done +shift "$((OPTIND-1))" + +if [ -f "${FILENAME}" ]; then + echo "Trying to flash ${FILENAME}, but first erasing and writing system information" + esptool.py --baud 921600 erase_flash + esptool.py --baud 921600 write_flash 0x1000 system-info.bin + esptool.py --baud 921600 write_flash 0x10000 ${FILENAME} +else + echo "Invalid file: ${FILENAME}" + show_help +fi + +exit 0 diff --git a/bin/device-update.sh b/bin/device-update.sh index ecfee105..4125ade6 100755 --- a/bin/device-update.sh +++ b/bin/device-update.sh @@ -1,8 +1,43 @@ -#!/bin/bash +#!/bin/sh -set -e +# Usage info +show_help() { +cat << EOF +Usage: ${0##*/} [-h] [-p ESPTOOL_PORT] -f FILENAME +Flash image file to device, leave existing system intact." -FILENAME=$1 + -h Display this help and exit + -p ESPTOOL_PORT Set the environment variable for ESPTOOL_PORT. If not set, ESPTOOL iterates all ports (Dangerrous). + -f FILENAME The .bin file to flash. Custom to your device type and region. +EOF +} -echo "Trying to update $FILENAME" -esptool.py --baud 921600 write_flash 0x10000 $FILENAME + +while getopts ":h:p:f:" opt; do + case "${opt}" in + h) + show_help + exit 0 + ;; + p) export ESPTOOL_PORT=${OPTARG} + ;; + f) FILENAME=${OPTARG} + ;; + *) + echo "Invalid flag." + show_help >&2 + exit 1 + ;; + esac +done +shift "$((OPTIND-1))" + +if [ -f "${FILENAME}" ]; then + echo "Trying to flash update ${FILENAME}." + esptool.py --baud 921600 write_flash 0x10000 ${FILENAME} +else + echo "Invalid file: ${FILENAME}" + show_help +fi + +exit 0