public RadioPanelKnobMiG21Bis(int group, int mask, bool isOn, RadioPanelPZ69KnobsMiG21Bis radioPanelPZ69Knob) { Group = group; Mask = mask; IsOn = isOn; RadioPanelPZ69Knob = radioPanelPZ69Knob; }
private void SendFrequencyToDCSBIOS(RadioPanelPZ69KnobsMiG21Bis knob) { if (!DataHasBeenReceivedFromDCSBIOS) { //Don't start communication with DCS-BIOS before we have had a first contact from "them" return; } switch (knob) { case RadioPanelPZ69KnobsMiG21Bis.UpperFreqSwitch: { switch (_currentUpperRadioMode) { case CurrentMiG21BisRadioMode.Radio: { DCSBIOS.Send(RadioOnOffToggleCommand); break; } case CurrentMiG21BisRadioMode.RSBN: { DCSBIOS.Send(SelectRSBNCommand); break; } case CurrentMiG21BisRadioMode.ARC: { DCSBIOS.Send(SelectARCCommand); break; } } break; } case RadioPanelPZ69KnobsMiG21Bis.LowerFreqSwitch: { switch (_currentLowerRadioMode) { case CurrentMiG21BisRadioMode.Radio: { DCSBIOS.Send(RadioOnOffToggleCommand); break; } case CurrentMiG21BisRadioMode.RSBN: { DCSBIOS.Send(SelectRSBNCommand); break; } case CurrentMiG21BisRadioMode.ARC: { DCSBIOS.Send(SelectARCCommand); break; } } break; } } }
public void ImportString(string str) { if (string.IsNullOrEmpty(str)) { throw new ArgumentException("Import string empty. (RadioPanelKnob)"); } if (!str.StartsWith("RadioPanelKnob{") || !str.EndsWith("}")) { throw new ArgumentException("Import string format exception. (RadioPanelKnob) >" + str + "<"); } //RadioPanelKnob{SWITCHKEY_MASTER_ALT} var dataString = str.Remove(0, 15); //SWITCHKEY_MASTER_ALT} dataString = dataString.Remove(dataString.Length - 1, 1); //SWITCHKEY_MASTER_ALT RadioPanelPZ69Knob = (RadioPanelPZ69KnobsMiG21Bis)Enum.Parse(typeof(RadioPanelPZ69KnobsMiG21Bis), dataString.Trim()); }
private void SendFrequencyToDCSBIOS(RadioPanelPZ69KnobsMiG21Bis knob) { if (IgnoreSwitchButtonOnce() && (knob == RadioPanelPZ69KnobsMiG21Bis.UpperFreqSwitch || knob == RadioPanelPZ69KnobsMiG21Bis.LowerFreqSwitch)) { //Don't do anything on the very first button press as the panel sends ALL //switches when it is manipulated the first time //This would cause unintended sync. return; } if (!DataHasBeenReceivedFromDCSBIOS) { //Don't start communication with DCS-BIOS before we have had a first contact from "them" return; } switch (knob) { case RadioPanelPZ69KnobsMiG21Bis.UpperFreqSwitch: { switch (_currentUpperRadioMode) { case CurrentMiG21BisRadioMode.Radio: { DCSBIOS.Send(RADIO_ON_OFF_TOGGLE_COMMAND); break; } case CurrentMiG21BisRadioMode.RSBN: { DCSBIOS.Send(SELECT_RSBN_COMMAND); break; } case CurrentMiG21BisRadioMode.ARC: { DCSBIOS.Send(SELECT_ARC_COMMAND); break; } } break; } case RadioPanelPZ69KnobsMiG21Bis.LowerFreqSwitch: { switch (_currentLowerRadioMode) { case CurrentMiG21BisRadioMode.Radio: { DCSBIOS.Send(RADIO_ON_OFF_TOGGLE_COMMAND); break; } case CurrentMiG21BisRadioMode.RSBN: { DCSBIOS.Send(SELECT_RSBN_COMMAND); break; } case CurrentMiG21BisRadioMode.ARC: { DCSBIOS.Send(SELECT_ARC_COMMAND); break; } } break; } } }