| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #!/usr/bin/env python3
- import logging
- import os
- import sys
- import 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 = 60 * 4 # 4 minutes
- def main():
- flipper_name = sys.argv[1]
- elapsed = 0
- flipper = flp_serial_by_name(flipper_name)
- logging.basicConfig(
- format="%(asctime)s %(levelname)-8s %(message)s",
- level=logging.INFO,
- datefmt="%Y-%m-%d %H:%M:%S",
- )
- logging.info("Waiting for Flipper to be ready...")
- while flipper == "" and elapsed < UPDATE_TIMEOUT:
- elapsed += 1
- time.sleep(1)
- flipper = flp_serial_by_name(flipper_name)
- if flipper == "":
- logging.error("Flipper not found!")
- sys.exit(1)
- logging.info(f"Found Flipper at {flipper}")
- sys.exit(0)
- if __name__ == "__main__":
- main()
|