Beispiel #1
0
        /****************************************************************************/

        /*!
         *	@brief	[接続]/[切断]ボタンを押したときにシリアルポートのオープン/クローズを行う.
         *
         *	@param	[in]	sender	イベントの送信元のオブジェクト.
         *	@param	[in]	e		イベント情報.
         *
         *	@retval	なし.
         */
        private void connectButton_Click(object sender, EventArgs e)
        {
            if (serialPort1.IsOpen == true)
            {
                //! シリアルポートをクローズする.
                serialPort1.Close();

                //! ボタンの表示を[切断]から[接続]に変える.
                connectButton.Text = "接続";
            }
            else
            {
                //! オープンするシリアルポートをコンボボックスから取り出す.
                serialPort1.PortName = cmbPortName.SelectedItem.ToString();

                //! ボーレートをコンボボックスから取り出す.
                BuadRateItem baud = (BuadRateItem)cmbBaudRate.SelectedItem;
                serialPort1.BaudRate = baud.BAUDRATE;

                //! データビットをセットする. (データビット = 8ビット)
                serialPort1.DataBits = 8;

                //! パリティビットをセットする. (パリティビット = なし)
                serialPort1.Parity = Parity.None;

                //! ストップビットをセットする. (ストップビット = 1ビット)
                serialPort1.StopBits = StopBits.One;

                //! フロー制御をコンボボックスから取り出す.
                HandShakeItem ctrl = (HandShakeItem)cmbHandShake.SelectedItem;
                serialPort1.Handshake = ctrl.HANDSHAKE;

                //! 文字コードをセットする.
                serialPort1.Encoding = Encoding.Unicode;

                //! 読み込みタイムアウト時間をセットする.
                //serialPort1.ReadTimeout = 10000;

                try
                {
                    //! シリアルポートをオープンする.
                    serialPort1.Open();

                    //! ボタンの表示を[接続]から[切断]に変える.
                    connectButton.Text = "切断";
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            if (serialPort1.IsOpen == true)
            {
                //! シリアルポートをクローズする.
                serialPort1.Close();

                //! ボタンの表示を[切断]から[接続]に変える.
                button1.Text = "接続";
            }
            else
            {
                //! オープンするシリアルポートをコンボボックスから取り出す.
                serialPort1.PortName = comboBox1.SelectedItem.ToString();

                //! ボーレートをコンボボックスから取り出す.
                BuadRateItem baud = (BuadRateItem)comboBox2.SelectedItem;
                serialPort1.BaudRate = baud.BAUDRATE;

                //! データビットをセットする.
                serialPort1.DataBits = int.Parse(textBox4.Text);

                //! パリティビットをセットする. (パリティビット = なし)
                serialPort1.Parity = Parity.None;

                //! ストップビットをセットする. (ストップビット = 1ビット)
                serialPort1.StopBits = StopBits.One;

                //! フロー制御をコンボボックスから取り出す.
                HandShakeItem ctrl = (HandShakeItem)comboBox3.SelectedItem;
                serialPort1.Handshake = ctrl.HANDSHAKE;

                //! 文字コードをセットする.
                serialPort1.Encoding = Encoding.ASCII;

                try
                {
                    //! シリアルポートをオープンする.
                    serialPort1.Open();

                    //! ボタンの表示を[接続]から[切断]に変える.
                    button1.Text = "切断";
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
Beispiel #3
0
        private void button1_Click(object sender, EventArgs e)
        {
            serialPort1.PortName = cmbPortName.SelectedItem.ToString();
            BuadRateItem baud = (BuadRateItem)cmbBaudRate.SelectedItem;

            serialPort1.BaudRate = baud.BAUDRATE;
            try
            {
                serialPort1.Open();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Beispiel #4
0
        private void Form1_Load(object sender, EventArgs e)
        {
            string[] PortList = SerialPort.GetPortNames();

            cmbPortName.Items.Clear();

            foreach (string PortName in PortList)
            {
                cmbPortName.Items.Add(PortName);
            }
            if (cmbPortName.Items.Count > 0)
            {
                cmbPortName.SelectedIndex = 0;
            }

            cmbBaudRate.Items.Clear();

            BuadRateItem baud;

            baud          = new BuadRateItem();
            baud.NAME     = "4800bps";
            baud.BAUDRATE = 4800;
            cmbBaudRate.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.NAME     = "9600bps";
            baud.BAUDRATE = 9600;
            cmbBaudRate.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.NAME     = "19200bps";
            baud.BAUDRATE = 19200;
            cmbBaudRate.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.NAME     = "115200bps";
            baud.BAUDRATE = 115200;
            cmbBaudRate.Items.Add(baud);
            cmbBaudRate.SelectedIndex = 1;
        }
        public Form1()
        {
            InitializeComponent();
            textBox4.Text = "7";

            //! 利用可能なシリアルポート名の配列を取得する.
            string[] PortList = SerialPort.GetPortNames();

            comboBox1.Items.Clear();
            button1.Text = "接続";
            button2.Text = "送信";
            button3.Text = "コード書き込み";

            //! シリアルポート名をコンボボックスにセットする.
            foreach (string PortName in PortList)
            {
                comboBox1.Items.Add(PortName);
            }
            if (comboBox1.Items.Count > 0)
            {
                comboBox1.SelectedIndex = 0;
            }

            comboBox2.Items.Clear();

            // ボーレート選択コンボボックスに選択項目をセットする.
            BuadRateItem baud;

            baud          = new BuadRateItem();
            baud.NAME     = "4800bps";
            baud.BAUDRATE = 4800;
            comboBox2.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.NAME     = "9600bps";
            baud.BAUDRATE = 9600;
            comboBox2.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.NAME     = "19200bps";
            baud.BAUDRATE = 19200;
            comboBox2.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.NAME     = "115200bps";
            baud.BAUDRATE = 115200;
            comboBox2.Items.Add(baud);
            comboBox2.SelectedIndex = 1;

            comboBox3.Items.Clear();

            // フロー制御選択コンボボックスに選択項目をセットする.
            HandShakeItem ctrl;

            ctrl           = new HandShakeItem();
            ctrl.NAME      = "なし";
            ctrl.HANDSHAKE = Handshake.None;
            comboBox3.Items.Add(ctrl);

            ctrl           = new HandShakeItem();
            ctrl.NAME      = "XON/XOFF制御";
            ctrl.HANDSHAKE = Handshake.XOnXOff;
            comboBox3.Items.Add(ctrl);

            ctrl           = new HandShakeItem();
            ctrl.NAME      = "RTS/CTS制御";
            ctrl.HANDSHAKE = Handshake.RequestToSend;
            comboBox3.Items.Add(ctrl);

            ctrl           = new HandShakeItem();
            ctrl.NAME      = "XON/XOFF + RTS/CTS制御";
            ctrl.HANDSHAKE = Handshake.RequestToSendXOnXOff;
            comboBox3.Items.Add(ctrl);
            comboBox3.SelectedIndex = 0;

            // 送受信用のテキストボックスをクリアする.
            textBox1.Clear();
            textBox2.Clear();
            textBox3.Clear();
        }
Beispiel #6
0
        /****************************************************************************/

        /*!
         *	@brief	ダイアログの初期処理.
         *
         *	@param	[in]	sender	イベントの送信元のオブジェクト.
         *	@param	[in]	e		イベント情報.
         *
         *	@retval	なし.
         */
        private void Form1_Load(object sender, EventArgs e)
        {
            //! 利用可能なシリアルポート名の配列を取得する.
            string[] PortList = SerialPort.GetPortNames();

            cmbPortName.Items.Clear();

            //! シリアルポート名をコンボボックスにセットする.
            foreach (string PortName in PortList)
            {
                cmbPortName.Items.Add(PortName);
            }
            if (cmbPortName.Items.Count > 0)
            {
                cmbPortName.SelectedIndex = 0;
            }

            cmbBaudRate.Items.Clear();

            // ボーレート選択コンボボックスに選択項目をセットする.
            BuadRateItem baud;

            baud          = new BuadRateItem();
            baud.NAME     = "4800bps";
            baud.BAUDRATE = 4800;
            cmbBaudRate.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.NAME     = "9600bps";
            baud.BAUDRATE = 9600;
            cmbBaudRate.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.NAME     = "38400bps";
            baud.BAUDRATE = 38400;
            cmbBaudRate.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.NAME     = "115200bps";
            baud.BAUDRATE = 115200;
            cmbBaudRate.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.NAME     = "230400bps";
            baud.BAUDRATE = 115200;
            cmbBaudRate.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.NAME     = "460800bps";
            baud.BAUDRATE = 115200;
            cmbBaudRate.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.NAME     = "921600bps";
            baud.BAUDRATE = 115200;
            cmbBaudRate.Items.Add(baud);
            cmbBaudRate.SelectedIndex = cmbBaudRate.Items.Count - 1;

            cmbHandShake.Items.Clear();

            // フロー制御選択コンボボックスに選択項目をセットする.
            HandShakeItem ctrl;

            ctrl           = new HandShakeItem();
            ctrl.NAME      = "なし";
            ctrl.HANDSHAKE = Handshake.None;
            cmbHandShake.Items.Add(ctrl);

            ctrl           = new HandShakeItem();
            ctrl.NAME      = "XON/XOFF制御";
            ctrl.HANDSHAKE = Handshake.XOnXOff;
            cmbHandShake.Items.Add(ctrl);

            ctrl           = new HandShakeItem();
            ctrl.NAME      = "RTS/CTS制御";
            ctrl.HANDSHAKE = Handshake.RequestToSend;
            cmbHandShake.Items.Add(ctrl);

            ctrl           = new HandShakeItem();
            ctrl.NAME      = "XON/XOFF + RTS/CTS制御";
            ctrl.HANDSHAKE = Handshake.RequestToSendXOnXOff;
            cmbHandShake.Items.Add(ctrl);
            cmbHandShake.SelectedIndex = 0;

            // 送受信用のテキストボックスをクリアする.
            rcvTextBox.Clear();
        }
Beispiel #7
0
		private void OptionForm_Load(object sender, EventArgs e)
		{
			string[] PortList = SerialPort.GetPortNames();

			cmbPortName.Items.Clear();

			int tmpIndex = 0;
			int foundIndex = 0;
			bool foundFlg = false;

			foreach (var PortName in PortList)
			{
				cmbPortName.Items.Add(PortName);

				if (PortName == SubViewCtrl.myComponents.CommPort)
				{
					foundFlg = true;
					foundIndex = tmpIndex;
				}

				tmpIndex++;

			}

			if (foundFlg == true)
			{
				cmbPortName.SelectedIndex = foundIndex;

			}
			else
			{
				if (cmbPortName.Items.Count > 0)
				{
					cmbPortName.SelectedIndex = cmbPortName.Items.Count - 1;
				}

			}

			foundIndex = 0;
			foundFlg = false;

			cmbBaudRate.Items.Clear();

			BuadRateItem baud;
			baud = new BuadRateItem();
			baud.NAME = "4800bps";
			baud.BAUDRATE = 4800;

			if (baud.BAUDRATE == SubViewCtrl.myComponents.CommBaudRate)
			{
				foundFlg = true;
				foundIndex = 0;
			}

			cmbBaudRate.Items.Add(baud);

			baud = new BuadRateItem();
			baud.NAME = "9600bps";
			baud.BAUDRATE = 9600;

			if (baud.BAUDRATE == SubViewCtrl.myComponents.CommBaudRate)
			{
				foundFlg = true;
				foundIndex = 1;
			}

			cmbBaudRate.Items.Add(baud);

			baud = new BuadRateItem();
			baud.NAME = "19200bps";
			baud.BAUDRATE = 19200;

			if (baud.BAUDRATE == SubViewCtrl.myComponents.CommBaudRate)
			{
				foundFlg = true;
				foundIndex = 2;
			}

			cmbBaudRate.Items.Add(baud);

			baud = new BuadRateItem();
			baud.NAME = "38400bps";
			baud.BAUDRATE = 38400;

			if (baud.BAUDRATE == SubViewCtrl.myComponents.CommBaudRate)
			{
				foundFlg = true;
				foundIndex = 3;
			}

			cmbBaudRate.Items.Add(baud);

			baud = new BuadRateItem();
			baud.NAME = "115200bps";
			baud.BAUDRATE = 115200;

			if (baud.BAUDRATE == SubViewCtrl.myComponents.CommBaudRate)
			{
				foundFlg = true;
				foundIndex = 4;
			}

			cmbBaudRate.Items.Add(baud);

			if (foundFlg == true)
			{
				cmbBaudRate.SelectedIndex = foundIndex;

			}
			else
			{
				cmbBaudRate.SelectedIndex = 1;

			}


			localIPTextBox.Text = SubViewCtrl.myComponents.NetIP;
			portTextBox.Text = SubViewCtrl.myComponents.NetPort.ToString();


			passwordTextBox.Text = SubViewCtrl.myComponents.Password;

			var tmp = SubViewCtrl.myCommProtocol.myComponents.SelectByte;

			if (tmp == CommProtocol.Components.RmAddr.Byte4)
			{
				adr4byteRadioButton.Checked = true;
			}
			else
			{
				adr2byteRadioButton.Checked = true;

			}

		}
Beispiel #8
0
        private void OptionForm_Load(object sender, EventArgs e)
        {
            string[] PortList = SerialPort.GetPortNames();

            int  tmpIndex   = 0;
            int  foundIndex = 0;
            bool foundFlg   = false;

            cmbPortName.Items.Clear();

            foreach (var PortName in PortList)
            {
                cmbPortName.Items.Add(PortName);

                if (PortName == config.SerialPortName)
                {
                    foundFlg   = true;
                    foundIndex = tmpIndex;
                }

                tmpIndex++;
            }

            if (foundFlg == true)
            {
                cmbPortName.SelectedIndex = foundIndex;
            }
            else
            {
                if (cmbPortName.Items.Count > 0)
                {
                    cmbPortName.SelectedIndex = cmbPortName.Items.Count - 1;
                }
            }

            cmbBaudRate.Items.Clear();

            BuadRateItem baud;

            baud          = new BuadRateItem();
            baud.Name     = "4800bps";
            baud.Buadrate = 4800;
            cmbBaudRate.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.Name     = "9600bps";
            baud.Buadrate = 9600;
            cmbBaudRate.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.Name     = "19200bps";
            baud.Buadrate = 19200;
            cmbBaudRate.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.Name     = "38400bps";
            baud.Buadrate = 38400;
            cmbBaudRate.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.Name     = "57600bps";
            baud.Buadrate = 57600;
            cmbBaudRate.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.Name     = "115200bps";
            baud.Buadrate = 115200;
            cmbBaudRate.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.Name     = "230400bps";
            baud.Buadrate = 230400;
            cmbBaudRate.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.Name     = "256000bps";
            baud.Buadrate = 256000;
            cmbBaudRate.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.Name     = "460800bps";
            baud.Buadrate = 460800;
            cmbBaudRate.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.Name     = "512000bps";
            baud.Buadrate = 512000;
            cmbBaudRate.Items.Add(baud);

            baud          = new BuadRateItem();
            baud.Name     = "921600bps";
            baud.Buadrate = 921600;
            cmbBaudRate.Items.Add(baud);


            foundIndex = 0;
            foundFlg   = false;

            foreach (BuadRateItem item in cmbBaudRate.Items)
            {
                if (item.Buadrate == config.BaudRate)
                {
                    foundFlg = true;
                    break;
                }
                foundIndex++;
            }

            if (foundFlg == true)
            {
                cmbBaudRate.SelectedIndex = foundIndex;
            }
            else
            {
                cmbBaudRate.SelectedIndex = 1;
            }

            localIPTextBox.Text = config.ClientAddress.ToString();
            portTextBox.Text    = config.ClientPort.ToString();

            if (config.PassNumber <= UInt32.MaxValue)
            {
                var passwordText = config.PassNumber.ToString("X");
                passwordTextBox.Text = passwordText.PadLeft(8, '0');
            }
            else
            {
                passwordTextBox.Text = "0000FFFF";
            }

            if (config.RmRange == CommInstructions.RmAddr.Byte2)
            {
                addr2byteRadioButton.Checked = true;
            }
            else
            {
                addr4byteRadioButton.Checked = true;
            }

            if (config.CommMode == CommMainCtrl.CommunicationMode.Serial)
            {
                settingTabControl.SelectedTab = serialCommTabPage;
            }
            else
            {
                settingTabControl.SelectedTab = localNetTabPage;
            }
        }
Beispiel #9
0
        private void okButton_Click(object sender, EventArgs e)
        {
            Configuration tmpConfig = new rmApplication.Configuration();

            if (cmbPortName.SelectedItem != null)
            {
                tmpConfig.SerialPortName = cmbPortName.SelectedItem.ToString();
            }

            System.Net.IPAddress address;
            if (System.Net.IPAddress.TryParse(localIPTextBox.Text, out address))
            {
                tmpConfig.ClientAddress = address;
            }

            int port;

            if (int.TryParse(portTextBox.Text, out port))
            {
                tmpConfig.ClientPort = port;
            }

            bool isFailed = false;

            if (settingTabControl.SelectedTab == serialCommTabPage)
            {
                tmpConfig.CommMode = CommMainCtrl.CommunicationMode.Serial;

                if (string.IsNullOrEmpty(tmpConfig.SerialPortName))
                {
                    isFailed = true;
                }
            }
            else if (settingTabControl.SelectedTab == localNetTabPage)
            {
                tmpConfig.CommMode = CommMainCtrl.CommunicationMode.LocalNet;

                if (tmpConfig.ClientAddress.Equals(System.Net.IPAddress.Parse("0.0.0.0")))
                {
                    isFailed = true;
                }
            }
            else
            {
                isFailed = true;
            }

            if (cmbBaudRate.SelectedItem != null)
            {
                BuadRateItem baud = (BuadRateItem)cmbBaudRate.SelectedItem;
                tmpConfig.BaudRate = baud.Buadrate;
            }
            else
            {
                isFailed = true;
            }


            UInt32 passnumber;

            if (!UInt32.TryParse(passwordTextBox.Text, System.Globalization.NumberStyles.HexNumber, System.Globalization.CultureInfo.InvariantCulture, out passnumber))
            {
                isFailed = true;
            }
            else
            {
                tmpConfig.PassNumber = passnumber;
            }

            if (addr2byteRadioButton.Checked)
            {
                tmpConfig.RmRange = CommInstructions.RmAddr.Byte2;
            }
            else
            {
                tmpConfig.RmRange = CommInstructions.RmAddr.Byte4;
            }

            if (!isFailed)
            {
                config.CommMode = tmpConfig.CommMode;
                config.RmRange  = tmpConfig.RmRange;
                config.BaudRate = tmpConfig.BaudRate;

                config.SerialPortName = tmpConfig.SerialPortName;

                config.ClientAddress = tmpConfig.ClientAddress;
                config.ClientPort    = tmpConfig.ClientPort;

                config.PassNumber = tmpConfig.PassNumber;
                this.Close();
            }
            else
            {
                MessageBox.Show("Some options are invalid.",
                                "Caution",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Warning);
            }
        }