예제 #1
0
    private void Response()
    {
        while (IsRunningThread)
        {
            var receivedBuffer = ReceiveRequest();

            var requestMessage = CameraPlugin.ParsingInfoRequest(receivedBuffer, ref msForInfoResponse);

            if (requestMessage != null)
            {
                var cameraName = (requestMessage.Value == null) ? string.Empty : requestMessage.Value.StringValue;

                switch (requestMessage.Name)
                {
                case "request_ros2":
                    if (parameters.GetValues <string>("ros2/frames_id/frame_id", out var frames_id))
                    {
                        SetROS2FramesIdInfoResponse(ref msForInfoResponse, frames_id);
                    }
                    break;

                case "request_camera_info":
                {
                    var camera            = multicam.GetCamera(cameraName);
                    var cameraInfoMessage = camera.GetCameraInfo();
                    CameraPlugin.SetCameraInfoResponse(ref msForInfoResponse, cameraInfoMessage);
                }
                break;

                case "request_transform":
                {
                    var camera     = multicam.GetCamera(cameraName);
                    var devicePose = camera.GetPose();
                    SetTransformInfoResponse(ref msForInfoResponse, devicePose);
                }
                break;

                default:
                    break;
                }

                SendResponse(msForInfoResponse);
            }

            ThreadWait();
        }
    }
예제 #2
0
    private void Response()
    {
        while (true)
        {
            var receivedBuffer = ReceiveRequest();

            var requestMessage = CameraPlugin.ParsingCameraInfoRequest(ref memoryStreamForCameraInfo, receivedBuffer);

            if (requestMessage != null && requestMessage.Name.Equals("request_camera_info"))
            {
                var cameraName = requestMessage.Value.StringValue;

                if (cameraName != null)
                {
                    var cameraInfoMessage = cam.GetCameraInfo(cameraName);

                    CameraPlugin.SetCameraInfoResponse(ref memoryStreamForCameraInfo, cameraInfoMessage);
                }

                SendResponse(memoryStreamForCameraInfo);
            }
        }
    }