diff options
Diffstat (limited to 'ports/stm32/autoflash')
| -rwxr-xr-x | ports/stm32/autoflash | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/ports/stm32/autoflash b/ports/stm32/autoflash new file mode 100755 index 000000000..d2240ccb5 --- /dev/null +++ b/ports/stm32/autoflash @@ -0,0 +1,44 @@ +#!/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 |
