Pull in upstream fixes for getting board into flash mode.
This commit is contained in:
parent
125d2173d6
commit
8394333cab
|
@ -128,30 +128,20 @@ class ESPROM:
|
|||
def connect(self):
|
||||
print 'Connecting...'
|
||||
|
||||
# RTS = CH_PD (i.e reset)
|
||||
# DTR = GPIO0
|
||||
# self._port.setRTS(True)
|
||||
# self._port.setDTR(True)
|
||||
# self._port.setRTS(False)
|
||||
# time.sleep(0.1)
|
||||
# self._port.setDTR(False)
|
||||
|
||||
# NodeMCU devkit
|
||||
self._port.setRTS(True)
|
||||
self._port.setDTR(True)
|
||||
time.sleep(0.1)
|
||||
self._port.setRTS(False)
|
||||
for _ in xrange(4):
|
||||
# issue reset-to-bootloader:
|
||||
# RTS = either CH_PD or nRESET (both active low = chip in reset)
|
||||
# DTR = GPIO0 (active low = boot to flasher)
|
||||
self._port.setDTR(False)
|
||||
time.sleep(0.1)
|
||||
self._port.setRTS(True)
|
||||
time.sleep(0.1)
|
||||
time.sleep(0.05)
|
||||
self._port.setDTR(True)
|
||||
self._port.setRTS(False)
|
||||
time.sleep(0.3)
|
||||
self._port.setDTR(True)
|
||||
time.sleep(0.05)
|
||||
self._port.setDTR(False)
|
||||
|
||||
self._port.timeout = 0.5
|
||||
for i in xrange(10):
|
||||
self._port.timeout = 0.3 # worst-case latency timer should be 255ms (probably <20ms)
|
||||
for _ in xrange(4):
|
||||
try:
|
||||
self._port.flushInput()
|
||||
self._port.flushOutput()
|
||||
|
@ -159,7 +149,11 @@ class ESPROM:
|
|||
self._port.timeout = 5
|
||||
return
|
||||
except:
|
||||
time.sleep(0.1)
|
||||
time.sleep(0.05)
|
||||
# this is a workaround for the CH340 serial driver on current versions of Linux,
|
||||
# which seems to sometimes set the serial port up with wrong parameters
|
||||
self._port.close()
|
||||
self._port.open()
|
||||
raise Exception('Failed to connect')
|
||||
|
||||
""" Read memory address in target """
|
||||
|
|
Loading…
Reference in New Issue