示例#1
0
        public void UpdateLinkUpBindings()
        {
            if (Node != null)
            {
                _CameraEventLabel    = Node.GetLabelByName <LinkUpEventLabel>("firefly/computer_vision/camera_event");
                _ImuEventLabel       = Node.GetLabelByName <LinkUpEventLabel>("firefly/computer_vision/imu_event");
                _CameraImuEventLabel = Node.GetLabelByName <LinkUpEventLabel>("firefly/computer_vision/camera_imu_event");

                _SlamMapEventLabel = Node.GetLabelByName <LinkUpEventLabel>("firefly/computer_vision/slam_map_event");

                _ExposureLabel = Node.GetLabelByName <LinkUpPropertyLabel <Int16> >("firefly/computer_vision/camera_exposure");

                _ReplayDataSend = Node.GetLabelByName <LinkUpFunctionLabel>("firefly/computer_vision/replay_data");

                _GetRemoteChessboardCornerLabel = Node.GetLabelByName <LinkUpFunctionLabel>("firefly/computer_vision/get_chessboard_corner");

                _UpdateSettingsLabel = Node.GetLabelByName <LinkUpFunctionLabel>("firefly/computer_vision/update_settings");

                _AccelerometerScaleLabel = Node.GetLabelByName <LinkUpPropertyLabel <Double> >("firefly/computer_vision/acc_scale");
                _GyroscopeScaleLabel     = Node.GetLabelByName <LinkUpPropertyLabel <Double> >("firefly/computer_vision/gyro_scale");
                _TemperatureScaleLabel   = Node.GetLabelByName <LinkUpPropertyLabel <Double> >("firefly/computer_vision/temp_scale");
                _TemperatureOffsetLabel  = Node.GetLabelByName <LinkUpPropertyLabel <Double> >("firefly/computer_vision/temp_offset");

                _RecordRemoteLabel = Node.GetLabelByName <LinkUpPropertyLabel <Boolean> >("firefly/computer_vision/record_remote");

                _ImuFilterALabel      = Node.GetLabelByName <LinkUpPropertyLabel_Binary>("firefly/computer_vision/imu_filter_a");
                _ImuFilterBLabel      = Node.GetLabelByName <LinkUpPropertyLabel_Binary>("firefly/computer_vision/imu_filter_b");
                _ImuDerivedEventLabel = Node.GetLabelByName <LinkUpEventLabel>("firefly/computer_vision/imu_derived_event");

                _SlamStatusEventLabel  = Node.GetLabelByName <LinkUpEventLabel>("firefly/computer_vision/slam_status_event");
                _SlamChangeStatusLabel = Node.GetLabelByName <LinkUpFunctionLabel>("firefly/computer_vision/slam_change_status");

                _SlamReproducibleExecutionLabel = Node.GetLabelByName <LinkUpPropertyLabel <Boolean> >("firefly/computer_vision/slam_reproducible_execution");

                _TCamImuLabel            = Node.GetLabelByName <LinkUpPropertyLabel_Binary>("firefly/computer_vision/calibration_T_cam_imu");
                _RAccGyroLabel           = Node.GetLabelByName <LinkUpPropertyLabel_Binary>("firefly/computer_vision/calibration_R_acc_gyro");
                _MInvGyroLabel           = Node.GetLabelByName <LinkUpPropertyLabel_Binary>("firefly/computer_vision/calibration_M_inv_gyro");
                _MInvAccLabel            = Node.GetLabelByName <LinkUpPropertyLabel_Binary>("firefly/computer_vision/calibration_M_inv_acc");
                _GyroscopeNoiseLabel     = Node.GetLabelByName <LinkUpPropertyLabel <Double> >("firefly/computer_vision/calibration_gyro_noise");
                _GyroscopeWalkLabel      = Node.GetLabelByName <LinkUpPropertyLabel <Double> >("firefly/computer_vision/calibration_gyro_walk");
                _AccelerometerNoiseLabel = Node.GetLabelByName <LinkUpPropertyLabel <Double> >("firefly/computer_vision/calibration_acc_noise");
                _AccelerometerWalkLabel  = Node.GetLabelByName <LinkUpPropertyLabel <Double> >("firefly/computer_vision/calibration_acc_walk");

                _EnableVisualInertialLabel = Node.GetLabelByName <LinkUpPropertyLabel <Boolean> >("firefly/computer_vision/slam_enable_visual_inertial");

                _ImuDerivedEventLabel.Fired += _ImuFilterEvent_Fired;

                _SlamStatusEventLabel.Fired += _SlamStatusEventLabel_Fired;

                _CameraEventLabel.Fired    += _CameraEventLabel_Fired;
                _ImuEventLabel.Fired       += _CameraEventLabel_Fired;
                _CameraImuEventLabel.Fired += _CameraEventLabel_Fired;

                _SlamMapEventLabel.Fired += _SlamMapEventLabel_Fired;

                Update();
            }
        }
示例#2
0
        private static void Main(string[] args)
        {
            using (LinkUpTcpClientConnector connector = new LinkUpTcpClientConnector(IPAddress.Parse("127.0.0.1"), 3000))
            //using (LinkUpTcpClientConnector connector = new LinkUpTcpClientConnector(IPAddress.Parse("127.0.0.1"), 3000))
            {
                connector.ReveivedPacket      += ClientToServer_ReveivedPacket;
                connector.SentPacket          += ClientToServer_SentPacket;
                connector.MetricUpdate        += Connector_MetricUpdate;
                connector.ConnectivityChanged += Connector_ConnectivityChanged;

                node      = new LinkUpNode();
                node.Name = "leaf";
                node.AddSubNode(connector);

                LinkUpEventLabel eventLabel = node.GetLabelByName <LinkUpEventLabel>("leaf/test/label_event");
                func         = node.GetLabelByName <LinkUpFunctionLabel>("leaf/test/label_function");
                func.Return += Func_Return;
                eventLabel.Subscribe();
                eventLabel.Fired += Program_Fired;

                Console.Read();
                connector.Dispose();
            }
        }
示例#3
0
 private static void Func_Return(LinkUpFunctionLabel label, byte[] data)
 {
 }