mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-15 20:54:55 +00:00
Merge branch 'development' into feature/Add_DM-RMC-4K-Z-100-C
This commit is contained in:
@@ -40,6 +40,10 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
public uint EdidSerialNumber { get; set; }
|
public uint EdidSerialNumber { get; set; }
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region Analogs
|
||||||
|
public uint AudioVideoSource { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
public DmRmcControllerJoinMap()
|
public DmRmcControllerJoinMap()
|
||||||
{
|
{
|
||||||
// Digital
|
// Digital
|
||||||
@@ -51,6 +55,9 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
EdidName = 3;
|
EdidName = 3;
|
||||||
EdidPrefferedTiming = 4;
|
EdidPrefferedTiming = 4;
|
||||||
EdidSerialNumber = 5;
|
EdidSerialNumber = 5;
|
||||||
|
|
||||||
|
//Analog
|
||||||
|
AudioVideoSource = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OffsetJoinNumbers(uint joinStart)
|
public override void OffsetJoinNumbers(uint joinStart)
|
||||||
@@ -63,6 +70,7 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
EdidName = EdidName + joinOffset;
|
EdidName = EdidName + joinOffset;
|
||||||
EdidPrefferedTiming = EdidPrefferedTiming + joinOffset;
|
EdidPrefferedTiming = EdidPrefferedTiming + joinOffset;
|
||||||
EdidSerialNumber = EdidSerialNumber + joinOffset;
|
EdidSerialNumber = EdidSerialNumber + joinOffset;
|
||||||
|
AudioVideoSource = AudioVideoSource + joinOffset;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -39,6 +39,10 @@ namespace PepperDash.Essentials.Core.Bridges
|
|||||||
public uint EdidSerialNumber { get; set; }
|
public uint EdidSerialNumber { get; set; }
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region Analogs
|
||||||
|
public uint AudioVideoSource { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
public DmRmcControllerJoinMap()
|
public DmRmcControllerJoinMap()
|
||||||
{
|
{
|
||||||
// Digital
|
// Digital
|
||||||
@@ -50,6 +54,9 @@ namespace PepperDash.Essentials.Core.Bridges
|
|||||||
EdidName = 3;
|
EdidName = 3;
|
||||||
EdidPrefferedTiming = 4;
|
EdidPrefferedTiming = 4;
|
||||||
EdidSerialNumber = 5;
|
EdidSerialNumber = 5;
|
||||||
|
|
||||||
|
//Analog
|
||||||
|
AudioVideoSource = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OffsetJoinNumbers(uint joinStart)
|
public override void OffsetJoinNumbers(uint joinStart)
|
||||||
@@ -62,6 +69,7 @@ namespace PepperDash.Essentials.Core.Bridges
|
|||||||
EdidName = EdidName + joinOffset;
|
EdidName = EdidName + joinOffset;
|
||||||
EdidPrefferedTiming = EdidPrefferedTiming + joinOffset;
|
EdidPrefferedTiming = EdidPrefferedTiming + joinOffset;
|
||||||
EdidSerialNumber = EdidSerialNumber + joinOffset;
|
EdidSerialNumber = EdidSerialNumber + joinOffset;
|
||||||
|
AudioVideoSource = AudioVideoSource + joinOffset;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -91,6 +91,15 @@ namespace PepperDash.Essentials.Core
|
|||||||
void ExecuteNumericSwitch(ushort input, ushort output, eRoutingSignalType type);
|
void ExecuteNumericSwitch(ushort input, ushort output, eRoutingSignalType type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Defines a receiver that has internal routing (DM-RMC-4K-Z-SCALER-C)
|
||||||
|
/// </summary>
|
||||||
|
public interface IRmcRouting : IRouting
|
||||||
|
{
|
||||||
|
IntFeedback AudioVideoSourceNumericFeedback { get; }
|
||||||
|
void ExecuteNumericSwitch(ushort input, ushort output, eRoutingSignalType type);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Defines an IRoutingOutputs devices as being a source - the start of the chain
|
/// Defines an IRoutingOutputs devices as being a source - the start of the chain
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -37,8 +37,8 @@ namespace PepperDash.Essentials.DM
|
|||||||
AddToFeedbackList(VideoOutputResolutionFeedback, EdidManufacturerFeedback, EdidSerialNumberFeedback, EdidNameFeedback, EdidPreferredTimingFeedback);
|
AddToFeedbackList(VideoOutputResolutionFeedback, EdidManufacturerFeedback, EdidSerialNumberFeedback, EdidNameFeedback, EdidPreferredTimingFeedback);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void LinkDmRmcToApi(DmRmcControllerBase rmc, BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
|
protected void LinkDmRmcToApi(DmRmcControllerBase rmc, BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
|
||||||
{
|
{
|
||||||
var joinMap = new DmRmcControllerJoinMap();
|
var joinMap = new DmRmcControllerJoinMap();
|
||||||
|
|
||||||
var joinMapSerialized = JoinMapHelper.GetSerializedJoinMapForDevice(joinMapKey);
|
var joinMapSerialized = JoinMapHelper.GetSerializedJoinMapForDevice(joinMapKey);
|
||||||
@@ -61,7 +61,18 @@ namespace PepperDash.Essentials.DM
|
|||||||
rmc.EdidPreferredTimingFeedback.LinkInputSig(trilist.StringInput[joinMap.EdidPrefferedTiming]);
|
rmc.EdidPreferredTimingFeedback.LinkInputSig(trilist.StringInput[joinMap.EdidPrefferedTiming]);
|
||||||
if (rmc.EdidSerialNumberFeedback != null)
|
if (rmc.EdidSerialNumberFeedback != null)
|
||||||
rmc.EdidSerialNumberFeedback.LinkInputSig(trilist.StringInput[joinMap.EdidSerialNumber]);
|
rmc.EdidSerialNumberFeedback.LinkInputSig(trilist.StringInput[joinMap.EdidSerialNumber]);
|
||||||
}
|
|
||||||
|
//If the device is an DM-RMC-4K-Z-SCALER-C
|
||||||
|
var routing = rmc as IRmcRouting;
|
||||||
|
|
||||||
|
if (routing != null)
|
||||||
|
{
|
||||||
|
if (routing.AudioVideoSourceNumericFeedback != null)
|
||||||
|
routing.AudioVideoSourceNumericFeedback.LinkInputSig(trilist.UShortInput[joinMap.AudioVideoSource]);
|
||||||
|
|
||||||
|
trilist.SetUShortSigAction(joinMap.AudioVideoSource, (a) => routing.ExecuteNumericSwitch(a, 1, eRoutingSignalType.AudioVideo));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract class DmHdBaseTControllerBase : CrestronGenericBaseDevice
|
public abstract class DmHdBaseTControllerBase : CrestronGenericBaseDevice
|
||||||
@@ -165,6 +176,8 @@ namespace PepperDash.Essentials.DM
|
|||||||
return new DmRmc4kScalerCController(key, name, new DmRmc4kScalerC(ipid, Global.ControlSystem));
|
return new DmRmc4kScalerCController(key, name, new DmRmc4kScalerC(ipid, Global.ControlSystem));
|
||||||
if (typeName.StartsWith("dmrmc4kscalercdsp"))
|
if (typeName.StartsWith("dmrmc4kscalercdsp"))
|
||||||
return new DmRmc4kScalerCDspController(key, name, new DmRmc4kScalerCDsp(ipid, Global.ControlSystem));
|
return new DmRmc4kScalerCDspController(key, name, new DmRmc4kScalerCDsp(ipid, Global.ControlSystem));
|
||||||
|
if (typeName.StartsWith("dmrmc4kzscalerc"))
|
||||||
|
return new DmRmc4kZScalerCController(key, name, new DmRmc4kzScalerC(ipid, Global.ControlSystem));
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
@@ -238,6 +251,8 @@ namespace PepperDash.Essentials.DM
|
|||||||
return new DmRmc4kScalerCController(key, name, new DmRmc4kScalerC(chassis.Outputs[num]));
|
return new DmRmc4kScalerCController(key, name, new DmRmc4kScalerC(chassis.Outputs[num]));
|
||||||
if (typeName.StartsWith("dmrmc4kscalercdsp"))
|
if (typeName.StartsWith("dmrmc4kscalercdsp"))
|
||||||
return new DmRmc4kScalerCDspController(key, name, new DmRmc4kScalerCDsp(chassis.Outputs[num]));
|
return new DmRmc4kScalerCDspController(key, name, new DmRmc4kScalerCDsp(chassis.Outputs[num]));
|
||||||
|
if (typeName.StartsWith("dmrmc4kzscalerc"))
|
||||||
|
return new DmRmc4kZScalerCController(key, name, new DmRmc4kzScalerC(chassis.Outputs[num]));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -271,6 +286,9 @@ namespace PepperDash.Essentials.DM
|
|||||||
return new DmRmc4kScalerCController(key, name, new DmRmc4kScalerC(ipid, chassis.Outputs[num]));
|
return new DmRmc4kScalerCController(key, name, new DmRmc4kScalerC(ipid, chassis.Outputs[num]));
|
||||||
if (typeName.StartsWith("dmrmc4kscalercdsp"))
|
if (typeName.StartsWith("dmrmc4kscalercdsp"))
|
||||||
return new DmRmc4kScalerCDspController(key, name, new DmRmc4kScalerCDsp(ipid, chassis.Outputs[num]));
|
return new DmRmc4kScalerCDspController(key, name, new DmRmc4kScalerCDsp(ipid, chassis.Outputs[num]));
|
||||||
|
if (typeName.StartsWith("dmrmc4kzscalerc"))
|
||||||
|
return new DmRmc4kZScalerCController(key, name, new DmRmc4kzScalerC(chassis.Outputs[num]));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
@@ -289,7 +307,7 @@ namespace PepperDash.Essentials.DM
|
|||||||
{
|
{
|
||||||
TypeNames = new List<string>() { "hdbasetrx", "dmrmc4k100c1g", "dmrmc100c", "dmrmc100s", "dmrmc4k100c", "dmrmc150s",
|
TypeNames = new List<string>() { "hdbasetrx", "dmrmc4k100c1g", "dmrmc100c", "dmrmc100s", "dmrmc4k100c", "dmrmc150s",
|
||||||
"dmrmc200c", "dmrmc200s", "dmrmc200s2", "dmrmcscalerc", "dmrmcscalers", "dmrmcscalers2", "dmrmc4kscalerc", "dmrmc4kscalercdsp",
|
"dmrmc200c", "dmrmc200s", "dmrmc200s2", "dmrmcscalerc", "dmrmcscalers", "dmrmcscalers2", "dmrmc4kscalerc", "dmrmc4kscalercdsp",
|
||||||
"dmrmc4kz100c" };
|
"dmrmc4kz100c", "dmrmckzscalerc" };
|
||||||
}
|
}
|
||||||
|
|
||||||
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
|
|||||||
@@ -101,6 +101,7 @@
|
|||||||
<Compile Include="Chassis\DmpsRoutingController.cs" />
|
<Compile Include="Chassis\DmpsRoutingController.cs" />
|
||||||
<Compile Include="Chassis\HdMdNxM4kEController.cs" />
|
<Compile Include="Chassis\HdMdNxM4kEController.cs" />
|
||||||
<Compile Include="Endpoints\Receivers\DmRmc4kZ100CController.cs" />
|
<Compile Include="Endpoints\Receivers\DmRmc4kZ100CController.cs" />
|
||||||
|
<Compile Include="Endpoints\Receivers\DmRmc4kZScalerCController.cs" />
|
||||||
<Compile Include="Endpoints\Transmitters\TxInterfaces.cs" />
|
<Compile Include="Endpoints\Transmitters\TxInterfaces.cs" />
|
||||||
<Compile Include="IDmSwitch.cs" />
|
<Compile Include="IDmSwitch.cs" />
|
||||||
<Compile Include="Config\DmpsRoutingConfig.cs" />
|
<Compile Include="Config\DmpsRoutingConfig.cs" />
|
||||||
|
|||||||
Reference in New Issue
Block a user