public void PZ69KnobChanged(bool isFirstReport, IEnumerable <object> hashSet) { if (isFirstReport) { return; } try { Interlocked.Increment(ref _doUpdatePanelLCD); lock (LockLCDUpdateObject) { foreach (var radioPanelKnobObject in hashSet) { var radioPanelKnob = (RadioPanelKnobAJS37)radioPanelKnobObject; switch (radioPanelKnob.RadioPanelPZ69Knob) { case RadioPanelPZ69KnobsAJS37.UPPER_FR22: { if (radioPanelKnob.IsOn) { SetUpperRadioMode(CurrentAJS37RadioMode.FR22); } break; } case RadioPanelPZ69KnobsAJS37.UPPER_FR24: { if (radioPanelKnob.IsOn) { SetUpperRadioMode(CurrentAJS37RadioMode.FR24); } break; } case RadioPanelPZ69KnobsAJS37.UPPER_TILS: { if (radioPanelKnob.IsOn) { SetUpperRadioMode(CurrentAJS37RadioMode.TILS); } break; } case RadioPanelPZ69KnobsAJS37.LOWER_FR22: { if (radioPanelKnob.IsOn) { SetLowerRadioMode(CurrentAJS37RadioMode.FR22); } break; } case RadioPanelPZ69KnobsAJS37.LOWER_FR24: { if (radioPanelKnob.IsOn) { SetLowerRadioMode(CurrentAJS37RadioMode.FR24); } break; } case RadioPanelPZ69KnobsAJS37.LOWER_TILS: { if (radioPanelKnob.IsOn) { SetLowerRadioMode(CurrentAJS37RadioMode.TILS); } break; } case RadioPanelPZ69KnobsAJS37.UPPER_NO_USE0: case RadioPanelPZ69KnobsAJS37.UPPER_NO_USE1: case RadioPanelPZ69KnobsAJS37.UPPER_NO_USE2: case RadioPanelPZ69KnobsAJS37.UPPER_NO_USE3: case RadioPanelPZ69KnobsAJS37.LOWER_NO_USE0: case RadioPanelPZ69KnobsAJS37.LOWER_NO_USE1: case RadioPanelPZ69KnobsAJS37.LOWER_NO_USE2: case RadioPanelPZ69KnobsAJS37.LOWER_NO_USE3: { break; } case RadioPanelPZ69KnobsAJS37.UPPER_LARGE_FREQ_WHEEL_INC: case RadioPanelPZ69KnobsAJS37.UPPER_LARGE_FREQ_WHEEL_DEC: case RadioPanelPZ69KnobsAJS37.UPPER_SMALL_FREQ_WHEEL_INC: case RadioPanelPZ69KnobsAJS37.UPPER_SMALL_FREQ_WHEEL_DEC: case RadioPanelPZ69KnobsAJS37.LOWER_LARGE_FREQ_WHEEL_INC: case RadioPanelPZ69KnobsAJS37.LOWER_LARGE_FREQ_WHEEL_DEC: case RadioPanelPZ69KnobsAJS37.LOWER_SMALL_FREQ_WHEEL_INC: case RadioPanelPZ69KnobsAJS37.LOWER_SMALL_FREQ_WHEEL_DEC: { // Ignore break; } case RadioPanelPZ69KnobsAJS37.UPPER_FREQ_SWITCH: { if (_currentUpperRadioMode == CurrentAJS37RadioMode.FR22) { if (radioPanelKnob.IsOn) { _fr22DialSideSelected = _fr22DialSideSelected == FR22DialSideSelected.Left ? FR22DialSideSelected.Right : FR22DialSideSelected.Left; } } else if (_currentUpperRadioMode == CurrentAJS37RadioMode.FR24 && radioPanelKnob.IsOn) { } else if (_currentUpperRadioMode == CurrentAJS37RadioMode.TILS && radioPanelKnob.IsOn) { DCSBIOS.Send(TILS_CHANNEL_LAYER_DIAL_COMMAND_TOGGLE); } else if (radioPanelKnob.IsOn) { SendFrequencyToDCSBIOS(RadioPanelPZ69KnobsAJS37.UPPER_FREQ_SWITCH); } break; } case RadioPanelPZ69KnobsAJS37.LOWER_FREQ_SWITCH: { if (_currentLowerRadioMode == CurrentAJS37RadioMode.FR22) { if (radioPanelKnob.IsOn) { _fr22DialSideSelected = _fr22DialSideSelected == FR22DialSideSelected.Left ? FR22DialSideSelected.Right : FR22DialSideSelected.Left; } } else if (_currentLowerRadioMode == CurrentAJS37RadioMode.FR24 && radioPanelKnob.IsOn) { } else if (_currentLowerRadioMode == CurrentAJS37RadioMode.TILS && radioPanelKnob.IsOn) { DCSBIOS.Send(TILS_CHANNEL_LAYER_DIAL_COMMAND_TOGGLE); } else if (radioPanelKnob.IsOn) { SendFrequencyToDCSBIOS(RadioPanelPZ69KnobsAJS37.LOWER_FREQ_SWITCH); } break; } } if (PluginManager.PlugSupportActivated && PluginManager.HasPlugin()) { PluginManager.DoEvent(DCSFPProfile.SelectedProfile.Description, HIDInstance, PluginGamingPanelEnum.PZ69RadioPanel_PreProg_AJS37, (int)radioPanelKnob.RadioPanelPZ69Knob, radioPanelKnob.IsOn, null); } } AdjustFrequency(hashSet); } } catch (Exception ex) { Common.ShowErrorMessageBox(ex); } }
public void PZ69KnobChanged(bool isFirstReport, IEnumerable <object> hashSet) { try { Interlocked.Add(ref _doUpdatePanelLCD, 1); lock (LockLCDUpdateObject) { foreach (var radioPanelKnobObject in hashSet) { var radioPanelKnob = (RadioPanelKnobAJS37)radioPanelKnobObject; switch (radioPanelKnob.RadioPanelPZ69Knob) { case RadioPanelPZ69KnobsAJS37.UPPER_FR22: { if (radioPanelKnob.IsOn) { SetUpperRadioMode(CurrentAJS37RadioMode.FR22); } break; } case RadioPanelPZ69KnobsAJS37.UPPER_FR24: { if (radioPanelKnob.IsOn) { SetUpperRadioMode(CurrentAJS37RadioMode.FR24); } break; } case RadioPanelPZ69KnobsAJS37.UPPER_TILS: { if (radioPanelKnob.IsOn) { SetUpperRadioMode(CurrentAJS37RadioMode.TILS); } break; } case RadioPanelPZ69KnobsAJS37.LOWER_FR22: { if (radioPanelKnob.IsOn) { SetLowerRadioMode(CurrentAJS37RadioMode.FR22); } break; } case RadioPanelPZ69KnobsAJS37.LOWER_FR24: { if (radioPanelKnob.IsOn) { SetLowerRadioMode(CurrentAJS37RadioMode.FR24); } break; } case RadioPanelPZ69KnobsAJS37.LOWER_TILS: { if (radioPanelKnob.IsOn) { SetLowerRadioMode(CurrentAJS37RadioMode.TILS); } break; } case RadioPanelPZ69KnobsAJS37.UPPER_NO_USE0: case RadioPanelPZ69KnobsAJS37.UPPER_NO_USE1: case RadioPanelPZ69KnobsAJS37.UPPER_NO_USE2: case RadioPanelPZ69KnobsAJS37.UPPER_NO_USE3: case RadioPanelPZ69KnobsAJS37.LOWER_NO_USE0: case RadioPanelPZ69KnobsAJS37.LOWER_NO_USE1: case RadioPanelPZ69KnobsAJS37.LOWER_NO_USE2: case RadioPanelPZ69KnobsAJS37.LOWER_NO_USE3: { break; } case RadioPanelPZ69KnobsAJS37.UPPER_LARGE_FREQ_WHEEL_INC: case RadioPanelPZ69KnobsAJS37.UPPER_LARGE_FREQ_WHEEL_DEC: case RadioPanelPZ69KnobsAJS37.UPPER_SMALL_FREQ_WHEEL_INC: case RadioPanelPZ69KnobsAJS37.UPPER_SMALL_FREQ_WHEEL_DEC: case RadioPanelPZ69KnobsAJS37.LOWER_LARGE_FREQ_WHEEL_INC: case RadioPanelPZ69KnobsAJS37.LOWER_LARGE_FREQ_WHEEL_DEC: case RadioPanelPZ69KnobsAJS37.LOWER_SMALL_FREQ_WHEEL_INC: case RadioPanelPZ69KnobsAJS37.LOWER_SMALL_FREQ_WHEEL_DEC: { //Ignore break; } case RadioPanelPZ69KnobsAJS37.UPPER_FREQ_SWITCH: { if (_currentUpperRadioMode == CurrentAJS37RadioMode.FR22) { if (radioPanelKnob.IsOn) { _fr22DialSideSelected = _fr22DialSideSelected == FR22DialSideSelected.Left ? FR22DialSideSelected.Right : FR22DialSideSelected.Left; } } else if (_currentUpperRadioMode == CurrentAJS37RadioMode.FR24 && radioPanelKnob.IsOn) { } else if (_currentUpperRadioMode == CurrentAJS37RadioMode.TILS && radioPanelKnob.IsOn) { DCSBIOS.Send(TILS_CHANNEL_LAYER_DIAL_COMMAND_TOGGLE); } else if (radioPanelKnob.IsOn) { SendFrequencyToDCSBIOS(RadioPanelPZ69KnobsAJS37.UPPER_FREQ_SWITCH); } break; } case RadioPanelPZ69KnobsAJS37.LOWER_FREQ_SWITCH: { if (_currentLowerRadioMode == CurrentAJS37RadioMode.FR22) { if (radioPanelKnob.IsOn) { _fr22DialSideSelected = _fr22DialSideSelected == FR22DialSideSelected.Left ? FR22DialSideSelected.Right : FR22DialSideSelected.Left; } } else if (_currentLowerRadioMode == CurrentAJS37RadioMode.FR24 && radioPanelKnob.IsOn) { } else if (_currentLowerRadioMode == CurrentAJS37RadioMode.TILS && radioPanelKnob.IsOn) { DCSBIOS.Send(TILS_CHANNEL_LAYER_DIAL_COMMAND_TOGGLE); } else if (radioPanelKnob.IsOn) { SendFrequencyToDCSBIOS(RadioPanelPZ69KnobsAJS37.LOWER_FREQ_SWITCH); } break; } } } AdjustFrequency(hashSet); } } catch (Exception ex) { Common.ShowErrorMessageBox(ex); } }
public void PZ69KnobChanged(IEnumerable <object> hashSet) { try { Common.DebugP("Entering AJS-37 Radio PZ69KnobChanged()"); Interlocked.Add(ref _doUpdatePanelLCD, 1); lock (LockLCDUpdateObject) { foreach (var radioPanelKnobObject in hashSet) { var radioPanelKnob = (RadioPanelKnobAJS37)radioPanelKnobObject; switch (radioPanelKnob.RadioPanelPZ69Knob) { case RadioPanelPZ69KnobsAJS37.UPPER_FR22: { if (radioPanelKnob.IsOn) { SetUpperRadioMode(CurrentAJS37RadioMode.FR22); } break; } case RadioPanelPZ69KnobsAJS37.UPPER_FR24: { if (radioPanelKnob.IsOn) { SetUpperRadioMode(CurrentAJS37RadioMode.FR24); } break; } case RadioPanelPZ69KnobsAJS37.UPPER_TILS: { if (radioPanelKnob.IsOn) { SetUpperRadioMode(CurrentAJS37RadioMode.TILS); } break; } case RadioPanelPZ69KnobsAJS37.LOWER_FR22: { if (radioPanelKnob.IsOn) { SetLowerRadioMode(CurrentAJS37RadioMode.FR22); } break; } case RadioPanelPZ69KnobsAJS37.LOWER_FR24: { if (radioPanelKnob.IsOn) { SetLowerRadioMode(CurrentAJS37RadioMode.FR24); } break; } case RadioPanelPZ69KnobsAJS37.LOWER_TILS: { if (radioPanelKnob.IsOn) { SetLowerRadioMode(CurrentAJS37RadioMode.TILS); } break; } case RadioPanelPZ69KnobsAJS37.UPPER_NO_USE0: case RadioPanelPZ69KnobsAJS37.UPPER_NO_USE1: case RadioPanelPZ69KnobsAJS37.UPPER_NO_USE2: case RadioPanelPZ69KnobsAJS37.UPPER_NO_USE3: case RadioPanelPZ69KnobsAJS37.LOWER_NO_USE0: case RadioPanelPZ69KnobsAJS37.LOWER_NO_USE1: case RadioPanelPZ69KnobsAJS37.LOWER_NO_USE2: case RadioPanelPZ69KnobsAJS37.LOWER_NO_USE3: { break; } case RadioPanelPZ69KnobsAJS37.UPPER_LARGE_FREQ_WHEEL_INC: case RadioPanelPZ69KnobsAJS37.UPPER_LARGE_FREQ_WHEEL_DEC: case RadioPanelPZ69KnobsAJS37.UPPER_SMALL_FREQ_WHEEL_INC: case RadioPanelPZ69KnobsAJS37.UPPER_SMALL_FREQ_WHEEL_DEC: case RadioPanelPZ69KnobsAJS37.LOWER_LARGE_FREQ_WHEEL_INC: case RadioPanelPZ69KnobsAJS37.LOWER_LARGE_FREQ_WHEEL_DEC: case RadioPanelPZ69KnobsAJS37.LOWER_SMALL_FREQ_WHEEL_INC: case RadioPanelPZ69KnobsAJS37.LOWER_SMALL_FREQ_WHEEL_DEC: { //Ignore break; } case RadioPanelPZ69KnobsAJS37.UPPER_FREQ_SWITCH: { if (_currentUpperRadioMode == CurrentAJS37RadioMode.FR22) { if (radioPanelKnob.IsOn) { _fr22DialSideSelected = _fr22DialSideSelected == FR22DialSideSelected.Left ? FR22DialSideSelected.Right : FR22DialSideSelected.Left; } } else if (_currentUpperRadioMode == CurrentAJS37RadioMode.FR24 && radioPanelKnob.IsOn) { } else if (_currentUpperRadioMode == CurrentAJS37RadioMode.TILS && radioPanelKnob.IsOn) { DCSBIOS.Send(TILSChannelLayerDialCommandToggle); } else if (radioPanelKnob.IsOn) { SendFrequencyToDCSBIOS(RadioPanelPZ69KnobsAJS37.UPPER_FREQ_SWITCH); } break; } case RadioPanelPZ69KnobsAJS37.LOWER_FREQ_SWITCH: { if (_currentLowerRadioMode == CurrentAJS37RadioMode.FR22) { if (radioPanelKnob.IsOn) { _fr22DialSideSelected = _fr22DialSideSelected == FR22DialSideSelected.Left ? FR22DialSideSelected.Right : FR22DialSideSelected.Left; } } else if (_currentLowerRadioMode == CurrentAJS37RadioMode.FR24 && radioPanelKnob.IsOn) { } else if (_currentLowerRadioMode == CurrentAJS37RadioMode.TILS && radioPanelKnob.IsOn) { DCSBIOS.Send(TILSChannelLayerDialCommandToggle); } else if (radioPanelKnob.IsOn) { SendFrequencyToDCSBIOS(RadioPanelPZ69KnobsAJS37.LOWER_FREQ_SWITCH); } break; } } } AdjustFrequency(hashSet); } } catch (Exception ex) { Common.LogError(78006, ex); } Common.DebugP("Leaving AJS-37 Radio PZ69KnobChanged()"); }