]> apps.delaporte.us Git - dotfiles.git/blobdiff - invoke/esptool/tasks.py
Stronger status checks
[dotfiles.git] / invoke / esptool / tasks.py
index 2a807670972e9e83464f64475df59ee058d7ba4c..54793ee4313dad878804a0ce9de4a2784557b671 100644 (file)
@@ -6,9 +6,16 @@ import os
 HOME = os.path.expanduser('~')
 TODAY = dt.now().strftime('%Y.%m.%d')
 
+# Examples for CardputerAdv
+DEVICE = 'Espressif'
+PORT='/dev/ttyACM0' # Linux
+# PORT='COM0' # Windows
+
 @task
 def help(c):
     '''
+    On using this tasks file
+
     - Set the Cardputer Adv power to 'off' state
     - Plugging in to USB will cause it to boot
     - Hold 'Go' while booting
@@ -24,12 +31,14 @@ def help(c):
 
 @task
 def groups(c):
+    '''Check that the current user is a member of dialout'''
     result = c.run(f'groups {os.getlogin()}')
     assert 'dialout' in result.stdout
     print('ok')
 
 @task
 def usbdiff(c):
+    '''Use lsusb to try to find the new device.'''
     input('Un-plug in the device...')
     c.run('lsusb > /tmp/before.txt')
     input('Plug in the device...')
@@ -40,14 +49,29 @@ def usbdiff(c):
 
 # Maybe https://thelastoutpostworkshop.github.io/ESPConnect/ in Chromium?
 
-DEV='/dev/ttyACM0'
+
+@task
+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')
+    c.run(f'esptool --port {PORT} chip-id')
+    print('[ok]')
+
+@task
+def check_all(c):
+    listusb(c)
+    check_conn(c)
+    chip_id(c)