75
75
MEM_END_ROM_TIMEOUT = 0.05 # special short timeout for ESP_MEM_END, as it may never respond
76
76
DEFAULT_SERIAL_WRITE_TIMEOUT = 10 # timeout for serial port write
77
77
78
+ if sys .stdout .isatty ():
79
+ CR = '\r '
80
+ else :
81
+ CR = '\n '
78
82
79
83
def timeout_per_mb (seconds_per_mb , size_bytes ):
80
84
""" Scales timeouts which are size-specific """
@@ -2365,8 +2369,8 @@ def dump_mem(esp, args):
2365
2369
d = esp .read_reg (args .address + (i * 4 ))
2366
2370
f .write (struct .pack (b'<I' , d ))
2367
2371
if f .tell () % 1024 == 0 :
2368
- print (' \r %d bytes read... (%d %%)' % (f .tell (),
2369
- f .tell () * 100 // args .size ),
2372
+ print (CR + ' %d bytes read... (%d %%)' % (f .tell (),
2373
+ f .tell () * 100 // args .size ),
2370
2374
end = ' ' )
2371
2375
sys .stdout .flush ()
2372
2376
print ('Done!' )
@@ -2503,7 +2507,7 @@ def write_flash(esp, args):
2503
2507
written = 0
2504
2508
t = time .time ()
2505
2509
while len (image ) > 0 :
2506
- print (' \r Writing at 0x%08x... (%d %%)' % (address + seq * esp .FLASH_WRITE_SIZE , 100 * (seq + 1 ) // blocks ), end = '' )
2510
+ print (CR + 'Writing at 0x%08x... (%d %%)' % (address + seq * esp .FLASH_WRITE_SIZE , 100 * (seq + 1 ) // blocks ), end = '' )
2507
2511
sys .stdout .flush ()
2508
2512
block = image [0 :esp .FLASH_WRITE_SIZE ]
2509
2513
if args .compress :
@@ -2523,11 +2527,11 @@ def write_flash(esp, args):
2523
2527
if args .compress :
2524
2528
if t > 0.0 :
2525
2529
speed_msg = " (effective %.1f kbit/s)" % (uncsize / t * 8 / 1000 )
2526
- print (' \r Wrote %d bytes (%d compressed) at 0x%08x in %.1f seconds%s...' % (uncsize , written , address , t , speed_msg ))
2530
+ print (CR + 'Wrote %d bytes (%d compressed) at 0x%08x in %.1f seconds%s...' % (uncsize , written , address , t , speed_msg ))
2527
2531
else :
2528
2532
if t > 0.0 :
2529
2533
speed_msg = " (%.1f kbit/s)" % (written / t * 8 / 1000 )
2530
- print (' \r Wrote %d bytes at 0x%08x in %.1f seconds%s...' % (written , address , t , speed_msg ))
2534
+ print (CR + 'Wrote %d bytes at 0x%08x in %.1f seconds%s...' % (written , address , t , speed_msg ))
2531
2535
2532
2536
if not args .encrypt :
2533
2537
try :
@@ -2690,7 +2694,7 @@ def flash_progress(progress, length):
2690
2694
t = time .time ()
2691
2695
data = esp .read_flash (args .address , args .size , flash_progress )
2692
2696
t = time .time () - t
2693
- print (' \r Read %d bytes at 0x%x in %.1f seconds (%.1f kbit/s)...'
2697
+ print (CR + 'Read %d bytes at 0x%x in %.1f seconds (%.1f kbit/s)...'
2694
2698
% (len (data ), args .address , t , len (data ) / t * 8 / 1000 ))
2695
2699
with open (args .filename , 'wb' ) as f :
2696
2700
f .write (data )
0 commit comments