#!/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