diff --git a/lib/libmedia_codec/src/ffmpeg-4.2.2-win64-dev/lib/avcodec.lib b/lib/libmedia_codec/src/ffmpeg-4.2.2-win64-dev/lib/avcodec.lib new file mode 100644 index 0000000..340dd3e Binary files /dev/null and b/lib/libmedia_codec/src/ffmpeg-4.2.2-win64-dev/lib/avcodec.lib differ diff --git a/lib/libmedia_codec/src/ffmpeg-4.2.2-win64-dev/lib/avutil.lib b/lib/libmedia_codec/src/ffmpeg-4.2.2-win64-dev/lib/avutil.lib new file mode 100644 index 0000000..7c82a71 Binary files /dev/null and b/lib/libmedia_codec/src/ffmpeg-4.2.2-win64-dev/lib/avutil.lib differ diff --git a/lib/libmedia_codec/src/ffmpeg-4.2.2-win64-dev/lib/swscale.lib b/lib/libmedia_codec/src/ffmpeg-4.2.2-win64-dev/lib/swscale.lib new file mode 100644 index 0000000..c80624d Binary files /dev/null and b/lib/libmedia_codec/src/ffmpeg-4.2.2-win64-dev/lib/swscale.lib differ diff --git a/lib/libmedia_codec/src/ffmpeg-dll/avcodec-58.dll b/lib/libmedia_codec/src/ffmpeg-dll/avcodec-58.dll new file mode 100644 index 0000000..11b1bb4 Binary files /dev/null and b/lib/libmedia_codec/src/ffmpeg-dll/avcodec-58.dll differ diff --git a/lib/libmedia_codec/src/ffmpeg-dll/avutil-56.dll b/lib/libmedia_codec/src/ffmpeg-dll/avutil-56.dll new file mode 100644 index 0000000..325e5f3 Binary files /dev/null and b/lib/libmedia_codec/src/ffmpeg-dll/avutil-56.dll differ diff --git a/lib/libmedia_codec/src/ffmpeg-dll/swresample-3.dll b/lib/libmedia_codec/src/ffmpeg-dll/swresample-3.dll new file mode 100644 index 0000000..0bc5cbc Binary files /dev/null and b/lib/libmedia_codec/src/ffmpeg-dll/swresample-3.dll differ diff --git a/lib/libmedia_codec/src/ffmpeg-dll/swscale-5.dll b/lib/libmedia_codec/src/ffmpeg-dll/swscale-5.dll new file mode 100644 index 0000000..d676f23 Binary files /dev/null and b/lib/libmedia_codec/src/ffmpeg-dll/swscale-5.dll differ diff --git a/lib/libmedia_codec/src/opus-dll/opus.dll b/lib/libmedia_codec/src/opus-dll/opus.dll new file mode 100644 index 0000000..b53a88f Binary files /dev/null and b/lib/libmedia_codec/src/opus-dll/opus.dll differ diff --git a/lib/libmedia_codec/src/opus-share/lib/opus.lib b/lib/libmedia_codec/src/opus-share/lib/opus.lib new file mode 100644 index 0000000..09816ed Binary files /dev/null and b/lib/libmedia_codec/src/opus-share/lib/opus.lib differ diff --git a/requirements.txt b/requirements.txt index 4f21fa9..52b87fb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,7 +2,7 @@ ####### example-requirements.txt ####### # ###### Requirements without Version Specifiers ###### -robomaster +# robomaster # ###### Requirements with Version Specifiers ###### # See https://www.python.org/dev/peps/pep-0440/#version-specifiers diff --git a/src/multi_robomaster/multi_robot.py b/src/multi_robomaster/multi_robot.py index b38f170..3debf49 100644 --- a/src/multi_robomaster/multi_robot.py +++ b/src/multi_robomaster/multi_robot.py @@ -18,6 +18,7 @@ import time import random import threading +import socket from robomaster import protocol from robomaster import conn from robomaster import robot @@ -161,6 +162,7 @@ class MultiEP(MultiRobotBase): """ S1_EP""" def __init__(self): super().__init__() + self._port_list = [] def initialize(self, proto_type=config.DEFAULT_PROTO_TYPE): """scan all robots and init its @@ -193,7 +195,23 @@ def _scan_multi_robot(self, proto_type=config.DEFAULT_PROTO_TYPE): proto._ip = config.LOCAL_IP_STR else: proto._ip = '0.0.0.0' - proto._port = random.randint(config.ROBOT_SDK_PORT_MIN, config.ROBOT_SDK_PORT_MAX) + + while True: + port = random.randint(config.ROBOT_SDK_PORT_MIN, config.ROBOT_SDK_PORT_MAX) + if port not in self._port_list: + with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: + logger.info(port,proto._ip,s.connect_ex((proto._ip, port))) + if s.connect_ex((proto._ip, port)) != 0: + self._port_list.append(port) + proto._port = port + logger.info("Set up port: {0}".format(proto._port)) + break + else: + logger.info("port {0} are using".format(port)) + else: + logger.info("Repeated port: {0}".format(port)) + # proto._port = random.randint(config.ROBOT_SDK_PORT_MIN, config.ROBOT_SDK_PORT_MAX) + msg = protocol.Msg(robot.ROBOT_DEFAULT_HOST, protocol.host2byte(9, 0), proto) result, local_ip = sdk_conn.switch_remote_route(msg, proxy_addr) proto._ip = local_ip