コード例 #1
0
ファイル: AgilentBase.cs プロジェクト: medo64/DmmLog
        protected AgilentBase(String settings)
            : base()
        {
            var serialPortSettings = DmmSerialPortSettings.Parse(settings);

            if (serialPortSettings.BaudRate != 9600)
            {
                throw new ArgumentOutOfRangeException("settings", "Device only supports baud rate of 9600.");
            }
            if (serialPortSettings.Parity != Parity.None)
            {
                throw new ArgumentOutOfRangeException("settings", "Device only supports no parity.");
            }
            if (serialPortSettings.DataBits != 8)
            {
                throw new ArgumentOutOfRangeException("settings", "Device only supports 8 data bits.");
            }
            if (serialPortSettings.StopBits != StopBits.One)
            {
                throw new ArgumentOutOfRangeException("settings", "Device only supports 1 stop bit.");
            }

            this.SerialPort              = new Medo.IO.UartPort(serialPortSettings.PortName, serialPortSettings.BaudRate, serialPortSettings.Parity, serialPortSettings.DataBits, serialPortSettings.StopBits);
            this.SerialPort.ReadTimeout  = 250;
            this.SerialPort.WriteTimeout = 250;
            this.SerialPort.NewLine      = "\n";
        }
コード例 #2
0
        public void DmmSerialPortSettings_ParseNoStopBits()
        {
            var x = DmmSerialPortSettings.Parse("COM5:1200,e,5,0");

            Assert.AreEqual("COM5", x.PortName);
            Assert.AreEqual(1200, x.BaudRate);
            Assert.AreEqual(Parity.Even, x.Parity);
            Assert.AreEqual(5, x.DataBits);
            Assert.AreEqual(StopBits.None, x.StopBits);
            Assert.AreEqual("COM5:1200,E,5,0", x.ToString());
        }
コード例 #3
0
        public void DmmSerialPortSettings_Parse()
        {
            var x = DmmSerialPortSettings.Parse("COM 3:4800,o,7,2");

            Assert.AreEqual("COM3", x.PortName);
            Assert.AreEqual(4800, x.BaudRate);
            Assert.AreEqual(Parity.Odd, x.Parity);
            Assert.AreEqual(7, x.DataBits);
            Assert.AreEqual(StopBits.Two, x.StopBits);
            Assert.AreEqual("COM3:4800,O,7,2", x.ToString());
        }
コード例 #4
0
        public NewDeviceSerialInterfaceForm(Device device) //edit device
            : this()
        {
            this.Text = "Settings for " + device.DisplayName;

            txtDisplayName.Text = device.DisplayName;

            var settings = DmmSerialPortSettings.Parse(device.Settings);

            foreach (TagItem <string, string> item in cmbPortName.Items)
            {
                if (item.Key.Equals(settings.PortName))
                {
                    cmbPortName.SelectedItem = item;
                    break;
                }
            }
            if (cmbPortName.SelectedIndex == -1)
            {
                cmbPortName.SelectedIndex = cmbPortName.Items.Add(new TagItem <string, string>(settings.PortName, "(" + settings.PortName + ")"));
            }

            foreach (TagItem <int, string> item in cmbBaudRate.Items)
            {
                if (item.Key.Equals(settings.BaudRate))
                {
                    cmbBaudRate.SelectedItem = item;
                    break;
                }
            }
            if (cmbBaudRate.SelectedIndex == -1)
            {
                cmbBaudRate.SelectedIndex = cmbBaudRate.Items.Add(new TagItem <int, string>(settings.BaudRate, "(" + settings.BaudRate.ToString(CultureInfo.CurrentCulture) + ")"));
            }

            foreach (TagItem <Parity, string> item in cmbParity.Items)
            {
                if (item.Key.Equals(settings.Parity))
                {
                    cmbParity.SelectedItem = item;
                    break;
                }
            }

            foreach (TagItem <int, string> item in cmbDataBits.Items)
            {
                if (item.Key.Equals(settings.DataBits))
                {
                    cmbDataBits.SelectedItem = item;
                    break;
                }
            }

            foreach (TagItem <StopBits, string> item in cmbStopBits.Items)
            {
                if (item.Key.Equals(settings.StopBits))
                {
                    cmbStopBits.SelectedItem = item;
                    break;
                }
            }
        }
コード例 #5
0
 public void DmmSerialPortSettings_ParseNonEmpty()
 {
     var x = DmmSerialPortSettings.Parse(" ");
 }
コード例 #6
0
        public void DmmSerialPortSettings_Create()
        {
            var x = new DmmSerialPortSettings("COM1", 9600, Parity.None, 8, StopBits.One);

            Assert.AreEqual("COM1:9600,N,8,1", x.ToString());
        }
コード例 #7
0
        public void DmmSerialPortSettings_ParseEmpty()
        {
            var x = DmmSerialPortSettings.Parse("");

            Assert.AreEqual("COM1:9600,N,8,1", x.ToString());
        }
コード例 #8
0
 public void DmmSerialPortSettings_CreateInvalidDataBits()
 {
     var x = new DmmSerialPortSettings("COM1", 9600, Parity.None, 4, StopBits.One);
 }
コード例 #9
0
 public void DmmSerialPortSettings_CreateInvalidPortPrefix2()
 {
     var x = new DmmSerialPortSettings("COMX1", 9600, Parity.None, 8, StopBits.One);
 }
コード例 #10
0
        public void DmmSerialPortSettings_CreateUnusual()
        {
            var x = new DmmSerialPortSettings("COM 11:", 19201, Parity.Even, 7, StopBits.OnePointFive);

            Assert.AreEqual("COM11:19201,E,7,1.5", x.ToString());
        }
コード例 #11
0
        public void DmmSerialPortSettings_CreateEmpty()
        {
            var x = new DmmSerialPortSettings();

            Assert.AreEqual("COM1:9600,N,8,1", x.ToString());
        }
コード例 #12
0
 public void DmmSerialPortSettings_ParseNegativePort()
 {
     var x = DmmSerialPortSettings.Parse("COM-1:");
 }
コード例 #13
0
 public void DmmSerialPortSettings_ParseZeroPort()
 {
     var x = DmmSerialPortSettings.Parse("COM0");
 }
コード例 #14
0
        public void DmmSerialPortSettings_ParsePartialWithoutColon()
        {
            var x = DmmSerialPortSettings.Parse("COM4");

            Assert.AreEqual("COM4:9600,N,8,1", x.ToString());
        }