mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-01-24 09:54:58 +00:00
Compare commits
3 Commits
1.15.3
...
1.15.3-alp
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a3561bc89b | ||
|
|
1a123ab6dc | ||
|
|
c0b0b35f6d |
@@ -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))
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -81,15 +81,6 @@ namespace PepperDash.Essentials.Core
|
||||
}
|
||||
case eControlMethod.Telnet:
|
||||
break;
|
||||
case eControlMethod.SecureTcpIp:
|
||||
{
|
||||
var secureTcp = new GenericSecureTcpIpClient(deviceConfig.Key + "-secureTcp", c.Address, c.Port, c.BufferSize);
|
||||
secureTcp.AutoReconnect = c.AutoReconnect;
|
||||
if (secureTcp.AutoReconnect)
|
||||
secureTcp.AutoReconnectIntervalMs = c.AutoReconnectIntervalMs;
|
||||
comm = secureTcp;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -224,12 +224,18 @@ namespace PepperDash.Essentials.Core
|
||||
/// </summary>
|
||||
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 = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
{
|
||||
@@ -19,12 +19,11 @@ namespace PepperDash.Essentials.Core.Devices
|
||||
|
||||
private readonly IrOutputPortController _port;
|
||||
|
||||
public string[] IrCommands {get { return _port.IrFileCommands; }}
|
||||
public string[] IrCommands {get { return _port.IrFileCommands; }}
|
||||
|
||||
public GenericIrController(string key, string name, IrOutputPortController irPort) : base(key, name)
|
||||
{
|
||||
_port = irPort;
|
||||
|
||||
if (_port == null)
|
||||
{
|
||||
Debug.Console(0, this, Debug.ErrorLogLevel.Error, "IR Port is null, device will not function");
|
||||
@@ -71,23 +70,97 @@ namespace PepperDash.Essentials.Core.Devices
|
||||
if (!string.IsNullOrEmpty(joinMapSerialized))
|
||||
joinMap = JsonConvert.DeserializeObject<GenericIrControllerJoinMap>(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 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);
|
||||
|
||||
joinMap.Joins.Add(cmd,joinData);
|
||||
var joinNumber = bridgeJoin.Value.Value.JoinNumber;
|
||||
var joinCmd = bridgeJoin.Key;
|
||||
|
||||
trilist.SetBoolSigAction(joinData.JoinNumber, (b) => Press(cmd, b));
|
||||
}
|
||||
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];
|
||||
var joinData = new JoinDataComplete(new JoinData { JoinNumber = i, JoinSpan = 1 },
|
||||
new JoinMetadata
|
||||
{
|
||||
Description = cmd,
|
||||
JoinCapabilities = eJoinCapabilities.FromSIMPL,
|
||||
JoinType = eJoinType.Digital
|
||||
});
|
||||
|
||||
joinData.SetJoinOffset(joinStart);
|
||||
|
||||
joinMap.Joins.Add(cmd, joinData);
|
||||
|
||||
trilist.SetBoolSigAction(joinData.JoinNumber, (b) => Press(cmd, b));
|
||||
}
|
||||
}
|
||||
|
||||
joinMap.PrintJoinMapInfo();
|
||||
|
||||
@@ -109,13 +182,6 @@ namespace PepperDash.Essentials.Core.Devices
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class GenericIrControllerJoinMap : JoinMapBaseAdvanced
|
||||
{
|
||||
public GenericIrControllerJoinMap(uint joinStart) : base(joinStart)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public class GenericIrControllerFactory : EssentialsDeviceFactory<GenericIrController>
|
||||
{
|
||||
public GenericIrControllerFactory()
|
||||
|
||||
@@ -29,6 +29,8 @@ namespace PepperDash.Essentials.Core
|
||||
|
||||
public string[] IrFileCommands { get { return IrPort.AvailableStandardIRCmds(IrPortUid); } }
|
||||
|
||||
public bool UseBridgeJoinMap { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Constructor for IrDevice base class. If a null port is provided, this class will
|
||||
/// still function without trying to talk to a port.
|
||||
@@ -53,9 +55,10 @@ namespace PepperDash.Essentials.Core
|
||||
: base(key)
|
||||
{
|
||||
DriverLoaded = new BoolFeedback(() => DriverIsLoaded);
|
||||
UseBridgeJoinMap = config.Properties["control"].Value<bool>("useBridgeJoinMap");
|
||||
AddPostActivationAction(() =>
|
||||
{
|
||||
IrPort = postActivationFunc(config);
|
||||
IrPort = postActivationFunc(config);
|
||||
|
||||
if (IrPort == null)
|
||||
{
|
||||
@@ -67,8 +70,8 @@ namespace PepperDash.Essentials.Core
|
||||
Debug.Console(1, "*************Attempting to load IR file: {0}***************", filePath);
|
||||
|
||||
LoadDriver(filePath);
|
||||
|
||||
PrintAvailableCommands();
|
||||
|
||||
if(!UseBridgeJoinMap) PrintAvailableCommands();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -127,6 +127,7 @@
|
||||
<Compile Include="Bridges\IBridge.cs" />
|
||||
<Compile Include="Bridges\JoinMaps\AirMediaControllerJoinMap.cs" />
|
||||
<Compile Include="Bridges\JoinMaps\AppleTvJoinMap.cs" />
|
||||
<Compile Include="Bridges\JoinMaps\GenericIrControllerJoinMap.cs" />
|
||||
<Compile Include="Bridges\JoinMaps\IAnalogInputJoinMap.cs" />
|
||||
<Compile Include="Bridges\JoinMaps\IDigitalOutputJoinMap.cs" />
|
||||
<Compile Include="Bridges\JoinMaps\PduJoinMapBase.cs" />
|
||||
|
||||
Reference in New Issue
Block a user