mavkit 0.3.0

Async MAVLink SDK for vehicle control, missions, and parameters
Documentation
#!/usr/bin/env python3

import socket
import sys
import time


def main() -> int:
    if len(sys.argv) not in (3, 4):
        print("usage: wait_tcp.py <host> <port> [timeout_s]", file=sys.stderr)
        return 2

    host = sys.argv[1]
    port = int(sys.argv[2])
    timeout_s = int(sys.argv[3]) if len(sys.argv) == 4 else 120

    deadline = time.time() + timeout_s
    ok = False
    while time.time() < deadline:
        try:
            sock = socket.create_connection((host, port), timeout=1)
            sock.close()
            ok = True
            break
        except OSError:
            time.sleep(1)

    print("TCP ready" if ok else "Timed out waiting for TCP")
    return 0 if ok else 1


if __name__ == "__main__":
    raise SystemExit(main())