mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-01-26 02:44:57 +00:00
Adds new feedback type to link Dm-Tx input video sync to generic "input1", "input2", "input3" video sync feedbacks for passing to SIMPL. Updates join map for DmTxController
This commit is contained in:
@@ -17,6 +17,18 @@ namespace PepperDash.Essentials.Core.Bridges
|
||||
///
|
||||
/// </summary>
|
||||
public uint FreeRunEnabled { get; set; }
|
||||
/// <summary>
|
||||
/// High when video sync is detected on input 1 of a multi-input tx
|
||||
/// </summary>
|
||||
public uint Input1VideoSyncStatus { get; set; }
|
||||
/// <summary>
|
||||
/// High when video sync is detected on input 2 of a multi-input tx
|
||||
/// </summary>
|
||||
public uint Input2VideoSyncStatus { get; set; }
|
||||
/// <summary>
|
||||
/// High when video sync is detected on input 3 of a multi-input tx
|
||||
/// </summary>
|
||||
public uint Input3VideoSyncStatus { get; set; }
|
||||
#endregion
|
||||
|
||||
#region Analogs
|
||||
@@ -66,6 +78,9 @@ namespace PepperDash.Essentials.Core.Bridges
|
||||
IsOnline = 1;
|
||||
VideoSyncStatus = 2;
|
||||
FreeRunEnabled = 3;
|
||||
Input1VideoSyncStatus = 4;
|
||||
Input2VideoSyncStatus = 5;
|
||||
Input3VideoSyncStatus = 6;
|
||||
// Serial
|
||||
CurrentInputResolution = 1;
|
||||
// Analog
|
||||
@@ -85,6 +100,9 @@ namespace PepperDash.Essentials.Core.Bridges
|
||||
IsOnline = IsOnline + joinOffset;
|
||||
VideoSyncStatus = VideoSyncStatus + joinOffset;
|
||||
FreeRunEnabled = FreeRunEnabled + joinOffset;
|
||||
Input1VideoSyncStatus = Input1VideoSyncStatus + joinOffset;
|
||||
Input2VideoSyncStatus = Input2VideoSyncStatus + joinOffset;
|
||||
Input3VideoSyncStatus = Input3VideoSyncStatus + joinOffset;
|
||||
CurrentInputResolution = CurrentInputResolution + joinOffset;
|
||||
VideoInput = VideoInput + joinOffset;
|
||||
AudioInput = AudioInput + joinOffset;
|
||||
|
||||
@@ -33,6 +33,8 @@ namespace PepperDash.Essentials.DM
|
||||
public IntFeedback VideoSourceNumericFeedback { get; protected set; }
|
||||
public IntFeedback AudioSourceNumericFeedback { get; protected set; }
|
||||
public IntFeedback HdmiInHdcpCapabilityFeedback { get; protected set; }
|
||||
public BoolFeedback In1VideoSyncFeedback { get; protected set; }
|
||||
public BoolFeedback In2VideoSyncFeedback { get; protected set; }
|
||||
|
||||
public BoolFeedback FreeRunEnabledFeedback { get; protected set; }
|
||||
|
||||
@@ -127,6 +129,16 @@ namespace PepperDash.Essentials.DM
|
||||
|
||||
HdcpSupportCapability = eHdcpCapabilityType.HdcpAutoSupport;
|
||||
|
||||
In1VideoSyncFeedback = new BoolFeedback("In1VideoSync", () =>
|
||||
{
|
||||
return (bool)tx.HdmiInput.SyncDetectedFeedback.BoolValue;
|
||||
});
|
||||
|
||||
In2VideoSyncFeedback = new BoolFeedback("In2VideoSync", () =>
|
||||
{
|
||||
return (bool)tx.VgaInput.SyncDetectedFeedback.BoolValue;
|
||||
});
|
||||
|
||||
FreeRunEnabledFeedback = new BoolFeedback(() => tx.VgaInput.FreeRunFeedback == eDmFreeRunSetting.Enabled);
|
||||
|
||||
VgaBrightnessFeedback = new IntFeedback(() => tx.VgaInput.VideoControls.BrightnessFeedback.UShortValue);
|
||||
@@ -174,7 +186,8 @@ namespace PepperDash.Essentials.DM
|
||||
AddToFeedbackList(ActiveVideoInputFeedback, VideoSourceNumericFeedback, AudioSourceNumericFeedback,
|
||||
AnyVideoInput.VideoStatus.HasVideoStatusFeedback, AnyVideoInput.VideoStatus.HdcpActiveFeedback,
|
||||
AnyVideoInput.VideoStatus.HdcpStateFeedback, AnyVideoInput.VideoStatus.VideoResolutionFeedback,
|
||||
AnyVideoInput.VideoStatus.VideoSyncFeedback, HdmiInHdcpCapabilityFeedback);
|
||||
AnyVideoInput.VideoStatus.VideoSyncFeedback, HdmiInHdcpCapabilityFeedback, In1VideoSyncFeedback,
|
||||
In2VideoSyncFeedback);
|
||||
|
||||
// Set Ports for CEC
|
||||
HdmiInput.Port = Tx.HdmiInput;
|
||||
|
||||
@@ -34,6 +34,8 @@ namespace PepperDash.Essentials.DM
|
||||
public IntFeedback VideoSourceNumericFeedback { get; protected set; }
|
||||
public IntFeedback AudioSourceNumericFeedback { get; protected set; }
|
||||
public IntFeedback HdmiInHdcpCapabilityFeedback { get; protected set; }
|
||||
public BoolFeedback In1VideoSyncFeedback { get; protected set; }
|
||||
public BoolFeedback In2VideoSyncFeedback { get; protected set; }
|
||||
|
||||
public BoolFeedback FreeRunEnabledFeedback { get; protected set; }
|
||||
|
||||
@@ -126,6 +128,16 @@ namespace PepperDash.Essentials.DM
|
||||
return 0;
|
||||
});
|
||||
|
||||
In1VideoSyncFeedback = new BoolFeedback("In1VideoSync", () =>
|
||||
{
|
||||
return (bool)tx.HdmiInput.SyncDetectedFeedback.BoolValue;
|
||||
});
|
||||
|
||||
In2VideoSyncFeedback = new BoolFeedback("In2VideoSync", () =>
|
||||
{
|
||||
return (bool)tx.VgaInput.SyncDetectedFeedback.BoolValue;
|
||||
});
|
||||
|
||||
FreeRunEnabledFeedback = new BoolFeedback(() => tx.VgaInput.FreeRunFeedback == eDmFreeRunSetting.Enabled);
|
||||
|
||||
VgaBrightnessFeedback = new IntFeedback(() => tx.VgaInput.VideoControls.BrightnessFeedback.UShortValue);
|
||||
@@ -176,7 +188,8 @@ namespace PepperDash.Essentials.DM
|
||||
AddToFeedbackList(ActiveVideoInputFeedback, VideoSourceNumericFeedback, AudioSourceNumericFeedback,
|
||||
AnyVideoInput.VideoStatus.HasVideoStatusFeedback, AnyVideoInput.VideoStatus.HdcpActiveFeedback,
|
||||
AnyVideoInput.VideoStatus.HdcpStateFeedback, AnyVideoInput.VideoStatus.VideoResolutionFeedback,
|
||||
AnyVideoInput.VideoStatus.VideoSyncFeedback, HdmiInHdcpCapabilityFeedback);
|
||||
AnyVideoInput.VideoStatus.VideoSyncFeedback, HdmiInHdcpCapabilityFeedback, In1VideoSyncFeedback,
|
||||
In2VideoSyncFeedback);
|
||||
|
||||
// Set Ports for CEC
|
||||
HdmiInput.Port = Tx.HdmiInput;
|
||||
|
||||
@@ -35,6 +35,9 @@ namespace PepperDash.Essentials.DM
|
||||
public IntFeedback VideoSourceNumericFeedback { get; protected set; }
|
||||
public IntFeedback AudioSourceNumericFeedback { get; protected set; }
|
||||
public IntFeedback HdmiInHdcpCapabilityFeedback { get; protected set; }
|
||||
public BoolFeedback In1VideoSyncFeedback { get; protected set; }
|
||||
public BoolFeedback In2VideoSyncFeedback { get; protected set; }
|
||||
public BoolFeedback In3VideoSyncFeedback { get; protected set; }
|
||||
|
||||
public BoolFeedback FreeRunEnabledFeedback { get; protected set; }
|
||||
|
||||
@@ -137,6 +140,21 @@ namespace PepperDash.Essentials.DM
|
||||
|
||||
HdcpSupportCapability = eHdcpCapabilityType.HdcpAutoSupport;
|
||||
|
||||
In1VideoSyncFeedback = new BoolFeedback("In1VideoSync", () =>
|
||||
{
|
||||
return (bool)tx.HdmiInput.SyncDetectedFeedback.BoolValue;
|
||||
});
|
||||
|
||||
In2VideoSyncFeedback = new BoolFeedback("In2VideoSync", () =>
|
||||
{
|
||||
return (bool)tx.DisplayPortInput.SyncDetectedFeedback.BoolValue;
|
||||
});
|
||||
|
||||
In3VideoSyncFeedback = new BoolFeedback("In3VideoSync", () =>
|
||||
{
|
||||
return (bool)tx.VgaInput.SyncDetectedFeedback.BoolValue;
|
||||
});
|
||||
|
||||
FreeRunEnabledFeedback = new BoolFeedback(() => tx.VgaInput.FreeRunFeedback == eDmFreeRunSetting.Enabled);
|
||||
|
||||
VgaBrightnessFeedback = new IntFeedback(() => tx.VgaInput.VideoControls.BrightnessFeedback.UShortValue);
|
||||
@@ -193,7 +211,8 @@ namespace PepperDash.Essentials.DM
|
||||
AddToFeedbackList(ActiveVideoInputFeedback, VideoSourceNumericFeedback, AudioSourceNumericFeedback,
|
||||
AnyVideoInput.VideoStatus.HasVideoStatusFeedback, AnyVideoInput.VideoStatus.HdcpActiveFeedback,
|
||||
AnyVideoInput.VideoStatus.HdcpStateFeedback, AnyVideoInput.VideoStatus.VideoResolutionFeedback,
|
||||
AnyVideoInput.VideoStatus.VideoSyncFeedback, HdmiInHdcpCapabilityFeedback);
|
||||
AnyVideoInput.VideoStatus.VideoSyncFeedback, HdmiInHdcpCapabilityFeedback, In1VideoSyncFeedback,
|
||||
In2VideoSyncFeedback, In3VideoSyncFeedback);
|
||||
|
||||
// Set Ports for CEC
|
||||
DisplayPortIn.Port = Tx.DisplayPortInput;
|
||||
|
||||
@@ -35,6 +35,8 @@ namespace PepperDash.Essentials.DM
|
||||
public IntFeedback AudioSourceNumericFeedback { get; protected set; }
|
||||
public IntFeedback HdmiIn1HdcpCapabilityFeedback { get; protected set; }
|
||||
public IntFeedback HdmiIn2HdcpCapabilityFeedback { get; protected set; }
|
||||
public BoolFeedback In1VideoSyncFeedback { get; protected set; }
|
||||
public BoolFeedback In2VideoSyncFeedback { get; protected set; }
|
||||
|
||||
//public override IntFeedback HdcpSupportAllFeedback { get; protected set; }
|
||||
//public override ushort HdcpSupportCapability { get; protected set; }
|
||||
@@ -119,6 +121,16 @@ namespace PepperDash.Essentials.DM
|
||||
|
||||
HdcpSupportCapability = eHdcpCapabilityType.Hdcp2_2Support;
|
||||
|
||||
In1VideoSyncFeedback = new BoolFeedback("In1VideoSync", () =>
|
||||
{
|
||||
return (bool)tx.HdmiInputs[1].SyncDetectedFeedback.BoolValue;
|
||||
});
|
||||
|
||||
In2VideoSyncFeedback = new BoolFeedback("In2VideoSync", () =>
|
||||
{
|
||||
return (bool)tx.HdmiInputs[2].SyncDetectedFeedback.BoolValue;
|
||||
});
|
||||
|
||||
var combinedFuncs = new VideoStatusFuncsWrapper
|
||||
{
|
||||
HdcpActiveFeedbackFunc = () =>
|
||||
@@ -164,7 +176,8 @@ namespace PepperDash.Essentials.DM
|
||||
AddToFeedbackList(ActiveVideoInputFeedback, VideoSourceNumericFeedback, AudioSourceNumericFeedback,
|
||||
AnyVideoInput.VideoStatus.HasVideoStatusFeedback, AnyVideoInput.VideoStatus.HdcpActiveFeedback,
|
||||
AnyVideoInput.VideoStatus.HdcpStateFeedback, AnyVideoInput.VideoStatus.VideoResolutionFeedback,
|
||||
AnyVideoInput.VideoStatus.VideoSyncFeedback, HdmiIn1HdcpCapabilityFeedback, HdmiIn2HdcpCapabilityFeedback);
|
||||
AnyVideoInput.VideoStatus.VideoSyncFeedback, HdmiIn1HdcpCapabilityFeedback, HdmiIn2HdcpCapabilityFeedback,
|
||||
In1VideoSyncFeedback, In2VideoSyncFeedback);
|
||||
|
||||
// Set Ports for CEC
|
||||
HdmiIn1.Port = Tx.HdmiInputs[1];
|
||||
|
||||
@@ -36,6 +36,9 @@ namespace PepperDash.Essentials.DM
|
||||
public IntFeedback AudioSourceNumericFeedback { get; protected set; }
|
||||
public IntFeedback HdmiIn1HdcpCapabilityFeedback { get; protected set; }
|
||||
public IntFeedback HdmiIn2HdcpCapabilityFeedback { get; protected set; }
|
||||
public BoolFeedback In1VideoSyncFeedback { get; protected set; }
|
||||
public BoolFeedback In2VideoSyncFeedback { get; protected set; }
|
||||
public BoolFeedback In3VideoSyncFeedback { get; protected set; }
|
||||
|
||||
public BoolFeedback FreeRunEnabledFeedback { get; protected set; }
|
||||
|
||||
@@ -126,6 +129,21 @@ namespace PepperDash.Essentials.DM
|
||||
|
||||
HdcpSupportCapability = eHdcpCapabilityType.Hdcp2_2Support;
|
||||
|
||||
In1VideoSyncFeedback = new BoolFeedback("In1VideoSync", () =>
|
||||
{
|
||||
return (bool)tx.HdmiInputs[1].SyncDetectedFeedback.BoolValue;
|
||||
});
|
||||
|
||||
In2VideoSyncFeedback = new BoolFeedback("In2VideoSync", () =>
|
||||
{
|
||||
return (bool)tx.HdmiInputs[2].SyncDetectedFeedback.BoolValue;
|
||||
});
|
||||
|
||||
In3VideoSyncFeedback = new BoolFeedback("In3VideoSync", () =>
|
||||
{
|
||||
return (bool)tx.VgaInput.SyncDetectedFeedback.BoolValue;
|
||||
});
|
||||
|
||||
FreeRunEnabledFeedback = new BoolFeedback(() => tx.VgaInput.FreeRunFeedback == eDmFreeRunSetting.Enabled);
|
||||
|
||||
VgaBrightnessFeedback = new IntFeedback(() => tx.VgaInput.VideoControls.BrightnessFeedback.UShortValue);
|
||||
@@ -183,7 +201,8 @@ namespace PepperDash.Essentials.DM
|
||||
AddToFeedbackList(ActiveVideoInputFeedback, VideoSourceNumericFeedback, AudioSourceNumericFeedback,
|
||||
AnyVideoInput.VideoStatus.HasVideoStatusFeedback, AnyVideoInput.VideoStatus.HdcpActiveFeedback,
|
||||
AnyVideoInput.VideoStatus.HdcpStateFeedback, AnyVideoInput.VideoStatus.VideoResolutionFeedback,
|
||||
AnyVideoInput.VideoStatus.VideoSyncFeedback, HdmiIn1HdcpCapabilityFeedback, HdmiIn2HdcpCapabilityFeedback);
|
||||
AnyVideoInput.VideoStatus.VideoSyncFeedback, HdmiIn1HdcpCapabilityFeedback, HdmiIn2HdcpCapabilityFeedback,
|
||||
In1VideoSyncFeedback, In2VideoSyncFeedback, In3VideoSyncFeedback);
|
||||
|
||||
// Set Ports for CEC
|
||||
HdmiIn1.Port = Tx.HdmiInputs[1];
|
||||
|
||||
@@ -36,6 +36,9 @@ namespace PepperDash.Essentials.DM
|
||||
public IntFeedback AudioSourceNumericFeedback { get; protected set; }
|
||||
public IntFeedback HdmiIn1HdcpCapabilityFeedback { get; protected set; }
|
||||
public IntFeedback HdmiIn2HdcpCapabilityFeedback { get; protected set; }
|
||||
public BoolFeedback In1VideoSyncFeedback { get; protected set; }
|
||||
public BoolFeedback In2VideoSyncFeedback { get; protected set; }
|
||||
public BoolFeedback In3VideoSyncFeedback { get; protected set; }
|
||||
|
||||
//public override IntFeedback HdcpSupportAllFeedback { get; protected set; }
|
||||
//public override ushort HdcpSupportCapability { get; protected set; }
|
||||
@@ -124,6 +127,21 @@ namespace PepperDash.Essentials.DM
|
||||
|
||||
HdcpSupportCapability = eHdcpCapabilityType.Hdcp2_2Support;
|
||||
|
||||
In1VideoSyncFeedback = new BoolFeedback("In1VideoSync", () =>
|
||||
{
|
||||
return (bool)tx.HdmiInputs[1].SyncDetectedFeedback.BoolValue;
|
||||
});
|
||||
|
||||
In2VideoSyncFeedback = new BoolFeedback("In2VideoSync", () =>
|
||||
{
|
||||
return (bool)tx.HdmiInputs[2].SyncDetectedFeedback.BoolValue;
|
||||
});
|
||||
|
||||
In3VideoSyncFeedback = new BoolFeedback("In3VideoSync", () =>
|
||||
{
|
||||
return (bool)tx.DisplayPortInput.SyncDetectedFeedback.BoolValue;
|
||||
});
|
||||
|
||||
|
||||
var combinedFuncs = new VideoStatusFuncsWrapper
|
||||
{
|
||||
@@ -174,7 +192,8 @@ namespace PepperDash.Essentials.DM
|
||||
AddToFeedbackList(ActiveVideoInputFeedback, VideoSourceNumericFeedback, AudioSourceNumericFeedback,
|
||||
AnyVideoInput.VideoStatus.HasVideoStatusFeedback, AnyVideoInput.VideoStatus.HdcpActiveFeedback,
|
||||
AnyVideoInput.VideoStatus.HdcpStateFeedback, AnyVideoInput.VideoStatus.VideoResolutionFeedback,
|
||||
AnyVideoInput.VideoStatus.VideoSyncFeedback, HdmiIn1HdcpCapabilityFeedback, HdmiIn2HdcpCapabilityFeedback);
|
||||
AnyVideoInput.VideoStatus.VideoSyncFeedback, HdmiIn1HdcpCapabilityFeedback, HdmiIn2HdcpCapabilityFeedback,
|
||||
In1VideoSyncFeedback, In2VideoSyncFeedback, In3VideoSyncFeedback);
|
||||
|
||||
// Set Ports for CEC
|
||||
HdmiIn1.Port = Tx.HdmiInputs[1];
|
||||
|
||||
@@ -217,6 +217,25 @@ 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];
|
||||
@@ -228,6 +247,13 @@ namespace PepperDash.Essentials.DM
|
||||
intFeedback.LinkInputSig(trilist.UShortInput[joinMap.Port1HdcpState]);
|
||||
}
|
||||
|
||||
if (tx.Feedbacks["HdmiInHdcpCapability"] != null)
|
||||
{
|
||||
var intFeedback = tx.Feedbacks["HdmiInHdcpCapability"] as IntFeedback;
|
||||
if (intFeedback != null)
|
||||
intFeedback.LinkInputSig(trilist.UShortInput[joinMap.Port1HdcpState]);
|
||||
}
|
||||
|
||||
if (inputPort.ConnectionType == eRoutingPortConnectionType.Hdmi && inputPort.Port != null)
|
||||
{
|
||||
var port = inputPort.Port as EndpointHdmiInput;
|
||||
|
||||
Reference in New Issue
Block a user