From 2be42f88bc8179987c5c9868ca54cd81e776027a Mon Sep 17 00:00:00 2001 From: Andrew Welker Date: Fri, 4 Nov 2022 09:48:17 -0600 Subject: [PATCH 01/10] chore: update PD Core version In order to fix issues with debug file location for VC-4, the PD Core version needs to be updated --- packages.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages.config b/packages.config index 4c411add..04d36492 100644 --- a/packages.config +++ b/packages.config @@ -1,3 +1,3 @@ - + \ No newline at end of file From ce51a62d9734a1fd4efdef666e107f6a49fd037e Mon Sep 17 00:00:00 2001 From: Andrew Welker Date: Fri, 4 Nov 2022 14:01:11 -0600 Subject: [PATCH 02/10] chore: update PD Core version --- packages.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages.config b/packages.config index 04d36492..41e00961 100644 --- a/packages.config +++ b/packages.config @@ -1,3 +1,3 @@ - + \ No newline at end of file From fc3840173e0005f323a8659d839a8053aa79e25f Mon Sep 17 00:00:00 2001 From: Andrew Welker Date: Tue, 8 Nov 2022 08:44:39 -0700 Subject: [PATCH 03/10] chore: Update PD Core version --- packages.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages.config b/packages.config index 41e00961..3a15ad08 100644 --- a/packages.config +++ b/packages.config @@ -1,3 +1,3 @@ - + \ No newline at end of file From c07f52b06f36960d7dde335b26903007b78ddd38 Mon Sep 17 00:00:00 2001 From: Andrew Welker Date: Thu, 10 Nov 2022 12:51:04 -0700 Subject: [PATCH 04/10] feat: update VC-4 client to use correct RoomID --- .../Bridges/BridgeBase.cs | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/BridgeBase.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/BridgeBase.cs index a1326770..7bb25b0a 100644 --- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/BridgeBase.cs +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/BridgeBase.cs @@ -394,35 +394,45 @@ namespace PepperDash.Essentials.Core.Bridges var controlProperties = CommFactory.GetControlPropertiesConfig(dc); + BasicTriList eisc; + switch (dc.Type.ToLower()) { case "eiscapiadv": case "eiscapiadvanced": { - var eisc = new ThreeSeriesTcpIpEthernetIntersystemCommunications(controlProperties.IpIdInt, + eisc = new ThreeSeriesTcpIpEthernetIntersystemCommunications(controlProperties.IpIdInt, controlProperties.TcpSshProperties.Address, Global.ControlSystem); - return new EiscApiAdvanced(dc, eisc); + break; } case "eiscapiadvancedserver": { - var eisc = new EISCServer(controlProperties.IpIdInt, Global.ControlSystem); - return new EiscApiAdvanced(dc, eisc); + eisc = new EISCServer(controlProperties.IpIdInt, Global.ControlSystem); + break; } case "eiscapiadvancedclient": { - var eisc = new EISCClient(controlProperties.IpIdInt, controlProperties.TcpSshProperties.Address, Global.ControlSystem); - return new EiscApiAdvanced(dc, eisc); + eisc = new EISCClient(controlProperties.IpIdInt, controlProperties.TcpSshProperties.Address, Global.ControlSystem); + break; } case "vceiscapiadv": case "vceiscapiadvanced": { - var eisc = new VirtualControlEISCClient(controlProperties.IpIdInt, InitialParametersClass.RoomId, + eisc = new VirtualControlEISCClient(controlProperties.IpIdInt, controlProperties.RoomId, Global.ControlSystem); - return new EiscApiAdvanced(dc, eisc); + break; } default: - return null; + eisc = null; + break; } + + if (eisc == null) + { + return null; + } + + return new EiscApiAdvanced(dc, eisc); } } From db19da124cdb53921e1e3e82db5c8894f236b5fd Mon Sep 17 00:00:00 2001 From: Andrew Welker Date: Fri, 11 Nov 2022 14:37:46 -0700 Subject: [PATCH 05/10] fix: set debug level to 2 on startup Some plugins and devices are doing their own filtering based on the debug level that's normally set using the `appdebug` console command. On VC-4, there's no way to set that value. With this change, when Essentials starts on a server, the debug level will be set to 2, so that any of the messages that might be filtered based on the debug level won't be filtered. --- PepperDashEssentials/ControlSystem.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/PepperDashEssentials/ControlSystem.cs b/PepperDashEssentials/ControlSystem.cs index dd8f3d5a..9a48000a 100644 --- a/PepperDashEssentials/ControlSystem.cs +++ b/PepperDashEssentials/ControlSystem.cs @@ -195,6 +195,8 @@ namespace PepperDash.Essentials } else // Handles Linux OS (Virtual Control) { + Debug.SetDebugLevel(2); + Debug.Console(0, Debug.ErrorLogLevel.Notice, "Starting Essentials v{0} on Virtual Control Server", Global.AssemblyVersion); // Set path to User/ From 5e797db0965e1be9a3f001f91624d8ac816e3921 Mon Sep 17 00:00:00 2001 From: Andrew Welker Date: Fri, 11 Nov 2022 16:26:37 -0700 Subject: [PATCH 06/10] fix: add check for missing/empty roomId --- .../PepperDashEssentialsBase/Bridges/BridgeBase.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/BridgeBase.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/BridgeBase.cs index 7bb25b0a..252c9c48 100644 --- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/BridgeBase.cs +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/BridgeBase.cs @@ -418,6 +418,12 @@ namespace PepperDash.Essentials.Core.Bridges case "vceiscapiadv": case "vceiscapiadvanced": { + if (string.IsNullOrEmpty(controlProperties.RoomId)) + { + Debug.Console(0, Debug.ErrorLogLevel.Error, "Unable to build VC-4 EISC Client for device {0}. Room ID is missing or empty", dc.Key); + eisc = null; + break; + } eisc = new VirtualControlEISCClient(controlProperties.IpIdInt, controlProperties.RoomId, Global.ControlSystem); break; From 247827ac2580a64cd84431f39c6ea07d915e1549 Mon Sep 17 00:00:00 2001 From: Trevor Payne Date: Mon, 14 Nov 2022 10:10:22 -0600 Subject: [PATCH 07/10] fix: UpdateCallStatusXsig() now properly refreshing calls --- .../VideoCodec/VideoCodecBase.cs | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/VideoCodecBase.cs b/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/VideoCodecBase.cs index 44d3f423..19c61b9f 100644 --- a/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/VideoCodecBase.cs +++ b/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/VideoCodecBase.cs @@ -1393,11 +1393,11 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec tokenArray[digitalIndex + 1] = new XSigDigitalToken(digitalIndex + 2, call.IsOnHold); //serials - tokenArray[arrayIndex] = new XSigSerialToken(stringIndex + 1, call.Name ?? String.Empty); - tokenArray[arrayIndex + 1] = new XSigSerialToken(stringIndex + 2, call.Number ?? String.Empty); - tokenArray[arrayIndex + 2] = new XSigSerialToken(stringIndex + 3, call.Direction.ToString()); - tokenArray[arrayIndex + 3] = new XSigSerialToken(stringIndex + 4, call.Type.ToString()); - tokenArray[arrayIndex + 4] = new XSigSerialToken(stringIndex + 5, call.Status.ToString()); + tokenArray[stringIndex] = new XSigSerialToken(stringIndex + 1, call.Name ?? String.Empty); + tokenArray[stringIndex + 1] = new XSigSerialToken(stringIndex + 2, call.Number ?? String.Empty); + tokenArray[stringIndex + 2] = new XSigSerialToken(stringIndex + 3, call.Direction.ToString()); + tokenArray[stringIndex + 3] = new XSigSerialToken(stringIndex + 4, call.Type.ToString()); + tokenArray[stringIndex + 4] = new XSigSerialToken(stringIndex + 5, call.Status.ToString()); if(call.Duration != null) { // May need to verify correct string format here @@ -1417,12 +1417,12 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec //serials - tokenArray[arrayIndex] = new XSigSerialToken(stringIndex + 1, String.Empty); - tokenArray[arrayIndex + 1] = new XSigSerialToken(stringIndex + 2, String.Empty); - tokenArray[arrayIndex + 2] = new XSigSerialToken(stringIndex + 3, String.Empty); - tokenArray[arrayIndex + 3] = new XSigSerialToken(stringIndex + 4, String.Empty); - tokenArray[arrayIndex + 4] = new XSigSerialToken(stringIndex + 5, String.Empty); - tokenArray[arrayIndex + 5] = new XSigSerialToken(stringIndex + 6, String.Empty); + tokenArray[stringIndex] = new XSigSerialToken(stringIndex + 1, String.Empty); + tokenArray[stringIndex + 1] = new XSigSerialToken(stringIndex + 2, String.Empty); + tokenArray[stringIndex + 2] = new XSigSerialToken(stringIndex + 3, String.Empty); + tokenArray[stringIndex + 3] = new XSigSerialToken(stringIndex + 4, String.Empty); + tokenArray[stringIndex + 4] = new XSigSerialToken(stringIndex + 5, String.Empty); + tokenArray[stringIndex + 5] = new XSigSerialToken(stringIndex + 6, String.Empty); arrayIndex += offset; stringIndex += maxStrings; From ba0bae3c4ecf07ad7d9bcce1636cf1181b3d1c37 Mon Sep 17 00:00:00 2001 From: Andrew Welker Date: Wed, 16 Nov 2022 10:51:48 -0700 Subject: [PATCH 08/10] chore: update PD Core to 1.1.3 --- packages.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages.config b/packages.config index 3a15ad08..e2f8b03b 100644 --- a/packages.config +++ b/packages.config @@ -1,3 +1,3 @@ - + \ No newline at end of file From 1b43b44d1914042f291213f835794c8e69a6ae16 Mon Sep 17 00:00:00 2001 From: Andrew Welker Date: Wed, 23 Nov 2022 13:12:35 -0700 Subject: [PATCH 09/10] fix: typo in `TouchpanelBase` constructor The constructor was checking the wrong variable, leading to it always being null and failing to build the `EssentialsTouchpanelController` class. --- .../PepperDashEssentialsBase/UI/TouchpanelBase.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/UI/TouchpanelBase.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/UI/TouchpanelBase.cs index 36e0342e..7c64aa6d 100644 --- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/UI/TouchpanelBase.cs +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/UI/TouchpanelBase.cs @@ -31,7 +31,7 @@ namespace PepperDash.Essentials.Core.UI :base(key, name) { - if (Panel == null) + if (panel == null) { Debug.Console(0, this, "Panel is not valid. Touchpanel class WILL NOT work correctly"); return; From 8e57e7ec31f9a2d9f6db5909538eaeb52aca62ff Mon Sep 17 00:00:00 2001 From: Andrew Welker Date: Wed, 23 Nov 2022 14:29:36 -0700 Subject: [PATCH 10/10] fix: add missing LoadSmartObjects call --- .../PepperDashEssentialsBase/UI/TouchpanelBase.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/UI/TouchpanelBase.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/UI/TouchpanelBase.cs index 7c64aa6d..c7be5048 100644 --- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/UI/TouchpanelBase.cs +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/UI/TouchpanelBase.cs @@ -71,6 +71,8 @@ namespace PepperDash.Essentials.Core.UI return; } } + + Panel.LoadSmartObjects(sgdName); }); AddPostActivationAction(() =>