Esempio n. 1
0
        private void GetAndSaveAngleCoords()
        {
            //Save the coordinates of the pan and the tilt axis after an image was taken - either Sensor data or expected positions
            //If UseAngleSensor=true acquire pan and tilt-angle from the angle sensors

            if (Params.UseAngleSensor == true)
            {
                //Read pan axis position
                muControllerInterface.panAvailable = false; //Clear position data available flag
                muControllerInterface.myPort.Write(new byte[] { 0xFD }, 0, 1);
                while (!(muControllerInterface.panAvailable == true))
                {
                    Thread.Sleep(100);
                    muControllerInterface.myPort.Write(new byte[] { 0xFD }, 0, 1);
                }
                ;  //Wait with reading until position data is available
                Params.panAngle = Params.PanAngleSensorOffset - muControllerInterface.InputValAbs_x;
                muControllerInterface.InputValAbs_x = 0;

                //Read Tilt axis position
                muControllerInterface.tiltAvailable = false;
                muControllerInterface.myPort.Write(new byte[] { 0xFC }, 0, 1); //Wait with reading until position data is available
                while (!(muControllerInterface.tiltAvailable == true))
                {
                }
                ;
                Params.tiltAngle = Params.TiltAngleSensorOffset - muControllerInterface.InputValAbs_y;
                muControllerInterface.InputValAbs_y = 0;


                UpdateServoPosWithParams(Params.panAngle, Params.tiltAngle, _sender);
                PapyWizardHelper.SaveCoords(-Params.panAngle, -Params.tiltAngle, Params.ImageNum, 1); //Save the coordinates where the image was taken!

                //Output Positions: MeasurePos-TargetPos
                var dx = Params.panAngle - Params.Target_x;
                var dy = Params.tiltAngle - Params.Target_y;

                ShowNewCommentInGUI("TargetPos X " + Params.Target_x.ToString() + " Pos X " + Params.panAngle.ToString() + " Delta_x " + dx.ToString() + "\n", _sender);
                ShowNewCommentInGUI("TargetPos Y" + Params.Target_y.ToString() + " Pos y " + Params.tiltAngle.ToString() + " Delta_y " + dy.ToString() + "\n", _sender);
            }
            else //save the servo-coordinates
            {
                PapyWizardHelper.SaveCoords(Params.CurServoPosX, Params.CurServoPosY, Params.ImageNum, 0); //Save the coordinates where the image was taken!
            }
        }