autoflash 859 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/bin/sh
  2. #
  3. # This script loops doing the following:
  4. # - wait for DFU device
  5. # - flash DFU device
  6. # - wait for DFU to exit
  7. # - wait for serial port to appear
  8. # - run a terminal
  9. SERIAL=/dev/ttyACM0
  10. DEVICE=0483:df11
  11. while true; do
  12. echo "waiting for DFU device..."
  13. while true; do
  14. if lsusb | grep -q DFU; then
  15. break
  16. fi
  17. sleep 1s
  18. done
  19. echo "found DFU device, flashing"
  20. dfu-util -a 0 -d $DEVICE -D build/flash.dfu
  21. echo "waiting for DFU to exit..."
  22. while true; do
  23. if lsusb | grep -q DFU; then
  24. sleep 1s
  25. continue
  26. fi
  27. break
  28. done
  29. echo "waiting for $SERIAL..."
  30. while true; do
  31. if ls /dev/tty* | grep -q $SERIAL; then
  32. break
  33. fi
  34. sleep 1s
  35. continue
  36. done
  37. sleep 1s
  38. picocom $SERIAL
  39. done