mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-19 23:22:16 +03:00
* Move all scripts and documentation to Python3 Python 2 EOL is Jan 1, 2020. Migrate scripts to run under Python 3. Under Windows, we're already running Python 3.7, by dumb luck. The oddness is that the Windows standalone executable for Python 3 is called "python" whereas under UNIX-like OSes it's called "python3" with "python" always referring to the Python 2 executable. The ZIP needs to be updated to include a Python3.exe (copy of Python.exe) so that we can use the same command lines under Linux and Windows, and to preserve my sanity. Fixes #6376 * Add new Windows ZIP with python3.exe file * Sort options in boards.txt generation for repeatability The order of the board opts dict changes depending on the Python version and machine, so sort the options before printing them to get a stable ordering. * Re-add Python2 compatibility tweaks Most scripts can run as Python 2 or Python 3 with minimal changes, so re-add (and fix, as necessary) compatibility tweaks to the scripts.
36 lines
1.4 KiB
Python
Executable File
36 lines
1.4 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
# Wrapper for Arduino core / others that can call esptool.py possibly multiple times
|
|
# Adds pyserial to sys.path automatically based on the path of the current file
|
|
|
|
# First parameter is pyserial path, second is esptool path, then a series of command arguments separated with --end
|
|
# i.e. upload.py tools/pyserial tools/esptool erase_flash --end write_flash file 0x0 --end
|
|
|
|
import sys
|
|
import os
|
|
|
|
sys.argv.pop(0) # Remove executable name
|
|
toolspath = os.path.dirname(os.path.realpath(__file__)).replace('\\', '/') # CWD in UNIX format
|
|
try:
|
|
sys.path.insert(0, toolspath + "/pyserial") # Add pyserial dir to search path
|
|
sys.path.insert(0, toolspath + "/esptool") # Add esptool dir to search path
|
|
import esptool # If this fails, we can't continue and will bomb below
|
|
except:
|
|
sys.stderr.write("Error in command line, need pyserial path as 1st arg and esptool path as 2nd.\n")
|
|
sys.exit(1)
|
|
|
|
fakeargs = [];
|
|
while len(sys.argv):
|
|
if sys.argv[0] == '--end':
|
|
esptool.main(fakeargs)
|
|
sys.argv.pop(0) # Remove --end
|
|
fakeargs = []
|
|
else:
|
|
# We silently replace the 921kbaud setting with 460k to enable backward
|
|
# compatibility with the old esptool-ck.exe. Esptool.py doesn't seem
|
|
# work reliably at 921k, but is still significantly faster at 460kbaud.
|
|
thisarg = sys.argv.pop(0)
|
|
if thisarg == "921600":
|
|
thisarg = "460800"
|
|
fakeargs = fakeargs + [thisarg]
|