diff --git a/IOB-WIN-FORM/Iob/Generic.Protected.cs b/IOB-WIN-FORM/Iob/Generic.Protected.cs
index 74b29d69..f4769505 100644
--- a/IOB-WIN-FORM/Iob/Generic.Protected.cs
+++ b/IOB-WIN-FORM/Iob/Generic.Protected.cs
@@ -58,6 +58,11 @@ namespace IOB_WIN_FORM.Iob
///
protected int B_output;
+ ///
+ /// Ultimo valore B_output inviato
+ ///
+ protected int B_output_sent = -1;
+
///
/// Vettore 32 BIT valori precedenti
///
diff --git a/IOB-WIN-FORM/Iob/Generic.Public.cs b/IOB-WIN-FORM/Iob/Generic.Public.cs
index d7b6fe8f..a32c7670 100644
--- a/IOB-WIN-FORM/Iob/Generic.Public.cs
+++ b/IOB-WIN-FORM/Iob/Generic.Public.cs
@@ -675,10 +675,19 @@ namespace IOB_WIN_FORM.Iob
// verifico non sia in veto invio iniziale...
if (queueInEnabCurr)
{
- // --> accodo (valore già formattato)!
- QueueIN.Enqueue(qEncodeIN);
- // loggo!
- lgDebug($"[QUEUE-IN] {qEncodeIN}");
+ // verifico il valore encoded sia variato (x evitare doppioni successivi...)
+ if (B_output_sent != B_output || (nReadFilt % 2 == 1))
+ {
+ B_output_sent = B_output;
+ // --> accodo (valore già formattato)!
+ QueueIN.Enqueue(qEncodeIN);
+ // loggo!
+ lgDebug($"[QUEUE-IN] {qEncodeIN}");
+ }
+ else
+ {
+ lgDebug($"NON accodado valore [QUEUE-IN] {qEncodeIN} | B_output_sent: {B_output_sent} | B_output: {B_output}");
+ }
}
else
{
@@ -698,7 +707,7 @@ namespace IOB_WIN_FORM.Iob
counterSigIN = 0;
}
}
- lgDebug($"accodaSigIN 02 | nReadFilt: {nReadFilt} | counterSigIN: {counterSigIN}");
+ lgDebug($"accodaSigIN 02 | nReadFilt: {nReadFilt} | counterSigIN: {counterSigIN} | QueueIN len: {QueueIN.Count}");
}
///