示例#1
0
        private void KnobRotated(FlexControl.RotateDirection direction, int num_steps)
        {
            if (!this.Visible)
            {
                return;                // form is still initializing
            }
            switch (current_knob_mode)
            {
            case FlexControlInterface1.KnobMode.A1: hlKnobA1.NewEvent(); break;

            case FlexControlInterface1.KnobMode.A2: hlKnobA2.NewEvent(); break;

            case FlexControlInterface1.KnobMode.B1: hlKnobB1.NewEvent(); break;

            case FlexControlInterface1.KnobMode.B2: hlKnobB2.NewEvent(); break;
            }
        }
示例#2
0
        public void FlexControl_KnobRotated(FlexControl.RotateDirection dir, int num_steps)
        {
            if (console == null)
            {
                return;
            }

            int step = GetTuneStep(num_steps);

            if (num_steps > 1 && tuning_acceleration)
            {
                num_steps = 1;
            }

            switch (current_knob_function)
            {
            case FlexControlKnobFunction.TuneVFOA:
                switch (dir)
                {
                case FlexControl.RotateDirection.Clockwise:
                    console.VFOAFreq = console.SnapTune(console.VFOAFreq, step, num_steps);
                    break;

                case FlexControl.RotateDirection.CounterClockwise:
                    console.VFOAFreq = console.SnapTune(console.VFOAFreq, step, -num_steps);
                    break;
                }
                break;

            case FlexControlKnobFunction.TuneVFOB:
                switch (dir)
                {
                case FlexControl.RotateDirection.Clockwise:
                    console.VFOBFreq = console.SnapTune(console.VFOBFreq, step, num_steps);
                    break;

                case FlexControl.RotateDirection.CounterClockwise:
                    console.VFOBFreq = console.SnapTune(console.VFOBFreq, step, -num_steps);
                    break;
                }
                break;

            case FlexControlKnobFunction.TuneVFOASub:
                if (console.CurrentModel != Model.FLEX5000 || !console.RX2Enabled)
                {
                    return;
                }
                switch (dir)
                {
                case FlexControl.RotateDirection.Clockwise:
                    console.VFOASubFreq = console.SnapTune(console.VFOASubFreq, step, num_steps);
                    break;

                case FlexControl.RotateDirection.CounterClockwise:
                    console.VFOASubFreq = console.SnapTune(console.VFOASubFreq, step, -num_steps);
                    break;
                }
                break;

            case FlexControlKnobFunction.TuneRIT:
                if (!console.RITOn)
                {
                    console.RITOn = true;
                }
                switch (dir)
                {
                case FlexControl.RotateDirection.Clockwise:
                    console.RITValue += num_steps * 2;
                    break;

                case FlexControl.RotateDirection.CounterClockwise:
                    console.RITValue -= num_steps * 2;
                    break;
                }
                break;

            case FlexControlKnobFunction.TuneXIT:
                if (!console.XITOn)
                {
                    console.XITOn = true;
                }
                switch (dir)
                {
                case FlexControl.RotateDirection.Clockwise:
                    console.XITValue += num_steps * 2;
                    break;

                case FlexControl.RotateDirection.CounterClockwise:
                    console.XITValue -= num_steps * 2;
                    break;
                }
                break;

            case FlexControlKnobFunction.TuneAF:
                switch (dir)
                {
                case FlexControl.RotateDirection.Clockwise:
                    console.AF += num_steps;
                    break;

                case FlexControl.RotateDirection.CounterClockwise:
                    console.AF -= num_steps;
                    break;
                }
                break;

            case FlexControlKnobFunction.TuneAGCT:
                switch (dir)
                {
                case FlexControl.RotateDirection.Clockwise:
                    console.RF += num_steps;
                    break;

                case FlexControl.RotateDirection.CounterClockwise:
                    console.RF -= num_steps;
                    break;
                }
                break;

            case FlexControlKnobFunction.None:
                //do nothing
                break;
            }
        }
