From c0b0b35f6df42b05b1114d2ebaedff3bc2be4ac2 Mon Sep 17 00:00:00 2001 From: jdevito Date: Sat, 7 Oct 2023 16:51:27 -0500 Subject: [PATCH 1/9] feat(wip): seeds feature for IR signal bridge map --- .../Comm and IR/IRPortHelper.cs | 8 ++- .../Devices/GenericIRController.cs | 60 +++++++++++-------- .../Devices/IrOutputPortController.cs | 4 ++ .../PepperDash_Essentials_Core.csproj | 1 + 4 files changed, 48 insertions(+), 25 deletions(-) diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Comm and IR/IRPortHelper.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Comm and IR/IRPortHelper.cs index c75630e4..80ee2a2c 100644 --- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Comm and IR/IRPortHelper.cs +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Comm and IR/IRPortHelper.cs @@ -224,12 +224,18 @@ namespace PepperDash.Essentials.Core /// public class IrOutPortConfig { + [JsonProperty("port")] public IROutputPort Port { get; set; } + + [JsonProperty("fileName")] public string FileName { get; set; } + [JsonProperty("useBridgeJoinMap")] + public bool UseBridgeJoinMap { get; set; } + public IrOutPortConfig() { - FileName = ""; + FileName = ""; } } } \ No newline at end of file diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/GenericIRController.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/GenericIRController.cs index 409562a2..959b334b 100644 --- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/GenericIRController.cs +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/GenericIRController.cs @@ -1,11 +1,11 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; +using System.Linq; using Crestron.SimplSharpPro.DeviceSupport; using Newtonsoft.Json; using PepperDash.Core; -using PepperDash.Essentials.Core; using PepperDash.Essentials.Core.Bridges; using PepperDash.Essentials.Core.Config; +using PepperDash_Essentials_Core.Bridges.JoinMaps; namespace PepperDash.Essentials.Core.Devices { @@ -21,9 +21,12 @@ namespace PepperDash.Essentials.Core.Devices public string[] IrCommands {get { return _port.IrFileCommands; }} + public Dictionary BridgeJoins; + public GenericIrController(string key, string name, IrOutputPortController irPort) : base(key, name) { _port = irPort; + if(_port.UseBridgeJoinMap) BridgeJoins = new Dictionary(); if (_port == null) { @@ -71,23 +74,39 @@ namespace PepperDash.Essentials.Core.Devices if (!string.IsNullOrEmpty(joinMapSerialized)) joinMap = JsonConvert.DeserializeObject(joinMapSerialized); - for (uint i = 0; i < _port.IrFileCommands.Length; i++) - { - var cmd = _port.IrFileCommands[i]; - var joinData = new JoinDataComplete(new JoinData {JoinNumber = i, JoinSpan = 1}, - new JoinMetadata - { - Description = cmd, - JoinCapabilities = eJoinCapabilities.FromSIMPL, - JoinType = eJoinType.Digital - }); + if (_port.UseBridgeJoinMap) + { + Debug.Console(0, this, "Using new IR bridge join map"); - joinData.SetJoinOffset(joinStart); + var joins = BridgeJoins.Where((kv) => _port.IrFileCommands.Any(cmd => cmd == kv.Key)).ToDictionary(kv => kv.Key, kv=> kv.Value); + foreach (var join in joins) + { + Debug.Console(0, this, "_useBridgeJoinMap: {0}: {1}", join.Key, join.Value); + } + //joinMap.Joins = joins.Select(kv => kv.Value.SetJoinOffset(joinStart)).ToString(); + } + else + { + Debug.Console(0, this, "Using legacy IR join mapping based on available IR commands"); - joinMap.Joins.Add(cmd,joinData); + for (uint i = 0; i < _port.IrFileCommands.Length; i++) + { + var cmd = _port.IrFileCommands[i]; + var joinData = new JoinDataComplete(new JoinData { JoinNumber = i, JoinSpan = 1 }, + new JoinMetadata + { + Description = cmd, + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); - trilist.SetBoolSigAction(joinData.JoinNumber, (b) => Press(cmd, b)); - } + joinData.SetJoinOffset(joinStart); + + joinMap.Joins.Add(cmd, joinData); + + trilist.SetBoolSigAction(joinData.JoinNumber, (b) => Press(cmd, b)); + } + } joinMap.PrintJoinMapInfo(); @@ -109,13 +128,6 @@ namespace PepperDash.Essentials.Core.Devices } } - public sealed class GenericIrControllerJoinMap : JoinMapBaseAdvanced - { - public GenericIrControllerJoinMap(uint joinStart) : base(joinStart) - { - } - } - public class GenericIrControllerFactory : EssentialsDeviceFactory { public GenericIrControllerFactory() diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IrOutputPortController.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IrOutputPortController.cs index cce1d46e..5ce7a779 100644 --- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IrOutputPortController.cs +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IrOutputPortController.cs @@ -29,6 +29,8 @@ namespace PepperDash.Essentials.Core public string[] IrFileCommands { get { return IrPort.AvailableStandardIRCmds(IrPortUid); } } + public bool UseBridgeJoinMap { get; private set; } + /// /// Constructor for IrDevice base class. If a null port is provided, this class will /// still function without trying to talk to a port. @@ -62,6 +64,8 @@ namespace PepperDash.Essentials.Core Debug.Console(0, this, "WARNING No valid IR Port assigned to controller. IR will not function"); return; } + + UseBridgeJoinMap = config.Properties["control"]["useBridgeJoinMap"].Value(); var filePath = Global.FilePathPrefix + "ir" + Global.DirectorySeparator + config.Properties["control"]["irFile"].Value(); Debug.Console(1, "*************Attempting to load IR file: {0}***************", filePath); diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.csproj b/essentials-framework/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.csproj index 75d4626d..c1445edb 100644 --- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.csproj +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.csproj @@ -127,6 +127,7 @@ + From 1a123ab6dc895c454e458a2089c7e8f6e804d58f Mon Sep 17 00:00:00 2001 From: jdevito Date: Sat, 7 Oct 2023 16:54:29 -0500 Subject: [PATCH 2/9] feat: adds GenericIrControllerJoinMap --- .../JoinMaps/GenericIrControllerJoinMap.cs | 757 ++++++++++++++++++ 1 file changed, 757 insertions(+) create mode 100644 essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/GenericIrControllerJoinMap.cs diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/GenericIrControllerJoinMap.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/GenericIrControllerJoinMap.cs new file mode 100644 index 00000000..00257c9f --- /dev/null +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/GenericIrControllerJoinMap.cs @@ -0,0 +1,757 @@ +using PepperDash.Essentials.Core; + +namespace PepperDash_Essentials_Core.Bridges.JoinMaps +{ + public sealed class GenericIrControllerJoinMap : JoinMapBaseAdvanced + { + [JoinName("POWER")] + public JoinDataComplete Power = new JoinDataComplete( + new JoinData + { + JoinNumber = 1, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Power Toggle", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("POWER_ON")] + public JoinDataComplete PowerOn = new JoinDataComplete( + new JoinData + { + JoinNumber = 2, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Discrete Power On", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("POWER_OFF")] + public JoinDataComplete PowerOff = new JoinDataComplete( + new JoinData + { + JoinNumber = 3, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Discrete Power Off", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("PLAY")] + public JoinDataComplete Play = new JoinDataComplete( + new JoinData + { + JoinNumber = 4, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Transport Play", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("PLAY_PAUSE")] + public JoinDataComplete PlayPause = new JoinDataComplete( + new JoinData + { + JoinNumber = 5, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Transport Play/Pause", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("STOP")] + public JoinDataComplete Stop = new JoinDataComplete( + new JoinData + { + JoinNumber = 6, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Transport Stop", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("PAUSE")] + public JoinDataComplete Pause = new JoinDataComplete( + new JoinData + { + JoinNumber = 7, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Transport Pause", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("FSCAN")] + public JoinDataComplete ForwardScan = new JoinDataComplete( + new JoinData + { + JoinNumber = 9, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Transport Forward Scan", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("F_SRCH")] + public JoinDataComplete ForwardSearch = new JoinDataComplete( + new JoinData + { + JoinNumber = 10, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Transport Forward Search", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("F_SKIP")] + public JoinDataComplete ForwardSkip = new JoinDataComplete( + new JoinData + { + JoinNumber = 11, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Transport Forward Skip/Next", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("RSCAN")] + public JoinDataComplete ReverseScan = new JoinDataComplete( + new JoinData + { + JoinNumber = 12, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Transport Reverse Scan", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("R_SRCH")] + public JoinDataComplete ReverseSearch = new JoinDataComplete( + new JoinData + { + JoinNumber = 13, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Transport Reverse Search", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("R_SKIP")] + public JoinDataComplete ReverseSkip = new JoinDataComplete( + new JoinData + { + JoinNumber = 14, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Transport Reverse Skip/Previous", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("TRACK+")] + public JoinDataComplete TrackPlus = new JoinDataComplete( + new JoinData + { + JoinNumber = 15, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Transport Track +", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("TRACK-")] + public JoinDataComplete TrackMinus = new JoinDataComplete( + new JoinData + { + JoinNumber = 16, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Transport Track -", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + + [JoinName("0")] + public JoinDataComplete Kp0 = new JoinDataComplete( + new JoinData + { + JoinNumber = 20, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Keypad 0", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("1")] + public JoinDataComplete Kp1 = new JoinDataComplete( + new JoinData + { + JoinNumber = 21, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Keypad 1", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("2")] + public JoinDataComplete Kp2 = new JoinDataComplete( + new JoinData + { + JoinNumber = 22, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Keypad 2", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("3")] + public JoinDataComplete Kp3 = new JoinDataComplete( + new JoinData + { + JoinNumber = 23, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Keypad 3", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("4")] + public JoinDataComplete Kp4 = new JoinDataComplete( + new JoinData + { + JoinNumber = 24, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Keypad 4", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("5")] + public JoinDataComplete Kp5 = new JoinDataComplete( + new JoinData + { + JoinNumber = 25, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Keypad 5", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("6")] + public JoinDataComplete Kp6 = new JoinDataComplete( + new JoinData + { + JoinNumber = 26, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Keypad 6", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("7")] + public JoinDataComplete Kp7 = new JoinDataComplete( + new JoinData + { + JoinNumber = 27, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Keypad 7", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("8")] + public JoinDataComplete Kp8 = new JoinDataComplete( + new JoinData + { + JoinNumber = 28, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Keypad 8", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("9")] + public JoinDataComplete Kp9 = new JoinDataComplete( + new JoinData + { + JoinNumber = 29, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Keypad 9", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("#")] + public JoinDataComplete KpPound = new JoinDataComplete( + new JoinData + { + JoinNumber = 30, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Keypad #", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("*")] + public JoinDataComplete KpStar = new JoinDataComplete( + new JoinData + { + JoinNumber = 31, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Keypad Star", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("A")] + public JoinDataComplete KpA = new JoinDataComplete( + new JoinData + { + JoinNumber = 32, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Keypad A", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("B")] + public JoinDataComplete KpB = new JoinDataComplete( + new JoinData + { + JoinNumber = 33, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Keypad B", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("C")] + public JoinDataComplete KpC = new JoinDataComplete( + new JoinData + { + JoinNumber = 34, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Keypad C", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("D")] + public JoinDataComplete KpD = new JoinDataComplete( + new JoinData + { + JoinNumber = 35, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Keypad D", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("RED")] + public JoinDataComplete KpRed = new JoinDataComplete( + new JoinData + { + JoinNumber = 36, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Keypad Red", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("GREEN")] + public JoinDataComplete KpGreen = new JoinDataComplete( + new JoinData + { + JoinNumber = 37, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Keypad Green", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("YELLOW")] + public JoinDataComplete KpYellow = new JoinDataComplete( + new JoinData + { + JoinNumber = 38, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Keypad Yellow", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("BLUE")] + public JoinDataComplete KpBlue = new JoinDataComplete( + new JoinData + { + JoinNumber = 39, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Keypad Blue", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + + [JoinName("MENU")] + public JoinDataComplete Menu = new JoinDataComplete( + new JoinData + { + JoinNumber = 41, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Menu", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("GUIDE")] + public JoinDataComplete Guide = new JoinDataComplete( + new JoinData + { + JoinNumber = 42, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Guide", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("DVR")] + public JoinDataComplete Dvr = new JoinDataComplete( + new JoinData + { + JoinNumber = 43, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Dvr", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("OPTIONS")] + public JoinDataComplete Options = new JoinDataComplete( + new JoinData + { + JoinNumber = 44, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Options", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("ON_DEMAND")] + public JoinDataComplete OnDemand = new JoinDataComplete( + new JoinData + { + JoinNumber = 45, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "On Demand", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + + [JoinName("UP_ARROW")] + public JoinDataComplete DpadUp = new JoinDataComplete( + new JoinData + { + JoinNumber = 46, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Dpad Up", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("DN_ARROW")] + public JoinDataComplete DpadDown = new JoinDataComplete( + new JoinData + { + JoinNumber = 47, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Dpad Down", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("LEFT_ARROW")] + public JoinDataComplete DpadLeft = new JoinDataComplete( + new JoinData + { + JoinNumber = 48, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Dpad Left", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("RIGHT_ARROW")] + public JoinDataComplete DpadRight = new JoinDataComplete( + new JoinData + { + JoinNumber = 49, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Dpad Right", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("SELECT")] + public JoinDataComplete DpadSelect = new JoinDataComplete( + new JoinData + { + JoinNumber = 50, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Dpad Select", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("RETURN")] + public JoinDataComplete Return = new JoinDataComplete( + new JoinData + { + JoinNumber = 51, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Return", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("BACK")] + public JoinDataComplete Back = new JoinDataComplete( + new JoinData + { + JoinNumber = 52, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Back", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("HOME")] + public JoinDataComplete Home = new JoinDataComplete( + new JoinData + { + JoinNumber = 53, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Home", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("CH+")] + public JoinDataComplete ChannelUp = new JoinDataComplete( + new JoinData + { + JoinNumber = 54, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Channel Up", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("CH-")] + public JoinDataComplete ChannelDown = new JoinDataComplete( + new JoinData + { + JoinNumber = 55, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Channel Down", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("LAST")] + public JoinDataComplete Last = new JoinDataComplete( + new JoinData + { + JoinNumber = 56, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Last", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("PAGE_UP")] + public JoinDataComplete PageUp = new JoinDataComplete( + new JoinData + { + JoinNumber = 57, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Page Up", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("PAGE_DOWN")] + public JoinDataComplete PageDown = new JoinDataComplete( + new JoinData + { + JoinNumber = 58, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Page Down", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + public GenericIrControllerJoinMap(uint joinStart) + : base(joinStart, typeof(GenericIrControllerJoinMap)) + { + } + } +} \ No newline at end of file From a3561bc89b3077c6464357acceda21389311e20d Mon Sep 17 00:00:00 2001 From: jdevito Date: Sat, 7 Oct 2023 19:16:03 -0500 Subject: [PATCH 3/9] feat(wip): updates GenericIrController and IrOutputPortController to implement bridge map --- .../Devices/GenericIRController.cs | 76 ++++++++++++++++--- .../Devices/IrOutputPortController.cs | 9 +-- 2 files changed, 69 insertions(+), 16 deletions(-) diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/GenericIRController.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/GenericIRController.cs index 959b334b..b7a25d47 100644 --- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/GenericIRController.cs +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/GenericIRController.cs @@ -19,15 +19,11 @@ namespace PepperDash.Essentials.Core.Devices private readonly IrOutputPortController _port; - public string[] IrCommands {get { return _port.IrFileCommands; }} - - public Dictionary BridgeJoins; + public string[] IrCommands {get { return _port.IrFileCommands; }} public GenericIrController(string key, string name, IrOutputPortController irPort) : base(key, name) { _port = irPort; - if(_port.UseBridgeJoinMap) BridgeJoins = new Dictionary(); - if (_port == null) { Debug.Console(0, this, Debug.ErrorLogLevel.Error, "IR Port is null, device will not function"); @@ -78,17 +74,75 @@ namespace PepperDash.Essentials.Core.Devices { Debug.Console(0, this, "Using new IR bridge join map"); - var joins = BridgeJoins.Where((kv) => _port.IrFileCommands.Any(cmd => cmd == kv.Key)).ToDictionary(kv => kv.Key, kv=> kv.Value); - foreach (var join in joins) - { - Debug.Console(0, this, "_useBridgeJoinMap: {0}: {1}", join.Key, join.Value); - } - //joinMap.Joins = joins.Select(kv => kv.Value.SetJoinOffset(joinStart)).ToString(); + var bridgeJoins = joinMap.Joins.Where((kv) => _port.IrFileCommands.Any(cmd => cmd == kv.Key)).ToDictionary(kv => kv.Key); + if (bridgeJoins == null) + { + Debug.Console(0, this, Debug.ErrorLogLevel.Error, "Failed to link new IR bridge join map"); + return; + } + foreach (var bridgeJoin in bridgeJoins) + { + Debug.Console(0, this, @"bridgeJoin: Key-'{0}' +Value.Key-'{1}' +Value.JoinNumber-'{2}' +Value.Metadata.Description-'{3}'", + bridgeJoin.Key, + bridgeJoin.Value.Key, + bridgeJoin.Value.Value.JoinNumber, + bridgeJoin.Value.Value.Metadata.Description); + + var joinNumber = bridgeJoin.Value.Value.JoinNumber; + var joinCmd = bridgeJoin.Key; + + trilist.SetBoolSigAction(joinNumber, (b) => Press(joinCmd, b)); + } + + //foreach (var irFileCommand in _port.IrFileCommands) + //{ + // var cmd = irFileCommand; + // JoinDataComplete joinDataComplete; + // if (joinMap.Joins.TryGetValue(cmd, out joinDataComplete)) + // { + // Debug.Console(0, this, "joinDataComplete: attributeName-'{0}', joinNumber-'{1}', joinSpan-'{2}', metadata.description-'{3}'", + // joinDataComplete.AttributeName, joinDataComplete.JoinNumber, joinDataComplete.JoinSpan, joinDataComplete.Metadata.Description); + + // trilist.SetBoolSigAction(joinDataComplete.JoinNumber, (b) => Press(cmd, b)); + // } + // else + // { + // Debug.Console(0, this, "GenericIrController join map does not contain support for IR command '{0}', verify IR file.", cmd); + // } + + + + + // //if (joinMap.Joins.ContainsKey(cmd)) + // //{ + // // Debug.Console(0, this, "joinData: key-'{0}', joinNumber-'{1}', joinSpan-'{2}', description-'{3}'", + // // joinData.Key, joinData.Value.JoinNumber, joinData.Value.JoinSpan, joinData.Value.Metadata.Description); + // //} + + // //Debug.Console(0, this, "_port.IrFileCommand: {0}", irFileCommand); + // //var joinData = joinMap.Joins.FirstOrDefault(j => j.Key == cmd); + + // //if (joinData.Value == null) continue; + + // //joinData.Value.SetJoinOffset(joinStart); + + // //Debug.Console(0, this, "joinData: key-'{0}', joinNumber-'{1}', joinSpan-'{2}', description-'{3}'", + // // joinData.Key, joinData.Value.JoinNumber, joinData.Value.JoinSpan, joinData.Value.Metadata.Description); + + // //joinMap.Joins.Add(joinData.Key, joinData.Value); + + // //trilist.SetBoolSigAction(joinData.Value.JoinNumber, (b) => Press(joinData.Key, b)); + //} } else { Debug.Console(0, this, "Using legacy IR join mapping based on available IR commands"); + joinMap.Joins.Clear(); + for (uint i = 0; i < _port.IrFileCommands.Length; i++) { var cmd = _port.IrFileCommands[i]; diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IrOutputPortController.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IrOutputPortController.cs index 5ce7a779..a20f06aa 100644 --- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IrOutputPortController.cs +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IrOutputPortController.cs @@ -55,24 +55,23 @@ namespace PepperDash.Essentials.Core : base(key) { DriverLoaded = new BoolFeedback(() => DriverIsLoaded); + UseBridgeJoinMap = config.Properties["control"].Value("useBridgeJoinMap"); AddPostActivationAction(() => { - IrPort = postActivationFunc(config); + IrPort = postActivationFunc(config); if (IrPort == null) { Debug.Console(0, this, "WARNING No valid IR Port assigned to controller. IR will not function"); return; } - - UseBridgeJoinMap = config.Properties["control"]["useBridgeJoinMap"].Value(); var filePath = Global.FilePathPrefix + "ir" + Global.DirectorySeparator + config.Properties["control"]["irFile"].Value(); Debug.Console(1, "*************Attempting to load IR file: {0}***************", filePath); LoadDriver(filePath); - - PrintAvailableCommands(); + + if(!UseBridgeJoinMap) PrintAvailableCommands(); }); } From 55af6a96f60e2c00c69e4c2c1f614f3c06cf40c7 Mon Sep 17 00:00:00 2001 From: jdevito Date: Sat, 7 Oct 2023 19:25:04 -0500 Subject: [PATCH 4/9] feat(wip): updates bridge join map descriptions Updated bridge join map descriptions to match the IR standard command name. --- .../JoinMaps/GenericIrControllerJoinMap.cs | 106 +++++++++--------- 1 file changed, 53 insertions(+), 53 deletions(-) diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/GenericIrControllerJoinMap.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/GenericIrControllerJoinMap.cs index 00257c9f..661ea460 100644 --- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/GenericIrControllerJoinMap.cs +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/GenericIrControllerJoinMap.cs @@ -13,7 +13,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Power Toggle", + Description = "POWER", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -27,7 +27,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Discrete Power On", + Description = "POWER_ON", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -41,7 +41,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Discrete Power Off", + Description = "POWER_OFF", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -55,7 +55,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Transport Play", + Description = "PLAY", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -69,7 +69,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Transport Play/Pause", + Description = "PLAY_PAUSE", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -83,7 +83,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Transport Stop", + Description = "STOP", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -97,7 +97,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Transport Pause", + Description = "PAUSE", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -111,7 +111,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Transport Forward Scan", + Description = "FSCAN", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -125,7 +125,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Transport Forward Search", + Description = "F_SRCH", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -139,7 +139,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Transport Forward Skip/Next", + Description = "F_SKIP", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -153,7 +153,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Transport Reverse Scan", + Description = "RSCAN", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -167,7 +167,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Transport Reverse Search", + Description = "R_SRCH", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -181,7 +181,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Transport Reverse Skip/Previous", + Description = "R_SKIP", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -195,7 +195,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Transport Track +", + Description = "TRACK+", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -209,7 +209,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Transport Track -", + Description = "TRACK-", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -224,7 +224,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Keypad 0", + Description = "0", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -238,7 +238,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Keypad 1", + Description = "1", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -252,7 +252,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Keypad 2", + Description = "2", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -266,7 +266,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Keypad 3", + Description = "3", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -280,7 +280,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Keypad 4", + Description = "4", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -294,7 +294,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Keypad 5", + Description = "5", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -308,7 +308,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Keypad 6", + Description = "6", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -322,7 +322,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Keypad 7", + Description = "7", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -336,7 +336,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Keypad 8", + Description = "8", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -350,7 +350,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Keypad 9", + Description = "9", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -364,7 +364,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Keypad #", + Description = "#", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -378,7 +378,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Keypad Star", + Description = "*", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -392,7 +392,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Keypad A", + Description = "A", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -406,7 +406,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Keypad B", + Description = "B", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -420,7 +420,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Keypad C", + Description = "C", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -434,7 +434,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Keypad D", + Description = "D", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -448,7 +448,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Keypad Red", + Description = "RED", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -462,7 +462,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Keypad Green", + Description = "GREEN", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -476,7 +476,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Keypad Yellow", + Description = "YELLOW", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -490,7 +490,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Keypad Blue", + Description = "BLUE", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -505,7 +505,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Menu", + Description = "MENU", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -519,7 +519,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Guide", + Description = "GUIDE", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -533,7 +533,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Dvr", + Description = "DVR", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -547,7 +547,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Options", + Description = "OPTIONS", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -561,7 +561,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "On Demand", + Description = "ON_DEMAND", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -576,7 +576,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Dpad Up", + Description = "UP_ARROW", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -590,7 +590,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Dpad Down", + Description = "DN_ARROW", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -604,7 +604,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Dpad Left", + Description = "LEFT_ARROW", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -618,7 +618,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Dpad Right", + Description = "RIGHT_ARROW", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -632,7 +632,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Dpad Select", + Description = "SELECT", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -646,7 +646,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Return", + Description = "RETURN", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -660,7 +660,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Back", + Description = "BACK", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -674,7 +674,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Home", + Description = "HOME", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -688,7 +688,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Channel Up", + Description = "CH+", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -702,7 +702,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Channel Down", + Description = "CH-", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -716,7 +716,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Last", + Description = "LAST", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -730,7 +730,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Page Up", + Description = "PAGE_UP", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -744,7 +744,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "Page Down", + Description = "PAGE_DOWN", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); From ff04d49a1b30753c1915ed99242a713bf4c1d909 Mon Sep 17 00:00:00 2001 From: jdevito Date: Sat, 7 Oct 2023 19:26:14 -0500 Subject: [PATCH 5/9] fix: updates debug level and removes unused code --- .../Devices/GenericIRController.cs | 44 +------------------ 1 file changed, 2 insertions(+), 42 deletions(-) diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/GenericIRController.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/GenericIRController.cs index b7a25d47..d549948c 100644 --- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/GenericIRController.cs +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/GenericIRController.cs @@ -82,7 +82,7 @@ namespace PepperDash.Essentials.Core.Devices } foreach (var bridgeJoin in bridgeJoins) { - Debug.Console(0, this, @"bridgeJoin: Key-'{0}' + Debug.Console(2, this, @"bridgeJoin: Key-'{0}' Value.Key-'{1}' Value.JoinNumber-'{2}' Value.Metadata.Description-'{3}'", @@ -95,47 +95,7 @@ Value.Metadata.Description-'{3}'", var joinCmd = bridgeJoin.Key; trilist.SetBoolSigAction(joinNumber, (b) => Press(joinCmd, b)); - } - - //foreach (var irFileCommand in _port.IrFileCommands) - //{ - // var cmd = irFileCommand; - // JoinDataComplete joinDataComplete; - // if (joinMap.Joins.TryGetValue(cmd, out joinDataComplete)) - // { - // Debug.Console(0, this, "joinDataComplete: attributeName-'{0}', joinNumber-'{1}', joinSpan-'{2}', metadata.description-'{3}'", - // joinDataComplete.AttributeName, joinDataComplete.JoinNumber, joinDataComplete.JoinSpan, joinDataComplete.Metadata.Description); - - // trilist.SetBoolSigAction(joinDataComplete.JoinNumber, (b) => Press(cmd, b)); - // } - // else - // { - // Debug.Console(0, this, "GenericIrController join map does not contain support for IR command '{0}', verify IR file.", cmd); - // } - - - - - // //if (joinMap.Joins.ContainsKey(cmd)) - // //{ - // // Debug.Console(0, this, "joinData: key-'{0}', joinNumber-'{1}', joinSpan-'{2}', description-'{3}'", - // // joinData.Key, joinData.Value.JoinNumber, joinData.Value.JoinSpan, joinData.Value.Metadata.Description); - // //} - - // //Debug.Console(0, this, "_port.IrFileCommand: {0}", irFileCommand); - // //var joinData = joinMap.Joins.FirstOrDefault(j => j.Key == cmd); - - // //if (joinData.Value == null) continue; - - // //joinData.Value.SetJoinOffset(joinStart); - - // //Debug.Console(0, this, "joinData: key-'{0}', joinNumber-'{1}', joinSpan-'{2}', description-'{3}'", - // // joinData.Key, joinData.Value.JoinNumber, joinData.Value.JoinSpan, joinData.Value.Metadata.Description); - - // //joinMap.Joins.Add(joinData.Key, joinData.Value); - - // //trilist.SetBoolSigAction(joinData.Value.JoinNumber, (b) => Press(joinData.Key, b)); - //} + } } else { From 8b3bc523d21a66c91364fd539a060d12fc863e91 Mon Sep 17 00:00:00 2001 From: jdevito Date: Sat, 7 Oct 2023 19:39:58 -0500 Subject: [PATCH 6/9] fix: removes `if` blocking PrintAvailableCommands --- .../PepperDashEssentialsBase/Devices/IrOutputPortController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IrOutputPortController.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IrOutputPortController.cs index a20f06aa..d404b3ea 100644 --- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IrOutputPortController.cs +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IrOutputPortController.cs @@ -71,7 +71,7 @@ namespace PepperDash.Essentials.Core LoadDriver(filePath); - if(!UseBridgeJoinMap) PrintAvailableCommands(); + PrintAvailableCommands(); }); } From 5a5e24a92131a193e3f3741d12d01ad9fc2742d8 Mon Sep 17 00:00:00 2001 From: jdevito Date: Sat, 7 Oct 2023 19:54:56 -0500 Subject: [PATCH 7/9] fix: clears joinMap.Joins and rebuilds with matching IR commands of the file loaded --- .../Devices/GenericIRController.cs | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/GenericIRController.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/GenericIRController.cs index d549948c..df76b726 100644 --- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/GenericIRController.cs +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/GenericIRController.cs @@ -80,21 +80,29 @@ namespace PepperDash.Essentials.Core.Devices Debug.Console(0, this, Debug.ErrorLogLevel.Error, "Failed to link new IR bridge join map"); return; } + + joinMap.Joins.Clear(); + foreach (var bridgeJoin in bridgeJoins) { + var key = bridgeJoin.Key; + var joinDataKey = bridgeJoin.Value.Key; + var joinDataValue = bridgeJoin.Value.Value; + var joinNumber = bridgeJoin.Value.Value.JoinNumber; + Debug.Console(2, this, @"bridgeJoin: Key-'{0}' Value.Key-'{1}' Value.JoinNumber-'{2}' Value.Metadata.Description-'{3}'", - bridgeJoin.Key, - bridgeJoin.Value.Key, - bridgeJoin.Value.Value.JoinNumber, - bridgeJoin.Value.Value.Metadata.Description); + key, + joinDataKey, + joinNumber, + joinDataValue.Metadata.Description); - var joinNumber = bridgeJoin.Value.Value.JoinNumber; - var joinCmd = bridgeJoin.Key; - trilist.SetBoolSigAction(joinNumber, (b) => Press(joinCmd, b)); + joinMap.Joins.Add(key, joinDataValue); + + trilist.SetBoolSigAction(joinNumber, (b) => Press(key, b)); } } else From 922119fdd6101bcebfa893f29fc9ad86282c5e59 Mon Sep 17 00:00:00 2001 From: Jason DeVito Date: Sat, 14 Oct 2023 22:20:11 -0500 Subject: [PATCH 8/9] refactor: updated IR joins. --- .../JoinMaps/GenericIrControllerJoinMap.cs | 608 ++++++++++-------- 1 file changed, 343 insertions(+), 265 deletions(-) diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/GenericIrControllerJoinMap.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/GenericIrControllerJoinMap.cs index 661ea460..a4a90a01 100644 --- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/GenericIrControllerJoinMap.cs +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/GenericIrControllerJoinMap.cs @@ -4,53 +4,11 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps { public sealed class GenericIrControllerJoinMap : JoinMapBaseAdvanced { - [JoinName("POWER")] - public JoinDataComplete Power = new JoinDataComplete( - new JoinData - { - JoinNumber = 1, - JoinSpan = 1 - }, - new JoinMetadata - { - Description = "POWER", - JoinCapabilities = eJoinCapabilities.FromSIMPL, - JoinType = eJoinType.Digital - }); - - [JoinName("POWER_ON")] - public JoinDataComplete PowerOn = new JoinDataComplete( - new JoinData - { - JoinNumber = 2, - JoinSpan = 1 - }, - new JoinMetadata - { - Description = "POWER_ON", - JoinCapabilities = eJoinCapabilities.FromSIMPL, - JoinType = eJoinType.Digital - }); - - [JoinName("POWER_OFF")] - public JoinDataComplete PowerOff = new JoinDataComplete( - new JoinData - { - JoinNumber = 3, - JoinSpan = 1 - }, - new JoinMetadata - { - Description = "POWER_OFF", - JoinCapabilities = eJoinCapabilities.FromSIMPL, - JoinType = eJoinType.Digital - }); - [JoinName("PLAY")] public JoinDataComplete Play = new JoinDataComplete( new JoinData { - JoinNumber = 4, + JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata @@ -60,25 +18,11 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); - [JoinName("PLAY_PAUSE")] - public JoinDataComplete PlayPause = new JoinDataComplete( - new JoinData - { - JoinNumber = 5, - JoinSpan = 1 - }, - new JoinMetadata - { - Description = "PLAY_PAUSE", - JoinCapabilities = eJoinCapabilities.FromSIMPL, - JoinType = eJoinType.Digital - }); - [JoinName("STOP")] public JoinDataComplete Stop = new JoinDataComplete( new JoinData { - JoinNumber = 6, + JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata @@ -92,7 +36,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps public JoinDataComplete Pause = new JoinDataComplete( new JoinData { - JoinNumber = 7, + JoinNumber = 3, JoinSpan = 1 }, new JoinMetadata @@ -106,7 +50,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps public JoinDataComplete ForwardScan = new JoinDataComplete( new JoinData { - JoinNumber = 9, + JoinNumber = 4, JoinSpan = 1 }, new JoinMetadata @@ -115,40 +59,12 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - - [JoinName("F_SRCH")] - public JoinDataComplete ForwardSearch = new JoinDataComplete( - new JoinData - { - JoinNumber = 10, - JoinSpan = 1 - }, - new JoinMetadata - { - Description = "F_SRCH", - JoinCapabilities = eJoinCapabilities.FromSIMPL, - JoinType = eJoinType.Digital - }); - - [JoinName("F_SKIP")] - public JoinDataComplete ForwardSkip = new JoinDataComplete( - new JoinData - { - JoinNumber = 11, - JoinSpan = 1 - }, - new JoinMetadata - { - Description = "F_SKIP", - JoinCapabilities = eJoinCapabilities.FromSIMPL, - JoinType = eJoinType.Digital - }); - + [JoinName("RSCAN")] public JoinDataComplete ReverseScan = new JoinDataComplete( new JoinData { - JoinNumber = 12, + JoinNumber = 5, JoinSpan = 1 }, new JoinMetadata @@ -158,25 +74,25 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); - [JoinName("R_SRCH")] - public JoinDataComplete ReverseSearch = new JoinDataComplete( + [JoinName("F_SKIP")] + public JoinDataComplete ForwardSkip = new JoinDataComplete( new JoinData { - JoinNumber = 13, + JoinNumber = 6, JoinSpan = 1 }, new JoinMetadata { - Description = "R_SRCH", + Description = "F_SKIP", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + [JoinName("R_SKIP")] public JoinDataComplete ReverseSkip = new JoinDataComplete( new JoinData { - JoinNumber = 14, + JoinNumber = 7, JoinSpan = 1 }, new JoinMetadata @@ -186,40 +102,39 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); - [JoinName("TRACK+")] - public JoinDataComplete TrackPlus = new JoinDataComplete( + [JoinName("RECORD")] + public JoinDataComplete ForwardSearch = new JoinDataComplete( new JoinData { - JoinNumber = 15, + JoinNumber = 8, JoinSpan = 1 }, new JoinMetadata { - Description = "TRACK+", - JoinCapabilities = eJoinCapabilities.FromSIMPL, - JoinType = eJoinType.Digital - }); - - [JoinName("TRACK-")] - public JoinDataComplete TrackMinus = new JoinDataComplete( - new JoinData - { - JoinNumber = 16, - JoinSpan = 1 - }, - new JoinMetadata - { - Description = "TRACK-", + Description = "RECORD", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("POWER")] + public JoinDataComplete Power = new JoinDataComplete( + new JoinData + { + JoinNumber = 9, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "POWER", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - [JoinName("0")] public JoinDataComplete Kp0 = new JoinDataComplete( new JoinData { - JoinNumber = 20, + JoinNumber = 10, JoinSpan = 1 }, new JoinMetadata @@ -233,7 +148,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps public JoinDataComplete Kp1 = new JoinDataComplete( new JoinData { - JoinNumber = 21, + JoinNumber = 11, JoinSpan = 1 }, new JoinMetadata @@ -247,7 +162,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps public JoinDataComplete Kp2 = new JoinDataComplete( new JoinData { - JoinNumber = 22, + JoinNumber = 12, JoinSpan = 1 }, new JoinMetadata @@ -261,7 +176,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps public JoinDataComplete Kp3 = new JoinDataComplete( new JoinData { - JoinNumber = 23, + JoinNumber = 13, JoinSpan = 1 }, new JoinMetadata @@ -275,7 +190,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps public JoinDataComplete Kp4 = new JoinDataComplete( new JoinData { - JoinNumber = 24, + JoinNumber = 14, JoinSpan = 1 }, new JoinMetadata @@ -289,7 +204,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps public JoinDataComplete Kp5 = new JoinDataComplete( new JoinData { - JoinNumber = 25, + JoinNumber = 15, JoinSpan = 1 }, new JoinMetadata @@ -303,7 +218,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps public JoinDataComplete Kp6 = new JoinDataComplete( new JoinData { - JoinNumber = 26, + JoinNumber = 16, JoinSpan = 1 }, new JoinMetadata @@ -317,7 +232,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps public JoinDataComplete Kp7 = new JoinDataComplete( new JoinData { - JoinNumber = 27, + JoinNumber = 17, JoinSpan = 1 }, new JoinMetadata @@ -331,7 +246,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps public JoinDataComplete Kp8 = new JoinDataComplete( new JoinData { - JoinNumber = 28, + JoinNumber = 18, JoinSpan = 1 }, new JoinMetadata @@ -345,7 +260,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps public JoinDataComplete Kp9 = new JoinDataComplete( new JoinData { - JoinNumber = 29, + JoinNumber = 19, JoinSpan = 1 }, new JoinMetadata @@ -355,25 +270,67 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); - [JoinName("#")] - public JoinDataComplete KpPound = new JoinDataComplete( + // [JoinName("+10")] + // public JoinDataComplete Kp9 = new JoinDataComplete( + // new JoinData + // { + // JoinNumber = 20, + // JoinSpan = 1 + // }, + // new JoinMetadata + // { + // Description = "+10", + // JoinCapabilities = eJoinCapabilities.FromSIMPL, + // JoinType = eJoinType.Digital + // }); + + [JoinName("ENTER")] + public JoinDataComplete ChannelUp = new JoinDataComplete( new JoinData { - JoinNumber = 30, + JoinNumber = 21, JoinSpan = 1 }, new JoinMetadata { - Description = "#", + Description = "ENTER", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + [JoinName("CH+")] + public JoinDataComplete ChannelUp = new JoinDataComplete( + new JoinData + { + JoinNumber = 22, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "CH+", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("CH-")] + public JoinDataComplete ChannelDown = new JoinDataComplete( + new JoinData + { + JoinNumber = 23, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "CH-", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + [JoinName("*")] public JoinDataComplete KpStar = new JoinDataComplete( new JoinData { - JoinNumber = 31, + JoinNumber = 24, JoinSpan = 1 }, new JoinMetadata @@ -383,121 +340,106 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); - [JoinName("A")] - public JoinDataComplete KpA = new JoinDataComplete( + [JoinName("#")] + public JoinDataComplete KpPound = new JoinDataComplete( new JoinData { - JoinNumber = 32, + JoinNumber = 25, JoinSpan = 1 }, new JoinMetadata { - Description = "A", + Description = "#", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - [JoinName("B")] - public JoinDataComplete KpB = new JoinDataComplete( + // [JoinName(".")] + // public JoinDataComplete KpPound = new JoinDataComplete( + // new JoinData + // { + // JoinNumber = 26, + // JoinSpan = 1 + // }, + // new JoinMetadata + // { + // Description = ".", + // JoinCapabilities = eJoinCapabilities.FromSIMPL, + // JoinType = eJoinType.Digital + // }); + + [JoinName("POWER_ON")] + public JoinDataComplete PowerOn = new JoinDataComplete( new JoinData { - JoinNumber = 33, + JoinNumber = 27, JoinSpan = 1 }, new JoinMetadata { - Description = "B", + Description = "POWER_ON", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - [JoinName("C")] - public JoinDataComplete KpC = new JoinDataComplete( + [JoinName("POWER_OFF")] + public JoinDataComplete PowerOff = new JoinDataComplete( new JoinData { - JoinNumber = 34, + JoinNumber = 28, JoinSpan = 1 }, new JoinMetadata { - Description = "C", + Description = "POWER_OFF", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - [JoinName("D")] - public JoinDataComplete KpD = new JoinDataComplete( + [JoinName("PLAY_PAUSE")] + public JoinDataComplete PlayPause = new JoinDataComplete( new JoinData { - JoinNumber = 35, + JoinNumber = 29, JoinSpan = 1 }, new JoinMetadata { - Description = "D", + Description = "PLAY_PAUSE", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - [JoinName("RED")] - public JoinDataComplete KpRed = new JoinDataComplete( + [JoinName("LAST")] + public JoinDataComplete Last = new JoinDataComplete( new JoinData { - JoinNumber = 36, + JoinNumber = 30, JoinSpan = 1 }, new JoinMetadata { - Description = "RED", + Description = "LAST", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - - [JoinName("GREEN")] - public JoinDataComplete KpGreen = new JoinDataComplete( + + [JoinName("HOME")] + public JoinDataComplete Home = new JoinDataComplete( new JoinData { - JoinNumber = 37, + JoinNumber = 40, JoinSpan = 1 }, new JoinMetadata { - Description = "GREEN", + Description = "HOME", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - - [JoinName("YELLOW")] - public JoinDataComplete KpYellow = new JoinDataComplete( - new JoinData - { - JoinNumber = 38, - JoinSpan = 1 - }, - new JoinMetadata - { - Description = "YELLOW", - JoinCapabilities = eJoinCapabilities.FromSIMPL, - JoinType = eJoinType.Digital - }); - - [JoinName("BLUE")] - public JoinDataComplete KpBlue = new JoinDataComplete( - new JoinData - { - JoinNumber = 39, - JoinSpan = 1 - }, - new JoinMetadata - { - Description = "BLUE", - JoinCapabilities = eJoinCapabilities.FromSIMPL, - JoinType = eJoinType.Digital - }); - - - [JoinName("MENU")] - public JoinDataComplete Menu = new JoinDataComplete( + + [JoinName("BACK")] + public JoinDataComplete Back = new JoinDataComplete( new JoinData { JoinNumber = 41, @@ -505,11 +447,12 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "MENU", + Description = "BACK", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + [JoinName("GUIDE")] public JoinDataComplete Guide = new JoinDataComplete( new JoinData @@ -524,8 +467,8 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); - [JoinName("DVR")] - public JoinDataComplete Dvr = new JoinDataComplete( + [JoinName("INFO")] + public JoinDataComplete Guide = new JoinDataComplete( new JoinData { JoinNumber = 43, @@ -533,13 +476,13 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "DVR", + Description = "INFO", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - [JoinName("OPTIONS")] - public JoinDataComplete Options = new JoinDataComplete( + [JoinName("MENU")] + public JoinDataComplete Menu = new JoinDataComplete( new JoinData { JoinNumber = 44, @@ -547,31 +490,16 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "OPTIONS", + Description = "MENU", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - [JoinName("ON_DEMAND")] - public JoinDataComplete OnDemand = new JoinDataComplete( - new JoinData - { - JoinNumber = 45, - JoinSpan = 1 - }, - new JoinMetadata - { - Description = "ON_DEMAND", - JoinCapabilities = eJoinCapabilities.FromSIMPL, - JoinType = eJoinType.Digital - }); - - [JoinName("UP_ARROW")] public JoinDataComplete DpadUp = new JoinDataComplete( new JoinData { - JoinNumber = 46, + JoinNumber = 45, JoinSpan = 1 }, new JoinMetadata @@ -585,7 +513,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps public JoinDataComplete DpadDown = new JoinDataComplete( new JoinData { - JoinNumber = 47, + JoinNumber = 46, JoinSpan = 1 }, new JoinMetadata @@ -599,7 +527,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps public JoinDataComplete DpadLeft = new JoinDataComplete( new JoinData { - JoinNumber = 48, + JoinNumber = 47, JoinSpan = 1 }, new JoinMetadata @@ -613,7 +541,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps public JoinDataComplete DpadRight = new JoinDataComplete( new JoinData { - JoinNumber = 49, + JoinNumber = 48, JoinSpan = 1 }, new JoinMetadata @@ -627,7 +555,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps public JoinDataComplete DpadSelect = new JoinDataComplete( new JoinData { - JoinNumber = 50, + JoinNumber = 49, JoinSpan = 1 }, new JoinMetadata @@ -637,6 +565,20 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + [JoinName("OPTIONS")] + public JoinDataComplete Options = new JoinDataComplete( + new JoinData + { + JoinNumber = 50, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "OPTIONS", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + [JoinName("RETURN")] public JoinDataComplete Return = new JoinDataComplete( new JoinData @@ -650,9 +592,9 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - - [JoinName("BACK")] - public JoinDataComplete Back = new JoinDataComplete( + + [JoinName("DVR")] + public JoinDataComplete Dvr = new JoinDataComplete( new JoinData { JoinNumber = 52, @@ -660,13 +602,14 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "BACK", + Description = "DVR", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + - [JoinName("HOME")] - public JoinDataComplete Home = new JoinDataComplete( + [JoinName("ON_DEMAND")] + public JoinDataComplete OnDemand = new JoinDataComplete( new JoinData { JoinNumber = 53, @@ -674,58 +617,17 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }, new JoinMetadata { - Description = "HOME", - JoinCapabilities = eJoinCapabilities.FromSIMPL, - JoinType = eJoinType.Digital - }); - - [JoinName("CH+")] - public JoinDataComplete ChannelUp = new JoinDataComplete( - new JoinData - { - JoinNumber = 54, - JoinSpan = 1 - }, - new JoinMetadata - { - Description = "CH+", - JoinCapabilities = eJoinCapabilities.FromSIMPL, - JoinType = eJoinType.Digital - }); - - [JoinName("CH-")] - public JoinDataComplete ChannelDown = new JoinDataComplete( - new JoinData - { - JoinNumber = 55, - JoinSpan = 1 - }, - new JoinMetadata - { - Description = "CH-", - JoinCapabilities = eJoinCapabilities.FromSIMPL, - JoinType = eJoinType.Digital - }); - - [JoinName("LAST")] - public JoinDataComplete Last = new JoinDataComplete( - new JoinData - { - JoinNumber = 56, - JoinSpan = 1 - }, - new JoinMetadata - { - Description = "LAST", + Description = "ON_DEMAND", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + [JoinName("PAGE_UP")] public JoinDataComplete PageUp = new JoinDataComplete( new JoinData { - JoinNumber = 57, + JoinNumber = 54, JoinSpan = 1 }, new JoinMetadata @@ -739,7 +641,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps public JoinDataComplete PageDown = new JoinDataComplete( new JoinData { - JoinNumber = 58, + JoinNumber = 55, JoinSpan = 1 }, new JoinMetadata @@ -749,6 +651,182 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + [JoinName("F_SRCH")] + public JoinDataComplete ForwardSearch = new JoinDataComplete( + new JoinData + { + JoinNumber = 56, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "F_SRCH", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("R_SRCH")] + public JoinDataComplete ReverseSearch = new JoinDataComplete( + new JoinData + { + JoinNumber = 57, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "R_SRCH", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("TRACK+")] + public JoinDataComplete TrackPlus = new JoinDataComplete( + new JoinData + { + JoinNumber = 58, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "TRACK+", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("TRACK-")] + public JoinDataComplete TrackMinus = new JoinDataComplete( + new JoinData + { + JoinNumber = 59, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "TRACK-", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + + + + + + + + + [JoinName("A")] + public JoinDataComplete KpA = new JoinDataComplete( + new JoinData + { + JoinNumber = 61, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "A", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("B")] + public JoinDataComplete KpB = new JoinDataComplete( + new JoinData + { + JoinNumber = 62, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "B", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("C")] + public JoinDataComplete KpC = new JoinDataComplete( + new JoinData + { + JoinNumber = 63, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "C", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("D")] + public JoinDataComplete KpD = new JoinDataComplete( + new JoinData + { + JoinNumber = 64, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "D", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("RED")] + public JoinDataComplete KpRed = new JoinDataComplete( + new JoinData + { + JoinNumber = 65, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "RED", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("GREEN")] + public JoinDataComplete KpGreen = new JoinDataComplete( + new JoinData + { + JoinNumber = 66, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "GREEN", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("YELLOW")] + public JoinDataComplete KpYellow = new JoinDataComplete( + new JoinData + { + JoinNumber = 67, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "YELLOW", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("BLUE")] + public JoinDataComplete KpBlue = new JoinDataComplete( + new JoinData + { + JoinNumber = 68, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "BLUE", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + public GenericIrControllerJoinMap(uint joinStart) : base(joinStart, typeof(GenericIrControllerJoinMap)) { From 4f64022623adc409184fc6cfbf57cfddfa59b374 Mon Sep 17 00:00:00 2001 From: jkdevito Date: Wed, 25 Oct 2023 17:25:14 -0500 Subject: [PATCH 9/9] fix: update duplicate joinMap prooperties causing build errors --- .../Bridges/JoinMaps/GenericIrControllerJoinMap.cs | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/GenericIrControllerJoinMap.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/GenericIrControllerJoinMap.cs index a4a90a01..288141bb 100644 --- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/GenericIrControllerJoinMap.cs +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/GenericIrControllerJoinMap.cs @@ -103,7 +103,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }); [JoinName("RECORD")] - public JoinDataComplete ForwardSearch = new JoinDataComplete( + public JoinDataComplete Record = new JoinDataComplete( new JoinData { JoinNumber = 8, @@ -285,7 +285,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps // }); [JoinName("ENTER")] - public JoinDataComplete ChannelUp = new JoinDataComplete( + public JoinDataComplete Enter = new JoinDataComplete( new JoinData { JoinNumber = 21, @@ -468,7 +468,7 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps }); [JoinName("INFO")] - public JoinDataComplete Guide = new JoinDataComplete( + public JoinDataComplete Info = new JoinDataComplete( new JoinData { JoinNumber = 43, @@ -706,14 +706,6 @@ namespace PepperDash_Essentials_Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - - - - - - - - [JoinName("A")] public JoinDataComplete KpA = new JoinDataComplete(