From 85125cd496e76203fdbe1aeef57ea85a13358cf7 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Wed, 25 Oct 2017 17:02:16 +0200 Subject: [PATCH] fix accodamento info ultimi 2 monitor data... --- IOB-WIN/IobGeneric.cs | 192 +++++++++++++++++++++--------------------- 1 file changed, 95 insertions(+), 97 deletions(-) diff --git a/IOB-WIN/IobGeneric.cs b/IOB-WIN/IobGeneric.cs index dd760f20..d1a412f7 100644 --- a/IOB-WIN/IobGeneric.cs +++ b/IOB-WIN/IobGeneric.cs @@ -694,6 +694,90 @@ namespace IOB_WIN { } + #region area simulazione + + /// + /// lettura memoria in SIMULAZIONE + /// + public void simReadMem() + { + if (lastSim == null) + { + lastSim = DateTime.Now; + } + // simulazione complessa (basata su samples dei parametri effettivi...) + if (utils.CRB("DemoInSample")) + { + if (numSim >= 0) + { + // verifico se la coda di simulazione sia piena altrimenti la RICARICO... + if (QueueSIM.Count == 0) + { + leggiSimFile(); + numSim--; + } + // processo la coda di simulazione (stacco ed accodo 1 valore...) + B_input = QueueSIM.Dequeue(); + countSim++; + // ogni 5 loggo... + if (countSim % 5 == 0) + { + lg.Info("Read {0} sim data", countSim); + } + } + else + { + // fermo tutto! + parentForm.sIN = Semaforo.SR; + parentForm.fermaAdapter(false); + } + } + // simulazione semplice (counter crescente) + else + { + // se passato 1 sec genero NUOV num casuale e lo metto nel bit strobe... ogni 2 sec... + if (DateTime.Now.Subtract(lastSim).TotalMilliseconds > 100) + { + countSim++; + if (countSim > 255) countSim = 0; + B_input = countSim; + } + } + lastSim = DateTime.Now; + } + /// + /// legge ed accoda file Sim in QueueSIM + /// + private void leggiSimFile() + { + int totRighe = 0; + string fileName = utils.simDataFile; + string linea; + totRighe = File.ReadLines(fileName).Count(); + lg.Info("File SIM: TROVATE {0} righe", totRighe); + // ora conto righe effettive... + totRighe = 0; + // carica da file... + StreamReader file = new StreamReader(fileName); + // leggo 1 linea alla volta... + int valore = 0; + while ((linea = file.ReadLine()) != null) + { + // SE non è un commento... + if (linea.Substring(0, 1) != ";") + { + //elencoAllarmi[rumRiga] = decodeAlarmLine(linea, ':'); + Int32.TryParse(linea, out valore); + QueueSIM.Enqueue(valore); + totRighe++; + } + } + // chiudo file + file.Close(); + lg.Info("File SIM: LETTE {0} righe", totRighe); + } + + #endregion #region IOB METHODS @@ -1043,10 +1127,9 @@ namespace IOB_WIN // verifico SE sia cambiato il programma... if (lastPrgName != currPrgName) { - // lo mostro accodanto in cima... - accodaOtherData(currPrgName); // salvo! lastPrgName = currPrgName; + displayOtherData(); } } /// @@ -1102,94 +1185,9 @@ namespace IOB_WIN #endregion - #region area simulazione - - /// - /// lettura memoria in SIMULAZIONE - /// - public void simReadMem() - { - if (lastSim == null) - { - lastSim = DateTime.Now; - } - // simulazione complessa (basata su samples dei parametri effettivi...) - if (utils.CRB("DemoInSample")) - { - if (numSim >= 0) - { - // verifico se la coda di simulazione sia piena altrimenti la RICARICO... - if (QueueSIM.Count == 0) - { - leggiSimFile(); - numSim--; - } - // processo la coda di simulazione (stacco ed accodo 1 valore...) - B_input = QueueSIM.Dequeue(); - countSim++; - // ogni 5 loggo... - if (countSim % 5 == 0) - { - lg.Info("Read {0} sim data", countSim); - } - } - else - { - // fermo tutto! - parentForm.sIN = Semaforo.SR; - parentForm.fermaAdapter(false); - } - } - // simulazione semplice (counter crescente) - else - { - // se passato 1 sec genero NUOV num casuale e lo metto nel bit strobe... ogni 2 sec... - if (DateTime.Now.Subtract(lastSim).TotalMilliseconds > 100) - { - countSim++; - if (countSim > 255) countSim = 0; - B_input = countSim; - } - } - lastSim = DateTime.Now; - } - /// - /// legge ed accoda file Sim in QueueSIM - /// - private void leggiSimFile() - { - int totRighe = 0; - string fileName = utils.simDataFile; - string linea; - totRighe = File.ReadLines(fileName).Count(); - lg.Info("File SIM: TROVATE {0} righe", totRighe); - // ora conto righe effettive... - totRighe = 0; - // carica da file... - StreamReader file = new StreamReader(fileName); - // leggo 1 linea alla volta... - int valore = 0; - while ((linea = file.ReadLine()) != null) - { - // SE non è un commento... - if (linea.Substring(0, 1) != ";") - { - //elencoAllarmi[rumRiga] = decodeAlarmLine(linea, ':'); - Int32.TryParse(linea, out valore); - QueueSIM.Enqueue(valore); - totRighe++; - } - } - // chiudo file - file.Close(); - lg.Info("File SIM: LETTE {0} righe", totRighe); - } - - #endregion #region gestione dataMonitor (accodamento valori) - - + /// /// Mostra i dati grezzi letti in esadecimale /// @@ -1215,15 +1213,15 @@ namespace IOB_WIN /// public void displayOutData() { - // mostro update...... - string newString = string.Format("{0}{1}{2}", lastUrl, Environment.NewLine, parentForm.dataMonitor_2); - // se num righe superiore a limite trimmo... - if (newString.Split('\n').Length > parentForm.nLine2show) - { - int idx = newString.LastIndexOf(Environment.NewLine); - newString = newString.Substring(0, idx); - } - parentForm.dataMonitor_2 = newString; + accodaUrlData(lastUrl); + } + /// + /// Mostra cosa ha/avrebbe inviato + /// + public void displayOtherData() + { + // mostro update... + accodaOtherData(lastPrgName); } /// /// Accoda (visualizzando in cima allo stack) la nuova stringa di output per area OTHER DATA