private void BtnAbrirCerrar_Click_1(object sender, EventArgs e)//OK { if (PuertoSerie.IsOpen) { PuertoSerie.DiscardInBuffer(); PuertoSerie.Close(); BtnAbrirCerrar.Text = "Abrir Puerto"; Calibrar.Enabled = false; } else { try { PuertoSerie.PortName = CboPuertoSerie.SelectedItem.ToString(); PuertoSerie.Open(); Calibrar.Enabled = true; BtnAbrirCerrar.Text = "Cerrar Puerto"; } catch (UnauthorizedAccessException ex) { MessageBox.Show("El puerto " + CboPuertoSerie.SelectedItem + " está ocupado."); } catch (Exception ex) { MessageBox.Show("El puerto " + CboPuertoSerie.SelectedItem + " no se ha podido abrir satisfactoriamente."); } } }
private void button1_Click(object sender, EventArgs e) { PuertoSerie.Close(); Form3 form3 = new Form3(PuertoSerie.PortName); form3.ShowDialog(); PuertoSerie.Open(); }
public void EnviarDatoxPuerto(byte[] datos) { if (!PuertoSerie.IsOpen) { PuertoSerie.Open(); } PuertoSerie.Write(datos, 0, datos.Length); }
private void frmSesion_FormClosed(object sender, FormClosedEventArgs e) { PuertoSerie.Close(); CerrarSesion cs = new CerrarSesion(principal); principal.finSesion(); this.Dispose(); cs.Show(); }
private void regresarToolStripMenuItem_Click(object sender, EventArgs e) { PuertoSerie.Close(); CerrarSesion cs = new CerrarSesion(principal); principal.finSesion(); this.Dispose(); cs.Show(); }
// Envio de datos public void Enviar(string caracteres)//OK { if (PuertoSerie.IsOpen) { PuertoSerie.Write(caracteres); } else { MessageBox.Show("Abrir el puerto para mandar el dato \" " + caracteres + "\""); } }
// Guarda caracteres en readBuffer public void Recibir() { String estado = ""; estado = PuertoSerie.ReadExisting(); switch (estado[0]) { case 'M': // - Lo primero que envía el micro estadoMecha = ""; indexMecha++; EnviarMecha((Mecha)listaMechas[indexMecha]); // - Ya envia correctamente break; case 'A': /*if (primerAjuste) * { * primerAjuste = false; * Enviar("A"); * } * Enviar(esquinas[numEsquina++]); * if (numEsquina == 4) * numEsquina = 0;*/ if (numEsquina < 4) { if (primerAjuste) { primerAjuste = false; Enviar("A"); } Enviar(esquinas[numEsquina++].cadena); } else if (numEsquina++ == 4) { Enviar(extremoMin.xy); } else { Enviar(extremoMax.xy); numEsquina = 0; } break; case 'F': // - Lo tercero que envía el micro Enviar("*"); // - Agregado, da orden de inicio de perforación break; case 'P': // - Orden de perforación Enviar("P"); // - El primer agujero de perforación se envía como "PX+xxxxxxY+xxxxxxx" Enviar(((Agujero)listaAgujeros[indexAgujero]).xy); indexAgujero++; break; case '*': if (indexAgujero + 1 == listaAgujeros.Count) { Enviar(((Agujero)listaAgujeros[indexAgujero]).xy); Enviar("F"); fin = true; break; } if (estadoMecha != "esperaMecha" && fin == false) { Enviar(((Agujero)listaAgujeros[indexAgujero]).xy); if (indexAgujero + 1 < listaAgujeros.Count) { if (((Agujero)listaAgujeros[indexAgujero]).mecha.diametro != ((Agujero)listaAgujeros[indexAgujero + 1]).mecha.diametro) { Enviar("P"); estadoMecha = "esperaMecha"; } } indexAgujero++; } break; case 'O': Enviar("*"); primerAjuste = true; break; } }
private void PuertoSerie_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { string Linea = "", sublinea = ""; Linea = PuertoSerie.ReadLine(); Boolean ban = true; if (!Linea.Equals("") && Linea.Length > 1) { for (int i = 1; i < Linea.Length - 1; i++) { if (!char.IsDigit(Linea.ElementAt(i))) { ban = false; } } } else { ban = false; } if (!ban) { ban = true; } //Corazon else if (Linea.StartsWith("A")) { for (int i = 1; i < Linea.Length; i++) { if (Char.IsDigit(Linea.ElementAt(i))) { sublinea += Linea.ElementAt(i); } else { break; } } signal = Convert.ToInt32(sublinea); graficarPulso(); } //temperatura else if (Linea.StartsWith("B")) { for (int i = 1; i < Linea.Length; i++) { if (Char.IsDigit(Linea.ElementAt(i))) { sublinea += Linea.ElementAt(i); } else { break; } } tbTemperatura.Clear(); tbTemperatura.AppendText(sublinea + " C"); tempC = Convert.ToInt32(sublinea); if (tempC > 40) { col = Color.Red; } else if (tempC < 28) { col = Color.DarkBlue; } else { col = Color.DarkGreen; } nt = true; graficarTermometro(); timerOpcional(); principal.temp.Add(tempC); } //PH else if (Linea.StartsWith("C")) { for (int i = 1; i < Linea.Length; i++) { if (Char.IsDigit(Linea.ElementAt(i))) { sublinea += Linea.ElementAt(i); } else { break; } } setLevel(Convert.ToInt32(sublinea)); principal.ph.Add(Convert.ToInt32(sublinea)); } //Movimiento else if (Linea.StartsWith("D")) { for (int i = 1; i < Linea.Length; i++) { if (Char.IsDigit(Linea.ElementAt(i))) { sublinea += Linea.ElementAt(i); } else { break; } } MOV = Convert.ToInt32(sublinea); principal.mov.Add(Convert.ToInt32(sublinea)); if (MOV < 100) { btnMov.BackColor = Color.Red; } else { btnMov.BackColor = Color.Green; } } //Flexibilidad else if (Linea.StartsWith("E")) { for (int i = 1; i < Linea.Length; i++) { if (Char.IsDigit(Linea.ElementAt(i))) { sublinea += Linea.ElementAt(i); } else { break; } } txtFlex.Clear(); txtFlex.AppendText(sublinea); principal.flexibilidad.Add(Convert.ToInt32(sublinea)); } //Humedad else if (Linea.StartsWith("F")) { for (int i = 1; i < Linea.Length; i++) { if (Char.IsDigit(Linea.ElementAt(i))) { sublinea += Linea.ElementAt(i); } else { break; } } txtHumedad.Clear(); txtHumedad.AppendText(sublinea); setProgressBarLEvel(Convert.ToInt32(sublinea)); principal.humedad.Add(Convert.ToInt32(sublinea)); } sublinea = ""; }