from invoke import task

from datetime import datetime as dt
import os

HOME = os.path.expanduser('~')
TODAY = dt.now().strftime('%Y.%m.%d')

@task
def help(c):
    '''
    - Set the Cardputer Adv power to 'off' state
    - Plugging in to USB will cause it to boot
    - Hold 'Go' while booting
    - Hold 'Go' and press 'Reset' to try again.
    - On success, the usual screen content still shows up
    > Tip: Be sure to use a cable that can carry data, not just power.

    '''
    print(help.__doc__)


@task
def usbdiff(c):
    input('Un-plug in the device...')
    c.run('lsusb > /tmp/before.txt')
    input('Plug in the device...')
    c.run('lsusb > /tmp/after.txt')
    result = c.run('diff /tmp/before.txt /tmp/after.txt')
    print(result.stdout)
    # breakpoint()

# Maybe https://thelastoutpostworkshop.github.io/ESPConnect/ in Chromium?

DEV='/dev/ttyACM0'

@task
def listusb(c):
    c.run('ls /dev/ttyACM*')
    # c.run('ls /dev/ttyUSB*')

@task()
def chip_id(c):
    c.run(f'esptool --port {DEV} chip-id')

