public StartForm() { InitializeComponent(); Funzioni.CheckForAnotherIstance(); Funzioni.CheckForInternetConnection(); if (!File.Exists(Funzioni.CONFIG_FILE_NAME)) { Messaggi.ShowError("Non è stato trovato il file di configurazione nella cartella dell'eseguibile." + Environment.NewLine + "E' stato creato un file con le impostazioni di default!"); FileStream fs = File.Create(Funzioni.CONFIG_FILE_NAME); string msgToWrite = @"PANNELLO=OFF MONTATURA=OFF COM_MONTATURA=COM3 COM_ARDUINO=COM4 ALL_NTO=Astro-Physics TEXT_COLOR_START_UP=R"; fs.Write(Encoding.ASCII.GetBytes(msgToWrite), 0, msgToWrite.Length); fs.Close(); } pannello = false; montatura = false; button_pannello.BackColor = Color.Red; button_montatura.BackColor = Color.Red; }
public static double P_M(double azimut, ref string azimutString) { try { azimutString = Math.Round(azimut, 2).ToString(); azimut = Math.PI * azimut / 180; //da gradi a radianti double posizioneMontatura = (180 * azimut / Math.PI) * NUMERO_PIEDINI / 360 + DOME_WIDTH_FOOT / 2 * Math.Cos(azimut / 2); if (currentAllignment == Allineamenti.AstroPhysics) { posizioneMontatura += OFFSET_ASTRO_PHYSICS; } if (currentAllignment == Allineamenti.RitcheyChrétien) { posizioneMontatura += OFFSET_RITCHEY_CHRETIEN; } return(posizioneMontatura); } catch (Exception ex) { Messaggi.ShowError("Errore in P_M: " + ex.Message); return(0); } }
private void Button_crossroads_Click(object sender, EventArgs e) { try { int cnt = 0; for (int i = 0; i < Application.OpenForms.Count; i++) { if (Application.OpenForms[i].Name.ToUpper() == "CROSSROADFORM") { Application.OpenForms[i].Close(); cnt++; } } CrossRoadForm crossRoadForm = null; if (cnt == 0) { crossRoadForm = new CrossRoadForm(); crossRoadForm.Show(); } } catch (Exception ex) { Messaggi.ShowException("Error Button_crossroads_Click", ex); } }
private void Timer_refresh_Tick(object sender, EventArgs e) { try { Funzioni.ControlRemoteOperations(); Funzioni.PcStatus(richTextBox_computerStatus); if (evento_muovi) { Muovi(); button_cupola.Text = StatoPortellone(); } else if (evento_insegui) { Insegui(); //label_stato_montatura.Text = StatoMontatura(); } else if (evento_parcheggia) { Parcheggia(); } } catch (Exception ex) { Messaggi.ShowException("Errore in timer_refresh_Tick", ex); timer_refresh.Stop(); } }
public FrontEnd() { try { InitializeComponent(); Text += " " + Assembly.GetEntryAssembly().GetName().Version; webBrowser.Navigate(new Uri(Funzioni.cameraIP)); foreach (string DISP in SerialPort.GetPortNames()) { ComboBox_porta_montatura.Items.Add(DISP); ComboBox_porta_arduino.Items.Add(DISP); } ComboBox_porta_montatura.SelectedItem = Funzioni.GetStatus("COM_MONTATURA"); ComboBox_porta_arduino.SelectedItem = Funzioni.GetStatus("COM_ARDUINO"); ComboBox_all_nto.SelectedItem = Funzioni.GetStatus("ALL_NTO"); FormClosing += new FormClosingEventHandler(Ti_sconnetto_alla_chiusura); Funzioni.ComparsaScomparsaColorazione(this); } catch (Exception ex) { Messaggi.ShowException("Errore al caricamento FrontEnd", ex); } }
private void Parcheggia() { try { timer_refresh.Stop(); if (Messaggi.YesNo("ATTENZIONE!! In fase di parcheggio non è possibile agire sulla cupola e sulla montatura. Continuare?") == DialogResult.Yes) { label_azimut.Text = "---"; label_altezza.Text = "---"; label_posizione_montatura.Text = "---"; label_posizione_cupola.Text = "---"; RiceviDatiMONT(":KA#:KA#"); ARDU.WriteLine("Q"); richTextBoxCommunication.Text += Environment.NewLine + "Send Q to Arduino. N.:17"; Funzioni.Wait(90000, progressBar); Messaggi.Show("Parcheggio avvenuto con successo"); } else { Messaggi.ShowWarning("La montatura non è parcheggiata"); } timer_refresh.Start(); evento_parcheggia = false; } catch (Exception ex) { Messaggi.ShowException("Errore al parcheggia", ex); } }
private string StatoPortellone() { try { switch (RiceviDatiARDU("B")) { case "M": return(String.Empty); case "C": return("Apri portellone"); case "A": return("Chiudi portellone"); case "O": return(String.Empty); default: return(String.Empty); } } catch (Exception ex) { timer_refresh.Stop(); Messaggi.ShowException("Errore in StatoPortellone", ex); return("---"); } }
public static void CheckForAnotherIstance() { if (System.Diagnostics.Process.GetProcessesByName(Path.GetFileNameWithoutExtension(Assembly.GetEntryAssembly().Location)).Count() > 1) { Messaggi.ShowWarning("Un altra istanza del programma è già in esecuzione"); Application.Exit(); } }
private string StatoMontatura() { try { switch (RiceviDatiMONT(":GSTAT#:GSTAT#")) { case "0": return("Montatura in inseguimento"); case "1": return("Montatura ferma a causa dell'esecuzione di STOP (tasto o stringa) \n o del completamento della sequenza di homing"); case "2": return("Movimento verso la posizione di park"); case "3": return("La montatura non è parcheggiata"); case "4": return("Movimento verso la posizione di home"); case "5": return("Montatura parcheggiata"); case "6": return("Montatura in movimento"); case "7": return("Inseguimento disattivato e montatura ferma"); case "8": return("Motori inibiti a causa della bassa temperatura"); case "9": return("Inseguimento attivo ma montatura fuori dai limiti di inseguimento"); case "10": return("Inseguimento di un'orbita satellitare precalcolata"); case "11": return("Richiesta di intervento per autorizzare il movimento \n a causa di una inconsistenza nei dati"); case "98": return("Stato non noto"); case "99": return("Errore"); default: return("---"); } } catch (Exception ex) { Messaggi.ShowException("Errore in stato montatura", ex); return("---"); } }
private void Button_home_Click(object sender, EventArgs e) { try { webBrowser.Navigate(new Uri(Funzioni.cameraIP)); } catch (Exception ex) { Messaggi.ShowException("Errore al Button_home_Click", ex); } }
private void Button_accendi_pannello_Click(object sender, EventArgs e) { try { SpegniPannello(); } catch (Exception ex) { Messaggi.ShowException("Errore al Button_accendi_pannello_Click", ex); } }
private void Button_stop_Click(object sender, EventArgs e) { try { RiceviDatiMONT(":STOP#:STOP#"); } catch (Exception ex) { Messaggi.ShowException("Errore al Button_stop_click", ex); } }
private void Button_parcheggia_Click(object sender, EventArgs e) { evento_muovi = false; evento_insegui = false; evento_parcheggia = true; ARDU.WriteLine("Q"); richTextBoxCommunication.Text += Environment.NewLine + "Send Q to Arduino. N.:5"; Funzioni.Wait(30000, progressBar); Messaggi.Show("Parcheggio cupola avvenuto con successo"); }
private void Muovi() { try { RiceviDatiMONT(":PO#:PO#"); } catch (Exception ex) { Messaggi.ShowException("Errore al Muovi", ex); } }
private void Button_accendi_Click(object sender, EventArgs e) { try { AccendiMontatura(); } catch (Exception ex) { Messaggi.ShowException("Errore al Button_accendi_Click", ex); } }
private void AccendiMontatura() { try { if (Funzioni.GetStatus("MONTATURA").Equals("OFF")) { ARDU.WriteLine("A"); if (Messaggi.YesNo("Ricerca satelliti in corso, non sarà possibile agire sul programma...") == DialogResult.Yes) { Funzioni.Wait(90000, progressBar); } else { return; } Funzioni.SetStatus("MONTATURA", "ON"); button_accendi_pannello.Visible = false; Messaggi.ShowWarning("ATTENZIONE!! Settare la porta seriale della montatura da tastierino.\n\t- Menù\n\t- Impostazioni\n\t- Porta GPS\n\t- Seriale\n\t- OK"); ARDU.WriteLine("VG"); richTextBoxCommunication.Text += Environment.NewLine + "Send VG to Arduino. N.:9"; button_accendi.Text = "Spegni montatura"; button_accendi.BackColor = Color.Green; button_muovi.Visible = true; button_cupola.Visible = true; button_piu.Visible = true; button_insegui.Visible = true; button_meno.Visible = true; button_parcheggia.Visible = true; } else if (Funzioni.GetStatus("MONTATURA").Equals("ON")) { if (Messaggi.YesNo("ATTENZIONE!! Settare la porta GPS della montatura da tastierino.\n\t- Menù\n\t- Impostazioni\n\t- Porta GPS\n\t- GPS\n\t- OK\n\nE' stato fatto?") == DialogResult.Yes) { ARDU.WriteLine("A"); richTextBoxCommunication.Text += Environment.NewLine + "Send A to Arduino. N.:10"; Messaggi.Show("Spegnimento montatura, non sarà possibile agire sul programma..."); Funzioni.Wait(20000, progressBar); ARDU.WriteLine("g"); richTextBoxCommunication.Text += Environment.NewLine + "Send g to Arduino. N.:11"; Funzioni.SetStatus("MONTATURA", "OFF"); button_accendi_pannello.Visible = true; button_accendi.Text = "Accendi montatura"; button_accendi.BackColor = Color.Red; } } } catch (Exception ex) { Messaggi.ShowException("Errore all'accensione della montatura", ex); } }
private void Button_meno_Click(object sender, EventArgs e) { try { ARDU.WriteLine("s"); richTextBoxCommunication.Text += Environment.NewLine + "Send s to Arduino. N.:8"; } catch (Exception ex) { Messaggi.ShowException("Errore al Button_meno_Click", ex); } }
private void ComboBox_all_nto_SelectedIndexChanged(object sender, EventArgs e) { try { if (checkBox_default_all_nto.Checked) { Funzioni.SetStatus("ALL_NTO", ComboBox_all_nto.SelectedItem.ToString()); } } catch (Exception ex) { Messaggi.ShowException("Errore al ComboBox_all_nto_SelectedIndexChanged", ex); } }
private void CheckBox_default_all_nto_CheckedChanged(object sender, EventArgs e) { try { if (!String.IsNullOrEmpty(ComboBox_all_nto.SelectedItem.ToString())) { Funzioni.SetStatus("ALL_NTO", ComboBox_all_nto.SelectedItem.ToString()); } } catch (Exception ex) { Messaggi.ShowException("CheckBox_default_all_nto_CheckedChanged", ex); } }
private void CheckBox_default_arduino_CheckedChanged(object sender, EventArgs e) { try { if (!String.IsNullOrEmpty(ComboBox_porta_arduino.SelectedItem.ToString())) { Funzioni.SetStatus("COM_ARDUINO", ComboBox_porta_arduino.SelectedItem.ToString()); } } catch (Exception ex) { Messaggi.ShowException("Errore al CheckBox_default_arduino_CheckedChanged", ex); } }
public static void CheckForInternetConnection() { try { Ping myPing = new Ping(); String host = "google.com"; byte[] buffer = new byte[32]; int timeout = 2000; PingOptions pingOptions = new PingOptions(); PingReply reply = myPing.Send(host, timeout, buffer, pingOptions); connection = reply.Status == IPStatus.Success; } catch { connection = false; Messaggi.ShowWarning("Connessione a internet assente"); } }
private void ComboBox_porta_montatura_SelectedIndexChanged(object sender, EventArgs e) { try { if (ComboBox_porta_montatura.SelectedItem.Equals(ComboBox_porta_arduino.SelectedItem)) { Messaggi.ShowWarning("Montatura e cupola settati sulla medesima porta"); } if (checkBox_default_montatura.Checked) { Funzioni.SetStatus("COM_MONTATURA", ComboBox_porta_montatura.SelectedItem.ToString()); } } catch (Exception ex) { Messaggi.ShowException("Errore in ComboBox_porta_montatura_SelectedIndexChanged", ex); } }
public static string GetStatus(string keyName) { try { string[] fileLines = File.ReadAllLines(CONFIG_FILE_NAME); foreach (string fileLine in fileLines) { if (fileLine.Split('=')[0] == keyName) { return(fileLine.Split('=')[1]); } } } catch (Exception ex) { Messaggi.ShowException("Eccezione al GetStatus:", ex); } return("Chiave non trovata"); }
private void Ti_sconnetto_alla_chiusura(object sender, EventArgs e) { try { if (Funzioni.GetStatus("MONTATURA").Equals("ON")) { if (Messaggi.YesNo("E' stata richiesta la chiusura del programma. Non è sicuro procedere se la montatura non è stata spenta correttamente. Spegnere?") == DialogResult.Yes) { AccendiMontatura(); Funzioni.SetStatus("MONTATURA", "OFF"); } } if (Funzioni.GetStatus("PANNELLO").Equals("ON")) { if (Messaggi.YesNo("E' stata richiesta la chiusura del programma. Non è sicuro procedere se la montatura non è stata spenta correttamente. Spegnere?") == DialogResult.Yes) { SpegniPannello(); Funzioni.SetStatus("PANNELLO", "OFF"); } } if (ARDU.IsOpen) { ARDU.WriteLine("g"); richTextBoxCommunication.Text += Environment.NewLine + "Send g to Arduino. N.:1"; ARDU.Close(); } if (MONT.IsOpen) { MONT.Close(); } Application.Exit(); } catch (Exception ex) { Messaggi.ShowException("Errore Ti_sconnetto_alla_chiusura", ex); } }
private void SpegniPannello() { string messaggioPannello = String.Empty; try { if (Funzioni.GetStatus("PANNELLO").Equals("ON")) { messaggioPannello = "lo spegnimento"; } else if (Funzioni.GetStatus("PANNELLO").Equals("OFF")) { messaggioPannello = "l'accensione"; } if (Messaggi.YesNo("ATTENZIONE!! Hai richiesto " + messaggioPannello + " del pannello, procedere?") == DialogResult.Yes) { ARDU.WriteLine("x"); richTextBoxCommunication.Text += Environment.NewLine + "Send x to Arduino. N.:19"; Funzioni.Wait(5000, progressBar); if (Funzioni.GetStatus("PANNELLO").Equals("ON")) { Funzioni.SetStatus("PANNELLO", "OFF"); button_accendi_pannello.Text = "Accendi pannello"; button_accendi_pannello.BackColor = Color.Red; } else if (Funzioni.GetStatus("PANNELLO").Equals("OFF")) { Funzioni.SetStatus("PANNELLO", "ON"); button_accendi_pannello.Text = "Spegni pannello"; button_accendi_pannello.BackColor = Color.Green; } button_accendi.Visible = true; } } catch (Exception ex) { Messaggi.ShowException("Errore in accensione pannello", ex); } }
public static void SetStatus(string keyName, string value) { try { string[] fileLines = File.ReadAllLines(CONFIG_FILE_NAME); int i = 0; for (i = 0; i < fileLines.Count(); i++) { if (fileLines[i].Split('=')[0] == keyName) { break; } } fileLines[i] = keyName + "=" + value; File.WriteAllLines(CONFIG_FILE_NAME, fileLines); } catch (Exception ex) { Messaggi.ShowException("Errore al SetStatus", ex); } }
private void Button_cupola_Click(object sender, EventArgs e) { try { if (button_cupola.Text.Equals("Apri portellone")) { ARDU.WriteLine("C"); richTextBoxCommunication.Text += Environment.NewLine + "Send C to Arduino. N.:3"; button_cupola.Text = "Chiudi portellone"; } else if (button_cupola.Text.Equals("Chiudi portellone")) { ARDU.WriteLine("c"); richTextBoxCommunication.Text += Environment.NewLine + "Send c to Arduino. N.:4"; button_cupola.Text = "Apri portellone"; } } catch (Exception ex) { Messaggi.ShowException("Errore in button_cupola_Click", ex); } }
private string RiceviDatiARDU(string invio_dati) { string dati_ricevuti = String.Empty; ARDU.WriteLine(invio_dati); int nProve = 100, nTest = 0; try { while (String.IsNullOrWhiteSpace(dati_ricevuti) && String.IsNullOrEmpty(dati_ricevuti) && nTest < nProve) { dati_ricevuti = ARDU.ReadExisting(); nTest++; } return(dati_ricevuti); } catch (Exception ex) { Messaggi.ShowException("Errore in ricevi_dati_ARDU", ex); return("---"); } }
private void ControlloPioggia() { try { string piove = RiceviDatiARDU("E"); if (piove.Equals("P")) { MessageBox.Show("ATTENZIONE!! Piove", "Cupola Remota"); label_pioggia.Text = "Piove"; ARDU.WriteLine("Q"); richTextBoxCommunication.Text += Environment.NewLine + "Send Q to Arduino. N.:6"; MONT.WriteLine(":KA#:KA#"); timer_refresh.Stop(); } else if (piove.Equals("NP")) { label_pioggia.Text = "Non piove"; } } catch (Exception ex) { Messaggi.ShowException("Errore al ControlloPioggia", ex); } }
private string RiceviDatiMONT(string invio_dati) { string dati_ricevuti = String.Empty; MONT.WriteLine(invio_dati); label_invio_a_montatura.Text = invio_dati; try { dati_ricevuti = MONT.ReadExisting(); if (dati_ricevuti.Equals(null)) { return("---"); } else { return(dati_ricevuti); } } catch (Exception ex) { Messaggi.ShowException("Errore in ricevi_dati_MONT", ex); return("---"); } }