Completata gestione strobe OSAI (da testare!!!)
This commit is contained in:
@@ -400,15 +400,15 @@ namespace MTC_Adapter
|
||||
|
||||
// check COD_M
|
||||
bitNum = 0;
|
||||
gestStrobeCodMST(bitNum, ref currACK_DW, 0, MemBlock, "M");
|
||||
gestStrobeCodMST(currStrobe, bitNum, ref currACK_DW, 0, MemBlock, "M");
|
||||
|
||||
// check COD_S
|
||||
bitNum = 1;
|
||||
gestStrobeCodMST(bitNum, ref currACK_DW, 11, MemBlock, "S");
|
||||
gestStrobeCodMST(currStrobe, bitNum, ref currACK_DW, 11, MemBlock, "S");
|
||||
|
||||
// check COD_T
|
||||
bitNum = 2;
|
||||
gestStrobeCodMST(bitNum, ref currACK_DW, 17, MemBlock, "T");
|
||||
gestStrobeCodMST(currStrobe, bitNum, ref currACK_DW, 17, MemBlock, "T");
|
||||
|
||||
}
|
||||
|
||||
@@ -575,19 +575,19 @@ namespace MTC_Adapter
|
||||
/// <summary>
|
||||
/// Gestione STROBE --> ACK per codici M/S/T
|
||||
/// </summary>
|
||||
/// <param name="currStrobe">byte di strobe corrente</param>
|
||||
/// <param name="bitNum">0/1/2</param>
|
||||
/// <param name="retACK_DW1">vettore da restituire di ACK</param>
|
||||
/// <param name="memShift">shift memoria x buffer dati da leggere</param>
|
||||
/// <param name="MemBlock">Vettore completo dei valori + buffer code M/S/T</param>
|
||||
/// <param name="Coda">Quale coda: M/S/T</param>
|
||||
private void gestStrobeCodMST(int bitNum, ref byte[] retACK_DW1, int memShift, byte[] MemBlock, string Coda)
|
||||
private void gestStrobeCodMST(StFlag8 currStrobe, int bitNum, ref byte[] retACK_DW1, int memShift, byte[] MemBlock, string Coda)
|
||||
{
|
||||
int numEv = 0;
|
||||
int codEv = 0;
|
||||
#if false
|
||||
if (STRB_DW1.HasFlag((StFlag32)Math.Pow(2, bitNum)))
|
||||
if (currStrobe.HasFlag((StFlag8)Math.Pow(2, bitNum)))
|
||||
{
|
||||
// verifico sia > 0 il numero di valori da leggere indice 0 sull'area...
|
||||
// verifico sia > 0 il numero di valori da leggere - indice 0 sull'area...
|
||||
numEv = BitConverter.ToUInt16(MemBlock, 2 * memShift);
|
||||
if (numEv > 0)
|
||||
{
|
||||
@@ -603,7 +603,6 @@ namespace MTC_Adapter
|
||||
// memorizzo allarme nel vettore ack....
|
||||
retACK_DW1 = utils.setBitOnStFlag(retACK_DW1, true, bitNum);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
/// <summary>
|
||||
/// Ricarica dati da file di scambio con CMSConnect
|
||||
@@ -791,21 +790,6 @@ namespace MTC_Adapter
|
||||
inizio = DateTime.Now;
|
||||
OsaiMemRW_DWord(R, OSAI.MemTypeWord.MW_CODE, memIndex + i * 2, ref MemBlock);
|
||||
if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-STRB_DW0", MemBlock.Length * 4), DateTime.Now.Subtract(inizio).Ticks);
|
||||
|
||||
#if false
|
||||
// da testare metodo copia alternativo !!!FARE!!!
|
||||
if (true)
|
||||
{
|
||||
// aggiorno nel vettore allarmi i byte interessati
|
||||
for (int j = 0; j < 4; j++)
|
||||
{
|
||||
// copy array o byte?!? !!!FARE!!! verifica
|
||||
AlarmFlags[i * 4 + j] = MemBlock[j];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
#endif
|
||||
try
|
||||
{
|
||||
// aggiorno vettore allarmi x intero!
|
||||
@@ -815,9 +799,6 @@ namespace MTC_Adapter
|
||||
{
|
||||
lg.Error(string.Format("Errore in BLOCKCOPY per indice i = {2},{0}{1}", Environment.NewLine, exc, i));
|
||||
}
|
||||
#if false
|
||||
}
|
||||
#endif
|
||||
|
||||
// segnalo allarme letto! memorizzo allarme nel vettore ack....
|
||||
retACK_DW0 = utils.setBitOnStFlag(retACK_DW0, true, i);
|
||||
|
||||
Reference in New Issue
Block a user