Adds Edid and video resolution support for Dm Rmc over EiscApi bridge. Beginnings of Cec control

This commit is contained in:
Neil Dorin
2018-10-03 17:49:08 -06:00
parent a320eff13c
commit 3d6ce7534f
6 changed files with 106 additions and 20 deletions

View File

@@ -27,12 +27,12 @@ namespace PepperDash.Essentials.Bridges
tx.IsOnline.LinkInputSig(trilist.BooleanInput[joinMap.IsOnline]);
tx.AnyVideoInput.VideoStatus.VideoSyncFeedback.LinkInputSig(trilist.BooleanInput[joinMap.VideoSyncStatus]);
tx.AnyVideoInput.VideoStatus.VideoResolutionFeedback.LinkInputSig(trilist.StringInput[joinMap.CurrentInputResolution]);
tx.HdcpSupportAllFeedback.LinkInputSig(trilist.UShortInput[joinMap.HdcpSupportState]);
trilist.SetBoolSigAction(joinMap.HdcpSupportOn,
new Action<bool>(b => tx.SetHdcpSupportAll(ePdtHdcpSupport.Auto)));
tx.HdcpSupportAllFeedback.LinkInputSig(trilist.UShortInput[joinMap.HdcpSupportOn]);
trilist.SetBoolSigAction(joinMap.HdcpSupportOff,
new Action<bool>(b => tx.SetHdcpSupportAll(ePdtHdcpSupport.HdcpOff)));
tx.HdcpSupportAllFeedback.LinkInputSig(trilist.UShortInput[joinMap.HdcpSupportCapability]);
//trilist.SetUShortSigAction(joinMap.Port1HdcpState,
// new Action<ushort>(u => tx.SetPortHdcpSupport((ePdtHdcpSupport)u)));
//trilist.SetUShortSigAction(joinMap.Port2HdcpState,
// new Action<ushort>(u => tx.SetHdcpSupportAll((ePdtHdcpSupport)u)));
if (tx is ITxRouting)
{
trilist.SetUShortSigAction(joinMap.VideoInput,
@@ -41,7 +41,7 @@ namespace PepperDash.Essentials.Bridges
new Action<ushort>(i => (tx as ITxRouting).ExecuteNumericSwitch(i, 0, eRoutingSignalType.Audio)));
(tx as ITxRouting).VideoSourceNumericFeedback.LinkInputSig(trilist.UShortInput[joinMap.VideoInput]);
(tx as ITxRouting).AudioSourceNumericFeedabck.LinkInputSig(trilist.UShortInput[joinMap.AudioInput]);
(tx as ITxRouting).AudioSourceNumericFeedback.LinkInputSig(trilist.UShortInput[joinMap.AudioInput]);
}
}
@@ -50,25 +50,27 @@ namespace PepperDash.Essentials.Bridges
public uint IsOnline { get; set; }
public uint VideoSyncStatus { get; set; }
public uint CurrentInputResolution { get; set; }
public uint HdcpSupportOn { get; set; }
public uint HdcpSupportOff { get; set; }
public uint HdcpSupportState { 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;
HdcpSupportOn = 3;
HdcpSupportOff = 4;
// Serial
CurrentInputResolution = 1;
// Analog
VideoInput = 1;
AudioInput = 2;
HdcpSupportState = 3;
HdcpSupportCapability = 3;
Port1HdcpState = 4;
Port2HdcpState = 5;
}
public override void OffsetJoinNumbers(uint joinStart)
@@ -77,12 +79,12 @@ namespace PepperDash.Essentials.Bridges
IsOnline = IsOnline + joinOffset;
VideoSyncStatus = VideoSyncStatus + joinOffset;
HdcpSupportOn = HdcpSupportOn + joinOffset;
HdcpSupportOff = HdcpSupportOff + joinOffset;
CurrentInputResolution = CurrentInputResolution + joinOffset;
VideoInput = VideoInput + joinOffset;
AudioInput = AudioInput + joinOffset;
HdcpSupportState = HdcpSupportState + joinOffset;
HdcpSupportCapability = HdcpSupportCapability + joinOffset;
Port1HdcpState = Port1HdcpState + joinOffset;
Port2HdcpState = Port2HdcpState + joinOffset;
}
}
}