mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-15 12:44:58 +00:00
Merged in feature/ecs-1145 (pull request #31)
Feature/ecs 1145 Approved-by: Neil Dorin <ndorin@pepperdash.com>
This commit is contained in:
@@ -25,9 +25,9 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
joinMap.OffsetJoinNumbers(joinStart);
|
joinMap.OffsetJoinNumbers(joinStart);
|
||||||
|
|
||||||
Debug.Console(1, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
Debug.Console(1, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
||||||
Debug.Console(0, "Linking to Bridge Type {0}", airMedia.GetType().Name.ToString());
|
Debug.Console(0, "Linking to Airmedia: {0}", airMedia.Name);
|
||||||
|
|
||||||
trilist.StringInput[joinMap.Name].StringValue = airMedia.GetType().Name.ToString();
|
trilist.StringInput[joinMap.Name].StringValue = airMedia.Name;
|
||||||
|
|
||||||
var commMonitor = airMedia as ICommunicationMonitor;
|
var commMonitor = airMedia as ICommunicationMonitor;
|
||||||
if (commMonitor != null)
|
if (commMonitor != null)
|
||||||
@@ -55,68 +55,5 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
airMedia.HostnameFeedback.LinkInputSig(trilist.StringInput[joinMap.HostnameFB]);
|
airMedia.HostnameFeedback.LinkInputSig(trilist.StringInput[joinMap.HostnameFB]);
|
||||||
airMedia.SerialNumberFeedback.LinkInputSig(trilist.StringInput[joinMap.SerialNumberFeedback]);
|
airMedia.SerialNumberFeedback.LinkInputSig(trilist.StringInput[joinMap.SerialNumberFeedback]);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
|
||||||
public class AirMediaControllerJoinMap : JoinMapBase
|
|
||||||
{
|
|
||||||
// Digital
|
|
||||||
public uint IsOnline { get; set; }
|
|
||||||
public uint IsInSession { get; set; }
|
|
||||||
public uint HdmiVideoSync { get; set; }
|
|
||||||
public uint AutomaticInputRoutingEnabled { get; set; }
|
|
||||||
|
|
||||||
// Analog
|
|
||||||
public uint VideoOut { get; set; }
|
|
||||||
public uint ErrorFB { get; set; }
|
|
||||||
public uint NumberOfUsersConnectedFB { get; set; }
|
|
||||||
public uint LoginCode { get; set; }
|
|
||||||
|
|
||||||
// Serial
|
|
||||||
public uint Name { get; set; }
|
|
||||||
public uint ConnectionAddressFB { get; set; }
|
|
||||||
public uint HostnameFB { get; set; }
|
|
||||||
public uint SerialNumberFeedback { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
public AirMediaControllerJoinMap()
|
|
||||||
{
|
|
||||||
// Digital
|
|
||||||
IsOnline = 1;
|
|
||||||
IsInSession = 2;
|
|
||||||
HdmiVideoSync = 3;
|
|
||||||
AutomaticInputRoutingEnabled = 4;
|
|
||||||
|
|
||||||
// Analog
|
|
||||||
VideoOut = 1;
|
|
||||||
ErrorFB = 2;
|
|
||||||
NumberOfUsersConnectedFB = 3;
|
|
||||||
LoginCode = 4;
|
|
||||||
|
|
||||||
// Serial
|
|
||||||
Name = 1;
|
|
||||||
ConnectionAddressFB = 2;
|
|
||||||
HostnameFB = 3;
|
|
||||||
SerialNumberFeedback = 4;
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void OffsetJoinNumbers(uint joinStart)
|
|
||||||
{
|
|
||||||
var joinOffset = joinStart - 1;
|
|
||||||
|
|
||||||
IsOnline = IsOnline + joinOffset;
|
|
||||||
IsInSession = IsInSession + joinOffset;
|
|
||||||
HdmiVideoSync = HdmiVideoSync + joinOffset;
|
|
||||||
AutomaticInputRoutingEnabled = AutomaticInputRoutingEnabled + joinOffset;
|
|
||||||
|
|
||||||
VideoOut = VideoOut + joinOffset;
|
|
||||||
ErrorFB = ErrorFB + joinOffset;
|
|
||||||
NumberOfUsersConnectedFB = NumberOfUsersConnectedFB + joinOffset;
|
|
||||||
LoginCode = LoginCode + joinOffset;
|
|
||||||
|
|
||||||
Name = Name + joinOffset;
|
|
||||||
ConnectionAddressFB = ConnectionAddressFB + joinOffset;
|
|
||||||
HostnameFB = HostnameFB + joinOffset;
|
|
||||||
SerialNumberFeedback = SerialNumberFeedback + joinOffset;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -36,40 +36,4 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
trilist.SetBoolSigAction(joinMap.PlayPause, (b) => appleTv.Play(b));
|
trilist.SetBoolSigAction(joinMap.PlayPause, (b) => appleTv.Play(b));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class AppleTvJoinMap : JoinMapBase
|
|
||||||
{
|
|
||||||
// Digital
|
|
||||||
public uint UpArrow { get; set; }
|
|
||||||
public uint DnArrow { get; set; }
|
|
||||||
public uint LeftArrow { get; set; }
|
|
||||||
public uint RightArrow { get; set; }
|
|
||||||
public uint Menu { get; set; }
|
|
||||||
public uint Select { get; set; }
|
|
||||||
public uint PlayPause { get; set; }
|
|
||||||
|
|
||||||
public AppleTvJoinMap()
|
|
||||||
{
|
|
||||||
UpArrow = 1;
|
|
||||||
DnArrow = 2;
|
|
||||||
LeftArrow = 3;
|
|
||||||
RightArrow = 4;
|
|
||||||
Menu = 5;
|
|
||||||
Select = 6;
|
|
||||||
PlayPause = 7;
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void OffsetJoinNumbers(uint joinStart)
|
|
||||||
{
|
|
||||||
var joinOffset = joinStart - 1;
|
|
||||||
|
|
||||||
UpArrow = UpArrow + joinOffset;
|
|
||||||
DnArrow = DnArrow + joinOffset;
|
|
||||||
LeftArrow = LeftArrow + joinOffset;
|
|
||||||
RightArrow = RightArrow + joinOffset;
|
|
||||||
Menu = Menu + joinOffset;
|
|
||||||
Select = Select + joinOffset;
|
|
||||||
PlayPause = PlayPause + joinOffset;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -29,9 +29,9 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
joinMap.OffsetJoinNumbers(joinStart);
|
joinMap.OffsetJoinNumbers(joinStart);
|
||||||
|
|
||||||
Debug.Console(1, "Linking to Trilist '{0}'",trilist.ID.ToString("X"));
|
Debug.Console(1, "Linking to Trilist '{0}'",trilist.ID.ToString("X"));
|
||||||
Debug.Console(0, "Linking to Bridge Type {0}", displayDevice.GetType().Name.ToString());
|
Debug.Console(0, "Linking to Display: {0}", displayDevice.Name);
|
||||||
|
|
||||||
trilist.StringInput[joinMap.Name].StringValue = displayDevice.GetType().Name.ToString();
|
trilist.StringInput[joinMap.Name].StringValue = displayDevice.Name;
|
||||||
|
|
||||||
var commMonitor = displayDevice as ICommunicationMonitor;
|
var commMonitor = displayDevice as ICommunicationMonitor;
|
||||||
if (commMonitor != null)
|
if (commMonitor != null)
|
||||||
@@ -119,7 +119,8 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
var volumeDisplayWithFeedback = volumeDisplay as IBasicVolumeWithFeedback;
|
var volumeDisplayWithFeedback = volumeDisplay as IBasicVolumeWithFeedback;
|
||||||
if(volumeDisplayWithFeedback != null)
|
if(volumeDisplayWithFeedback != null)
|
||||||
{
|
{
|
||||||
volumeDisplayWithFeedback.VolumeLevelFeedback.LinkInputSig(trilist.UShortInput[joinMap.VolumeLevelFB]);
|
trilist.SetUShortSigAction(joinMap.VolumeLevel, new Action<ushort>((u) => volumeDisplayWithFeedback.SetVolume(u)));
|
||||||
|
volumeDisplayWithFeedback.VolumeLevelFeedback.LinkInputSig(trilist.UShortInput[joinMap.VolumeLevel]);
|
||||||
volumeDisplayWithFeedback.MuteFeedback.LinkInputSig(trilist.BooleanInput[joinMap.VolumeMute]);
|
volumeDisplayWithFeedback.MuteFeedback.LinkInputSig(trilist.BooleanInput[joinMap.VolumeMute]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -148,75 +149,6 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
InputNumberFeedback.FireUpdate();
|
InputNumberFeedback.FireUpdate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
public class DisplayControllerJoinMap : JoinMapBase
|
|
||||||
{
|
|
||||||
// Digital
|
|
||||||
public uint PowerOff { get; set; }
|
|
||||||
public uint PowerOn { get; set; }
|
|
||||||
public uint IsTwoWayDisplay { get; set; }
|
|
||||||
public uint VolumeUp { get; set; }
|
|
||||||
public uint VolumeDown { get; set; }
|
|
||||||
public uint VolumeMute { get; set; }
|
|
||||||
public uint InputSelectOffset { get; set; }
|
|
||||||
public uint ButtonVisibilityOffset { get; set; }
|
|
||||||
public uint IsOnline { get; set; }
|
|
||||||
|
|
||||||
// Analog
|
|
||||||
public uint InputSelect { get; set; }
|
|
||||||
public uint VolumeLevelFB { get; set; }
|
|
||||||
|
|
||||||
// Serial
|
|
||||||
public uint Name { get; set; }
|
|
||||||
public uint InputNamesOffset { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
public DisplayControllerJoinMap()
|
|
||||||
{
|
|
||||||
// Digital
|
|
||||||
IsOnline = 50;
|
|
||||||
PowerOff = 1;
|
|
||||||
PowerOn = 2;
|
|
||||||
IsTwoWayDisplay = 3;
|
|
||||||
VolumeUp = 5;
|
|
||||||
VolumeDown = 6;
|
|
||||||
VolumeMute = 7;
|
|
||||||
|
|
||||||
ButtonVisibilityOffset = 40;
|
|
||||||
InputSelectOffset = 10;
|
|
||||||
|
|
||||||
// Analog
|
|
||||||
InputSelect = 11;
|
|
||||||
VolumeLevelFB = 5;
|
|
||||||
|
|
||||||
// Serial
|
|
||||||
Name = 1;
|
|
||||||
InputNamesOffset = 10;
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void OffsetJoinNumbers(uint joinStart)
|
|
||||||
{
|
|
||||||
var joinOffset = joinStart - 1;
|
|
||||||
|
|
||||||
IsOnline = IsOnline + joinOffset;
|
|
||||||
PowerOff = PowerOff + joinOffset;
|
|
||||||
PowerOn = PowerOn + joinOffset;
|
|
||||||
IsTwoWayDisplay = IsTwoWayDisplay + joinOffset;
|
|
||||||
ButtonVisibilityOffset = ButtonVisibilityOffset + joinOffset;
|
|
||||||
Name = Name + joinOffset;
|
|
||||||
InputNamesOffset = InputNamesOffset + joinOffset;
|
|
||||||
InputSelectOffset = InputSelectOffset + joinOffset;
|
|
||||||
|
|
||||||
InputSelect = InputSelect + joinOffset;
|
|
||||||
|
|
||||||
VolumeUp = VolumeUp + joinOffset;
|
|
||||||
VolumeDown = VolumeDown + joinOffset;
|
|
||||||
VolumeMute = VolumeMute + joinOffset;
|
|
||||||
VolumeLevelFB = VolumeLevelFB + joinOffset;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -14,7 +14,7 @@ using PepperDash.Essentials.DM;
|
|||||||
|
|
||||||
namespace PepperDash.Essentials.Bridges
|
namespace PepperDash.Essentials.Bridges
|
||||||
{
|
{
|
||||||
public static class DmChassisControllerApiExtentions
|
public static class DmChassisControllerApiExtentions
|
||||||
{
|
{
|
||||||
public static void LinkToApi(this DmChassisController dmChassis, BasicTriList trilist, uint joinStart, string joinMapKey)
|
public static void LinkToApi(this DmChassisController dmChassis, BasicTriList trilist, uint joinStart, string joinMapKey)
|
||||||
{
|
{
|
||||||
@@ -46,13 +46,13 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
trilist.SetUShortSigAction(joinMap.OutputUsb + ioSlot, new Action<ushort>(o => dmChassis.ExecuteSwitch(o, ioSlot, eRoutingSignalType.UsbOutput)));
|
trilist.SetUShortSigAction(joinMap.OutputUsb + ioSlot, new Action<ushort>(o => dmChassis.ExecuteSwitch(o, ioSlot, eRoutingSignalType.UsbOutput)));
|
||||||
trilist.SetUShortSigAction(joinMap.InputUsb + ioSlot, new Action<ushort>(o => dmChassis.ExecuteSwitch(o, ioSlot, eRoutingSignalType.UsbInput)));
|
trilist.SetUShortSigAction(joinMap.InputUsb + ioSlot, new Action<ushort>(o => dmChassis.ExecuteSwitch(o, ioSlot, eRoutingSignalType.UsbInput)));
|
||||||
|
|
||||||
if (dmChassis.TxDictionary.ContainsKey(ioSlot))
|
if (dmChassis.TxDictionary.ContainsKey(ioSlot))
|
||||||
{
|
{
|
||||||
Debug.Console(2, "Creating Tx Feedbacks {0}", ioSlot);
|
Debug.Console(2, "Creating Tx Feedbacks {0}", ioSlot);
|
||||||
var txKey = dmChassis.TxDictionary[ioSlot];
|
var txKey = dmChassis.TxDictionary[ioSlot];
|
||||||
var basicTxDevice = DeviceManager.GetDeviceForKey(txKey) as BasicDmTxControllerBase;
|
var basicTxDevice = DeviceManager.GetDeviceForKey(txKey) as BasicDmTxControllerBase;
|
||||||
|
|
||||||
var txDevice = basicTxDevice as DmTxControllerBase;
|
var txDevice = basicTxDevice as DmTxControllerBase;
|
||||||
|
|
||||||
if (dmChassis.Chassis is DmMd8x8Cpu3 || dmChassis.Chassis is DmMd8x8Cpu3rps
|
if (dmChassis.Chassis is DmMd8x8Cpu3 || dmChassis.Chassis is DmMd8x8Cpu3rps
|
||||||
|| dmChassis.Chassis is DmMd16x16Cpu3 || dmChassis.Chassis is DmMd16x16Cpu3rps
|
|| dmChassis.Chassis is DmMd16x16Cpu3 || dmChassis.Chassis is DmMd16x16Cpu3rps
|
||||||
@@ -68,7 +68,7 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(basicTxDevice != null && txDevice == null)
|
if (basicTxDevice != null && txDevice == null)
|
||||||
trilist.BooleanInput[joinMap.TxAdvancedIsPresent + ioSlot].BoolValue = true;
|
trilist.BooleanInput[joinMap.TxAdvancedIsPresent + ioSlot].BoolValue = true;
|
||||||
|
|
||||||
|
|
||||||
@@ -79,7 +79,7 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
var inputPort = dmChassis.InputPorts[string.Format("inputCard{0}--hdmiIn", ioSlot)];
|
var inputPort = dmChassis.InputPorts[string.Format("inputCard{0}--hdmiIn", ioSlot)];
|
||||||
if(inputPort != null)
|
if (inputPort != null)
|
||||||
{
|
{
|
||||||
var hdmiInPort = inputPort.Port;
|
var hdmiInPort = inputPort.Port;
|
||||||
|
|
||||||
@@ -101,10 +101,10 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dmChassis.VideoInputSyncFeedbacks[ioSlot].LinkInputSig(trilist.BooleanInput[joinMap.VideoSyncStatus + ioSlot]);
|
dmChassis.VideoInputSyncFeedbacks[ioSlot].LinkInputSig(trilist.BooleanInput[joinMap.VideoSyncStatus + ioSlot]);
|
||||||
|
|
||||||
var inputPort = dmChassis.InputPorts[string.Format("inputCard{0}--hdmiIn", ioSlot)];
|
var inputPort = dmChassis.InputPorts[string.Format("inputCard{0}--hdmiIn", ioSlot)];
|
||||||
if (inputPort != null)
|
if (inputPort != null)
|
||||||
@@ -117,12 +117,12 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
dmChassis.InputCardHdcpCapabilityFeedbacks[ioSlot].LinkInputSig(trilist.UShortInput[joinMap.HdcpSupportState + ioSlot]);
|
dmChassis.InputCardHdcpCapabilityFeedbacks[ioSlot].LinkInputSig(trilist.UShortInput[joinMap.HdcpSupportState + ioSlot]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (dmChassis.RxDictionary.ContainsKey(ioSlot))
|
if (dmChassis.RxDictionary.ContainsKey(ioSlot))
|
||||||
{
|
{
|
||||||
Debug.Console(2, "Creating Rx Feedbacks {0}", ioSlot);
|
Debug.Console(2, "Creating Rx Feedbacks {0}", ioSlot);
|
||||||
var RxKey = dmChassis.RxDictionary[ioSlot];
|
var RxKey = dmChassis.RxDictionary[ioSlot];
|
||||||
var RxDevice = DeviceManager.GetDeviceForKey(RxKey) as DmRmcControllerBase;
|
var RxDevice = DeviceManager.GetDeviceForKey(RxKey) as DmRmcControllerBase;
|
||||||
if (dmChassis.Chassis is DmMd8x8Cpu3 || dmChassis.Chassis is DmMd8x8Cpu3rps
|
if (dmChassis.Chassis is DmMd8x8Cpu3 || dmChassis.Chassis is DmMd8x8Cpu3rps
|
||||||
|| dmChassis.Chassis is DmMd16x16Cpu3 || dmChassis.Chassis is DmMd16x16Cpu3rps
|
|| dmChassis.Chassis is DmMd16x16Cpu3 || dmChassis.Chassis is DmMd16x16Cpu3rps
|
||||||
|| dmChassis.Chassis is DmMd32x32Cpu3 || dmChassis.Chassis is DmMd32x32Cpu3rps)
|
|| dmChassis.Chassis is DmMd32x32Cpu3 || dmChassis.Chassis is DmMd32x32Cpu3rps)
|
||||||
@@ -133,7 +133,7 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
{
|
{
|
||||||
RxDevice.IsOnline.LinkInputSig(trilist.BooleanInput[joinMap.OutputEndpointOnline + ioSlot]);
|
RxDevice.IsOnline.LinkInputSig(trilist.BooleanInput[joinMap.OutputEndpointOnline + ioSlot]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Feedback
|
// Feedback
|
||||||
dmChassis.VideoOutputFeedbacks[ioSlot].LinkInputSig(trilist.UShortInput[joinMap.OutputVideo + ioSlot]);
|
dmChassis.VideoOutputFeedbacks[ioSlot].LinkInputSig(trilist.UShortInput[joinMap.OutputVideo + ioSlot]);
|
||||||
@@ -204,90 +204,5 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class DmChassisControllerJoinMap : JoinMapBase
|
|
||||||
{
|
|
||||||
// Digtal/Analog
|
|
||||||
public uint SystemId { get; set; }
|
|
||||||
|
|
||||||
//Digital
|
|
||||||
public uint IsOnline { get; set; }
|
|
||||||
public uint OutputUsb { get; set; }
|
|
||||||
public uint InputUsb { get; set; }
|
|
||||||
public uint VideoSyncStatus { get; set; }
|
|
||||||
public uint InputEndpointOnline { get; set; }
|
|
||||||
public uint OutputEndpointOnline { get; set; }
|
|
||||||
public uint TxAdvancedIsPresent { get; set; } // indicates that there is an attached transmitter that should be bridged to be interacted with
|
|
||||||
|
|
||||||
//Analog
|
|
||||||
public uint OutputVideo { get; set; }
|
|
||||||
public uint OutputAudio { get; set; }
|
|
||||||
public uint HdcpSupportState { get; set; }
|
|
||||||
public uint HdcpSupportCapability { get; set; }
|
|
||||||
|
|
||||||
//SErial
|
|
||||||
public uint InputNames { get; set; }
|
|
||||||
public uint OutputNames { get; set; }
|
|
||||||
public uint OutputCurrentVideoInputNames { get; set; }
|
|
||||||
public uint OutputCurrentAudioInputNames { get; set; }
|
|
||||||
public uint InputCurrentResolution { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public DmChassisControllerJoinMap()
|
|
||||||
{
|
|
||||||
//Digital/Analog
|
|
||||||
SystemId = 10; // Analog sets/gets SystemId, digital input applies and provides feedback of ID change busy
|
|
||||||
|
|
||||||
//Digital
|
|
||||||
IsOnline = 11;
|
|
||||||
VideoSyncStatus = 100; //101-299
|
|
||||||
InputEndpointOnline = 500; //501-699
|
|
||||||
OutputEndpointOnline = 700; //701-899
|
|
||||||
TxAdvancedIsPresent = 1000; //1001-1199
|
|
||||||
|
|
||||||
//Analog
|
|
||||||
OutputVideo = 100; //101-299
|
|
||||||
OutputAudio = 300; //301-499
|
|
||||||
OutputUsb = 500; //501-699
|
|
||||||
InputUsb = 700; //701-899
|
|
||||||
VideoSyncStatus = 100; //101-299
|
|
||||||
HdcpSupportState = 1000; //1001-1199
|
|
||||||
HdcpSupportCapability = 1200; //1201-1399
|
|
||||||
|
|
||||||
|
|
||||||
//Serial
|
|
||||||
InputNames = 100; //101-299
|
|
||||||
OutputNames = 300; //301-499
|
|
||||||
OutputCurrentVideoInputNames = 2000; //2001-2199
|
|
||||||
OutputCurrentAudioInputNames = 2200; //2201-2399
|
|
||||||
InputCurrentResolution = 2400; // 2401-2599
|
|
||||||
InputEndpointOnline = 500; //501-699
|
|
||||||
OutputEndpointOnline = 700; //701-899
|
|
||||||
HdcpSupportState = 1000; //1001-1199
|
|
||||||
HdcpSupportCapability = 1200; //1201-1399
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void OffsetJoinNumbers(uint joinStart)
|
|
||||||
{
|
|
||||||
var joinOffset = joinStart - 1;
|
|
||||||
|
|
||||||
SystemId = SystemId + joinOffset;
|
|
||||||
IsOnline = IsOnline + joinOffset;
|
|
||||||
OutputVideo = OutputVideo + joinOffset;
|
|
||||||
OutputAudio = OutputAudio + joinOffset;
|
|
||||||
OutputUsb = OutputUsb + joinOffset;
|
|
||||||
InputUsb = InputUsb + joinOffset;
|
|
||||||
VideoSyncStatus = VideoSyncStatus + joinOffset;
|
|
||||||
InputNames = InputNames + joinOffset;
|
|
||||||
OutputNames = OutputNames + joinOffset;
|
|
||||||
OutputCurrentVideoInputNames = OutputCurrentVideoInputNames + joinOffset;
|
|
||||||
OutputCurrentAudioInputNames = OutputCurrentAudioInputNames + joinOffset;
|
|
||||||
InputCurrentResolution = InputCurrentResolution + joinOffset;
|
|
||||||
InputEndpointOnline = InputEndpointOnline + joinOffset;
|
|
||||||
OutputEndpointOnline = OutputEndpointOnline + joinOffset;
|
|
||||||
HdcpSupportState = HdcpSupportState + joinOffset;
|
|
||||||
HdcpSupportCapability = HdcpSupportCapability + joinOffset;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -36,40 +36,5 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
if(rmc.EdidSerialNumberFeedback != null)
|
if(rmc.EdidSerialNumberFeedback != null)
|
||||||
rmc.EdidSerialNumberFeedback.LinkInputSig(trilist.StringInput[joinMap.EdidSerialNumber]);
|
rmc.EdidSerialNumberFeedback.LinkInputSig(trilist.StringInput[joinMap.EdidSerialNumber]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public class DmRmcControllerJoinMap : JoinMapBase
|
|
||||||
{
|
|
||||||
public uint IsOnline { get; set; }
|
|
||||||
public uint CurrentOutputResolution { get; set; }
|
|
||||||
public uint EdidManufacturer { get; set; }
|
|
||||||
public uint EdidName { get; set; }
|
|
||||||
public uint EdidPrefferedTiming { get; set; }
|
|
||||||
public uint EdidSerialNumber { get; set; }
|
|
||||||
|
|
||||||
public DmRmcControllerJoinMap()
|
|
||||||
{
|
|
||||||
// Digital
|
|
||||||
IsOnline = 1;
|
|
||||||
|
|
||||||
// Serial
|
|
||||||
CurrentOutputResolution = 1;
|
|
||||||
EdidManufacturer = 2;
|
|
||||||
EdidName = 3;
|
|
||||||
EdidPrefferedTiming = 4;
|
|
||||||
EdidSerialNumber = 5;
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void OffsetJoinNumbers(uint joinStart)
|
|
||||||
{
|
|
||||||
var joinOffset = joinStart - 1;
|
|
||||||
|
|
||||||
IsOnline = IsOnline + joinOffset;
|
|
||||||
CurrentOutputResolution = CurrentOutputResolution + joinOffset;
|
|
||||||
EdidManufacturer = EdidManufacturer + joinOffset;
|
|
||||||
EdidName = EdidName + joinOffset;
|
|
||||||
EdidPrefferedTiming = EdidPrefferedTiming + joinOffset;
|
|
||||||
EdidSerialNumber = EdidSerialNumber + joinOffset;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -128,46 +128,6 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class DmTxControllerJoinMap : JoinMapBase
|
|
||||||
{
|
|
||||||
public uint IsOnline { get; set; }
|
|
||||||
public uint VideoSyncStatus { get; set; }
|
|
||||||
public uint CurrentInputResolution { get; set; }
|
|
||||||
public uint HdcpSupportCapability { get; set; }
|
|
||||||
public uint VideoInput { get; set; }
|
|
||||||
public uint AudioInput { get; set; }
|
|
||||||
public uint Port1HdcpState { get; set; }
|
|
||||||
public uint Port2HdcpState { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
public DmTxControllerJoinMap()
|
|
||||||
{
|
|
||||||
// Digital
|
|
||||||
IsOnline = 1;
|
|
||||||
VideoSyncStatus = 2;
|
|
||||||
// Serial
|
|
||||||
CurrentInputResolution = 1;
|
|
||||||
// Analog
|
|
||||||
VideoInput = 1;
|
|
||||||
AudioInput = 2;
|
|
||||||
HdcpSupportCapability = 3;
|
|
||||||
Port1HdcpState = 4;
|
|
||||||
Port2HdcpState = 5;
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void OffsetJoinNumbers(uint joinStart)
|
|
||||||
{
|
|
||||||
var joinOffset = joinStart - 1;
|
|
||||||
|
|
||||||
IsOnline = IsOnline + joinOffset;
|
|
||||||
VideoSyncStatus = VideoSyncStatus + joinOffset;
|
|
||||||
CurrentInputResolution = CurrentInputResolution + joinOffset;
|
|
||||||
VideoInput = VideoInput + joinOffset;
|
|
||||||
AudioInput = AudioInput + joinOffset;
|
|
||||||
HdcpSupportCapability = HdcpSupportCapability + joinOffset;
|
|
||||||
Port1HdcpState = Port1HdcpState + joinOffset;
|
|
||||||
Port2HdcpState = Port2HdcpState + joinOffset;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -50,10 +50,10 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
static void SetUpDmpsAudioOutputJoins(BasicTriList trilist, DmpsAudioOutput output, uint joinStart)
|
static void SetUpDmpsAudioOutputJoins(BasicTriList trilist, DmpsAudioOutput output, uint joinStart)
|
||||||
{
|
{
|
||||||
var volumeLevelJoin = joinStart;
|
var volumeLevelJoin = joinStart;
|
||||||
var muteOnJoin = joinStart + 1;
|
var muteOnJoin = joinStart;
|
||||||
var muteOffJoin = joinStart + 2;
|
var muteOffJoin = joinStart + 1;
|
||||||
var volumeUpJoin = joinStart + 3;
|
var volumeUpJoin = joinStart + 2;
|
||||||
var volumeDownJoin = joinStart + 4;
|
var volumeDownJoin = joinStart + 3;
|
||||||
|
|
||||||
|
|
||||||
trilist.SetUShortSigAction(volumeLevelJoin, new Action<ushort>(o => output.SetVolume(o)));
|
trilist.SetUShortSigAction(volumeLevelJoin, new Action<ushort>(o => output.SetVolume(o)));
|
||||||
@@ -67,33 +67,5 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
trilist.SetBoolSigAction(volumeUpJoin, new Action<bool>(b => output.VolumeUp(b)));
|
trilist.SetBoolSigAction(volumeUpJoin, new Action<bool>(b => output.VolumeUp(b)));
|
||||||
trilist.SetBoolSigAction(volumeDownJoin, new Action<bool>(b => output.VolumeDown(b)));
|
trilist.SetBoolSigAction(volumeDownJoin, new Action<bool>(b => output.VolumeDown(b)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public class DmpsAudioOutputControllerJoinMap: JoinMapBase
|
|
||||||
{
|
|
||||||
// Digital
|
|
||||||
public uint MasterVolume { get; set; }
|
|
||||||
public uint SourceVolume { get; set; }
|
|
||||||
public uint Codec1Volume { get; set; }
|
|
||||||
public uint Codec2Volume { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
public DmpsAudioOutputControllerJoinMap()
|
|
||||||
{
|
|
||||||
MasterVolume = 1; // 1-10
|
|
||||||
SourceVolume = 11; // 11-20
|
|
||||||
Codec1Volume = 21; // 21-30
|
|
||||||
Codec2Volume = 31; // 31-40
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void OffsetJoinNumbers(uint joinStart)
|
|
||||||
{
|
|
||||||
var joinOffset = joinStart -1;
|
|
||||||
|
|
||||||
MasterVolume = MasterVolume + joinOffset;
|
|
||||||
SourceVolume = SourceVolume + joinOffset;
|
|
||||||
Codec1Volume = Codec1Volume + joinOffset;
|
|
||||||
Codec2Volume = Codec2Volume + joinOffset;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -120,58 +120,5 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
dmpsRouter.OutputEndpointOnlineFeedbacks[ioSlot].LinkInputSig(trilist.BooleanInput[joinMap.OutputEndpointOnline + ioSlot]);
|
dmpsRouter.OutputEndpointOnlineFeedbacks[ioSlot].LinkInputSig(trilist.BooleanInput[joinMap.OutputEndpointOnline + ioSlot]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public class DmpsRoutingControllerJoinMap : JoinMapBase
|
|
||||||
{
|
|
||||||
public uint OutputVideo { get; set; }
|
|
||||||
public uint OutputAudio { get; set; }
|
|
||||||
public uint VideoSyncStatus { get; set; }
|
|
||||||
public uint InputNames { get; set; }
|
|
||||||
public uint OutputNames { get; set; }
|
|
||||||
public uint OutputCurrentVideoInputNames { get; set; }
|
|
||||||
public uint OutputCurrentAudioInputNames { get; set; }
|
|
||||||
public uint InputCurrentResolution { get; set; }
|
|
||||||
public uint InputEndpointOnline { get; set; }
|
|
||||||
public uint OutputEndpointOnline { get; set; }
|
|
||||||
//public uint HdcpSupport { get; set; }
|
|
||||||
//public uint HdcpSupportCapability { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
public DmpsRoutingControllerJoinMap()
|
|
||||||
{
|
|
||||||
OutputVideo = 100; //101-299
|
|
||||||
OutputAudio = 300; //301-499
|
|
||||||
VideoSyncStatus = 100; //101-299
|
|
||||||
InputNames = 100; //101-299
|
|
||||||
OutputNames = 300; //301-499
|
|
||||||
OutputCurrentVideoInputNames = 2000; //2001-2199
|
|
||||||
OutputCurrentAudioInputNames = 2200; //2201-2399
|
|
||||||
InputCurrentResolution = 2400; // 2401-2599
|
|
||||||
InputEndpointOnline = 500; //501-699
|
|
||||||
OutputEndpointOnline = 700; //701-899
|
|
||||||
//HdcpSupport = 1000; //1001-1199
|
|
||||||
//HdcpSupportCapability = 1200; //1201-1399
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void OffsetJoinNumbers(uint joinStart)
|
|
||||||
{
|
|
||||||
var joinOffset = joinStart - 1;
|
|
||||||
|
|
||||||
OutputVideo = OutputVideo + joinOffset;
|
|
||||||
OutputAudio = OutputAudio + joinOffset;
|
|
||||||
VideoSyncStatus = VideoSyncStatus + joinOffset;
|
|
||||||
InputNames = InputNames + joinOffset;
|
|
||||||
OutputNames = OutputNames + joinOffset;
|
|
||||||
OutputCurrentVideoInputNames = OutputCurrentVideoInputNames + joinOffset;
|
|
||||||
OutputCurrentAudioInputNames = OutputCurrentAudioInputNames + joinOffset;
|
|
||||||
InputCurrentResolution = InputCurrentResolution + joinOffset;
|
|
||||||
InputEndpointOnline = InputEndpointOnline + joinOffset;
|
|
||||||
OutputEndpointOnline = OutputEndpointOnline + joinOffset;
|
|
||||||
//HdcpSupport = HdcpSupport + joinOffset;
|
|
||||||
//HdcpSupportCapability = HdcpSupportCapability + joinOffset;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -45,22 +45,4 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class GenericRelayControllerJoinMap : JoinMapBase
|
|
||||||
{
|
|
||||||
//Digital
|
|
||||||
public uint Relay { get; set; }
|
|
||||||
|
|
||||||
public GenericRelayControllerJoinMap()
|
|
||||||
{
|
|
||||||
Relay = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void OffsetJoinNumbers(uint joinStart)
|
|
||||||
{
|
|
||||||
var joinOffset = joinStart - 1;
|
|
||||||
|
|
||||||
Relay = Relay + joinOffset;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -57,116 +57,6 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
trilist.StringInput[joinMap.SourceNames + number].StringValue = input.Key;
|
trilist.StringInput[joinMap.SourceNames + number].StringValue = input.Key;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class HdMdxxxCEControllerJoinMap : JoinMapBase
|
|
||||||
{
|
|
||||||
#region Digitals
|
|
||||||
/// <summary>
|
|
||||||
/// High when the pair is online
|
|
||||||
/// </summary>
|
|
||||||
public uint IsOnline { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// High when the remote end device is online
|
|
||||||
/// </summary>
|
|
||||||
public uint RemoteEndDetected { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Sets Auto Route On and provides feedback
|
|
||||||
/// </summary>
|
|
||||||
public uint AutoRouteOn { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Sets Auto Route Off and provides feedback
|
|
||||||
/// </summary>
|
|
||||||
public uint AutoRouteOff { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Sets Priority Routing On and provides feedback
|
|
||||||
/// </summary>
|
|
||||||
public uint PriorityRoutingOn { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Sets Priority Routing Off and provides feedback
|
|
||||||
/// </summary>
|
|
||||||
public uint PriorityRoutingOff { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Enables OSD and provides feedback
|
|
||||||
/// </summary>
|
|
||||||
public uint InputOnScreenDisplayEnabled { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Disables OSD and provides feedback
|
|
||||||
/// </summary>
|
|
||||||
public uint InputOnScreenDisplayDisabled { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Provides Video Sync Detected feedback for each input
|
|
||||||
/// </summary>
|
|
||||||
public uint SyncDetected { get; set; }
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
#region Analogs
|
|
||||||
/// <summary>
|
|
||||||
/// Sets the video source for the receiver's HDMI out and provides feedback
|
|
||||||
/// </summary>
|
|
||||||
public uint VideoSource { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Indicates the number of sources supported by the Tx/Rx pair
|
|
||||||
/// </summary>
|
|
||||||
public uint SourceCount { get; set; }
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
#region Serials
|
|
||||||
/// <summary>
|
|
||||||
/// Indicates the name of each input port
|
|
||||||
/// </summary>
|
|
||||||
public uint SourceNames { get; set; }
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
public HdMdxxxCEControllerJoinMap()
|
|
||||||
{
|
|
||||||
//Digital
|
|
||||||
IsOnline = 1;
|
|
||||||
RemoteEndDetected = 2;
|
|
||||||
AutoRouteOn = 3;
|
|
||||||
AutoRouteOff = 4;
|
|
||||||
PriorityRoutingOn = 5;
|
|
||||||
PriorityRoutingOff = 6;
|
|
||||||
InputOnScreenDisplayEnabled = 7;
|
|
||||||
InputOnScreenDisplayDisabled = 8;
|
|
||||||
SyncDetected = 10; // 11-15
|
|
||||||
|
|
||||||
//Analog
|
|
||||||
VideoSource = 1;
|
|
||||||
SourceCount = 2;
|
|
||||||
|
|
||||||
//Serials
|
|
||||||
SourceNames = 10; // 11-15
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void OffsetJoinNumbers(uint joinStart)
|
|
||||||
{
|
|
||||||
var joinOffset = joinStart - 1;
|
|
||||||
|
|
||||||
IsOnline = IsOnline + joinOffset;
|
|
||||||
RemoteEndDetected = RemoteEndDetected + joinOffset;
|
|
||||||
AutoRouteOn = AutoRouteOn + joinOffset;
|
|
||||||
AutoRouteOff = AutoRouteOff + joinOffset;
|
|
||||||
PriorityRoutingOn = PriorityRoutingOn + joinOffset;
|
|
||||||
PriorityRoutingOff = PriorityRoutingOff + joinOffset;
|
|
||||||
InputOnScreenDisplayEnabled = InputOnScreenDisplayEnabled + joinOffset;
|
|
||||||
InputOnScreenDisplayDisabled = InputOnScreenDisplayDisabled + joinOffset;
|
|
||||||
SyncDetected = SyncDetected + joinOffset;
|
|
||||||
|
|
||||||
VideoSource = VideoSource + joinOffset;
|
|
||||||
SourceCount = SourceCount + joinOffset;
|
|
||||||
|
|
||||||
SourceNames = SourceNames + joinOffset;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -30,14 +30,14 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
Debug.Console(1, comm, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
Debug.Console(1, comm, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
||||||
|
|
||||||
// this is a permanent event handler. This cannot be -= from event
|
// this is a permanent event handler. This cannot be -= from event
|
||||||
comm.CommPort.TextReceived += (s, a) =>
|
comm.CommPort.TextReceived += (s, a) =>
|
||||||
{
|
{
|
||||||
Debug.Console(2, comm, "RX: {0}", a.Text);
|
Debug.Console(2, comm, "RX: {0}", a.Text);
|
||||||
trilist.SetString(joinMap.TextReceived, a.Text);
|
trilist.SetString(joinMap.TextReceived, a.Text);
|
||||||
};
|
};
|
||||||
trilist.SetStringSigAction(joinMap.SendText, new Action<string>(s => comm.CommPort.SendText(s)));
|
trilist.SetStringSigAction(joinMap.SendText, new Action<string>(s => comm.CommPort.SendText(s)));
|
||||||
trilist.SetStringSigAction(joinMap.SetPortConfig + 1, new Action<string>(s => comm.SetPortConfig(s)));
|
trilist.SetStringSigAction(joinMap.SetPortConfig + 1, new Action<string>(s => comm.SetPortConfig(s)));
|
||||||
|
|
||||||
|
|
||||||
var sComm = comm.CommPort as ISocketStatus;
|
var sComm = comm.CommPort as ISocketStatus;
|
||||||
if (sComm != null)
|
if (sComm != null)
|
||||||
@@ -62,46 +62,5 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public class IBasicCommunicationJoinMap : JoinMapBase
|
|
||||||
{
|
|
||||||
//Digital
|
|
||||||
public uint Connect { get; set; }
|
|
||||||
public uint Connected { get; set; }
|
|
||||||
|
|
||||||
//Analog
|
|
||||||
public uint Status { get; set; }
|
|
||||||
|
|
||||||
// Serial
|
|
||||||
public uint TextReceived { get; set; }
|
|
||||||
public uint SendText { get; set; }
|
|
||||||
public uint SetPortConfig { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
public IBasicCommunicationJoinMap()
|
|
||||||
{
|
|
||||||
TextReceived = 1;
|
|
||||||
SendText = 1;
|
|
||||||
SetPortConfig = 2;
|
|
||||||
Connect = 1;
|
|
||||||
Connected = 1;
|
|
||||||
Status = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void OffsetJoinNumbers(uint joinStart)
|
|
||||||
{
|
|
||||||
var joinOffset = joinStart - 1;
|
|
||||||
|
|
||||||
TextReceived = TextReceived + joinOffset;
|
|
||||||
SendText = SendText + joinOffset;
|
|
||||||
SetPortConfig = SetPortConfig + joinOffset;
|
|
||||||
Connect = Connect + joinOffset;
|
|
||||||
Connected = Connected + joinOffset;
|
|
||||||
Status = Status + joinOffset;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -14,10 +14,10 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
{
|
{
|
||||||
public static void LinkToApi(this IDigitalInput input, BasicTriList trilist, uint joinStart, string joinMapKey)
|
public static void LinkToApi(this IDigitalInput input, BasicTriList trilist, uint joinStart, string joinMapKey)
|
||||||
{
|
{
|
||||||
var joinMap = JoinMapHelper.GetJoinMapForDevice(joinMapKey) as IDigitalInputApiJoinMap;
|
var joinMap = JoinMapHelper.GetJoinMapForDevice(joinMapKey) as IDigitalInputJoinMap;
|
||||||
|
|
||||||
if (joinMap == null)
|
if (joinMap == null)
|
||||||
joinMap = new IDigitalInputApiJoinMap();
|
joinMap = new IDigitalInputJoinMap();
|
||||||
|
|
||||||
joinMap.OffsetJoinNumbers(joinStart);
|
joinMap.OffsetJoinNumbers(joinStart);
|
||||||
|
|
||||||
@@ -35,25 +35,5 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public class IDigitalInputApiJoinMap : JoinMapBase
|
|
||||||
{
|
|
||||||
//Digital
|
|
||||||
public uint InputState { get; set; }
|
|
||||||
|
|
||||||
public IDigitalInputApiJoinMap()
|
|
||||||
{
|
|
||||||
InputState = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void OffsetJoinNumbers(uint joinStart)
|
|
||||||
{
|
|
||||||
var joinOffset = joinStart - 1;
|
|
||||||
|
|
||||||
InputState = InputState + joinOffset;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,109 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using Crestron.SimplSharp;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Bridges
|
||||||
|
{
|
||||||
|
public class AirMediaControllerJoinMap : JoinMapBase
|
||||||
|
{
|
||||||
|
#region Digitals
|
||||||
|
/// <summary>
|
||||||
|
/// Indicates that the device is online when high
|
||||||
|
/// </summary>
|
||||||
|
public uint IsOnline { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Indicates that the device is in session when high
|
||||||
|
/// </summary>
|
||||||
|
public uint IsInSession { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Indicates sync detected on HDMI input when high
|
||||||
|
/// </summary>
|
||||||
|
public uint HdmiVideoSync { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Set High to enable automatic input routing and low to disable. Feedback high when enabled
|
||||||
|
/// </summary>
|
||||||
|
public uint AutomaticInputRoutingEnabled { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Analogs
|
||||||
|
/// <summary>
|
||||||
|
/// Selects source and provides feedback
|
||||||
|
/// </summary>
|
||||||
|
public uint VideoOut { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Provided error feedback
|
||||||
|
/// </summary>
|
||||||
|
public uint ErrorFB { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Indicates the number of connected users as feedback
|
||||||
|
/// </summary>
|
||||||
|
public uint NumberOfUsersConnectedFB { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the login code and provides the current code as feedback
|
||||||
|
/// </summary>
|
||||||
|
public uint LoginCode { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Serials
|
||||||
|
/// <summary>
|
||||||
|
/// Provides the name defined in config as feedback
|
||||||
|
/// </summary>
|
||||||
|
public uint Name { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Provides the connection address as feedback
|
||||||
|
/// </summary>
|
||||||
|
public uint ConnectionAddressFB { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Provides the hostname as feedback
|
||||||
|
/// </summary>
|
||||||
|
public uint HostnameFB { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Provides the serial number as feedback
|
||||||
|
/// </summary>
|
||||||
|
public uint SerialNumberFeedback { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
public AirMediaControllerJoinMap()
|
||||||
|
{
|
||||||
|
// Digital
|
||||||
|
IsOnline = 1;
|
||||||
|
IsInSession = 2;
|
||||||
|
HdmiVideoSync = 3;
|
||||||
|
AutomaticInputRoutingEnabled = 4;
|
||||||
|
|
||||||
|
// Analog
|
||||||
|
VideoOut = 1;
|
||||||
|
ErrorFB = 2;
|
||||||
|
NumberOfUsersConnectedFB = 3;
|
||||||
|
LoginCode = 4;
|
||||||
|
|
||||||
|
// Serial
|
||||||
|
Name = 1;
|
||||||
|
ConnectionAddressFB = 2;
|
||||||
|
HostnameFB = 3;
|
||||||
|
SerialNumberFeedback = 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OffsetJoinNumbers(uint joinStart)
|
||||||
|
{
|
||||||
|
var joinOffset = joinStart - 1;
|
||||||
|
|
||||||
|
IsOnline = IsOnline + joinOffset;
|
||||||
|
IsInSession = IsInSession + joinOffset;
|
||||||
|
HdmiVideoSync = HdmiVideoSync + joinOffset;
|
||||||
|
AutomaticInputRoutingEnabled = AutomaticInputRoutingEnabled + joinOffset;
|
||||||
|
|
||||||
|
VideoOut = VideoOut + joinOffset;
|
||||||
|
ErrorFB = ErrorFB + joinOffset;
|
||||||
|
NumberOfUsersConnectedFB = NumberOfUsersConnectedFB + joinOffset;
|
||||||
|
LoginCode = LoginCode + joinOffset;
|
||||||
|
|
||||||
|
Name = Name + joinOffset;
|
||||||
|
ConnectionAddressFB = ConnectionAddressFB + joinOffset;
|
||||||
|
HostnameFB = HostnameFB + joinOffset;
|
||||||
|
SerialNumberFeedback = SerialNumberFeedback + joinOffset;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
66
PepperDashEssentials/Bridges/JoinMaps/AppleTvJoinMap.cs
Normal file
66
PepperDashEssentials/Bridges/JoinMaps/AppleTvJoinMap.cs
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using Crestron.SimplSharp;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Bridges
|
||||||
|
{
|
||||||
|
public class AppleTvJoinMap : JoinMapBase
|
||||||
|
{
|
||||||
|
#region Digitals
|
||||||
|
/// <summary>
|
||||||
|
/// Sends up arrow command while high
|
||||||
|
/// </summary>
|
||||||
|
public uint UpArrow { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Sends down arrow command while high
|
||||||
|
/// </summary>
|
||||||
|
public uint DnArrow { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Sends left arrow command while high
|
||||||
|
/// </summary>
|
||||||
|
public uint LeftArrow { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Sends right arrow command while high
|
||||||
|
/// </summary>
|
||||||
|
public uint RightArrow { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Sends menu command
|
||||||
|
/// </summary>
|
||||||
|
public uint Menu { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Sends select command
|
||||||
|
/// </summary>
|
||||||
|
public uint Select { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Sends play/pause command
|
||||||
|
/// </summary>
|
||||||
|
public uint PlayPause { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
public AppleTvJoinMap()
|
||||||
|
{
|
||||||
|
UpArrow = 1;
|
||||||
|
DnArrow = 2;
|
||||||
|
LeftArrow = 3;
|
||||||
|
RightArrow = 4;
|
||||||
|
Menu = 5;
|
||||||
|
Select = 6;
|
||||||
|
PlayPause = 7;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OffsetJoinNumbers(uint joinStart)
|
||||||
|
{
|
||||||
|
var joinOffset = joinStart - 1;
|
||||||
|
|
||||||
|
UpArrow = UpArrow + joinOffset;
|
||||||
|
DnArrow = DnArrow + joinOffset;
|
||||||
|
LeftArrow = LeftArrow + joinOffset;
|
||||||
|
RightArrow = RightArrow + joinOffset;
|
||||||
|
Menu = Menu + joinOffset;
|
||||||
|
Select = Select + joinOffset;
|
||||||
|
PlayPause = PlayPause + joinOffset;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,116 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using Crestron.SimplSharp;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Bridges
|
||||||
|
{
|
||||||
|
public class DisplayControllerJoinMap : JoinMapBase
|
||||||
|
{
|
||||||
|
#region Digitals
|
||||||
|
/// <summary>
|
||||||
|
/// Turns the display off and reports power off feedback
|
||||||
|
/// </summary>
|
||||||
|
public uint PowerOff { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Turns the display on and repots power on feedback
|
||||||
|
/// </summary>
|
||||||
|
public uint PowerOn { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Indicates that the display device supports two way communication when high
|
||||||
|
/// </summary>
|
||||||
|
public uint IsTwoWayDisplay { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Increments the volume while high
|
||||||
|
/// </summary>
|
||||||
|
public uint VolumeUp { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Decrements teh volume while high
|
||||||
|
/// </summary>
|
||||||
|
public uint VolumeDown { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Toggles the mute state. Feedback is high when volume is muted
|
||||||
|
/// </summary>
|
||||||
|
public uint VolumeMute { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range of digital joins to select inputs and report current input as feedback
|
||||||
|
/// </summary>
|
||||||
|
public uint InputSelectOffset { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range of digital joins to report visibility for input buttons
|
||||||
|
/// </summary>
|
||||||
|
public uint ButtonVisibilityOffset { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// High if the device is online
|
||||||
|
/// </summary>
|
||||||
|
public uint IsOnline { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Analogs
|
||||||
|
/// <summary>
|
||||||
|
/// Analog join to set the input and report current input as feedback
|
||||||
|
/// </summary>
|
||||||
|
public uint InputSelect { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the volume level and reports the current level as feedback
|
||||||
|
/// </summary>
|
||||||
|
public uint VolumeLevel { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Serials
|
||||||
|
/// <summary>
|
||||||
|
/// Reports the name of the display as defined in config as feedback
|
||||||
|
/// </summary>
|
||||||
|
public uint Name { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range of serial joins that reports the names of the inputs as feedback
|
||||||
|
/// </summary>
|
||||||
|
public uint InputNamesOffset { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
public DisplayControllerJoinMap()
|
||||||
|
{
|
||||||
|
// Digital
|
||||||
|
IsOnline = 50;
|
||||||
|
PowerOff = 1;
|
||||||
|
PowerOn = 2;
|
||||||
|
IsTwoWayDisplay = 3;
|
||||||
|
VolumeUp = 5;
|
||||||
|
VolumeDown = 6;
|
||||||
|
VolumeMute = 7;
|
||||||
|
|
||||||
|
ButtonVisibilityOffset = 40;
|
||||||
|
InputSelectOffset = 10;
|
||||||
|
|
||||||
|
// Analog
|
||||||
|
InputSelect = 11;
|
||||||
|
VolumeLevel = 5;
|
||||||
|
|
||||||
|
// Serial
|
||||||
|
Name = 1;
|
||||||
|
InputNamesOffset = 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OffsetJoinNumbers(uint joinStart)
|
||||||
|
{
|
||||||
|
var joinOffset = joinStart - 1;
|
||||||
|
|
||||||
|
IsOnline = IsOnline + joinOffset;
|
||||||
|
PowerOff = PowerOff + joinOffset;
|
||||||
|
PowerOn = PowerOn + joinOffset;
|
||||||
|
IsTwoWayDisplay = IsTwoWayDisplay + joinOffset;
|
||||||
|
ButtonVisibilityOffset = ButtonVisibilityOffset + joinOffset;
|
||||||
|
Name = Name + joinOffset;
|
||||||
|
InputNamesOffset = InputNamesOffset + joinOffset;
|
||||||
|
InputSelectOffset = InputSelectOffset + joinOffset;
|
||||||
|
|
||||||
|
InputSelect = InputSelect + joinOffset;
|
||||||
|
|
||||||
|
VolumeUp = VolumeUp + joinOffset;
|
||||||
|
VolumeDown = VolumeDown + joinOffset;
|
||||||
|
VolumeMute = VolumeMute + joinOffset;
|
||||||
|
VolumeLevel = VolumeLevel + joinOffset;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,146 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using Crestron.SimplSharp;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Bridges
|
||||||
|
{
|
||||||
|
public class DmChassisControllerJoinMap : JoinMapBase
|
||||||
|
{
|
||||||
|
#region Digital/Analogs
|
||||||
|
/// <summary>
|
||||||
|
/// Analog input sets System ID, output reports current ID as feedback.
|
||||||
|
/// Digital input applies System ID, output is high when applying busy.
|
||||||
|
/// </summary>
|
||||||
|
public uint SystemId { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Digitals
|
||||||
|
/// <summary>
|
||||||
|
/// High when device is online
|
||||||
|
/// </summary>
|
||||||
|
public uint IsOnline { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range reports video sync feedback for each input
|
||||||
|
/// </summary>
|
||||||
|
public uint VideoSyncStatus { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range reports high if corresponding input's endpoint is online
|
||||||
|
/// </summary>
|
||||||
|
public uint InputEndpointOnline { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range reports high if corresponding output's endpoint is online
|
||||||
|
/// </summary>
|
||||||
|
public uint OutputEndpointOnline { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range reports high if corresponding input's transmitter supports bridging as a separate device for detailed AV switching, HDCP control, etc.
|
||||||
|
/// </summary>
|
||||||
|
public uint TxAdvancedIsPresent { get; set; } // indicates that there is an attached transmitter that should be bridged to be interacted with
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Analogs
|
||||||
|
/// <summary>
|
||||||
|
/// Range sets and reports the current video source for the corresponding output
|
||||||
|
/// </summary>
|
||||||
|
public uint OutputVideo { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range sets and reports the current audio source for the corresponding output
|
||||||
|
/// </summary>
|
||||||
|
public uint OutputAudio { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range sets and reports the current Usb source for the corresponding output
|
||||||
|
/// </summary>
|
||||||
|
public uint OutputUsb { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range sets and reports the current Usb source for the corresponding input
|
||||||
|
/// </summary>
|
||||||
|
public uint InputUsb { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range sets and reports the current HDCP state for the corresponding input card
|
||||||
|
/// </summary>
|
||||||
|
public uint HdcpSupportState { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range reports the highest supported HDCP state level for the corresponding input card
|
||||||
|
/// </summary>
|
||||||
|
public uint HdcpSupportCapability { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Serials
|
||||||
|
/// <summary>
|
||||||
|
/// Range sets and reports the name for the corresponding input card
|
||||||
|
/// </summary>
|
||||||
|
public uint InputNames { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range sets and reports the name for the corresponding output card
|
||||||
|
/// </summary>
|
||||||
|
public uint OutputNames { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range reports the name of the current video source for the corresponding output card
|
||||||
|
/// </summary>
|
||||||
|
public uint OutputCurrentVideoInputNames { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range reports the name of the current audio source for the corresponding output card
|
||||||
|
/// </summary>
|
||||||
|
public uint OutputCurrentAudioInputNames { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range reports the current input resolution for each corresponding input card
|
||||||
|
/// </summary>
|
||||||
|
public uint InputCurrentResolution { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
public DmChassisControllerJoinMap()
|
||||||
|
{
|
||||||
|
//Digital/Analog
|
||||||
|
SystemId = 10; // Analog sets/gets SystemId, digital input applies and provides feedback of ID change busy
|
||||||
|
|
||||||
|
//Digital
|
||||||
|
IsOnline = 11;
|
||||||
|
VideoSyncStatus = 100; //101-299
|
||||||
|
InputEndpointOnline = 500; //501-699
|
||||||
|
OutputEndpointOnline = 700; //701-899
|
||||||
|
TxAdvancedIsPresent = 1000; //1001-1199
|
||||||
|
|
||||||
|
//Analog
|
||||||
|
OutputVideo = 100; //101-299
|
||||||
|
OutputAudio = 300; //301-499
|
||||||
|
OutputUsb = 500; //501-699
|
||||||
|
InputUsb = 700; //701-899
|
||||||
|
VideoSyncStatus = 100; //101-299
|
||||||
|
HdcpSupportState = 1000; //1001-1199
|
||||||
|
HdcpSupportCapability = 1200; //1201-1399
|
||||||
|
|
||||||
|
|
||||||
|
//Serial
|
||||||
|
InputNames = 100; //101-299
|
||||||
|
OutputNames = 300; //301-499
|
||||||
|
OutputCurrentVideoInputNames = 2000; //2001-2199
|
||||||
|
OutputCurrentAudioInputNames = 2200; //2201-2399
|
||||||
|
InputCurrentResolution = 2400; // 2401-2599
|
||||||
|
InputEndpointOnline = 500; //501-699
|
||||||
|
OutputEndpointOnline = 700; //701-899
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OffsetJoinNumbers(uint joinStart)
|
||||||
|
{
|
||||||
|
var joinOffset = joinStart - 1;
|
||||||
|
|
||||||
|
SystemId = SystemId + joinOffset;
|
||||||
|
IsOnline = IsOnline + joinOffset;
|
||||||
|
OutputVideo = OutputVideo + joinOffset;
|
||||||
|
OutputAudio = OutputAudio + joinOffset;
|
||||||
|
OutputUsb = OutputUsb + joinOffset;
|
||||||
|
InputUsb = InputUsb + joinOffset;
|
||||||
|
VideoSyncStatus = VideoSyncStatus + joinOffset;
|
||||||
|
InputNames = InputNames + joinOffset;
|
||||||
|
OutputNames = OutputNames + joinOffset;
|
||||||
|
OutputCurrentVideoInputNames = OutputCurrentVideoInputNames + joinOffset;
|
||||||
|
OutputCurrentAudioInputNames = OutputCurrentAudioInputNames + joinOffset;
|
||||||
|
InputCurrentResolution = InputCurrentResolution + joinOffset;
|
||||||
|
InputEndpointOnline = InputEndpointOnline + joinOffset;
|
||||||
|
OutputEndpointOnline = OutputEndpointOnline + joinOffset;
|
||||||
|
HdcpSupportState = HdcpSupportState + joinOffset;
|
||||||
|
HdcpSupportCapability = HdcpSupportCapability + joinOffset;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using Crestron.SimplSharp;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Bridges
|
||||||
|
{
|
||||||
|
public class DmRmcControllerJoinMap : JoinMapBase
|
||||||
|
{
|
||||||
|
#region Digitals
|
||||||
|
/// <summary>
|
||||||
|
/// High when device is online (if not attached to a DMP3 or DM chassis with a CPU3 card
|
||||||
|
/// </summary>
|
||||||
|
public uint IsOnline { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Serials
|
||||||
|
/// <summary>
|
||||||
|
/// Reports the current output resolution
|
||||||
|
/// </summary>
|
||||||
|
public uint CurrentOutputResolution { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Reports the EDID manufacturer value
|
||||||
|
/// </summary>
|
||||||
|
public uint EdidManufacturer { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Reports the EDID Name value
|
||||||
|
/// </summary>
|
||||||
|
public uint EdidName { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Reports the EDID preffered timing value
|
||||||
|
/// </summary>
|
||||||
|
public uint EdidPrefferedTiming { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Reports the EDID serial number value
|
||||||
|
/// </summary>
|
||||||
|
public uint EdidSerialNumber { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
public DmRmcControllerJoinMap()
|
||||||
|
{
|
||||||
|
// Digital
|
||||||
|
IsOnline = 1;
|
||||||
|
|
||||||
|
// Serial
|
||||||
|
CurrentOutputResolution = 1;
|
||||||
|
EdidManufacturer = 2;
|
||||||
|
EdidName = 3;
|
||||||
|
EdidPrefferedTiming = 4;
|
||||||
|
EdidSerialNumber = 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OffsetJoinNumbers(uint joinStart)
|
||||||
|
{
|
||||||
|
var joinOffset = joinStart - 1;
|
||||||
|
|
||||||
|
IsOnline = IsOnline + joinOffset;
|
||||||
|
CurrentOutputResolution = CurrentOutputResolution + joinOffset;
|
||||||
|
EdidManufacturer = EdidManufacturer + joinOffset;
|
||||||
|
EdidName = EdidName + joinOffset;
|
||||||
|
EdidPrefferedTiming = EdidPrefferedTiming + joinOffset;
|
||||||
|
EdidSerialNumber = EdidSerialNumber + joinOffset;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,82 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using Crestron.SimplSharp;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Bridges
|
||||||
|
{
|
||||||
|
public class DmTxControllerJoinMap : JoinMapBase
|
||||||
|
{
|
||||||
|
#region Digitals
|
||||||
|
/// <summary>
|
||||||
|
/// High when device is online (if not attached to a DMP3 or DM chassis with a CPU3 card
|
||||||
|
/// </summary>
|
||||||
|
public uint IsOnline { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// High when video sync is detected
|
||||||
|
/// </summary>
|
||||||
|
public uint VideoSyncStatus { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Analogs
|
||||||
|
/// <summary>
|
||||||
|
/// Sets and reports the video source
|
||||||
|
/// </summary>
|
||||||
|
public uint VideoInput { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Sets and reports the audio source
|
||||||
|
/// </summary>
|
||||||
|
public uint AudioInput { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Reports the highest supported HDCP state level for the corresponding input card
|
||||||
|
/// </summary>
|
||||||
|
public uint HdcpSupportCapability { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Sets and reports the current HDCP state for the corresponding input port
|
||||||
|
/// </summary>
|
||||||
|
public uint Port1HdcpState { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Sets and reports the current HDCP state for the corresponding input port
|
||||||
|
/// </summary>
|
||||||
|
public uint Port2HdcpState { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Serials
|
||||||
|
/// <summary>
|
||||||
|
/// Reports the current input resolution
|
||||||
|
/// </summary>
|
||||||
|
public uint CurrentInputResolution { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
public DmTxControllerJoinMap()
|
||||||
|
{
|
||||||
|
// Digital
|
||||||
|
IsOnline = 1;
|
||||||
|
VideoSyncStatus = 2;
|
||||||
|
// Serial
|
||||||
|
CurrentInputResolution = 1;
|
||||||
|
// Analog
|
||||||
|
VideoInput = 1;
|
||||||
|
AudioInput = 2;
|
||||||
|
HdcpSupportCapability = 3;
|
||||||
|
Port1HdcpState = 4;
|
||||||
|
Port2HdcpState = 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OffsetJoinNumbers(uint joinStart)
|
||||||
|
{
|
||||||
|
var joinOffset = joinStart - 1;
|
||||||
|
|
||||||
|
IsOnline = IsOnline + joinOffset;
|
||||||
|
VideoSyncStatus = VideoSyncStatus + joinOffset;
|
||||||
|
CurrentInputResolution = CurrentInputResolution + joinOffset;
|
||||||
|
VideoInput = VideoInput + joinOffset;
|
||||||
|
AudioInput = AudioInput + joinOffset;
|
||||||
|
HdcpSupportCapability = HdcpSupportCapability + joinOffset;
|
||||||
|
Port1HdcpState = Port1HdcpState + joinOffset;
|
||||||
|
Port2HdcpState = Port2HdcpState + joinOffset;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using Crestron.SimplSharp;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Bridges
|
||||||
|
{
|
||||||
|
public class DmpsAudioOutputControllerJoinMap : JoinMapBase
|
||||||
|
{
|
||||||
|
#region Digital/Analog
|
||||||
|
/// <summary>
|
||||||
|
/// Range of joins for Master Volume
|
||||||
|
/// Analog join 1 is volume level and feedback
|
||||||
|
/// Digital join 1 is Mute on and feedback
|
||||||
|
/// Digital join 2 is Mute off and feedback
|
||||||
|
/// Digital join 3 is volume up
|
||||||
|
/// Digital join 4 is volume down
|
||||||
|
/// </summary>
|
||||||
|
public uint MasterVolume { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range of joins for Source Volume
|
||||||
|
/// Analog join 11 is volume level and feedback
|
||||||
|
/// Digital join 11 is Mute on and feedback
|
||||||
|
/// Digital join 12 is Mute off and feedback
|
||||||
|
/// Digital join 13 is volume up
|
||||||
|
/// Digital join 14 is volume down
|
||||||
|
/// </summary>
|
||||||
|
public uint SourceVolume { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range of joins for Codec1 Volume (if applicable)
|
||||||
|
/// Analog join 21 is volume level and feedback
|
||||||
|
/// Digital join 21 is Mute on and feedback
|
||||||
|
/// Digital join 22 is Mute off and feedback
|
||||||
|
/// Digital join 23 is volume up
|
||||||
|
/// Digital join 24 is volume down
|
||||||
|
/// </summary>
|
||||||
|
public uint Codec1Volume { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range of joins for Codec2 Volume (if applicable)
|
||||||
|
/// Analog join 31 is volume level and feedback
|
||||||
|
/// Digital join 31 is Mute on and feedback
|
||||||
|
/// Digital join 32 is Mute off and feedback
|
||||||
|
/// Digital join 33 is volume up
|
||||||
|
/// Digital join 34 is volume down
|
||||||
|
/// </summary>
|
||||||
|
public uint Codec2Volume { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
public DmpsAudioOutputControllerJoinMap()
|
||||||
|
{
|
||||||
|
MasterVolume = 1; // 1-10
|
||||||
|
SourceVolume = 11; // 11-20
|
||||||
|
Codec1Volume = 21; // 21-30
|
||||||
|
Codec2Volume = 31; // 31-40
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OffsetJoinNumbers(uint joinStart)
|
||||||
|
{
|
||||||
|
var joinOffset = joinStart;
|
||||||
|
|
||||||
|
MasterVolume = MasterVolume + joinOffset;
|
||||||
|
SourceVolume = SourceVolume + joinOffset;
|
||||||
|
Codec1Volume = Codec1Volume + joinOffset;
|
||||||
|
Codec2Volume = Codec2Volume + joinOffset;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,126 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using Crestron.SimplSharp;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Bridges
|
||||||
|
{
|
||||||
|
public class DmpsRoutingControllerJoinMap : JoinMapBase
|
||||||
|
{
|
||||||
|
#region Digitals
|
||||||
|
/// <summary>
|
||||||
|
/// Range reports video sync feedback for each input
|
||||||
|
/// </summary>
|
||||||
|
public uint VideoSyncStatus { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range reports high if corresponding input's endpoint is online
|
||||||
|
/// </summary>
|
||||||
|
public uint InputEndpointOnline { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range reports high if corresponding output's endpoint is online
|
||||||
|
/// </summary>
|
||||||
|
public uint OutputEndpointOnline { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
#region Analogs
|
||||||
|
/// <summary>
|
||||||
|
/// Range sets and reports the current video source for the corresponding output
|
||||||
|
/// </summary>
|
||||||
|
public uint OutputVideo { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range sets and reports the current audio source for the corresponding output
|
||||||
|
/// </summary>
|
||||||
|
public uint OutputAudio { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range sets and reports the current Usb source for the corresponding output
|
||||||
|
/// </summary>
|
||||||
|
//public uint OutputUsb { get; set; }
|
||||||
|
///// <summary>
|
||||||
|
///// Range sets and reports the current Usb source for the corresponding input
|
||||||
|
///// </summary>
|
||||||
|
//public uint InputUsb { get; set; }
|
||||||
|
///// <summary>
|
||||||
|
///// Range sets and reports the current HDCP state for the corresponding input card
|
||||||
|
///// </summary>
|
||||||
|
//public uint HdcpSupportState { get; set; }
|
||||||
|
///// <summary>
|
||||||
|
///// Range reports the highest supported HDCP state level for the corresponding input card
|
||||||
|
///// </summary>
|
||||||
|
//public uint HdcpSupportCapability { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Serials
|
||||||
|
/// <summary>
|
||||||
|
/// Range sets and reports the name for the corresponding input card
|
||||||
|
/// </summary>
|
||||||
|
public uint InputNames { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range sets and reports the name for the corresponding output card
|
||||||
|
/// </summary>
|
||||||
|
public uint OutputNames { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range reports the name of the current video source for the corresponding output card
|
||||||
|
/// </summary>
|
||||||
|
public uint OutputCurrentVideoInputNames { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range reports the name of the current audio source for the corresponding output card
|
||||||
|
/// </summary>
|
||||||
|
public uint OutputCurrentAudioInputNames { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range reports the current input resolution for each corresponding input card
|
||||||
|
/// </summary>
|
||||||
|
public uint InputCurrentResolution { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
public DmpsRoutingControllerJoinMap()
|
||||||
|
{
|
||||||
|
//Digital
|
||||||
|
VideoSyncStatus = 100; //101-299
|
||||||
|
InputEndpointOnline = 500; //501-699
|
||||||
|
OutputEndpointOnline = 700; //701-899
|
||||||
|
|
||||||
|
//Analog
|
||||||
|
OutputVideo = 100; //101-299
|
||||||
|
OutputAudio = 300; //301-499
|
||||||
|
//OutputUsb = 500; //501-699
|
||||||
|
//InputUsb = 700; //701-899
|
||||||
|
VideoSyncStatus = 100; //101-299
|
||||||
|
//HdcpSupportState = 1000; //1001-1199
|
||||||
|
//HdcpSupportCapability = 1200; //1201-1399
|
||||||
|
|
||||||
|
|
||||||
|
//Serial
|
||||||
|
InputNames = 100; //101-299
|
||||||
|
OutputNames = 300; //301-499
|
||||||
|
OutputCurrentVideoInputNames = 2000; //2001-2199
|
||||||
|
OutputCurrentAudioInputNames = 2200; //2201-2399
|
||||||
|
InputCurrentResolution = 2400; // 2401-2599
|
||||||
|
InputEndpointOnline = 500; //501-699
|
||||||
|
OutputEndpointOnline = 700; //701-899
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OffsetJoinNumbers(uint joinStart)
|
||||||
|
{
|
||||||
|
var joinOffset = joinStart - 1;
|
||||||
|
|
||||||
|
OutputVideo = OutputVideo + joinOffset;
|
||||||
|
OutputAudio = OutputAudio + joinOffset;
|
||||||
|
//OutputUsb = OutputUsb + joinOffset;
|
||||||
|
//InputUsb = InputUsb + joinOffset;
|
||||||
|
VideoSyncStatus = VideoSyncStatus + joinOffset;
|
||||||
|
InputNames = InputNames + joinOffset;
|
||||||
|
OutputNames = OutputNames + joinOffset;
|
||||||
|
OutputCurrentVideoInputNames = OutputCurrentVideoInputNames + joinOffset;
|
||||||
|
OutputCurrentAudioInputNames = OutputCurrentAudioInputNames + joinOffset;
|
||||||
|
InputCurrentResolution = InputCurrentResolution + joinOffset;
|
||||||
|
InputEndpointOnline = InputEndpointOnline + joinOffset;
|
||||||
|
OutputEndpointOnline = OutputEndpointOnline + joinOffset;
|
||||||
|
//HdcpSupportState = HdcpSupportState + joinOffset;
|
||||||
|
//HdcpSupportCapability = HdcpSupportCapability + joinOffset;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using Crestron.SimplSharp;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Bridges
|
||||||
|
{
|
||||||
|
public class GenericRelayControllerJoinMap : JoinMapBase
|
||||||
|
{
|
||||||
|
#region Digitals
|
||||||
|
/// <summary>
|
||||||
|
/// Sets and reports the state of the relay (High = closed, Low = Open)
|
||||||
|
/// </summary>
|
||||||
|
public uint Relay { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
public GenericRelayControllerJoinMap()
|
||||||
|
{
|
||||||
|
Relay = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OffsetJoinNumbers(uint joinStart)
|
||||||
|
{
|
||||||
|
var joinOffset = joinStart - 1;
|
||||||
|
|
||||||
|
Relay = Relay + joinOffset;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,118 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using Crestron.SimplSharp;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Bridges
|
||||||
|
{
|
||||||
|
public class HdMdxxxCEControllerJoinMap : JoinMapBase
|
||||||
|
{
|
||||||
|
#region Digitals
|
||||||
|
/// <summary>
|
||||||
|
/// High when the pair is online
|
||||||
|
/// </summary>
|
||||||
|
public uint IsOnline { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// High when the remote end device is online
|
||||||
|
/// </summary>
|
||||||
|
public uint RemoteEndDetected { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets Auto Route On and provides feedback
|
||||||
|
/// </summary>
|
||||||
|
public uint AutoRouteOn { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets Auto Route Off and provides feedback
|
||||||
|
/// </summary>
|
||||||
|
public uint AutoRouteOff { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets Priority Routing On and provides feedback
|
||||||
|
/// </summary>
|
||||||
|
public uint PriorityRoutingOn { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sets Priority Routing Off and provides feedback
|
||||||
|
/// </summary>
|
||||||
|
public uint PriorityRoutingOff { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Enables OSD and provides feedback
|
||||||
|
/// </summary>
|
||||||
|
public uint InputOnScreenDisplayEnabled { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Disables OSD and provides feedback
|
||||||
|
/// </summary>
|
||||||
|
public uint InputOnScreenDisplayDisabled { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Provides Video Sync Detected feedback for each input
|
||||||
|
/// </summary>
|
||||||
|
public uint SyncDetected { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Analogs
|
||||||
|
/// <summary>
|
||||||
|
/// Sets the video source for the receiver's HDMI out and provides feedback
|
||||||
|
/// </summary>
|
||||||
|
public uint VideoSource { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Indicates the number of sources supported by the Tx/Rx pair
|
||||||
|
/// </summary>
|
||||||
|
public uint SourceCount { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Serials
|
||||||
|
/// <summary>
|
||||||
|
/// Indicates the name of each input port
|
||||||
|
/// </summary>
|
||||||
|
public uint SourceNames { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
public HdMdxxxCEControllerJoinMap()
|
||||||
|
{
|
||||||
|
//Digital
|
||||||
|
IsOnline = 1;
|
||||||
|
RemoteEndDetected = 2;
|
||||||
|
AutoRouteOn = 3;
|
||||||
|
AutoRouteOff = 4;
|
||||||
|
PriorityRoutingOn = 5;
|
||||||
|
PriorityRoutingOff = 6;
|
||||||
|
InputOnScreenDisplayEnabled = 7;
|
||||||
|
InputOnScreenDisplayDisabled = 8;
|
||||||
|
SyncDetected = 10; // 11-15
|
||||||
|
|
||||||
|
//Analog
|
||||||
|
VideoSource = 1;
|
||||||
|
SourceCount = 2;
|
||||||
|
|
||||||
|
//Serials
|
||||||
|
SourceNames = 10; // 11-15
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OffsetJoinNumbers(uint joinStart)
|
||||||
|
{
|
||||||
|
var joinOffset = joinStart - 1;
|
||||||
|
|
||||||
|
IsOnline = IsOnline + joinOffset;
|
||||||
|
RemoteEndDetected = RemoteEndDetected + joinOffset;
|
||||||
|
AutoRouteOn = AutoRouteOn + joinOffset;
|
||||||
|
AutoRouteOff = AutoRouteOff + joinOffset;
|
||||||
|
PriorityRoutingOn = PriorityRoutingOn + joinOffset;
|
||||||
|
PriorityRoutingOff = PriorityRoutingOff + joinOffset;
|
||||||
|
InputOnScreenDisplayEnabled = InputOnScreenDisplayEnabled + joinOffset;
|
||||||
|
InputOnScreenDisplayDisabled = InputOnScreenDisplayDisabled + joinOffset;
|
||||||
|
SyncDetected = SyncDetected + joinOffset;
|
||||||
|
|
||||||
|
VideoSource = VideoSource + joinOffset;
|
||||||
|
SourceCount = SourceCount + joinOffset;
|
||||||
|
|
||||||
|
SourceNames = SourceNames + joinOffset;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using Crestron.SimplSharp;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Bridges
|
||||||
|
{
|
||||||
|
public class IBasicCommunicationJoinMap : JoinMapBase
|
||||||
|
{
|
||||||
|
#region Digitals
|
||||||
|
/// <summary>
|
||||||
|
/// Set High to connect, Low to disconnect
|
||||||
|
/// </summary>
|
||||||
|
public uint Connect { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Reports Connected State (High = Connected)
|
||||||
|
/// </summary>
|
||||||
|
public uint Connected { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Analogs
|
||||||
|
/// <summary>
|
||||||
|
/// Reports the connections status value
|
||||||
|
/// </summary>
|
||||||
|
public uint Status { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Serials
|
||||||
|
/// <summary>
|
||||||
|
/// Data back from port
|
||||||
|
/// </summary>
|
||||||
|
public uint TextReceived { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Sends data to the port
|
||||||
|
/// </summary>
|
||||||
|
public uint SendText { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Takes a JSON serialized string that sets a COM port's parameters
|
||||||
|
/// </summary>
|
||||||
|
public uint SetPortConfig { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
public IBasicCommunicationJoinMap()
|
||||||
|
{
|
||||||
|
TextReceived = 1;
|
||||||
|
SendText = 1;
|
||||||
|
SetPortConfig = 2;
|
||||||
|
Connect = 1;
|
||||||
|
Connected = 1;
|
||||||
|
Status = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OffsetJoinNumbers(uint joinStart)
|
||||||
|
{
|
||||||
|
var joinOffset = joinStart - 1;
|
||||||
|
|
||||||
|
TextReceived = TextReceived + joinOffset;
|
||||||
|
SendText = SendText + joinOffset;
|
||||||
|
SetPortConfig = SetPortConfig + joinOffset;
|
||||||
|
Connect = Connect + joinOffset;
|
||||||
|
Connected = Connected + joinOffset;
|
||||||
|
Status = Status + joinOffset;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using Crestron.SimplSharp;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Bridges
|
||||||
|
{
|
||||||
|
public class IDigitalInputJoinMap : JoinMapBase
|
||||||
|
{
|
||||||
|
#region Digitals
|
||||||
|
/// <summary>
|
||||||
|
/// Reports the state of the digital input
|
||||||
|
/// </summary>
|
||||||
|
public uint InputState { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
public IDigitalInputJoinMap()
|
||||||
|
{
|
||||||
|
InputState = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OffsetJoinNumbers(uint joinStart)
|
||||||
|
{
|
||||||
|
var joinOffset = joinStart - 1;
|
||||||
|
|
||||||
|
InputState = InputState + joinOffset;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
135
PepperDashEssentials/Bridges/JoinMaps/SystemMonitorJoinMap.cs
Normal file
135
PepperDashEssentials/Bridges/JoinMaps/SystemMonitorJoinMap.cs
Normal file
@@ -0,0 +1,135 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using Crestron.SimplSharp;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Bridges
|
||||||
|
{
|
||||||
|
public class SystemMonitorJoinMap : JoinMapBase
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Offset to indicate where the range of iterated program joins will start
|
||||||
|
/// </summary>
|
||||||
|
public uint ProgramStartJoin { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Offset between each program join set
|
||||||
|
/// </summary>
|
||||||
|
public uint ProgramOffsetJoin { get; set; }
|
||||||
|
|
||||||
|
#region Digitals
|
||||||
|
/// <summary>
|
||||||
|
/// Range Sets and reports whether the corresponding program slot is started
|
||||||
|
/// </summary>
|
||||||
|
public uint ProgramStart { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range Sets and reports whether the corresponding program slot is stopped
|
||||||
|
/// </summary>
|
||||||
|
public uint ProgramStop { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range Sets and reports whether the corresponding program is registered
|
||||||
|
/// </summary>
|
||||||
|
public uint ProgramRegister { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Range Sets and reports whether the corresponding program is unregistered
|
||||||
|
/// </summary>
|
||||||
|
public uint ProgramUnregister { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Analogs
|
||||||
|
/// <summary>
|
||||||
|
/// Sets and reports the time zone
|
||||||
|
/// </summary>
|
||||||
|
public uint TimeZone { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Serials
|
||||||
|
/// <summary>
|
||||||
|
/// Reports the time zone name
|
||||||
|
/// </summary>
|
||||||
|
public uint TimeZoneName { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Reports the IO Controller Version
|
||||||
|
/// </summary>
|
||||||
|
public uint IOControllerVersion { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Reports the SNMP App Version
|
||||||
|
/// </summary>
|
||||||
|
public uint SnmpAppVersion { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Reports the BACnet App Version
|
||||||
|
/// </summary>
|
||||||
|
public uint BACnetAppVersion { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Reports the firmware version
|
||||||
|
/// </summary>
|
||||||
|
public uint ControllerVersion { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Reports the name of the corresponding program
|
||||||
|
/// </summary>
|
||||||
|
public uint ProgramName { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Reports the compile time of the corresponding program
|
||||||
|
/// </summary>
|
||||||
|
public uint ProgramCompiledTime { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Reports the Crestron Database version of the corresponding program
|
||||||
|
/// </summary>
|
||||||
|
public uint ProgramCrestronDatabaseVersion { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Reports the Environment Version of the corresponding program
|
||||||
|
/// </summary>
|
||||||
|
public uint ProgramEnvironmentVersion { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Serialized JSON output that aggregates the program info of the corresponding program
|
||||||
|
/// </summary>
|
||||||
|
public uint AggregatedProgramInfo { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
public SystemMonitorJoinMap()
|
||||||
|
{
|
||||||
|
TimeZone = 1;
|
||||||
|
|
||||||
|
TimeZoneName = 1;
|
||||||
|
IOControllerVersion = 2;
|
||||||
|
SnmpAppVersion = 3;
|
||||||
|
BACnetAppVersion = 4;
|
||||||
|
ControllerVersion = 5;
|
||||||
|
|
||||||
|
|
||||||
|
ProgramStartJoin = 10;
|
||||||
|
|
||||||
|
ProgramOffsetJoin = 5;
|
||||||
|
|
||||||
|
// Offset in groups of 5 joins
|
||||||
|
ProgramStart = 1;
|
||||||
|
ProgramStop = 2;
|
||||||
|
ProgramRegister = 3;
|
||||||
|
ProgramUnregister = 4;
|
||||||
|
|
||||||
|
ProgramName = 1;
|
||||||
|
ProgramCompiledTime = 2;
|
||||||
|
ProgramCrestronDatabaseVersion = 3;
|
||||||
|
ProgramEnvironmentVersion = 4;
|
||||||
|
AggregatedProgramInfo = 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OffsetJoinNumbers(uint joinStart)
|
||||||
|
{
|
||||||
|
var joinOffset = joinStart - 1;
|
||||||
|
|
||||||
|
TimeZone = TimeZone + joinOffset;
|
||||||
|
|
||||||
|
TimeZoneName = TimeZoneName + joinOffset;
|
||||||
|
IOControllerVersion = IOControllerVersion + joinOffset;
|
||||||
|
SnmpAppVersion = SnmpAppVersion + joinOffset;
|
||||||
|
BACnetAppVersion = BACnetAppVersion + joinOffset;
|
||||||
|
ControllerVersion = ControllerVersion + joinOffset;
|
||||||
|
|
||||||
|
// Sets the initial join value where the iterated program joins will begin
|
||||||
|
ProgramStartJoin = ProgramStartJoin + joinOffset;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -63,88 +63,6 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
|
|
||||||
programSlotJoinStart = programSlotJoinStart + joinMap.ProgramOffsetJoin;
|
programSlotJoinStart = programSlotJoinStart + joinMap.ProgramOffsetJoin;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public class SystemMonitorJoinMap : JoinMapBase
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Offset to indicate where the range of iterated program joins will start
|
|
||||||
/// </summary>
|
|
||||||
public uint ProgramStartJoin { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Offset between each program join set
|
|
||||||
/// </summary>
|
|
||||||
public uint ProgramOffsetJoin { get; set; }
|
|
||||||
|
|
||||||
//Digital
|
|
||||||
public uint ProgramStart { get; set; }
|
|
||||||
public uint ProgramStop { get; set; }
|
|
||||||
public uint ProgramRegister { get; set; }
|
|
||||||
public uint ProgramUnregister { get; set; }
|
|
||||||
|
|
||||||
//Analog
|
|
||||||
public uint TimeZone { get; set; }
|
|
||||||
|
|
||||||
//Serial
|
|
||||||
public uint TimeZoneName { get; set; }
|
|
||||||
public uint IOControllerVersion { get; set; }
|
|
||||||
public uint SnmpAppVersion { get; set; }
|
|
||||||
public uint BACnetAppVersion { get; set; }
|
|
||||||
public uint ControllerVersion { get; set; }
|
|
||||||
|
|
||||||
public uint ProgramName { get; set; }
|
|
||||||
public uint ProgramCompiledTime { get; set; }
|
|
||||||
public uint ProgramCrestronDatabaseVersion { get; set; }
|
|
||||||
public uint ProgramEnvironmentVersion { get; set; }
|
|
||||||
public uint AggregatedProgramInfo { get; set; }
|
|
||||||
|
|
||||||
public SystemMonitorJoinMap()
|
|
||||||
{
|
|
||||||
TimeZone = 1;
|
|
||||||
|
|
||||||
TimeZoneName = 1;
|
|
||||||
IOControllerVersion = 2;
|
|
||||||
SnmpAppVersion = 3;
|
|
||||||
BACnetAppVersion = 4;
|
|
||||||
ControllerVersion = 5;
|
|
||||||
|
|
||||||
|
|
||||||
ProgramStartJoin = 10;
|
|
||||||
|
|
||||||
ProgramOffsetJoin = 5;
|
|
||||||
|
|
||||||
// Offset in groups of 5 joins
|
|
||||||
ProgramStart = 1;
|
|
||||||
ProgramStop = 2;
|
|
||||||
ProgramRegister = 3;
|
|
||||||
ProgramUnregister = 4;
|
|
||||||
|
|
||||||
ProgramName = 1;
|
|
||||||
ProgramCompiledTime = 2;
|
|
||||||
ProgramCrestronDatabaseVersion = 3;
|
|
||||||
ProgramEnvironmentVersion = 4;
|
|
||||||
AggregatedProgramInfo = 5;
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void OffsetJoinNumbers(uint joinStart)
|
|
||||||
{
|
|
||||||
var joinOffset = joinStart - 1;
|
|
||||||
|
|
||||||
TimeZone = TimeZone + joinOffset;
|
|
||||||
|
|
||||||
TimeZoneName = TimeZoneName + joinOffset;
|
|
||||||
IOControllerVersion = IOControllerVersion + joinOffset;
|
|
||||||
SnmpAppVersion = SnmpAppVersion + joinOffset;
|
|
||||||
BACnetAppVersion = BACnetAppVersion + joinOffset;
|
|
||||||
ControllerVersion = ControllerVersion + joinOffset;
|
|
||||||
|
|
||||||
// Sets the initial join value where the iterated program joins will begin
|
|
||||||
ProgramStartJoin = ProgramStartJoin + joinOffset;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -135,6 +135,19 @@
|
|||||||
<Compile Include="Bridges\IBridge.cs" />
|
<Compile Include="Bridges\IBridge.cs" />
|
||||||
<Compile Include="Bridges\IDigitalInputBridge.cs" />
|
<Compile Include="Bridges\IDigitalInputBridge.cs" />
|
||||||
<Compile Include="Bridges\JoinMapBase.cs" />
|
<Compile Include="Bridges\JoinMapBase.cs" />
|
||||||
|
<Compile Include="Bridges\JoinMaps\AirMediaControllerJoinMap.cs" />
|
||||||
|
<Compile Include="Bridges\JoinMaps\AppleTvJoinMap.cs" />
|
||||||
|
<Compile Include="Bridges\JoinMaps\DisplayControllerJoinMap.cs" />
|
||||||
|
<Compile Include="Bridges\JoinMaps\DmChassisControllerJoinMap.cs" />
|
||||||
|
<Compile Include="Bridges\JoinMaps\DmpsAudioOutputControllerJoinMap.cs" />
|
||||||
|
<Compile Include="Bridges\JoinMaps\DmpsRoutingControllerJoinMap.cs" />
|
||||||
|
<Compile Include="Bridges\JoinMaps\DmRmcControllerJoinMap.cs" />
|
||||||
|
<Compile Include="Bridges\JoinMaps\DmTxControllerJoinMap.cs" />
|
||||||
|
<Compile Include="Bridges\JoinMaps\GenericRelayControllerJoinMap.cs" />
|
||||||
|
<Compile Include="Bridges\JoinMaps\HdMdxxxCEControllerJoinMap.cs" />
|
||||||
|
<Compile Include="Bridges\JoinMaps\IBasicCommunicationJoinMap.cs" />
|
||||||
|
<Compile Include="Bridges\JoinMaps\IDigitalInputJoinMap.cs" />
|
||||||
|
<Compile Include="Bridges\JoinMaps\SystemMonitorJoinMap.cs" />
|
||||||
<Compile Include="Bridges\SystemMonitorBridge.cs" />
|
<Compile Include="Bridges\SystemMonitorBridge.cs" />
|
||||||
<Compile Include="Configuration ORIGINAL\Builders\TPConfig.cs" />
|
<Compile Include="Configuration ORIGINAL\Builders\TPConfig.cs" />
|
||||||
<Compile Include="Configuration ORIGINAL\Configuration.cs" />
|
<Compile Include="Configuration ORIGINAL\Configuration.cs" />
|
||||||
|
|||||||
Reference in New Issue
Block a user