Example #1
0
        protected override void SaveSettings()
        {
            AccelerometerAxis axis = AccelerometerAxis.X;

            if (this.rbYAxis.Checked)
            {
                axis = AccelerometerAxis.Y;
            }
            else if (this.rbZAxis.Checked)
            {
                axis = AccelerometerAxis.Z;
            }
            ComparativeOp operation = (ComparativeOp)Enum.ToObject(typeof(ComparativeOp), this.cbOperator.SelectedIndex);
            Variable      variable  = null;
            decimal       value     = 0;

            if (this.cbCompareVariable.SelectedIndex != 0)
            {
                variable = GraphManager.GetVariable(this.cbCompareVariable.SelectedItem.ToString());
            }
            else
            {
                value = this.nudCompareValue.Value;
            }
            this.action.UpdateSettings(axis, operation, variable, value);
        }
 public void UpdateSettings(AccelerometerAxis axis, ComparativeOp operation, Variable compareVariable, decimal compareValue)
 {
     this.axis            = axis;
     this.operation       = operation;
     this.compareVariable = compareVariable;
     this.compareValue    = compareValue;
 }
        public AssignAccelerometerAction(string key, XmlElement properties, System.Collections.Generic.SortedList <string, Variable> variables)
        {
            this.key = key;
            if (properties.Name != "properties")
            {
                throw new ActionException("Can't create the action");
            }
            foreach (XmlElement property in properties.ChildNodes)
            {
                switch (property.Name)
                {
                case "version":
                    break;

                case "assignVariable":
                    if (property.InnerText != "none")
                    {
                        this.assignVariable = variables[property.InnerText];
                    }
                    break;

                case "axis":
                    this.axis = (AccelerometerAxis)Enum.Parse(typeof(AccelerometerAxis), property.InnerText);
                    break;

                default:
                    throw new ProjectException("Error el crear la acción");
                }
            }
        }
 public CompareAccelerometerAction(string key, AccelerometerAxis axis, ComparativeOp operation, Variable compareVariable, decimal compareValue)
 {
     this.key             = key;
     this.axis            = axis;
     this.operation       = operation;
     this.compareVariable = compareVariable;
     this.compareValue    = compareValue;
 }
        protected override void SaveSettings()
        {
            Variable          variable = GraphManager.GetVariable(this.cbAssignVariable.SelectedItem.ToString());
            AccelerometerAxis axis     = AccelerometerAxis.X;

            if (this.rbYAxis.Checked)
            {
                axis = AccelerometerAxis.Y;
            }
            else if (this.rbZAxis.Checked)
            {
                axis = AccelerometerAxis.Z;
            }
            this.action.UpdateSettings(variable, axis);
        }
        public CompareAccelerometerAction(string key, XmlElement properties, System.Collections.Generic.SortedList <string, Variable> variables)
        {
            this.key = key;
            if (properties.Name != "properties")
            {
                throw new ActionException("Can't create the action");
            }
            foreach (XmlElement property in properties.ChildNodes)
            {
                switch (property.Name)
                {
                case "version":
                    break;

                case "axis":
                    this.axis = (AccelerometerAxis)Enum.Parse(typeof(AccelerometerAxis), property.InnerText);
                    break;

                case "operation":
                    this.operation = (ComparativeOp)Enum.Parse(typeof(ComparativeOp), property.InnerText);
                    break;

                case "compareVariable":
                    if (property.InnerText != "none")
                    {
                        this.compareVariable = variables[property.InnerText];
                    }
                    break;

                case "compareValue":
                    this.compareValue = System.Convert.ToDecimal(property.InnerText.Replace(',', '.'), new System.Globalization.CultureInfo("en-GB"));
                    break;

                default:
                    throw new ProjectException("Error el crear la acción");
                }
            }
        }
Example #7
0
        private void FFTDisplay(AccelerometerAxis axis)
        {
            // Clear points
            s4.Points.Clear();

            List <DataPoint> pointsList;
            List <DataPoint> pointsList2; //Additional for Imaginary , Added by JP

            switch (axis)
            {
            case AccelerometerAxis.X_Axis:
                pointsList  = s1.Points;
                pointsList2 = s1.Points;     //Additional for Imaginary , Added by JP
                break;

            case AccelerometerAxis.Y_Axis:
                pointsList  = s2.Points;
                pointsList2 = s2.Points;    //Additional for Imaginary , Added by JP
                break;

            case AccelerometerAxis.Z_Axis:
                pointsList  = s3.Points;
                pointsList2 = s3.Points;    //Additional for Imaginary , Added by JP
                break;

            default:
                // This should not happen
                pointsList  = null;
                pointsList2 = null;
                break;
            }

            //var pointsList = s1.Points;
            var pointsRealList = new List <double>();
            var pointsImagList = new List <double>(); //Additional for Imaginary , Added by JP

            foreach (var dataPoint in pointsList)
            {
                pointsRealList.Add(dataPoint.Y);
            }

            foreach (var dataPoint in pointsList2)   //Additional for Imaginary , Added by JP
            {
                pointsImagList.Add(dataPoint.Y * 0); // Multiply by 0, all imaginary values are 0.
            }

            int numSamples  = pointsRealList.Count;
            int numSamples2 = pointsImagList.Count; //Additional for Imaginary , Added by JP

            if (pointsRealList.Count.IsEven())
            {
                pointsRealList.Add(0);
                pointsRealList.Add(0);
            }
            else
            {
                pointsRealList.Add(0);
            }

            if (pointsImagList.Count.IsEven()) //Additional for Imaginary , Added by JP
            {
                pointsImagList.Add(0);
                pointsImagList.Add(0);
            }
            else
            {
                pointsImagList.Add(0);
            }


            var pointsRealArray = pointsRealList.ToArray();
            var pointsImagArray = pointsImagList.ToArray(); //Additional for Imaginary , Added by JP

            var FFT_Count = pointsRealArray.Count();


            int ctr = 0;                                       //Additional for Imaginary , Added by JP

            Complex32[] For_FFTval = new Complex32[FFT_Count]; //Additional for Imaginary , Added by JP
            foreach (var data_points in pointsRealArray)       //Additional for Imaginary , Added by JP

            {
                For_FFTval[ctr] = new Complex32((float)pointsRealArray[ctr], (float)pointsImagArray[ctr]);
                ctr             = ctr + 1;
            }

            Fourier.Forward(For_FFTval); //Additional for Imaginary , Added by JP


            ctr = 0;
            double[] FFT_plot = new double[FFT_Count]; //Additional for Imaginary , Added by JP
            foreach (var data_points in For_FFTval)

            {
                FFT_plot[ctr] = Complex32.Abs(For_FFTval[ctr]); //Additional for Imaginary , Added by JP
                ctr           = ctr + 1;
            }

            var x = 0;

            foreach (var realPoint in FFT_plot)
            {
                var count = (double)s4.Points.Count;
                s4.Points.Add(new DataPoint(count, realPoint));
            }

            FFTPlotModel = fFTPlot;
            FFTPlotModel.InvalidatePlot(true);
        }
 public void UpdateSettings(Variable assignVariable, AccelerometerAxis axis)
 {
     this.assignVariable = assignVariable;
     this.axis           = axis;
 }
 public AssignAccelerometerAction(string key, Variable assignVariable, AccelerometerAxis axis)
 {
     this.key            = key;
     this.assignVariable = assignVariable;
     this.axis           = axis;
 }
		public void Reset()
		{
			Calibrated = false;
			CalibrationValue = 0;
			CalibrationAxis = AccelerometerAxis.Z;
		}