mirror of
https://github.com/esp8266/Arduino.git
synced 2025-06-12 01:53:07 +03:00
Make upload.py compatible with existing FS upload (#6788)
* Make upload.py compatible with existing FS upload PR #6765 introduced an incompatibility with the existing Java uploaders for SPIFFS and LittleFS, breaking them because of the upload.py parameter format change to support single stage erase/upload. Add in patch to silently eat the single --end and to parse the write address and filename properly as generated by calls from the plugins, while retaining compatibility with the current IDE changes. * Clean upload.py, make platform use write_flash 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.
This commit is contained in:
committed by
Develo
parent
01e9d948c7
commit
dabf4c53d4
@ -22,6 +22,7 @@ except:
|
||||
|
||||
cmdline = []
|
||||
write_option = ''
|
||||
write_addr = '0x0'
|
||||
erase_addr = ''
|
||||
erase_len = ''
|
||||
|
||||
@ -38,28 +39,26 @@ while len(sys.argv):
|
||||
# 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 = ''
|
||||
|
||||
if os.path.isfile(thisarg):
|
||||
binary = thisarg
|
||||
thisarg = ''
|
||||
|
||||
if len(thisarg):
|
||||
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)
|
||||
elif len(thisarg):
|
||||
cmdline = cmdline + [thisarg]
|
||||
|
||||
cmdline = cmdline + ['write_flash']
|
||||
if len(write_option):
|
||||
cmdline = cmdline + [write_option]
|
||||
cmdline = cmdline + ['0x0', binary]
|
||||
cmdline = cmdline + [write_addr, binary]
|
||||
|
||||
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)))
|
||||
|
Reference in New Issue
Block a user