Esempio n. 1
0
    public MainWindow()
    {
      this.worker = new BackgroundWorker();
      this.worker.DoWork += new DoWorkEventHandler(worker_DoWork);

      string fileName = String.Format("{0}_{1}_{2}_{3}_{4}", DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour,DateTime.Now.Minute);

      this.kinectWriter = new KinectWriter(@"C:\Temp\" + fileName + ".kinect");
      this.positionWriter = new PositiontWriter(@"C:\Temp\" + fileName + ".location");

      this.positionSensor = new TcpGpsSensor("127.0.0.1", 4352);
      this.positionSensor.PositionReceived += new EventHandler<PositionEventArgs>(positionSensor_PositionReceived);

      InitializeComponent();

        //startup logic from C# wrapper example
      if (Kinect.DeviceCount > 0)
      {
        kinect = new Kinect(0);

        kinect.Open();

        kinect.VideoCamera.DataBuffer = IntPtr.Zero;
        kinect.DepthCamera.DataBuffer = IntPtr.Zero;

        kinect.VideoCamera.DataReceived += VideoCamera_DataReceived;
        kinect.DepthCamera.DataReceived += DepthCamera_DataReceived;

        kinect.VideoCamera.Start();
        kinect.DepthCamera.Start();

        worker.RunWorkerAsync();
        this.positionSensor.Connect();
        this.positionSensor.Start();

        ThreadPool.QueueUserWorkItem(
          delegate
          {
            while (!_closed)
            {
              kinect.UpdateStatus();
              Kinect.ProcessEvents();

              Thread.Sleep(30);
            }
          });
      }
    }
Esempio n. 2
0
        public MainWindow()
        {
            this.worker         = new BackgroundWorker();
            this.worker.DoWork += new DoWorkEventHandler(worker_DoWork);

            string fileName = String.Format("{0}_{1}_{2}_{3}_{4}", DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, DateTime.Now.Minute);

            this.kinectWriter   = new KinectWriter(@"C:\Temp\" + fileName + ".kinect");
            this.positionWriter = new PositiontWriter(@"C:\Temp\" + fileName + ".location");

            this.positionSensor = new TcpGpsSensor("127.0.0.1", 4352);
            this.positionSensor.PositionReceived += new EventHandler <PositionEventArgs>(positionSensor_PositionReceived);

            InitializeComponent();

            //startup logic from C# wrapper example
            if (Kinect.DeviceCount > 0)
            {
                kinect = new Kinect(0);

                kinect.Open();

                kinect.VideoCamera.DataBuffer = IntPtr.Zero;
                kinect.DepthCamera.DataBuffer = IntPtr.Zero;

                kinect.VideoCamera.DataReceived += VideoCamera_DataReceived;
                kinect.DepthCamera.DataReceived += DepthCamera_DataReceived;

                kinect.VideoCamera.Start();
                kinect.DepthCamera.Start();

                worker.RunWorkerAsync();
                this.positionSensor.Connect();
                this.positionSensor.Start();

                ThreadPool.QueueUserWorkItem(
                    delegate
                {
                    while (!_closed)
                    {
                        kinect.UpdateStatus();
                        Kinect.ProcessEvents();

                        Thread.Sleep(30);
                    }
                });
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Basic constructor
        /// </summary>
        /// <param name="ver">Vertical movement servo PWM port</param>
        /// <param name="hor">Horizontal movement servo PWM port</param>
        /// <param name="s">Inertial Measurement Unit to check current device position</param>
        public CameraGimbal(IPwmPort ver, IPwmPort hor, IPositionSensor s)
        {
            horizontalPort    = hor;
            verticalPort      = ver;
            horizontalCoinfig = new ServoConfig(minServoAngle, maxServoAngle, 370, 2700, 50);
            verticalConfig    = new ServoConfig(minServoAngle, maxServoAngle, 370, 2700, 50);
            horizontal        = new Servo(horizontalPort, horizontalCoinfig);
            vertical          = new Servo(verticalPort, verticalConfig);
            sensor            = s;
            source            = new CancellationTokenSource();
            angleDelta        = maxServoAngle - maxAngle;
            quarterCircle     = fullCircle / 4;
            locker            = new object();
            Test();
#if DEBUG
            stopwatch = new Stopwatch();
#endif
        }