diff --git a/spot_wrapper/cam_wrapper.py b/spot_wrapper/cam_wrapper.py index a5d3453..61c1fa8 100644 --- a/spot_wrapper/cam_wrapper.py +++ b/spot_wrapper/cam_wrapper.py @@ -893,15 +893,15 @@ async def _process_func(self): class SpotCamWrapper: - def __init__(self, hostname, username, password, logger, robot, sdk, port: typing.Optional[int] = None): + def __init__(self, hostname, username, password, logger, robot, port: typing.Optional[int] = None): self._hostname = hostname self._username = username self._password = password self._logger = logger # Create robot object and authenticate. - self.sdk = sdk - spot_cam.register_all_service_clients(self.sdk) + # self.sdk = sdk + # spot_cam.register_all_service_clients(self.sdk) self.robot = robot if port is not None: @@ -920,15 +920,18 @@ def __init__(self, hostname, username, password, logger, robot, sdk, port: typin "admin interface" ) - self.lighting = LightingWrapper(self.robot, self._logger) - self.power = PowerWrapper(self.robot, self._logger) - self.compositor = CompositorWrapper(self.robot, self._logger) - self.image = ImageStreamWrapper(self._hostname, self.robot, self._logger) - self.health = HealthWrapper(self.robot, self._logger) - self.audio = AudioWrapper(self.robot, self._logger) - self.stream_quality = StreamQualityWrapper(self.robot, self._logger) - self.media_log = MediaLogWrapper(self.robot, self._logger) - self.ptz = PTZWrapper(self.robot, self._logger) + try: + self.lighting = LightingWrapper(self.robot, self._logger) + self.power = PowerWrapper(self.robot, self._logger) + self.compositor = CompositorWrapper(self.robot, self._logger) + self.image = ImageStreamWrapper(self._hostname, self.robot, self._logger) + self.health = HealthWrapper(self.robot, self._logger) + self.audio = AudioWrapper(self.robot, self._logger) + self.stream_quality = StreamQualityWrapper(self.robot, self._logger) + self.media_log = MediaLogWrapper(self.robot, self._logger) + self.ptz = PTZWrapper(self.robot, self._logger) + except Exception as e: + self._logger.warn(f"Error setting up spot cam wrapper components: {str(e)}") self._logger.info("Finished setting up spot cam wrapper components") diff --git a/spot_wrapper/wrapper.py b/spot_wrapper/wrapper.py index c50a679..c39507c 100644 --- a/spot_wrapper/wrapper.py +++ b/spot_wrapper/wrapper.py @@ -54,6 +54,7 @@ from bosdyn.client.spot_check import SpotCheckClient from bosdyn.client.time_sync import TimeSyncEndpoint from bosdyn.client.world_object import WorldObjectClient +from bosdyn.client import spot_cam from bosdyn.geometry import EulerZXY from google.protobuf.timestamp_pb2 import Timestamp @@ -597,8 +598,9 @@ def init_camera_wrapper(self, cam_logger) -> SpotCamWrapper: Initializes the spot camera wrapper """ self.authenticate(self._robot, self._username, self._password, cam_logger) + spot_cam.register_all_service_clients(self._sdk) spot_cam_wrapper = SpotCamWrapper(self._hostname, self._username, self._password, cam_logger, - self._robot, self._sdk) + self._robot) return spot_cam_wrapper def decorate_functions(self):