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