From 72e2fb8150cf6bb6ce88b47d71bd893afb058675 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Tue, 4 Nov 2025 11:50:21 +0100 Subject: [PATCH] Aggiunta check x evitare accodamenti multipli sigIN uguali --- IOB-WIN-FORM/Iob/Generic.Protected.cs | 5 +++++ IOB-WIN-FORM/Iob/Generic.Public.cs | 19 ++++++++++++++----- 2 files changed, 19 insertions(+), 5 deletions(-) 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}"); } ///