private void A_TextChanged(object sender, EventArgs e)
        {
            if (ignoreChanges)
            {
                return;
            }

            filter.SetParameters(Utils.TextBoxSafeParseFloat(A, filter.GetA()),
                                 Utils.TextBoxSafeParseFloat(H, filter.GetH()),
                                 Utils.TextBoxSafeParseFloat(Q, filter.GetQ()),
                                 Utils.TextBoxSafeParseFloat(R, filter.GetR()),
                                 Utils.TextBoxSafeParseFloat(P, filter.GetP()),
                                 Utils.TextBoxSafeParseFloat(X, filter.GetX()));
        }
Exemplo n.º 2
0
        public FilterBase AddFilter(FilterType filterType, CMCustomUDPData.DataKey key, bool updateUI = false)
        {
            List <FilterBase> filterList = filters[(int)key];

            if (filterList == null)
            {
                filterList = filters[(int)key] = new List <FilterBase>();
            }

            FilterBase newFilter = null;

            switch (filterType)
            {
            case FilterType.Smooth:
            {
                NestedSmoothFilter newSmoothFilter = new NestedSmoothFilter();
                newSmoothFilter.SetParameters(1, 3, 0.5f);

                filterList.Add(newSmoothFilter);
                newFilter = newSmoothFilter;

                break;
            }

            case FilterType.Kalman:
            {
                KalmanNoiseFilter newKalmanFilter = new KalmanNoiseFilter();
                newKalmanFilter.SetParameters(1, 1, 0.02f, 1, 0.02f, 0.0f);

                filterList.Add(newKalmanFilter);
                newFilter = newKalmanFilter;

                break;
            }

            case FilterType.KalmanVelocity:
            {
                KalmanVelocityNoiseFilter newKalmanFilter = new KalmanVelocityNoiseFilter();
                newKalmanFilter.SetParameters(1, 1, 0.02f, 1, 0.02f, 0.0f);

                filterList.Add(newKalmanFilter);
                newFilter = newKalmanFilter;

                break;
            }

            case FilterType.SavitzkyGolay:
            {
                break;
            }

            case FilterType.FIR:
            {
                break;
            }

            case FilterType.Median:
            {
                MedianFilterWrapper newFilterW = new MedianFilterWrapper();
                newFilterW.SetParameters(9);

                filterList.Add(newFilterW);
                newFilter = newFilterW;

                break;
            }
            }

            if (updateUI && FilterUI.Instance != null)
            {
                FilterUI.Instance.InitChartForKey(key);
            }



            return(newFilter);
        }