#!/bin/sh PYTHON=${PYTHON:-$(which python3 python | head -n 1)} set -e # Usage info show_help() { cat <&2 exit 1 ;; esac done shift "$((OPTIND - 1))" [ -z "$FILENAME" -a -n "$1" ] && { FILENAME=$1 shift } if [ -f "${FILENAME}" ] && [ -n "${FILENAME##*"update"*}" ]; then echo "Trying to flash ${FILENAME}, but first erasing and writing system information" "$PYTHON" -m esptool erase_flash "$PYTHON" -m esptool write_flash 0x00 ${FILENAME} # Account for S3 board's different OTA partition if [ -n "${FILENAME##*"s3"*}" ] && [ -n "${FILENAME##*"-v3"*}" ] && [ -n "${FILENAME##*"t-deck"*}" ] && [ -n "${FILENAME##*"wireless-paper"*}" ] && [ -n "${FILENAME##*"wireless-tracker"*}" ] && [ -n "${FILENAME##*"station-g2"*}" ] && [ -n "${FILENAME##*"unphone"*}" ]; then if [ -n "${FILENAME##*"esp32c3"*}" ]; then "$PYTHON" -m esptool write_flash 0x260000 bleota.bin else "$PYTHON" -m esptool write_flash 0x260000 bleota-c3.bin fi else "$PYTHON" -m esptool write_flash 0x260000 bleota-s3.bin fi "$PYTHON" -m esptool write_flash 0x300000 littlefs-*.bin else show_help echo "Invalid file: ${FILENAME}" fi exit 0