private void UpdateMarkerBeaconLight(FlightData flightData, F4SharedMem.FlightData fromFalcon) { bool outerMarkerFromFalcon = ((fromFalcon.hsiBits & (int)HsiBits.OuterMarker) == (int)HsiBits.OuterMarker); bool middleMarkerFromFalcon = ((fromFalcon.hsiBits & (int)HsiBits.MiddleMarker) == (int)HsiBits.MiddleMarker); if (Settings.Default.RunAsServer) { flightData.MarkerBeaconOuterMarkerFlag = outerMarkerFromFalcon; flightData.MarkerBeaconMiddleMarkerFlag = middleMarkerFromFalcon; } else { flightData.MarkerBeaconOuterMarkerFlag = outerMarkerFromFalcon & _morseCodeSignalLineValue; flightData.MarkerBeaconMiddleMarkerFlag = middleMarkerFromFalcon & _morseCodeSignalLineValue; if (outerMarkerFromFalcon) { _morseCodeGenerator.PlainText = "T"; //dot } else if (middleMarkerFromFalcon) { _morseCodeGenerator.PlainText = "A"; //dot-dash } if ((outerMarkerFromFalcon || middleMarkerFromFalcon) && !_morseCodeGenerator.Sending) { _morseCodeGenerator.StartSending(); } else if (!outerMarkerFromFalcon && !middleMarkerFromFalcon) { _morseCodeGenerator.StopSending(); } } }