fix accodamento info ultimi 2 monitor data...
This commit is contained in:
+95
-97
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user