From 535f07d927b010a56111dbe06487565199408f68 Mon Sep 17 00:00:00 2001 From: geeksville Date: Tue, 17 Mar 2020 11:16:22 -0700 Subject: [PATCH 1/2] add a tbeam program script --- bin/program-release-tbeam.sh | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100755 bin/program-release-tbeam.sh diff --git a/bin/program-release-tbeam.sh b/bin/program-release-tbeam.sh new file mode 100755 index 000000000..2c5f030c6 --- /dev/null +++ b/bin/program-release-tbeam.sh @@ -0,0 +1,6 @@ + +set -e + +source bin/version.sh + +esptool.py --baud 921600 write_flash 0x10000 release/latest/firmware-TBEAM-US-$VERSION.bin From 7b1ffb5c092279c700763e0aa3f7fa1f8842d08d Mon Sep 17 00:00:00 2001 From: geeksville Date: Tue, 17 Mar 2020 11:17:58 -0700 Subject: [PATCH 2/2] #17 WIP add tool to capture the system portion of flash based on initial encouraging feedback from @illperipherals if more people report success, we'll need to change the install instructions to: esptool.py --port COM10 --baud 921600 erase_flash esptool.py --port COM10 --baud 921600 write_flash 0x1000 system-info.bin esptool.py --port COM10 --baud 921600 write_flash 0x10000 firmware-HELTEC-US-0.1.6.bin --- bin/read-system-info.sh | 1 + images/system-info.bin | Bin 0 -> 61440 bytes 2 files changed, 1 insertion(+) create mode 100755 bin/read-system-info.sh create mode 100644 images/system-info.bin diff --git a/bin/read-system-info.sh b/bin/read-system-info.sh new file mode 100755 index 000000000..d078d9ba4 --- /dev/null +++ b/bin/read-system-info.sh @@ -0,0 +1 @@ +esptool.py --baud 921600 read_flash 0x1000 0xf000 system-info.img diff --git a/images/system-info.bin b/images/system-info.bin new file mode 100644 index 0000000000000000000000000000000000000000..7ba5adc02e20ef40912cb62f4ad43b3823b3080a GIT binary patch literal 61440 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 AKmY&$ literal 0 HcmV?d00001