示例#1
0
        /// <summary>
        /// Method that generates/treats Tags(ID and position), and sends them to a MySQL Database.
        /// </summary>
        private void RunAlgorithm()
        {
            Position laserPosition = null;

            if (usingLasers)
            {
                laserPosition = LocalizationAlgorithm.GetPositionFromLasers(Devices);

                if (laserPosition == null)
                {
                    return;
                }
            }

            int servoAngle = int.MinValue;

            if (usingServo)
            {
                servoAngle = LocalizationAlgorithm.GetAngleFromServo(Devices);

                if (servoAngle == int.MinValue)
                {
                    return;
                }
            }

            List <TagRead> tagsReads = LocalizationAlgorithm.GetTagsReads(Devices, RemoveFromUIGridMetaTagsDel);

            List <Tag> tags = MathematicalModel.RunMathematicalModel(tagsReads);

            if (tags.Count == 0)
            {
                WriteLog("Mathematical Model applied: 0 tags obtained", 0);

                return;
            }

            tags = LocalizationAlgorithm.TagsPosteriorTreatment(tags, laserPosition, servoAngle, usingLasers, usingServo);

            UpdateUIGridTagsDel(tags);

            InsertTagsOnDB(tags);

            /// Sends a copy of tags obtained to Excel Mediator
            ExcelMediator.tagsObtained = tags;
        }
示例#2
0
        private void ButtonTestAngleConsole_Click(object sender, EventArgs e)
        {
            Position initP = new Position(Convert.ToDecimal(3), Convert.ToDecimal(3));
            Position finalP;

            //double delta = 0.5;

            Console.WriteLine("TEST Apply Angle");

            Console.WriteLine("test: {0}", Math.Cos(180));
            Console.WriteLine("test: {0}", Math.Cos(Math.PI));

            Console.WriteLine("IPos\tAngle\tFPos");
            //for(int angle = -180; angle <= 180; angle += 10)
            for (int angle = -180; angle <= 180; angle += 45)
            {
                finalP = LocalizationAlgorithm.ApplyAngleTransformation(angle, new Position(initP.X, initP.Y), out double D, out double alpha);

                Console.WriteLine("{0}\t{1}   \t{2}", initP, angle, finalP);
            }

            Console.WriteLine("TEST Apply Angle-----");
        }