示例#3
0
        } // GetTuneStep(int steps)

        public void FlexControl_KnobRotated(FlexControl.RotateDirection dir, int num_steps)
        {
            if (console == null)
            {
                return;
            }

            int step = GetTuneStep(num_steps);

            if (num_steps > 1 && tuning_acceleration)
            {
                num_steps = 1;
            }

            switch (current_knob_function)
            {
            case FlexControlKnobFunction.TuneVFOA:
                switch (dir)
                {
                case FlexControl.RotateDirection.Clockwise:

                    if (Console.CTUN == true)
                    {
                        if ((Display.CurrentDisplayMode == DisplayMode.PANADAPTER) || (Display.CurrentDisplayMode == DisplayMode.PANAFALL) || (Display.CurrentDisplayMode == DisplayMode.PANASCOPE) || (Display.CurrentDisplayMode == DisplayMode.WATERFALL))
                        {
                            Console.UPDATEOFF = 2;         // ke9ns add let system know not to update screen for a little while pan
                        }

                        //  double temp1 = console.SnapTune((double)Console.CTUN1_HZ / 1e6, step, num_steps);
                        //  Console.CTUN1_HZ = (long)(temp1 * 1e6);
                        //  console.tempVFOAFreq = console.VFOAFreq + temp1; // vfoafreq in mhz

                        //   console.CalcDisplayFreq(); // ke9ns keep display from moving

                        double temp1 = console.SnapTune(0.0, step, num_steps);         // in mhz
                        Console.CTUN1_HZ     = Console.CTUN1_HZ + (long)(temp1 * 1e6); // ke9ns add allow bandpass window to scroll across display instead of display freq scroll under bandpass.
                        console.tempVFOAFreq = console.VFOAFreq + temp1;               // vfoafreq in mhz
                        console.CalcDisplayFreq();                                     // ke9ns keep display from moving
                    }
                    else
                    {
                        console.VFOAFreq = console.SnapTune(console.VFOAFreq, step, num_steps);
                    }

                    break;

                case FlexControl.RotateDirection.CounterClockwise:

                    if (Console.CTUN == true)
                    {
                        if ((Display.CurrentDisplayMode == DisplayMode.PANADAPTER) || (Display.CurrentDisplayMode == DisplayMode.PANAFALL) || (Display.CurrentDisplayMode == DisplayMode.PANASCOPE) || (Display.CurrentDisplayMode == DisplayMode.WATERFALL))
                        {
                            Console.UPDATEOFF = 2;         // ke9ns add let system know not to update screen for a little while pan
                        }

                        double temp1 = console.SnapTune(0.0, step, -num_steps);        // in mhz
                        Console.CTUN1_HZ     = Console.CTUN1_HZ + (long)(temp1 * 1e6); // ke9ns add allow bandpass window to scroll across display instead of display freq scroll under bandpass.
                        console.tempVFOAFreq = console.VFOAFreq + temp1;               // vfoafreq in mhz
                        console.CalcDisplayFreq();                                     // ke9ns keep display from moving
                    }
                    else
                    {
                        console.VFOAFreq = console.SnapTune(console.VFOAFreq, step, -num_steps);
                    }

                    break;
                }
                break;

            case FlexControlKnobFunction.TuneVFOB:
                switch (dir)
                {
                case FlexControl.RotateDirection.Clockwise:
                    console.VFOBFreq = console.SnapTune(console.VFOBFreq, step, num_steps);
                    break;

                case FlexControl.RotateDirection.CounterClockwise:
                    console.VFOBFreq = console.SnapTune(console.VFOBFreq, step, -num_steps);
                    break;
                }
                break;

            case FlexControlKnobFunction.TuneVFOASub:
                if (console.CurrentModel != Model.FLEX5000 || !console.RX2Enabled)
                {
                    return;
                }
                switch (dir)
                {
                case FlexControl.RotateDirection.Clockwise:
                    console.VFOASubFreq = console.SnapTune(console.VFOASubFreq, step, num_steps);
                    break;

                case FlexControl.RotateDirection.CounterClockwise:
                    console.VFOASubFreq = console.SnapTune(console.VFOASubFreq, step, -num_steps);
                    break;
                }
                break;

            case FlexControlKnobFunction.TuneRIT:
                if (!console.RITOn)
                {
                    console.RITOn = true;
                }
                switch (dir)
                {
                case FlexControl.RotateDirection.Clockwise:
                    console.RITValue += num_steps * 2;
                    break;

                case FlexControl.RotateDirection.CounterClockwise:
                    console.RITValue -= num_steps * 2;
                    break;
                }
                break;

            case FlexControlKnobFunction.TuneXIT:
                if (!console.XITOn)
                {
                    console.XITOn = true;
                }
                switch (dir)
                {
                case FlexControl.RotateDirection.Clockwise:
                    console.XITValue += num_steps * 2;
                    break;

                case FlexControl.RotateDirection.CounterClockwise:
                    console.XITValue -= num_steps * 2;
                    break;
                }
                break;

            case FlexControlKnobFunction.TuneAF:
                switch (dir)
                {
                case FlexControl.RotateDirection.Clockwise:
                    console.AF += num_steps;
                    break;

                case FlexControl.RotateDirection.CounterClockwise:
                    console.AF -= num_steps;
                    break;
                }
                break;

            case FlexControlKnobFunction.TuneAGCT:
                switch (dir)
                {
                case FlexControl.RotateDirection.Clockwise:
                    console.RF += num_steps;
                    break;

                case FlexControl.RotateDirection.CounterClockwise:
                    console.RF -= num_steps;
                    break;
                }
                break;

            case FlexControlKnobFunction.None:
                //do nothing
                break;
            }
        }