flipperzero-firmware/scripts/testing/await_flipper.py
Konstantin Volkov 492f147568
[FL-2887] actions unit tests runner (#1920)
Co-authored-by: Konstantin Volkov <k.volkov@flipperdevices.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-10-28 22:59:09 +09:00

49 lines
1.0 KiB
Python

#!/usr/bin/env python3
import sys, os, time
def flp_serial_by_name(flp_name):
if sys.platform == "darwin": # MacOS
flp_serial = "/dev/cu.usbmodemflip_" + flp_name + "1"
elif sys.platform == "linux": # Linux
flp_serial = (
"/dev/serial/by-id/usb-Flipper_Devices_Inc._Flipper_"
+ flp_name
+ "_flip_"
+ flp_name
+ "-if00"
)
if os.path.exists(flp_serial):
return flp_serial
else:
if os.path.exists(flp_name):
return flp_name
else:
return ""
UPDATE_TIMEOUT = 30
def main():
flipper_name = sys.argv[1]
elapsed = 0
flipper = flp_serial_by_name(flipper_name)
while flipper == "" and elapsed < UPDATE_TIMEOUT:
elapsed += 1
time.sleep(1)
flipper = flp_serial_by_name(flipper_name)
if flipper == "":
print(f"Cannot find {flipper_name} flipper. Guess your flipper swam away")
sys.exit(1)
sys.exit(0)
if __name__ == "__main__":
main()