protected override void LoadSettings(ITimeSyncSettingsGroup settings)
    {
        _port = new SerialPort
        {
            PortName = settings.GetValue("PortName", s =>
            {
                if (string.IsNullOrWhiteSpace(s))
                {
                    s = SerialPortSelector.Select(Name);
                }

                if (!SerialPort.GetPortNames().Contains(s))
                {
                    throw new Exception($"Serial port '{s}' not available on this system!");
                }

                return(s);
            }, null),
            BaudRate  = settings.GetValue("BaudRate", int.Parse, 9600),
            Parity    = settings.GetValue("Parity", Enum.Parse <Parity>, Parity.None),
            DataBits  = settings.GetValue("DataBits", int.Parse, 8),
            StopBits  = settings.GetValue("StopBits", Enum.Parse <StopBits>, StopBits.One),
            Handshake = settings.GetValue("Handshake", Enum.Parse <Handshake>, Handshake.None)
        };
    }
Beispiel #2
0
        private void bOpenSerial_Click(object sender, EventArgs e)
        {
            SerialPortSelector sps = new SerialPortSelector();

            sps.ShowDialog();
            {
                if (sps.SelectedPort != null)
                {
                    _serialPort = new SerialPort(sps.SelectedPort, 115200, Parity.None, 8, StopBits.One);
                    _serialPort.Open();
                    bSend0.Enabled = true;
                    bSend1.Enabled = true;
                }
            }
        }