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); } }); } }
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); } }); } }
/// <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 }