Skip to content

Commit

Permalink
feat: add video wall mode command to dm-rmc-4kz-scaler-c
Browse files Browse the repository at this point in the history
  • Loading branch information
mhengeli committed Jul 10, 2024
1 parent eb388d2 commit 421f87d
Show file tree
Hide file tree
Showing 12 changed files with 13,749 additions and 7 deletions.
Binary file added PepperDashCore.1.3.1/.signature.p7s
Binary file not shown.
Binary file not shown.
Binary file not shown.
6,857 changes: 6,857 additions & 0 deletions PepperDashCore.1.3.1/lib/net35/PepperDash_Core.xml

Large diffs are not rendered by default.

Binary file not shown.
Binary file not shown.
6,857 changes: 6,857 additions & 0 deletions PepperDashCore.1.3.1/lib/net47/PepperDash_Core.xml

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,11 @@ public class DmRmcControllerJoinMap : JoinMapBaseAdvanced

[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 });
new JoinMetadata { Description = "Set Wall Mode for Scaler video Wall mode", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });

[JoinName("ScalerOutWallModeRaw")]
public JoinDataComplete ScalerOutWallModeRaw = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 },
new JoinMetadata { Description = "Set Wall Mode for Scaler video Wall mode", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });

/// <summary>
/// Constructor to use when instantiating this Join Map without inheriting from it
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ public interface IHasDisplayPortInHdcp : IHasDisplayPortInHdcpGet, IHasDisplayPo

public interface IhasWallMode
{
void SeteWallMode(ushort walLMode);
void SetWallMode(ushort walLMode);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ public class DmRmc4kZScalerCController : DmRmcControllerBase, IRmcRoutingWithFee
public IntFeedback DmInHdcpStateFeedback { get; private set; }
public IntFeedback HdmiInHdcpStateFeedback { get; private set; }


public BoolFeedback HdmiVideoSyncFeedback { get; private set; }

private Dictionary<ushort, EndpointScalerOutput.eWall> WallModes;
Expand Down Expand Up @@ -95,6 +96,7 @@ public DmRmc4kZScalerCController(string key, string name, DmRmc4kzScalerC rmc)
_rmc.HdmiOutput.ConnectedDevice.DeviceInformationChange += ConnectedDevice_DeviceInformationChange;
_rmc.HdmiIn.InputStreamChange += InputStreamChangeEvent;
_rmc.DmInput.InputStreamChange += InputStreamChangeEvent;
_rmc.Scaler.OutputChange += Scaler_OutputChange;

_rmc.OnlineStatusChange += _rmc_OnlineStatusChange;

Expand Down Expand Up @@ -254,7 +256,7 @@ public void SetHdmiInHdcpState(eHdcpCapabilityType hdcpState)

#region IhasWallMode Members

public void SeteWallMode(ushort walLMode)
public void SetWallMode(ushort walLMode)
{
EndpointScalerOutput.eWall wallvalue;

Expand All @@ -263,5 +265,13 @@ public void SeteWallMode(ushort walLMode)
}

#endregion

public void SetWallModeRaw(ushort wallMode)
{
_rmc.Scaler.WallModeRaw.UShortValue = wallMode;
}

void Scaler_OutputChange(object scaler ScalerOutputEventArgs args)

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,10 @@ public abstract class DmRmcControllerBase : CrestronGenericBridgeableBaseDevice,
public StringFeedback EdidManufacturerFeedback { get; protected set; }
public StringFeedback EdidNameFeedback { get; protected set; }
public StringFeedback EdidPreferredTimingFeedback { get; protected set; }
public StringFeedback EdidSerialNumberFeedback { get; protected set; }
public StringFeedback EdidSerialNumberFeedback { get; protected set; }

public IntFeedback VideoWallModeFeedback { get; protected set; }
public IntFeedback VideoWallModeRawFeedback { get; protected set; }

protected DmRmcControllerBase(string key, string name, EndpointReceiverBase device)
: base(key, name, device)
Expand Down Expand Up @@ -165,10 +168,21 @@ protected void LinkDmRmcToApi(DmRmcControllerBase rmc, BasicTriList trilist, DmR


trilist.SetUShortSigAction(joinMap.AudioVideoSource.JoinNumber,
a => routingWithFeedback.ExecuteNumericSwitch(a, 1, eRoutingSignalType.AudioVideo));
a => routingWithFeedback.ExecuteNumericSwitch(a, 1, eRoutingSignalType.AudioVideo));

var dmRmcScalerWithVideowall = rmc as DmRmc4kZScalerCController;

if (dmRmcScalerWithVideowall != null)
{
trilist.SetUShortSigAction(joinMap.ScalerOutWallMode.JoinNumber, a => dmRmcScalerWithVideowall.SetWallMode(a));
trilist.SetUShortSigAction(joinMap.ScalerOutWallModeRaw.JoinNumber, a => dmRmcScalerWithVideowall.SetWallModeRaw(a));


}

}


#region Implementation of IDeviceInfoProvider

public DeviceInfo DeviceInfo { get; private set; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,9 @@
<HintPath>..\..\..\..\..\..\..\..\..\ProgramData\Crestron\SDK\SSPDevices\Crestron.SimplSharpPro.UI.dll</HintPath>
</Reference>
<Reference Include="mscorlib" />
<Reference Include="PepperDash_Core, Version=1.2.1.30543, Culture=neutral, processorArchitecture=MSIL">
<Reference Include="PepperDash_Core, Version=1.3.1.3727, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\packages\PepperDashCore\lib\net35\PepperDash_Core.dll</HintPath>
<HintPath>..\..\..\PepperDashCore.1.3.1\lib\net35\PepperDash_Core.dll</HintPath>
</Reference>
<Reference Include="SimplSharpCustomAttributesInterface, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1099c178b3b54c3b, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
Expand Down

0 comments on commit 421f87d

Please sign in to comment.