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; } }
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; } }
} // 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; } }