await_flipper.py 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #!/usr/bin/env python3
  2. import sys, os, time
  3. def flp_serial_by_name(flp_name):
  4. if sys.platform == "darwin": # MacOS
  5. flp_serial = "/dev/cu.usbmodemflip_" + flp_name + "1"
  6. elif sys.platform == "linux": # Linux
  7. flp_serial = (
  8. "/dev/serial/by-id/usb-Flipper_Devices_Inc._Flipper_"
  9. + flp_name
  10. + "_flip_"
  11. + flp_name
  12. + "-if00"
  13. )
  14. if os.path.exists(flp_serial):
  15. return flp_serial
  16. else:
  17. if os.path.exists(flp_name):
  18. return flp_name
  19. else:
  20. return ""
  21. UPDATE_TIMEOUT = 30
  22. def main():
  23. flipper_name = sys.argv[1]
  24. elapsed = 0
  25. flipper = flp_serial_by_name(flipper_name)
  26. while flipper == "" and elapsed < UPDATE_TIMEOUT:
  27. elapsed += 1
  28. time.sleep(1)
  29. flipper = flp_serial_by_name(flipper_name)
  30. if flipper == "":
  31. print(f"Cannot find {flipper_name} flipper. Guess your flipper swam away")
  32. sys.exit(1)
  33. sys.exit(0)
  34. if __name__ == "__main__":
  35. main()