fix accodamento info ultimi 2 monitor data...

This commit is contained in:
Samuele E. Locatelli
2017-10-25 17:02:16 +02:00
parent 58cb894cef
commit 85125cd496
+95 -97
View File
@@ -694,6 +694,90 @@ namespace IOB_WIN
{
}
#region area simulazione
/// <summary>
/// lettura memoria in SIMULAZIONE
/// </summary>
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;
}
/// <summary>
/// legge ed accoda file Sim in QueueSIM
/// </summary>
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();
}
}
/// <summary>
@@ -1102,94 +1185,9 @@ namespace IOB_WIN
#endregion
#region area simulazione
/// <summary>
/// lettura memoria in SIMULAZIONE
/// </summary>
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;
}
/// <summary>
/// legge ed accoda file Sim in QueueSIM
/// </summary>
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)
/// <summary>
/// Mostra i dati grezzi letti in esadecimale
/// </summary>
@@ -1215,15 +1213,15 @@ namespace IOB_WIN
/// </summary>
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);
}
/// <summary>
/// Mostra cosa ha/avrebbe inviato
/// </summary>
public void displayOtherData()
{
// mostro update...
accodaOtherData(lastPrgName);
}
/// <summary>
/// Accoda (visualizzando in cima allo stack) la nuova stringa di output per area OTHER DATA