mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-07-02 10:38:16 +00:00
feat: add scaler mode for videowall set rmc 4kz scaler c
This commit is contained in:
parent
a2b7a39082
commit
eb388d28db
4 changed files with 34 additions and 3 deletions
|
|
@ -68,7 +68,9 @@ namespace PepperDash.Essentials.Core.Bridges
|
|||
public JoinDataComplete HdcpInputPortCount = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
|
||||
new JoinMetadata { Description = "Number of Input Ports that support HDCP", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
|
||||
|
||||
|
||||
[JoinName("ScalerOutWallMode")]
|
||||
public JoinDataComplete ScalerOutWallMode = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 },
|
||||
new JoinMetadata { Description = "Number of Input Ports that support HDCP", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
|
||||
|
||||
/// <summary>
|
||||
/// Constructor to use when instantiating this Join Map without inheriting from it
|
||||
|
|
|
|||
|
|
@ -88,4 +88,10 @@ namespace PepperDash_Essentials_DM
|
|||
{
|
||||
eHdcpCapabilityType DisplayPortInHdcpCapability { get; }
|
||||
}
|
||||
|
||||
public interface IhasWallMode
|
||||
{
|
||||
void SeteWallMode(ushort walLMode);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -10,12 +10,13 @@ using PepperDash.Essentials.Core;
|
|||
using PepperDash.Essentials.Core.Bridges;
|
||||
using PepperDash.Core;
|
||||
using PepperDash_Essentials_DM;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace PepperDash.Essentials.DM
|
||||
{
|
||||
[Description("Wrapper Class for DM-RMC-4K-Z-SCALER-C")]
|
||||
public class DmRmc4kZScalerCController : DmRmcControllerBase, IRmcRoutingWithFeedback,
|
||||
IIROutputPorts, IComPorts, ICec, IRelayPorts, IHasDmInHdcp, IHasHdmiInHdcp
|
||||
IIROutputPorts, IComPorts, ICec, IRelayPorts, IHasDmInHdcp, IHasHdmiInHdcp, IhasWallMode
|
||||
{
|
||||
private readonly DmRmc4kzScalerC _rmc;
|
||||
|
||||
|
|
@ -28,7 +29,7 @@ namespace PepperDash.Essentials.DM
|
|||
|
||||
public BoolFeedback HdmiVideoSyncFeedback { get; private set; }
|
||||
|
||||
|
||||
private Dictionary<ushort, EndpointScalerOutput.eWall> WallModes;
|
||||
|
||||
/// <summary>
|
||||
/// The value of the current video source for the HDMI output on the receiver
|
||||
|
|
@ -101,6 +102,15 @@ namespace PepperDash.Essentials.DM
|
|||
HdmiOut.Port = _rmc.HdmiOutput;
|
||||
|
||||
AudioVideoSourceNumericFeedback = new IntFeedback(() => (ushort)(_rmc.SelectedSourceFeedback));
|
||||
|
||||
WallModes = new Dictionary<ushort, EndpointScalerOutput.eWall>()
|
||||
{
|
||||
{0, EndpointScalerOutput.eWall.Disabled},
|
||||
{2211, EndpointScalerOutput.eWall.Mode11},
|
||||
{2212, EndpointScalerOutput.eWall.Mode12},
|
||||
{2221, EndpointScalerOutput.eWall.Mode13},
|
||||
{2222, EndpointScalerOutput.eWall.Mode14}
|
||||
};
|
||||
}
|
||||
|
||||
void InputStreamChangeEvent(EndpointInputStream inputStream, EndpointInputStreamEventArgs args)
|
||||
|
|
@ -241,5 +251,17 @@ namespace PepperDash.Essentials.DM
|
|||
_rmc.HdmiIn.HdcpCapability = hdcpState;
|
||||
}
|
||||
|
||||
|
||||
#region IhasWallMode Members
|
||||
|
||||
public void SeteWallMode(ushort walLMode)
|
||||
{
|
||||
EndpointScalerOutput.eWall wallvalue;
|
||||
|
||||
if (WallModes.TryGetValue(walLMode, out wallvalue))
|
||||
_rmc.Scaler.WallMode = wallvalue;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
|
@ -51,6 +51,7 @@ namespace PepperDash.Essentials.DM
|
|||
InputPorts = new RoutingPortCollection<RoutingInputPort> {DmIn};
|
||||
OutputPorts = new RoutingPortCollection<RoutingOutputPort> {HdmiOut};
|
||||
|
||||
|
||||
// Set Ports for CEC
|
||||
HdmiOut.Port = _rmc.HdmiOutput;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue