From 4f4c8cba0453f29717846b73c959ce6018f2d7c5 Mon Sep 17 00:00:00 2001 From: Neil Dorin Date: Sun, 7 Jun 2020 16:11:17 -0600 Subject: [PATCH 1/9] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 05f0953c..218b7eb5 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ PepperDash Essentials is an open source Crestron framework that can be configure Essentials Framework is a collection of C# / Simpl# Pro libraries that can be utilized in several different manners. It is currently operating as a 100% configuration-driven system, and can be extended to add different workflows and behaviors, either through the addition of further device "types" or via the plug-in mechanism. The framework is a collection of "things" that are all related and interconnected, but in general do not have dependencies on each other. ## Minimum Requirements -- Essentials Framework runs on any Crestron 3-series processor or Crestron's VC-4 platform. +- Essentials Framework runs on any Crestron 3-series processor, 4-series processor or Crestron's VC-4 platform. - To edit and compile the source, Microsoft Visual Studio 2008 Professional with SP1 is required. - Crestron's Simpl# Plugin is also required (must be obtained from Crestron). From e94e8b60a6c46dc9e8aa9f7e6a9a723d0c0ee991 Mon Sep 17 00:00:00 2001 From: Neil Dorin Date: Sun, 7 Jun 2020 16:36:00 -0600 Subject: [PATCH 2/9] Bolds 4-series --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 218b7eb5..310b4b8a 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ PepperDash Essentials is an open source Crestron framework that can be configure Essentials Framework is a collection of C# / Simpl# Pro libraries that can be utilized in several different manners. It is currently operating as a 100% configuration-driven system, and can be extended to add different workflows and behaviors, either through the addition of further device "types" or via the plug-in mechanism. The framework is a collection of "things" that are all related and interconnected, but in general do not have dependencies on each other. ## Minimum Requirements -- Essentials Framework runs on any Crestron 3-series processor, 4-series processor or Crestron's VC-4 platform. +- Essentials Framework runs on any Crestron 3-series processor, **4-series** processor or Crestron's VC-4 platform. - To edit and compile the source, Microsoft Visual Studio 2008 Professional with SP1 is required. - Crestron's Simpl# Plugin is also required (must be obtained from Crestron). From 2ace6ef6bc7a3fefc6b7e054d4c5f990c270ee9b Mon Sep 17 00:00:00 2001 From: Andrew Welker Date: Tue, 9 Jun 2020 13:05:56 -0600 Subject: [PATCH 3/9] adds BasicDmTxControllerBase back in --- .../Endpoints/Transmitters/DmTxHelpers.cs | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Transmitters/DmTxHelpers.cs b/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Transmitters/DmTxHelpers.cs index bb72306b..9961a2e1 100644 --- a/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Transmitters/DmTxHelpers.cs +++ b/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Transmitters/DmTxHelpers.cs @@ -27,7 +27,7 @@ namespace PepperDash.Essentials.DM /// /// /// - public static DmTxControllerBase GetDmTxController(string key, string name, string typeName, DmTxPropertiesConfig props) + public static BasicDmTxControllerBase GetDmTxController(string key, string name, string typeName, DmTxPropertiesConfig props) { // switch on type name... later... @@ -157,11 +157,20 @@ namespace PepperDash.Essentials.DM } } + public abstract class BasicDmTxControllerBase : CrestronGenericBridgeableBaseDevice + { + protected BasicDmTxControllerBase(string key, string name, GenericBase hardware) + : base(key, name, hardware) + { + + } + } + /// /// /// [Description("Wrapper class for all DM-TX variants")] - public abstract class DmTxControllerBase : CrestronGenericBridgeableBaseDevice + public abstract class DmTxControllerBase : BasicDmTxControllerBase { public virtual void SetPortHdcpCapability(eHdcpCapabilityType hdcpMode, uint port) { } public virtual eHdcpCapabilityType HdcpSupportCapability { get; protected set; } @@ -197,13 +206,7 @@ namespace PepperDash.Essentials.DM protected void LinkDmTxToApi(DmTxControllerBase tx, BasicTriList trilist, DmTxControllerJoinMap joinMap, EiscApiAdvanced bridge) { - if (tx.Hardware is DmHDBasedTEndPoint) - { - Debug.Console(1, tx, "No properties to link. Skipping device {0}", tx.Name); - return; - } - - Debug.Console(1, tx, "Linking to Trilist '{0}'", trilist.ID.ToString("X")); + Debug.Console(1, tx, "Linking to Trilist '{0}'", trilist.ID.ToString("X")); tx.IsOnline.LinkInputSig(trilist.BooleanInput[joinMap.IsOnline.JoinNumber]); tx.AnyVideoInput.VideoStatus.VideoSyncFeedback.LinkInputSig(trilist.BooleanInput[joinMap.VideoSyncStatus.JoinNumber]); From 81d9261a73d945e9c7aeaf8651305c862369cc7a Mon Sep 17 00:00:00 2001 From: Andrew Welker Date: Tue, 9 Jun 2020 13:06:25 -0600 Subject: [PATCH 4/9] Changes base class to BasicDmTxControllerBase --- .../Endpoints/Transmitters/DmTx4k100Controller.cs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Transmitters/DmTx4k100Controller.cs b/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Transmitters/DmTx4k100Controller.cs index 12889528..28a05e31 100644 --- a/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Transmitters/DmTx4k100Controller.cs +++ b/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Transmitters/DmTx4k100Controller.cs @@ -3,6 +3,7 @@ using Crestron.SimplSharpPro.DeviceSupport; using Crestron.SimplSharpPro.DM; using Crestron.SimplSharpPro.DM.Endpoints.Transmitters; +using PepperDash.Core; using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Bridges; @@ -11,7 +12,7 @@ namespace PepperDash.Essentials.DM using eVst = eX02VideoSourceType; using eAst = eX02AudioSourceType; - public class DmTx4k100Controller : DmTxControllerBase, IRoutingInputsOutputs, + public class DmTx4k100Controller : BasicDmTxControllerBase, IRoutingInputsOutputs, IIROutputPorts, IComPorts, ICec { public DmTx4K100C1G Tx { get; private set; } @@ -72,9 +73,7 @@ namespace PepperDash.Essentials.DM public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge) { - DmTxControllerJoinMap joinMap = GetDmTxJoinMap(joinStart, joinMapKey); - - LinkDmTxToApi(this, trilist, joinMap, bridge); + Debug.Console(1, this, "No properties to link. Skipping device {0}", Name); } #region IIROutputPorts Members @@ -90,7 +89,5 @@ namespace PepperDash.Essentials.DM #region ICec Members public Cec StreamCec { get { return Tx.StreamCec; } } #endregion - - public override StringFeedback ActiveVideoInputFeedback { get; protected set; } } } \ No newline at end of file From 486d6db7d88eeac6a01a6fd70e509de2af6b2e05 Mon Sep 17 00:00:00 2001 From: Andrew Welker Date: Tue, 9 Jun 2020 13:06:40 -0600 Subject: [PATCH 5/9] fixes casting issues --- .../Essentials_DM/Chassis/DmChassisController.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/essentials-framework/Essentials DM/Essentials_DM/Chassis/DmChassisController.cs b/essentials-framework/Essentials DM/Essentials_DM/Chassis/DmChassisController.cs index b0d4682d..d112d162 100644 --- a/essentials-framework/Essentials DM/Essentials_DM/Chassis/DmChassisController.cs +++ b/essentials-framework/Essentials DM/Essentials_DM/Chassis/DmChassisController.cs @@ -1154,9 +1154,9 @@ namespace PepperDash.Essentials.DM { Debug.Console(2, "Creating Tx Feedbacks {0}", ioSlot); var txKey = TxDictionary[ioSlot]; - var basicTxDevice = DeviceManager.GetDeviceForKey(txKey) as DmTxControllerBase; + var basicTxDevice = DeviceManager.GetDeviceForKey(txKey) as BasicDmTxControllerBase; - var advancedTxDevice = basicTxDevice; + var advancedTxDevice = basicTxDevice as DmTxControllerBase; if (Chassis is DmMd8x8Cpu3 || Chassis is DmMd8x8Cpu3rps || Chassis is DmMd16x16Cpu3 || Chassis is DmMd16x16Cpu3rps From a0ef356bac3abcb67f8b429a8934a966145f0b8b Mon Sep 17 00:00:00 2001 From: Andrew Welker Date: Tue, 9 Jun 2020 14:40:11 -0600 Subject: [PATCH 6/9] Fix casts in DmBladeChassisController --- .../Essentials_DM/Chassis/DmBladeChassisController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/essentials-framework/Essentials DM/Essentials_DM/Chassis/DmBladeChassisController.cs b/essentials-framework/Essentials DM/Essentials_DM/Chassis/DmBladeChassisController.cs index 5e9c3151..9e42ff38 100644 --- a/essentials-framework/Essentials DM/Essentials_DM/Chassis/DmBladeChassisController.cs +++ b/essentials-framework/Essentials DM/Essentials_DM/Chassis/DmBladeChassisController.cs @@ -599,7 +599,7 @@ namespace PepperDash.Essentials.DM { { Debug.Console(2, "Creating Tx Feedbacks {0}", ioSlot); var txKey = TxDictionary[ioSlot]; - var basicTxDevice = DeviceManager.GetDeviceForKey(txKey) as DmTxControllerBase; + var basicTxDevice = DeviceManager.GetDeviceForKey(txKey) as BasicDmTxControllerBase; var advancedTxDevice = basicTxDevice as DmTxControllerBase; From a67b435565fbecdcd12b683dc46908bdb410dca7 Mon Sep 17 00:00:00 2001 From: Andrew Welker Date: Wed, 10 Jun 2020 13:34:34 -0600 Subject: [PATCH 7/9] fix DM 2-Series chassis RX build dict --- .../Essentials_DM/Endpoints/Receivers/DmRmcHelper.cs | 12 ++++++------ essentials-framework/pepperdashcore-builds | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Receivers/DmRmcHelper.cs b/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Receivers/DmRmcHelper.cs index 94e2326c..a0971c52 100644 --- a/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Receivers/DmRmcHelper.cs +++ b/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Receivers/DmRmcHelper.cs @@ -173,22 +173,22 @@ namespace PepperDash.Essentials.DM {"dmrmcscalers", (k, n,i, d) => new DmRmcScalerSController(k, n, new DmRmcScalerS(i,d))}, { "dmrmcscalers2", - (k, n,i, d) => new DmRmcScalerS2Controller(k, n, new DmRmcScalerS2(d)) + (k, n,i, d) => new DmRmcScalerS2Controller(k, n, new DmRmcScalerS2(i, d)) }, { "dmrmc4kscalerc", - (k, n,i, d) => new DmRmc4kScalerCController(k, n, new DmRmc4kScalerC(d)) + (k, n,i, d) => new DmRmc4kScalerCController(k, n, new DmRmc4kScalerC(i, d)) }, { "dmrmc4kscalercdsp", - (k, n,i, d) => new DmRmc4kScalerCDspController(k, n, new DmRmc4kScalerCDsp(d)) + (k, n,i, d) => new DmRmc4kScalerCDspController(k, n, new DmRmc4kScalerCDsp(i, d)) }, { "dmrmc4kzscalerc", - (k, n,i, d) => new DmRmc4kZScalerCController(k, n, new DmRmc4kzScalerC(d)) + (k, n,i, d) => new DmRmc4kZScalerCController(k, n, new DmRmc4kzScalerC(i, d)) }, - {"hdbasetrx", (k,n,i,d) => new HDBaseTRxController(k,n, new HDRx3CB(d))}, - {"dmrmc4k100c1g", (k,n,i,d) => new DmRmc4k100C1GController(k,n, new DmRmc4K100C1G(d))} + {"hdbasetrx", (k,n,i,d) => new HDBaseTRxController(k,n, new HDRx3CB(i, d))}, + {"dmrmc4k100c1g", (k,n,i,d) => new DmRmc4k100C1GController(k,n, new DmRmc4K100C1G(i, d))} }; } /// diff --git a/essentials-framework/pepperdashcore-builds b/essentials-framework/pepperdashcore-builds index 974d2f47..15206840 160000 --- a/essentials-framework/pepperdashcore-builds +++ b/essentials-framework/pepperdashcore-builds @@ -1 +1 @@ -Subproject commit 974d2f473c06b2c90b18c06e0f758ca47d466be8 +Subproject commit 15206840b3e6338f695e4ffba634a72e51ea1be5 From c5ad32184224a0beed4873059f7bc7a3f4c6a60d Mon Sep 17 00:00:00 2001 From: Andrew Welker Date: Wed, 10 Jun 2020 16:34:28 -0600 Subject: [PATCH 8/9] fixed submodule commit issue --- essentials-framework/pepperdashcore-builds | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/essentials-framework/pepperdashcore-builds b/essentials-framework/pepperdashcore-builds index 15206840..974d2f47 160000 --- a/essentials-framework/pepperdashcore-builds +++ b/essentials-framework/pepperdashcore-builds @@ -1 +1 @@ -Subproject commit 15206840b3e6338f695e4ffba634a72e51ea1be5 +Subproject commit 974d2f473c06b2c90b18c06e0f758ca47d466be8 From b89112bec15193bee10440b66c8fe60b5a9ebf30 Mon Sep 17 00:00:00 2001 From: Alex Johnson Date: Thu, 11 Jun 2020 21:29:59 -0400 Subject: [PATCH 9/9] Sets preventRegistration to true for dmTx4k100c1g transmitter type. Otherwise device fails and returns without linking up com port. --- .../Endpoints/Transmitters/DmTx4k100Controller.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Transmitters/DmTx4k100Controller.cs b/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Transmitters/DmTx4k100Controller.cs index 28a05e31..d2a9f7bc 100644 --- a/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Transmitters/DmTx4k100Controller.cs +++ b/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Transmitters/DmTx4k100Controller.cs @@ -68,8 +68,9 @@ namespace PepperDash.Essentials.DM // Set Ports for CEC HdmiIn.Port = Tx; - } + PreventRegistration = true; + } public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge) {