HOME = os.path.expanduser('~')
TODAY = dt.now().strftime('%Y.%m.%d')
+# Examples for CardputerAdv
+DEVICE = 'Espressif'
+PORT='/dev/ttyACM0' # Linux
+CHIP='ESP32-S3'
+# PORT='COM0' # Windows
+
@task
def help(c):
'''
# Maybe https://thelastoutpostworkshop.github.io/ESPConnect/ in Chromium?
-DEV='/dev/ttyACM0'
@task
-def check_connected(c):
- dev = 'Espressif'
- result = c.run(f'lsusb | grep {dev}')
- assert dev in result.stdout
+def check_conn(c):
+ result = c.run(f'lsusb | grep {DEVICE}')
+ assert DEVICE in result.stdout
print('[ok]')
@task
def listusb(c):
- c.run('ls /dev/ttyACM*')
+ # result = c.run('ls /dev/ttyACM*')
+ result = c.run(f'ls {PORT}')
+ assert result.ok
+ print('[ok]')
# c.run('ls /dev/ttyUSB*')
-@task()
+@task
def chip_id(c):
- c.run(f'esptool --port {DEV} chip-id')
+ result = c.run(f'esptool --port {PORT} chip-id')
+ assert CHIP in result.stdout
+ print('[ok]')
+@task
+def check_all(c):
+ listusb(c)
+ check_conn(c)
+ chip_id(c)
+
+@task
+def erase_flash(c):
+ '''Erasing flash is recommended before flashing fresh.'''
+ c.run(f'esptool --port {PORT} erase-flash')
+
+@task
+def write_flash(c, filepath):
+ '''Write flash'''
+ c.run(f'esptool --chip {CHIP} --port {PORT} --baud 460800 write_flash -z 0x1000 {filepath}')