circuitpython/ports/stm32/autoflash

45 lines
859 B
Bash
Executable File

#!/bin/sh
#
# This script loops doing the following:
# - wait for DFU device
# - flash DFU device
# - wait for DFU to exit
# - wait for serial port to appear
# - run a terminal
SERIAL=/dev/ttyACM0
DEVICE=0483:df11
while true; do
echo "waiting for DFU device..."
while true; do
if lsusb | grep -q DFU; then
break
fi
sleep 1s
done
echo "found DFU device, flashing"
dfu-util -a 0 -d $DEVICE -D build/flash.dfu
echo "waiting for DFU to exit..."
while true; do
if lsusb | grep -q DFU; then
sleep 1s
continue
fi
break
done
echo "waiting for $SERIAL..."
while true; do
if ls /dev/tty* | grep -q $SERIAL; then
break
fi
sleep 1s
continue
done
sleep 1s
picocom $SERIAL
done