Changes Dm-Tx video sync feedback to be specific to port type (hdmi, dp, vga). Moves linking to Api join map into the tx specific LinkToApi()

This commit is contained in:
Alex Johnson
2020-05-07 13:23:20 -04:00
parent 8f440c3cb9
commit f91930930b
8 changed files with 129 additions and 68 deletions

View File

@@ -171,9 +171,8 @@ namespace PepperDash.Essentials.DM
{
}
protected void LinkDmTxToApi(DmTxControllerBase tx, BasicTriList trilist, uint joinStart, string joinMapKey,
EiscApiAdvanced bridge)
{
protected DmTxControllerJoinMap GetDmTxJoinMap(uint joinStart, string joinMapKey)
{
var joinMap = new DmTxControllerJoinMap();
var joinMapSerialized = JoinMapHelper.GetSerializedJoinMapForDevice(joinMapKey);
@@ -183,6 +182,11 @@ namespace PepperDash.Essentials.DM
joinMap.OffsetJoinNumbers(joinStart);
return joinMap;
}
protected void LinkDmTxToApi(DmTxControllerBase tx, BasicTriList trilist, DmTxControllerJoinMap joinMap, EiscApiAdvanced bridge)
{
if (tx.Hardware is DmHDBasedTEndPoint)
{
Debug.Console(1, tx, "No properties to link. Skipping device {0}", tx.Name);
@@ -217,25 +221,6 @@ namespace PepperDash.Essentials.DM
trilist.UShortInput[joinMap.HdcpSupportCapability].UShortValue = (ushort)tx.HdcpSupportCapability;
if (tx.Feedbacks["In1VideoSyncFeedback"] != null)
{
var boolFeedback = tx.Feedbacks["In1VideoSyncFeedback"] as BoolFeedback;
if (boolFeedback != null)
boolFeedback.LinkInputSig(trilist.BooleanInput[joinMap.Input1VideoSyncStatus]);
}
if (tx.Feedbacks["In2VideoSyncFeedback"] != null)
{
var boolFeedback = tx.Feedbacks["In1VideoSyncFeedback"] as BoolFeedback;
if (boolFeedback != null)
boolFeedback.LinkInputSig(trilist.BooleanInput[joinMap.Input2VideoSyncStatus]);
}
if (tx.Feedbacks["In3VideoSyncFeedback"] != null)
{
var boolFeedback = tx.Feedbacks["In1VideoSyncFeedback"] as BoolFeedback;
if (boolFeedback != null)
boolFeedback.LinkInputSig(trilist.BooleanInput[joinMap.Input3VideoSyncStatus]);
}
if (txR.InputPorts[DmPortName.HdmiIn] != null)
{
var inputPort = txR.InputPorts[DmPortName.HdmiIn];