diff --git a/bin/device-install.bat b/bin/device-install.bat new file mode 100644 index 00000000..4837d61b --- /dev/null +++ b/bin/device-install.bat @@ -0,0 +1,42 @@ +@ECHO OFF + +set PYTHON=python + +goto GETOPTS +:HELP +echo Usage: %~nx0 [-h] [-p ESPTOOL_PORT] [-P PYTHON] [-f FILENAME^|FILENAME] +echo Flash image file to device, but first erasing and writing system information +echo. +echo -h Display this help and exit +echo -p ESPTOOL_PORT Set the environment variable for ESPTOOL_PORT. If not set, ESPTOOL iterates all ports (Dangerrous). +echo -P PYTHON Specify alternate python interpreter to use to invoke esptool. (Default: %PYTHON%) +echo -f FILENAME The .bin file to flash. Custom to your device type and region. +goto EOF + +:GETOPTS +if /I "%1"=="-h" goto HELP +if /I "%1"=="--help" goto HELP +if /I "%1"=="-F" set "FILENAME=%2" & SHIFT +if /I "%1"=="-p" set ESPTOOL_PORT=%2 & SHIFT +if /I "%1"=="-P" set PYTHON=%2 & SHIFT +SHIFT +IF NOT "__%1__"=="____" goto GETOPTS + +IF "__%FILENAME%__" == "____" ( + echo "Missing FILENAME" + goto HELP +) +IF EXIST %FILENAME% ( + echo Trying to flash update %FILENAME%, but first erasing and writing system information" + %PYTHON% -m esptool --baud 921600 erase_flash + %PYTHON% -m esptool --baud 921600 write_flash 0x1000 system-info.bin + for %%f in (spiffs-*.bin) do ( + %PYTHON% -m esptool --baud 921600 write_flash 0x00390000 %%f + ) + %PYTHON% -m esptool --baud 921600 write_flash 0x10000 %FILENAME% +) else ( + echo "Invalid file: %FILENAME%" + goto HELP +) + +:EOF \ No newline at end of file diff --git a/bin/device-update.bat b/bin/device-update.bat new file mode 100644 index 00000000..4cede3db --- /dev/null +++ b/bin/device-update.bat @@ -0,0 +1,39 @@ +@ECHO OFF + +set PYTHON=python + +goto GETOPTS +:HELP +echo Usage: %~nx0 [-h] [-p ESPTOOL_PORT] [-P PYTHON] [-f FILENAME^|FILENAME] +echo Flash image file to device, leave existing system intact. +echo. +echo -h Display this help and exit +echo -p ESPTOOL_PORT Set the environment variable for ESPTOOL_PORT. If not set, ESPTOOL iterates all ports (Dangerrous). +echo -P PYTHON Specify alternate python interpreter to use to invoke esptool. (Default: %PYTHON%) +echo -f FILENAME The .bin file to flash. Custom to your device type and region. +goto EOF + +:GETOPTS +if /I "%1"=="-h" goto HELP +if /I "%1"=="--help" goto HELP +if /I "%1"=="-F" set "FILENAME=%2" & SHIFT +if /I "%1"=="-p" set ESPTOOL_PORT=%2 & SHIFT +if /I "%1"=="-P" set PYTHON=%2 & SHIFT +SHIFT +IF NOT "__%1__"=="____" goto GETOPTS + +IF "__%FILENAME%__" == "____" ( + echo "Missing FILENAME" + goto HELP +) +IF EXIST %FILENAME% ( + echo Trying to flash update %FILENAME% + %PYTHON% -m esptool --baud 921600 write_flash 0x10000 %FILENAME% + echo Erasing the otadata partition, which will turn off flash flippy-flop and force the first image to be used + %PYTHON% -m esptool --baud 921600 erase_region 0xe000 0x2000 +) else ( + echo "Invalid file: %FILENAME%" + goto HELP +) + +:EOF \ No newline at end of file