Skip to content

Commit

Permalink
Clean upload.py, make platform use write_flash
Browse files Browse the repository at this point in the history
Make upload.py more concise and pythonic.

Use the "write_flash" argument in platform.txt for uploads instead of
assuming anything that is a file is the bin to upload.
  • Loading branch information
earlephilhower committed Nov 16, 2019
1 parent 0c019c4 commit c7cb2fc
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 20 deletions.
2 changes: 1 addition & 1 deletion platform.txt
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ tools.esptool.upload.params.quiet=
# First, potentially perform an erase or nothing
# Next, do the binary upload
# Combined in one rule because Arduino doesn't suport upload.1.pattern/upload.3.pattern
tools.esptool.upload.pattern="{cmd}" "{runtime.platform.path}/tools/upload.py" --chip esp8266 --port "{serial.port}" --baud "{upload.speed}" "{upload.verbose}" {upload.erase_cmd} {upload.resetmethod} "{build.path}/{build.project_name}.bin"
tools.esptool.upload.pattern="{cmd}" "{runtime.platform.path}/tools/upload.py" --chip esp8266 --port "{serial.port}" --baud "{upload.speed}" "{upload.verbose}" {upload.erase_cmd} {upload.resetmethod} write_flash 0x0 "{build.path}/{build.project_name}.bin"

tools.esptool.upload.network_pattern="{network_cmd}" "{runtime.platform.path}/tools/espota.py" -i "{serial.port}" -p "{network.port}" "--auth={network.password}" -f "{build.path}/{build.project_name}.bin"

Expand Down
26 changes: 7 additions & 19 deletions tools/upload.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,28 +39,16 @@
# https://github.com/esp8266/Arduino/issues/6755#issuecomment-553208688
if thisarg == "erase_flash":
write_option = '--erase-all'
thisarg = ''

if thisarg == 'erase_region':
elif thisarg == 'erase_region':
erase_addr = sys.argv.pop(0)
erase_len = sys.argv.pop(0)
thisarg = ''

# Backwards compatibility with fs upload tools, eat --end
if thisarg == '--end':
thisarg = ''

# Backwards compatibility with fs upload tools, parse write_flash for later use
if thisarg == 'write_flash':
elif thisarg == '--end':
# Backwards compatibility with fs upload tools, eat --end
pass
elif thisarg == 'write_flash':
write_addr = sys.argv.pop(0)
binary = sys.argv.pop(0)
thisarg = ''

if os.path.isfile(thisarg):
binary = thisarg
thisarg = ''

if len(thisarg):
elif len(thisarg):
cmdline = cmdline + [thisarg]

cmdline = cmdline + ['write_flash']
Expand All @@ -70,7 +58,7 @@

erase_file = ''
if len(erase_addr):
# generate temporary empty (0xff) file
# Generate temporary empty (0xff) file
eraser = tempfile.mkstemp()
erase_file = eraser[1]
os.write(eraser[0], bytearray([255] * int(erase_len, 0)))
Expand Down

0 comments on commit c7cb2fc

Please sign in to comment.