From 00fda653628192c6bfaa04db8b7c2e464b1754f3 Mon Sep 17 00:00:00 2001 From: Alex Bloom Date: Thu, 1 May 2025 15:03:10 -0400 Subject: [PATCH 1/5] Adding Caller Id Features --- rc2-dvm/VirtualChannel.P25.cs | 1 + rc2-dvm/VirtualChannel.cs | 36 +++++++++++++++++------------------ 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/rc2-dvm/VirtualChannel.P25.cs b/rc2-dvm/VirtualChannel.P25.cs index d69a1f0..7e5ba57 100644 --- a/rc2-dvm/VirtualChannel.P25.cs +++ b/rc2-dvm/VirtualChannel.P25.cs @@ -531,6 +531,7 @@ public void P25DataReceived(P25DataReceivedEvent e, DateTime pktTime) dvmRadio.Status.ChannelName = CurrentTalkgroup.Name; // Stop RX data timeout timer rxDataTimer.Stop(); + dvmRadio.Status.CallerId = ""; // Status update dvmRadio.StatusCallback(); // Log diff --git a/rc2-dvm/VirtualChannel.cs b/rc2-dvm/VirtualChannel.cs index 708a5e0..5584be9 100644 --- a/rc2-dvm/VirtualChannel.cs +++ b/rc2-dvm/VirtualChannel.cs @@ -186,8 +186,8 @@ public VirtualChannel(VirtualChannelConfigObject config, KeyContainer keyContain } // Init source ID display stuff - sourceIdTimer = new System.Timers.Timer(1000); - sourceIdTimer.Elapsed += sourceIdTimerCallback; + //sourceIdTimer = new System.Timers.Timer(1000); + //sourceIdTimer.Elapsed += sourceIdTimerCallback; //sourceIdTimer.Enabled = true; // Init rx data timeout timer @@ -286,21 +286,21 @@ public VirtualChannel(VirtualChannelConfigObject config, KeyContainer keyContain /// /// /// - private void sourceIdTimerCallback(Object source, ElapsedEventArgs e) - { - if (showingSourceId) - { - dvmRadio.Status.ChannelName = CurrentTalkgroup.Name; - dvmRadio.StatusCallback(); - showingSourceId = false; - } - else - { - dvmRadio.Status.ChannelName = $"ID: {lastSourceId}"; - dvmRadio.StatusCallback(); - showingSourceId = true; - } - } + //private void sourceIdTimerCallback(Object source, ElapsedEventArgs e) + //{ + // if (showingSourceId) + // { + // dvmRadio.Status.ChannelName = CurrentTalkgroup.Name; + // dvmRadio.StatusCallback(); + // showingSourceId = false; + // } + // else + // { + // //dvmRadio.Status.ChannelName = $"ID: {lastSourceId}"; + // dvmRadio.StatusCallback(); + // showingSourceId = true; + // } + //} /// /// Function called when the rx data timeout timer is hit, will force-reset the call data on loss of LDUs @@ -311,7 +311,7 @@ private void rxDataTimeout(Object source, ElapsedEventArgs e) { Log.Logger.Warning("RX data timeout, resetting call"); resetCall(); - } + //} /// /// Start the virtual channel From 7686709ff2d1c855b5fbe583fbc978b8057f5f15 Mon Sep 17 00:00:00 2001 From: Alex Bloom Date: Thu, 1 May 2025 15:46:03 -0400 Subject: [PATCH 2/5] Missed some timer comments --- rc2-dvm/VirtualChannel.P25.cs | 4 ++-- rc2-dvm/VirtualChannel.cs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/rc2-dvm/VirtualChannel.P25.cs b/rc2-dvm/VirtualChannel.P25.cs index 7e5ba57..ab3950f 100644 --- a/rc2-dvm/VirtualChannel.P25.cs +++ b/rc2-dvm/VirtualChannel.P25.cs @@ -498,7 +498,7 @@ public void P25DataReceived(P25DataReceivedEvent e, DateTime pktTime) // Start source ID display callback lastSourceId = e.SrcId; - sourceIdTimer.Start(); + // sourceIdTimer.Start(); // Start RX data timeout timer rxDataTimer.Start(); // Status update @@ -527,7 +527,7 @@ public void P25DataReceived(P25DataReceivedEvent e, DateTime pktTime) // Update state dvmRadio.Status.State = rc2_core.RadioState.Idle; // Stop source ID callback - sourceIdTimer.Stop(); + // sourceIdTimer.Stop(); dvmRadio.Status.ChannelName = CurrentTalkgroup.Name; // Stop RX data timeout timer rxDataTimer.Stop(); diff --git a/rc2-dvm/VirtualChannel.cs b/rc2-dvm/VirtualChannel.cs index 5584be9..c0b3dd5 100644 --- a/rc2-dvm/VirtualChannel.cs +++ b/rc2-dvm/VirtualChannel.cs @@ -58,7 +58,7 @@ public partial class VirtualChannel // Variables for displaying active source ID private bool showingSourceId; private uint lastSourceId; - private System.Timers.Timer sourceIdTimer; + // private System.Timers.Timer sourceIdTimer; private DVMRadio dvmRadio; @@ -501,7 +501,7 @@ private void resetAffTimer() private void resetCall() { // Stop source ID callback - sourceIdTimer.Stop(); + // sourceIdTimer.Stop(); // Stop rx data timeout timer rxDataTimer.Stop(); // Reset P25 counter From 4001e458ee1f482e5abb7e3b95b3e85042057de4 Mon Sep 17 00:00:00 2001 From: Alex Bloom Date: Fri, 9 May 2025 14:51:51 -0400 Subject: [PATCH 3/5] Missed a bracket --- rc2-dvm/VirtualChannel.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rc2-dvm/VirtualChannel.cs b/rc2-dvm/VirtualChannel.cs index c0b3dd5..e70f6e8 100644 --- a/rc2-dvm/VirtualChannel.cs +++ b/rc2-dvm/VirtualChannel.cs @@ -311,7 +311,7 @@ private void rxDataTimeout(Object source, ElapsedEventArgs e) { Log.Logger.Warning("RX data timeout, resetting call"); resetCall(); - //} + } /// /// Start the virtual channel From 3592758dccdced82478af5fe3f406dfbc564ec45 Mon Sep 17 00:00:00 2001 From: Alex Bloom Date: Fri, 9 May 2025 15:32:18 -0400 Subject: [PATCH 4/5] I clearly missed somethings on last merge. Fixing the actual loading of last source ID. Was clearing it but never setting it. --- rc2-dvm/VirtualChannel.P25.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/rc2-dvm/VirtualChannel.P25.cs b/rc2-dvm/VirtualChannel.P25.cs index ab3950f..901f5c7 100644 --- a/rc2-dvm/VirtualChannel.P25.cs +++ b/rc2-dvm/VirtualChannel.P25.cs @@ -498,6 +498,7 @@ public void P25DataReceived(P25DataReceivedEvent e, DateTime pktTime) // Start source ID display callback lastSourceId = e.SrcId; + dvmRadio.Status.CallerId = lastSourceId.ToString(); // sourceIdTimer.Start(); // Start RX data timeout timer rxDataTimer.Start(); From 163e9b720ef53812f8dfdd322bdd9423f1062025 Mon Sep 17 00:00:00 2001 From: Alex Bloom Date: Mon, 3 Nov 2025 14:04:14 -0500 Subject: [PATCH 5/5] Remove unused source ID timer and related comments --- rc2-dvm/VirtualChannel.P25.cs | 2 -- rc2-dvm/VirtualChannel.cs | 29 ++--------------------------- 2 files changed, 2 insertions(+), 29 deletions(-) diff --git a/rc2-dvm/VirtualChannel.P25.cs b/rc2-dvm/VirtualChannel.P25.cs index 901f5c7..f0e87fe 100644 --- a/rc2-dvm/VirtualChannel.P25.cs +++ b/rc2-dvm/VirtualChannel.P25.cs @@ -499,7 +499,6 @@ public void P25DataReceived(P25DataReceivedEvent e, DateTime pktTime) // Start source ID display callback lastSourceId = e.SrcId; dvmRadio.Status.CallerId = lastSourceId.ToString(); - // sourceIdTimer.Start(); // Start RX data timeout timer rxDataTimer.Start(); // Status update @@ -528,7 +527,6 @@ public void P25DataReceived(P25DataReceivedEvent e, DateTime pktTime) // Update state dvmRadio.Status.State = rc2_core.RadioState.Idle; // Stop source ID callback - // sourceIdTimer.Stop(); dvmRadio.Status.ChannelName = CurrentTalkgroup.Name; // Stop RX data timeout timer rxDataTimer.Stop(); diff --git a/rc2-dvm/VirtualChannel.cs b/rc2-dvm/VirtualChannel.cs index e70f6e8..6940062 100644 --- a/rc2-dvm/VirtualChannel.cs +++ b/rc2-dvm/VirtualChannel.cs @@ -58,7 +58,7 @@ public partial class VirtualChannel // Variables for displaying active source ID private bool showingSourceId; private uint lastSourceId; - // private System.Timers.Timer sourceIdTimer; + private DVMRadio dvmRadio; @@ -185,10 +185,7 @@ public VirtualChannel(VirtualChannelConfigObject config, KeyContainer keyContain } - // Init source ID display stuff - //sourceIdTimer = new System.Timers.Timer(1000); - //sourceIdTimer.Elapsed += sourceIdTimerCallback; - //sourceIdTimer.Enabled = true; + // Init rx data timeout timer rxDataTimer = new System.Timers.Timer(1000); @@ -281,26 +278,6 @@ public VirtualChannel(VirtualChannelConfigObject config, KeyContainer keyContain dvmRadio.Status.ChannelName = CurrentTalkgroup.Name; } - /// - /// Callback to alternate between TG name and source ID - /// - /// - /// - //private void sourceIdTimerCallback(Object source, ElapsedEventArgs e) - //{ - // if (showingSourceId) - // { - // dvmRadio.Status.ChannelName = CurrentTalkgroup.Name; - // dvmRadio.StatusCallback(); - // showingSourceId = false; - // } - // else - // { - // //dvmRadio.Status.ChannelName = $"ID: {lastSourceId}"; - // dvmRadio.StatusCallback(); - // showingSourceId = true; - // } - //} /// /// Function called when the rx data timeout timer is hit, will force-reset the call data on loss of LDUs @@ -500,8 +477,6 @@ private void resetAffTimer() /// private void resetCall() { - // Stop source ID callback - // sourceIdTimer.Stop(); // Stop rx data timeout timer rxDataTimer.Stop(); // Reset P25 counter