Exemplo n.º 1
0
        /// <summary>
        /// Conecta com um dispositivo compatível
        /// </summary>
        /// <param name="maisTentativas"> Opcional, utiliza-se false quando deseja-se realizar mais tentativas antes de retornar erro </param>
        private void Conectar([Optional] bool maisTentativas)
        {
            Desconectar();
            serialPort1.PortName = cboPorts.Text;

            //Abre e cecha a porta, pois por algum motivo o arduino não responde na primeira conexão.
            serialPort1.Open();
            serialPort1.DiscardInBuffer(); //teste
            serialPort1.Close();
            Thread.Sleep(1500);
            //---------------------------------------------------------------------------------------

            serialPort1.Open();
            //Escreve "123;" na serial, caso o retorno seja "Sou eu!" mantém a conexão
            serialPort1.WriteLine("123;");
            string teste = serialPort1.ReadLine();

            if (teste.Contains("Sou eu!"))
            {
                connected = true;
                notifyIcon1.ShowBalloonTip(2, "Conectado!", "Conectado a " + cboPorts.SelectedItem, ToolTipIcon.Info);
                lblStatus.Text      = "Conectado a " + cboPorts.SelectedItem;
                lblStatus.ForeColor = Color.Green;
                this.WindowState    = FormWindowState.Minimized;

                //Salva a ultima porta conectada
                if (comandos.ultimaPortaConectada != cboPorts.Text)
                {
                    comandos.ultimaPortaConectada = cboPorts.Text;
                    comandos.SalvarComandos();
                }
            }
            else if (!maisTentativas)
            {
                MessageBox.Show("O dispositivo não foi" +
                                " identificado.", "Aviso!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                Desconectar();
            }
        }
Exemplo n.º 2
0
 private void bntSalvar_Click(object sender, EventArgs e)
 {
     //Salva os comandos em json
     comandos.SalvarComandos();
     this.Close();
 }