mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-02 06:14:52 +00:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5a2b1f431f | ||
|
|
6253d4becf | ||
|
|
1bb9bfab70 | ||
|
|
6aae1c6613 | ||
|
|
72477a9a24 |
@@ -1,49 +1,49 @@
|
|||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 10.00
|
Microsoft Visual Studio Solution File, Format Version 10.00
|
||||||
# Visual Studio 2008
|
# Visual Studio 2008
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PepperDashEssentials", ".\PepperDashEssentials\PepperDashEssentials.csproj", "{1BED5BA9-88C4-4365-9362-6F4B128071D3}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PepperDashEssentials", ".\PepperDashEssentials\PepperDashEssentials.csproj", "{1BED5BA9-88C4-4365-9362-6F4B128071D3}"
|
||||||
ProjectSection(ProjectDependencies) = postProject
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
{892B761C-E479-44CE-BD74-243E9214AF13} = {892B761C-E479-44CE-BD74-243E9214AF13}
|
{892B761C-E479-44CE-BD74-243E9214AF13} = {892B761C-E479-44CE-BD74-243E9214AF13}
|
||||||
{9199CE8A-0C9F-4952-8672-3EED798B284F} = {9199CE8A-0C9F-4952-8672-3EED798B284F}
|
{9199CE8A-0C9F-4952-8672-3EED798B284F} = {9199CE8A-0C9F-4952-8672-3EED798B284F}
|
||||||
{A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5} = {A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5}
|
{A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5} = {A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5}
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PepperDash_Essentials_Core", ".\essentials-framework\Essentials Core\PepperDashEssentialsBase\PepperDash_Essentials_Core.csproj", "{A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PepperDash_Essentials_Core", ".\essentials-framework\Essentials Core\PepperDashEssentialsBase\PepperDash_Essentials_Core.csproj", "{A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Essentials Devices Common", ".\essentials-framework\Essentials Devices Common\Essentials Devices Common\Essentials Devices Common.csproj", "{892B761C-E479-44CE-BD74-243E9214AF13}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Essentials Devices Common", ".\essentials-framework\Essentials Devices Common\Essentials Devices Common\Essentials Devices Common.csproj", "{892B761C-E479-44CE-BD74-243E9214AF13}"
|
||||||
ProjectSection(ProjectDependencies) = postProject
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
{A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5} = {A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5}
|
{A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5} = {A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5}
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Essentials_DM", ".\essentials-framework\Essentials DM\Essentials_DM\Essentials_DM.csproj", "{9199CE8A-0C9F-4952-8672-3EED798B284F}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Essentials_DM", ".\essentials-framework\Essentials DM\Essentials_DM\Essentials_DM.csproj", "{9199CE8A-0C9F-4952-8672-3EED798B284F}"
|
||||||
ProjectSection(ProjectDependencies) = postProject
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
{A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5} = {A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5}
|
{A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5} = {A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5}
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
Release|Any CPU = Release|Any CPU
|
Release|Any CPU = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
{1BED5BA9-88C4-4365-9362-6F4B128071D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{1BED5BA9-88C4-4365-9362-6F4B128071D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{1BED5BA9-88C4-4365-9362-6F4B128071D3}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{1BED5BA9-88C4-4365-9362-6F4B128071D3}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{1BED5BA9-88C4-4365-9362-6F4B128071D3}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{1BED5BA9-88C4-4365-9362-6F4B128071D3}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{1BED5BA9-88C4-4365-9362-6F4B128071D3}.Release|Any CPU.Build.0 = Release|Any CPU
|
{1BED5BA9-88C4-4365-9362-6F4B128071D3}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5}.Release|Any CPU.Build.0 = Release|Any CPU
|
{A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{892B761C-E479-44CE-BD74-243E9214AF13}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{892B761C-E479-44CE-BD74-243E9214AF13}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{892B761C-E479-44CE-BD74-243E9214AF13}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{892B761C-E479-44CE-BD74-243E9214AF13}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{892B761C-E479-44CE-BD74-243E9214AF13}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{892B761C-E479-44CE-BD74-243E9214AF13}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{892B761C-E479-44CE-BD74-243E9214AF13}.Release|Any CPU.Build.0 = Release|Any CPU
|
{892B761C-E479-44CE-BD74-243E9214AF13}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{9199CE8A-0C9F-4952-8672-3EED798B284F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{9199CE8A-0C9F-4952-8672-3EED798B284F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{9199CE8A-0C9F-4952-8672-3EED798B284F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{9199CE8A-0C9F-4952-8672-3EED798B284F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{9199CE8A-0C9F-4952-8672-3EED798B284F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{9199CE8A-0C9F-4952-8672-3EED798B284F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{9199CE8A-0C9F-4952-8672-3EED798B284F}.Release|Any CPU.Build.0 = Release|Any CPU
|
{9199CE8A-0C9F-4952-8672-3EED798B284F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
EndGlobal
|
EndGlobal
|
||||||
|
|||||||
BIN
PepperDashEssentials/Bridges/._DspControllerBridge.cs
Normal file
BIN
PepperDashEssentials/Bridges/._DspControllerBridge.cs
Normal file
Binary file not shown.
BIN
PepperDashEssentials/Bridges/._EssentialDsp.cs
Normal file
BIN
PepperDashEssentials/Bridges/._EssentialDsp.cs
Normal file
Binary file not shown.
BIN
PepperDashEssentials/Bridges/._EssentialTVOne.cs
Normal file
BIN
PepperDashEssentials/Bridges/._EssentialTVOne.cs
Normal file
Binary file not shown.
@@ -16,6 +16,7 @@ using PepperDash.Essentials.Core.Config;
|
|||||||
using PepperDash.Essentials.Core.CrestronIO;
|
using PepperDash.Essentials.Core.CrestronIO;
|
||||||
using PepperDash.Essentials.DM;
|
using PepperDash.Essentials.DM;
|
||||||
using PepperDash.Essentials.Devices.Common.Cameras;
|
using PepperDash.Essentials.Devices.Common.Cameras;
|
||||||
|
using PepperDash.Essentials.Devices.Common.DSP;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Bridges
|
namespace PepperDash.Essentials.Bridges
|
||||||
{
|
{
|
||||||
@@ -134,6 +135,16 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
(device as DigitalLogger).LinkToApi(Eisc, d.JoinStart, d.JoinMapKey);
|
(device as DigitalLogger).LinkToApi(Eisc, d.JoinStart, d.JoinMapKey);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
else if (device is TVOneCorio)
|
||||||
|
{
|
||||||
|
(device as TVOneCorio).LinkToApi(Eisc, d.JoinStart, d.JoinMapKey);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else if (device is QscDsp)
|
||||||
|
{
|
||||||
|
(device as QscDsp).LinkToApi(Eisc, d.JoinStart, d.JoinMapKey);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,38 +1,38 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using Crestron.SimplSharp;
|
using Crestron.SimplSharp;
|
||||||
using Crestron.SimplSharpPro.DeviceSupport;
|
using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
|
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.DM;
|
using PepperDash.Essentials.DM;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Bridges
|
namespace PepperDash.Essentials.Bridges
|
||||||
{
|
{
|
||||||
public static class DmChassisControllerApiExtentions
|
public static class DmChassisControllerApiExtentions
|
||||||
{
|
{
|
||||||
public static void LinkToApi(this DmChassisController dmChassis, BasicTriList trilist, uint joinStart, string joinMapKey)
|
public static void LinkToApi(this DmChassisController dmChassis, BasicTriList trilist, uint joinStart, string joinMapKey)
|
||||||
{
|
{
|
||||||
var joinMap = JoinMapHelper.GetJoinMapForDevice(joinMapKey) as DmChassisControllerJoinMap;
|
var joinMap = JoinMapHelper.GetJoinMapForDevice(joinMapKey) as DmChassisControllerJoinMap;
|
||||||
|
|
||||||
if (joinMap == null)
|
if (joinMap == null)
|
||||||
joinMap = new DmChassisControllerJoinMap();
|
joinMap = new DmChassisControllerJoinMap();
|
||||||
|
|
||||||
joinMap.OffsetJoinNumbers(joinStart);
|
joinMap.OffsetJoinNumbers(joinStart);
|
||||||
|
|
||||||
Debug.Console(1, dmChassis, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
Debug.Console(1, dmChassis, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
||||||
|
|
||||||
dmChassis.IsOnline.LinkInputSig(trilist.BooleanInput[joinMap.IsOnline]);
|
dmChassis.IsOnline.LinkInputSig(trilist.BooleanInput[joinMap.IsOnline]);
|
||||||
|
|
||||||
// Link up outputs
|
// Link up outputs
|
||||||
for (uint i = 1; i <= dmChassis.Chassis.NumberOfOutputs - 1; i++)
|
for (uint i = 1; i <= dmChassis.Chassis.NumberOfOutputs - 1; i++)
|
||||||
{
|
{
|
||||||
var ioSlot = i;
|
var ioSlot = i;
|
||||||
|
|
||||||
// Control
|
// Control
|
||||||
trilist.SetUShortSigAction(joinMap.OutputVideo + ioSlot, new Action<ushort>(o => dmChassis.ExecuteSwitch(o, ioSlot, eRoutingSignalType.Video)));
|
trilist.SetUShortSigAction(joinMap.OutputVideo + ioSlot, new Action<ushort>(o => dmChassis.ExecuteSwitch(o, ioSlot, eRoutingSignalType.Video)));
|
||||||
trilist.SetUShortSigAction(joinMap.OutputAudio + ioSlot, new Action<ushort>(o => dmChassis.ExecuteSwitch(o, ioSlot, eRoutingSignalType.Audio)));
|
trilist.SetUShortSigAction(joinMap.OutputAudio + ioSlot, new Action<ushort>(o => dmChassis.ExecuteSwitch(o, ioSlot, eRoutingSignalType.Audio)));
|
||||||
if (dmChassis.TxDictionary.ContainsKey(ioSlot))
|
if (dmChassis.TxDictionary.ContainsKey(ioSlot))
|
||||||
{
|
{
|
||||||
@@ -55,76 +55,76 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
var RxKey = dmChassis.RxDictionary[ioSlot];
|
var RxKey = dmChassis.RxDictionary[ioSlot];
|
||||||
var RxDevice = DeviceManager.GetDeviceForKey(RxKey) as DmRmcControllerBase;
|
var RxDevice = DeviceManager.GetDeviceForKey(RxKey) as DmRmcControllerBase;
|
||||||
RxDevice.IsOnline.LinkInputSig(trilist.BooleanInput[joinMap.OutputEndpointOnline + ioSlot]);
|
RxDevice.IsOnline.LinkInputSig(trilist.BooleanInput[joinMap.OutputEndpointOnline + ioSlot]);
|
||||||
}
|
}
|
||||||
// Feedback
|
// Feedback
|
||||||
dmChassis.VideoOutputFeedbacks[ioSlot].LinkInputSig(trilist.UShortInput[joinMap.OutputVideo + ioSlot]);
|
dmChassis.VideoOutputFeedbacks[ioSlot].LinkInputSig(trilist.UShortInput[joinMap.OutputVideo + ioSlot]);
|
||||||
dmChassis.AudioOutputFeedbacks[ioSlot].LinkInputSig(trilist.UShortInput[joinMap.OutputAudio + ioSlot]);
|
dmChassis.AudioOutputFeedbacks[ioSlot].LinkInputSig(trilist.UShortInput[joinMap.OutputAudio + ioSlot]);
|
||||||
|
|
||||||
dmChassis.VideoInputSyncFeedbacks[ioSlot].LinkInputSig(trilist.BooleanInput[joinMap.VideoSyncStatus + ioSlot]);
|
dmChassis.VideoInputSyncFeedbacks[ioSlot].LinkInputSig(trilist.BooleanInput[joinMap.VideoSyncStatus + ioSlot]);
|
||||||
|
|
||||||
dmChassis.OutputNameFeedbacks[ioSlot].LinkInputSig(trilist.StringInput[joinMap.OutputNames + ioSlot]);
|
dmChassis.OutputNameFeedbacks[ioSlot].LinkInputSig(trilist.StringInput[joinMap.OutputNames + ioSlot]);
|
||||||
dmChassis.InputNameFeedbacks[ioSlot].LinkInputSig(trilist.StringInput[joinMap.InputNames + ioSlot]);
|
dmChassis.InputNameFeedbacks[ioSlot].LinkInputSig(trilist.StringInput[joinMap.InputNames + ioSlot]);
|
||||||
dmChassis.OutputVideoRouteNameFeedbacks[ioSlot].LinkInputSig(trilist.StringInput[joinMap.OutputCurrentVideoInputNames + ioSlot]);
|
dmChassis.OutputVideoRouteNameFeedbacks[ioSlot].LinkInputSig(trilist.StringInput[joinMap.OutputCurrentVideoInputNames + ioSlot]);
|
||||||
dmChassis.OutputAudioRouteNameFeedbacks[ioSlot].LinkInputSig(trilist.StringInput[joinMap.OutputCurrentAudioInputNames + ioSlot]);
|
dmChassis.OutputAudioRouteNameFeedbacks[ioSlot].LinkInputSig(trilist.StringInput[joinMap.OutputCurrentAudioInputNames + ioSlot]);
|
||||||
// dmChassis.InputEndpointOnlineFeedbacks[ioSlot].LinkInputSig(trilist.BooleanInput[joinMap.InputEndpointOnline + ioSlot]);
|
// dmChassis.InputEndpointOnlineFeedbacks[ioSlot].LinkInputSig(trilist.BooleanInput[joinMap.InputEndpointOnline + ioSlot]);
|
||||||
// dmChassis.OutputEndpointOnlineFeedbacks[ioSlot].LinkInputSig(trilist.BooleanInput[joinMap.OutputEndpointOnline + ioSlot]);
|
// dmChassis.OutputEndpointOnlineFeedbacks[ioSlot].LinkInputSig(trilist.BooleanInput[joinMap.OutputEndpointOnline + ioSlot]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public class DmChassisControllerJoinMap : JoinMapBase
|
public class DmChassisControllerJoinMap : JoinMapBase
|
||||||
{
|
{
|
||||||
public uint IsOnline { get; set; }
|
public uint IsOnline { get; set; }
|
||||||
public uint OutputVideo { get; set; }
|
public uint OutputVideo { get; set; }
|
||||||
public uint OutputAudio { get; set; }
|
public uint OutputAudio { get; set; }
|
||||||
public uint VideoSyncStatus { get; set; }
|
public uint VideoSyncStatus { get; set; }
|
||||||
public uint InputNames { get; set; }
|
public uint InputNames { get; set; }
|
||||||
public uint OutputNames { get; set; }
|
public uint OutputNames { get; set; }
|
||||||
public uint OutputCurrentVideoInputNames { get; set; }
|
public uint OutputCurrentVideoInputNames { get; set; }
|
||||||
public uint OutputCurrentAudioInputNames { get; set; }
|
public uint OutputCurrentAudioInputNames { get; set; }
|
||||||
public uint InputCurrentResolution { get; set; }
|
public uint InputCurrentResolution { get; set; }
|
||||||
public uint InputEndpointOnline { get; set; }
|
public uint InputEndpointOnline { get; set; }
|
||||||
public uint OutputEndpointOnline { get; set; }
|
public uint OutputEndpointOnline { get; set; }
|
||||||
//public uint HdcpSupport { get; set; }
|
//public uint HdcpSupport { get; set; }
|
||||||
//public uint HdcpSupportCapability { get; set; }
|
//public uint HdcpSupportCapability { get; set; }
|
||||||
|
|
||||||
|
|
||||||
public DmChassisControllerJoinMap()
|
public DmChassisControllerJoinMap()
|
||||||
{
|
{
|
||||||
IsOnline = 11;
|
IsOnline = 11;
|
||||||
OutputVideo = 100; //101-299
|
OutputVideo = 100; //101-299
|
||||||
OutputAudio = 300; //301-499
|
OutputAudio = 300; //301-499
|
||||||
VideoSyncStatus = 100; //101-299
|
VideoSyncStatus = 100; //101-299
|
||||||
InputNames = 100; //101-299
|
InputNames = 100; //101-299
|
||||||
OutputNames = 300; //301-499
|
OutputNames = 300; //301-499
|
||||||
OutputCurrentVideoInputNames = 2000; //2001-2199
|
OutputCurrentVideoInputNames = 2000; //2001-2199
|
||||||
OutputCurrentAudioInputNames = 2200; //2201-2399
|
OutputCurrentAudioInputNames = 2200; //2201-2399
|
||||||
InputCurrentResolution = 2400; // 2401-2599
|
InputCurrentResolution = 2400; // 2401-2599
|
||||||
InputEndpointOnline = 500;
|
InputEndpointOnline = 500;
|
||||||
OutputEndpointOnline = 700;
|
OutputEndpointOnline = 700;
|
||||||
//HdcpSupport = 1000; //1001-1199
|
//HdcpSupport = 1000; //1001-1199
|
||||||
//HdcpSupportCapability = 1200; //1201-1399
|
//HdcpSupportCapability = 1200; //1201-1399
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OffsetJoinNumbers(uint joinStart)
|
public override void OffsetJoinNumbers(uint joinStart)
|
||||||
{
|
{
|
||||||
var joinOffset = joinStart - 1;
|
var joinOffset = joinStart - 1;
|
||||||
|
|
||||||
IsOnline = IsOnline + joinOffset;
|
IsOnline = IsOnline + joinOffset;
|
||||||
OutputVideo = OutputVideo + joinOffset;
|
OutputVideo = OutputVideo + joinOffset;
|
||||||
OutputAudio = OutputAudio + joinOffset;
|
OutputAudio = OutputAudio + joinOffset;
|
||||||
VideoSyncStatus = VideoSyncStatus + joinOffset;
|
VideoSyncStatus = VideoSyncStatus + joinOffset;
|
||||||
InputNames = InputNames + joinOffset;
|
InputNames = InputNames + joinOffset;
|
||||||
OutputNames = OutputNames + joinOffset;
|
OutputNames = OutputNames + joinOffset;
|
||||||
OutputCurrentVideoInputNames = OutputCurrentVideoInputNames + joinOffset;
|
OutputCurrentVideoInputNames = OutputCurrentVideoInputNames + joinOffset;
|
||||||
OutputCurrentAudioInputNames = OutputCurrentAudioInputNames + joinOffset;
|
OutputCurrentAudioInputNames = OutputCurrentAudioInputNames + joinOffset;
|
||||||
InputCurrentResolution = InputCurrentResolution + joinOffset;
|
InputCurrentResolution = InputCurrentResolution + joinOffset;
|
||||||
InputEndpointOnline = InputEndpointOnline + joinOffset;
|
InputEndpointOnline = InputEndpointOnline + joinOffset;
|
||||||
OutputEndpointOnline = OutputEndpointOnline + joinOffset;
|
OutputEndpointOnline = OutputEndpointOnline + joinOffset;
|
||||||
//HdcpSupport = HdcpSupport + joinOffset;
|
//HdcpSupport = HdcpSupport + joinOffset;
|
||||||
//HdcpSupportCapability = HdcpSupportCapability + joinOffset;
|
//HdcpSupportCapability = HdcpSupportCapability + joinOffset;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -27,7 +27,8 @@ namespace PepperDash.Essentials.Bridges
|
|||||||
Debug.Console(0, "Linking to lighting Type {0}", lightingDevice.GetType().Name.ToString());
|
Debug.Console(0, "Linking to lighting Type {0}", lightingDevice.GetType().Name.ToString());
|
||||||
|
|
||||||
// GenericLighitng Actions & FeedBack
|
// GenericLighitng Actions & FeedBack
|
||||||
trilist.SetUShortSigAction(joinMap.SelectScene, u => lightingDevice.SelectScene(lightingDevice.LightingScenes[u]));
|
trilist.SetUShortSigAction(joinMap.SelectScene, u => {if(u > 0) { lightingDevice.SelectScene(lightingDevice.LightingScenes[u-1]);}});
|
||||||
|
|
||||||
|
|
||||||
int sceneIndex = 1;
|
int sceneIndex = 1;
|
||||||
foreach (var scene in lightingDevice.LightingScenes)
|
foreach (var scene in lightingDevice.LightingScenes)
|
||||||
|
|||||||
224
PepperDashEssentials/Bridges/QscDspBridge.cs
Normal file
224
PepperDashEssentials/Bridges/QscDspBridge.cs
Normal file
@@ -0,0 +1,224 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using Crestron.SimplSharp;
|
||||||
|
using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
|
using PepperDash.Core;
|
||||||
|
using PepperDash.Essentials.Core;
|
||||||
|
using PepperDash.Essentials.Devices.Common;
|
||||||
|
using PepperDash.Essentials.Devices.Common.DSP;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Bridges
|
||||||
|
{
|
||||||
|
public static class QscDspDeviceApiExtensions
|
||||||
|
{
|
||||||
|
public static void LinkToApi(this QscDsp DspDevice, BasicTriList trilist, uint joinStart, string joinMapKey)
|
||||||
|
{
|
||||||
|
var joinMap = JoinMapHelper.GetJoinMapForDevice(joinMapKey) as QscDspDeviceJoinMap;
|
||||||
|
|
||||||
|
if (joinMap == null)
|
||||||
|
joinMap = new QscDspDeviceJoinMap();
|
||||||
|
|
||||||
|
joinMap.OffsetJoinNumbers(joinStart);
|
||||||
|
Debug.Console(1, DspDevice, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
||||||
|
ushort x = 1;
|
||||||
|
var comm = DspDevice as ICommunicationMonitor;
|
||||||
|
DspDevice.CommunicationMonitor.IsOnlineFeedback.LinkInputSig(trilist.BooleanInput[joinMap.IsOnline]);
|
||||||
|
foreach (var channel in DspDevice.LevelControlPoints)
|
||||||
|
{
|
||||||
|
//var QscChannel = channel.Value as PepperDash.Essentials.Devices.Common.DSP.QscDspLevelControl;
|
||||||
|
Debug.Console(2, "QscChannel {0} connect", x);
|
||||||
|
|
||||||
|
var genericChannel = channel.Value as IBasicVolumeWithFeedback;
|
||||||
|
if (channel.Value.Enabled)
|
||||||
|
{
|
||||||
|
trilist.StringInput[joinMap.ChannelName + x].StringValue = channel.Value.LevelCustomName;
|
||||||
|
trilist.UShortInput[joinMap.ChannelType + x].UShortValue = (ushort)channel.Value.Type;
|
||||||
|
|
||||||
|
genericChannel.MuteFeedback.LinkInputSig(trilist.BooleanInput[joinMap.ChannelMuteToggle + x]);
|
||||||
|
genericChannel.VolumeLevelFeedback.LinkInputSig(trilist.UShortInput[joinMap.ChannelVolume + x]);
|
||||||
|
|
||||||
|
trilist.SetSigTrueAction(joinMap.ChannelMuteToggle + x, () => genericChannel.MuteToggle());
|
||||||
|
trilist.SetSigTrueAction(joinMap.ChannelMuteOn + x, () => genericChannel.MuteOn());
|
||||||
|
trilist.SetSigTrueAction(joinMap.ChannelMuteOff + x, () => genericChannel.MuteOff());
|
||||||
|
|
||||||
|
trilist.SetBoolSigAction(joinMap.ChannelVolumeUp + x, b => genericChannel.VolumeUp(b));
|
||||||
|
trilist.SetBoolSigAction(joinMap.ChannelVolumeDown + x, b => genericChannel.VolumeDown(b));
|
||||||
|
|
||||||
|
trilist.SetUShortSigAction(joinMap.ChannelVolume + x, u => genericChannel.SetVolume(u));
|
||||||
|
|
||||||
|
}
|
||||||
|
x++;
|
||||||
|
}
|
||||||
|
x = 1;
|
||||||
|
trilist.SetStringSigAction(joinMap.PresetStringCmd, s => DspDevice.RunPreset(s));
|
||||||
|
foreach (var preset in DspDevice.PresetList)
|
||||||
|
{
|
||||||
|
trilist.StringInput[joinMap.Presets + x].StringValue = preset.label;
|
||||||
|
trilist.SetSigTrueAction(joinMap.Presets + x, () => DspDevice.RunPresetNumber(x));
|
||||||
|
x++;
|
||||||
|
}
|
||||||
|
foreach (var dialer in DspDevice.Dialers)
|
||||||
|
{
|
||||||
|
trilist.SetSigTrueAction(joinMap.Keypad0, () => dialer.Value.SendKeypad(PepperDash.Essentials.Devices.Common.DSP.QscDspDialer.eKeypadKeys.Num0));
|
||||||
|
trilist.SetSigTrueAction(joinMap.Keypad1, () => dialer.Value.SendKeypad(PepperDash.Essentials.Devices.Common.DSP.QscDspDialer.eKeypadKeys.Num1));
|
||||||
|
trilist.SetSigTrueAction(joinMap.Keypad2, () => dialer.Value.SendKeypad(PepperDash.Essentials.Devices.Common.DSP.QscDspDialer.eKeypadKeys.Num2));
|
||||||
|
trilist.SetSigTrueAction(joinMap.Keypad3, () => dialer.Value.SendKeypad(PepperDash.Essentials.Devices.Common.DSP.QscDspDialer.eKeypadKeys.Num3));
|
||||||
|
trilist.SetSigTrueAction(joinMap.Keypad4, () => dialer.Value.SendKeypad(PepperDash.Essentials.Devices.Common.DSP.QscDspDialer.eKeypadKeys.Num4));
|
||||||
|
trilist.SetSigTrueAction(joinMap.Keypad5, () => dialer.Value.SendKeypad(PepperDash.Essentials.Devices.Common.DSP.QscDspDialer.eKeypadKeys.Num5));
|
||||||
|
trilist.SetSigTrueAction(joinMap.Keypad6, () => dialer.Value.SendKeypad(PepperDash.Essentials.Devices.Common.DSP.QscDspDialer.eKeypadKeys.Num6));
|
||||||
|
trilist.SetSigTrueAction(joinMap.Keypad7, () => dialer.Value.SendKeypad(PepperDash.Essentials.Devices.Common.DSP.QscDspDialer.eKeypadKeys.Num7));
|
||||||
|
trilist.SetSigTrueAction(joinMap.Keypad8, () => dialer.Value.SendKeypad(PepperDash.Essentials.Devices.Common.DSP.QscDspDialer.eKeypadKeys.Num8));
|
||||||
|
trilist.SetSigTrueAction(joinMap.Keypad9, () => dialer.Value.SendKeypad(PepperDash.Essentials.Devices.Common.DSP.QscDspDialer.eKeypadKeys.Num9));
|
||||||
|
trilist.SetSigTrueAction(joinMap.KeypadStar, () => dialer.Value.SendKeypad(PepperDash.Essentials.Devices.Common.DSP.QscDspDialer.eKeypadKeys.Star));
|
||||||
|
trilist.SetSigTrueAction(joinMap.KeypadPound, () => dialer.Value.SendKeypad(PepperDash.Essentials.Devices.Common.DSP.QscDspDialer.eKeypadKeys.Pound));
|
||||||
|
trilist.SetSigTrueAction(joinMap.KeypadClear, () => dialer.Value.SendKeypad(PepperDash.Essentials.Devices.Common.DSP.QscDspDialer.eKeypadKeys.Clear));
|
||||||
|
trilist.SetSigTrueAction(joinMap.KeypadBackspace, () => dialer.Value.SendKeypad(PepperDash.Essentials.Devices.Common.DSP.QscDspDialer.eKeypadKeys.Backspace));
|
||||||
|
|
||||||
|
trilist.SetSigTrueAction(joinMap.Dial, () => dialer.Value.Dial());
|
||||||
|
trilist.SetSigTrueAction(joinMap.DoNotDisturbToggle, () => dialer.Value.DoNotDisturbToggle());
|
||||||
|
trilist.SetSigTrueAction(joinMap.DoNotDisturbOn, () => dialer.Value.DoNotDisturbOn());
|
||||||
|
trilist.SetSigTrueAction(joinMap.DoNotDisturbOff, () => dialer.Value.DoNotDisturbOff());
|
||||||
|
trilist.SetSigTrueAction(joinMap.AutoAnswerToggle, () => dialer.Value.AutoAnswerToggle());
|
||||||
|
trilist.SetSigTrueAction(joinMap.AutoAnswerOn, () => dialer.Value.AutoAnswerOn());
|
||||||
|
trilist.SetSigTrueAction(joinMap.AutoAnswerOff, () => dialer.Value.AutoAnswerOff());
|
||||||
|
|
||||||
|
dialer.Value.DoNotDisturbFeedback.LinkInputSig(trilist.BooleanInput[joinMap.DoNotDisturbToggle]);
|
||||||
|
dialer.Value.DoNotDisturbFeedback.LinkInputSig(trilist.BooleanInput[joinMap.DoNotDisturbOn]);
|
||||||
|
dialer.Value.DoNotDisturbFeedback.LinkComplementInputSig(trilist.BooleanInput[joinMap.DoNotDisturbOff]);
|
||||||
|
|
||||||
|
dialer.Value.AutoAnswerFeedback.LinkInputSig(trilist.BooleanInput[joinMap.AutoAnswerToggle]);
|
||||||
|
dialer.Value.AutoAnswerFeedback.LinkInputSig(trilist.BooleanInput[joinMap.AutoAnswerOn]);
|
||||||
|
dialer.Value.AutoAnswerFeedback.LinkComplementInputSig(trilist.BooleanInput[joinMap.AutoAnswerOff]);
|
||||||
|
|
||||||
|
dialer.Value.OffHookFeedback.LinkInputSig(trilist.BooleanInput[joinMap.Dial]);
|
||||||
|
dialer.Value.DialStringFeedback.LinkInputSig(trilist.StringInput[joinMap.DialStringCmd]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public class QscDspDeviceJoinMap : JoinMapBase
|
||||||
|
{
|
||||||
|
public uint IsOnline { get; set; }
|
||||||
|
public uint PresetStringCmd { get; set; }
|
||||||
|
public uint ChannelMuteToggle { get; set; }
|
||||||
|
public uint ChannelMuteOn { get; set; }
|
||||||
|
public uint ChannelMuteOff { get; set; }
|
||||||
|
public uint ChannelVolume { get; set; }
|
||||||
|
public uint ChannelType { get; set; }
|
||||||
|
public uint ChannelName { get; set; }
|
||||||
|
public uint ChannelVolumeUp { get; set; }
|
||||||
|
public uint ChannelVolumeDown { get; set; }
|
||||||
|
public uint Presets { get; set; }
|
||||||
|
public uint DialStringCmd { get; set; }
|
||||||
|
public uint Keypad0 { get; set; }
|
||||||
|
public uint Keypad1 { get; set; }
|
||||||
|
public uint Keypad2 { get; set; }
|
||||||
|
public uint Keypad3 { get; set; }
|
||||||
|
public uint Keypad4 { get; set; }
|
||||||
|
public uint Keypad5 { get; set; }
|
||||||
|
public uint Keypad6 { get; set; }
|
||||||
|
public uint Keypad7 { get; set; }
|
||||||
|
public uint Keypad8 { get; set; }
|
||||||
|
public uint Keypad9 { get; set; }
|
||||||
|
public uint KeypadStar { get; set; }
|
||||||
|
public uint KeypadPound { get; set; }
|
||||||
|
public uint KeypadClear { get; set; }
|
||||||
|
public uint KeypadBackspace { get; set; }
|
||||||
|
public uint Dial { get; set; }
|
||||||
|
public uint DoNotDisturbToggle { get; set; }
|
||||||
|
public uint DoNotDisturbOn { get; set; }
|
||||||
|
public uint DoNotDisturbOff { get; set; }
|
||||||
|
public uint AutoAnswerToggle { get; set; }
|
||||||
|
public uint AutoAnswerOn { get; set; }
|
||||||
|
public uint AutoAnswerOff { get; set; }
|
||||||
|
|
||||||
|
public uint CallPreset { get; set; }
|
||||||
|
public uint PresetFeedback { get; set; }
|
||||||
|
|
||||||
|
public QscDspDeviceJoinMap()
|
||||||
|
{
|
||||||
|
// Arrays
|
||||||
|
ChannelName = 200;
|
||||||
|
ChannelMuteToggle = 400;
|
||||||
|
ChannelMuteOn = 600;
|
||||||
|
ChannelMuteOff = 800;
|
||||||
|
ChannelVolume = 200;
|
||||||
|
ChannelVolumeUp = 1000;
|
||||||
|
ChannelVolumeDown = 1200;
|
||||||
|
ChannelType = 400;
|
||||||
|
Presets = 100;
|
||||||
|
|
||||||
|
// SIngleJoins
|
||||||
|
IsOnline = 1;
|
||||||
|
PresetStringCmd = 2000;
|
||||||
|
DialStringCmd = 3100;
|
||||||
|
Keypad0 = 3110;
|
||||||
|
Keypad1 = 3111;
|
||||||
|
Keypad2 = 3112;
|
||||||
|
Keypad3 = 3113;
|
||||||
|
Keypad4 = 3114;
|
||||||
|
Keypad5 = 3115;
|
||||||
|
Keypad6 = 3116;
|
||||||
|
Keypad7 = 3117;
|
||||||
|
Keypad8 = 3118;
|
||||||
|
Keypad9 = 3119;
|
||||||
|
KeypadStar = 3120;
|
||||||
|
KeypadPound = 3121;
|
||||||
|
KeypadClear = 3122;
|
||||||
|
KeypadBackspace = 3123;
|
||||||
|
DoNotDisturbToggle = 3132;
|
||||||
|
DoNotDisturbOn = 3133;
|
||||||
|
DoNotDisturbOff = 3134;
|
||||||
|
AutoAnswerToggle = 3127;
|
||||||
|
AutoAnswerOn = 3125;
|
||||||
|
AutoAnswerOff = 3126;
|
||||||
|
Dial = 3124;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OffsetJoinNumbers(uint joinStart)
|
||||||
|
{
|
||||||
|
var joinOffset = joinStart - 1;
|
||||||
|
ChannelName = ChannelName + joinOffset;
|
||||||
|
ChannelMuteToggle = ChannelMuteToggle + joinOffset;
|
||||||
|
ChannelMuteOn = ChannelMuteOn + joinOffset;
|
||||||
|
ChannelMuteOff = ChannelMuteOff + joinOffset;
|
||||||
|
ChannelVolume = ChannelVolume + joinOffset;
|
||||||
|
ChannelVolumeUp = ChannelVolumeUp + joinOffset;
|
||||||
|
ChannelVolumeDown = ChannelVolumeDown + joinOffset;
|
||||||
|
ChannelType = ChannelType + joinOffset;
|
||||||
|
Presets = Presets + joinOffset;
|
||||||
|
|
||||||
|
IsOnline = IsOnline + joinOffset;
|
||||||
|
PresetStringCmd = PresetStringCmd + joinOffset;
|
||||||
|
DialStringCmd = DialStringCmd + joinOffset;
|
||||||
|
Keypad0 = Keypad0 + joinOffset;
|
||||||
|
Keypad1 = Keypad1 + joinOffset;
|
||||||
|
Keypad2 = Keypad2 + joinOffset;
|
||||||
|
Keypad3 = Keypad3 + joinOffset;
|
||||||
|
Keypad4 = Keypad4 + joinOffset;
|
||||||
|
Keypad5 = Keypad5 + joinOffset;
|
||||||
|
Keypad6 = Keypad6 + joinOffset;
|
||||||
|
Keypad7 = Keypad7 + joinOffset;
|
||||||
|
Keypad8 = Keypad8 + joinOffset;
|
||||||
|
Keypad9 = Keypad9 + joinOffset;
|
||||||
|
KeypadStar = KeypadStar + joinOffset;
|
||||||
|
KeypadPound = KeypadPound + joinOffset;
|
||||||
|
KeypadClear = KeypadClear + joinOffset;
|
||||||
|
KeypadBackspace = KeypadBackspace + joinOffset;
|
||||||
|
DoNotDisturbToggle = DoNotDisturbToggle + joinOffset;
|
||||||
|
DoNotDisturbOn = DoNotDisturbOn + joinOffset;
|
||||||
|
DoNotDisturbOff = DoNotDisturbOff + joinOffset;
|
||||||
|
AutoAnswerToggle = AutoAnswerToggle + joinOffset;
|
||||||
|
AutoAnswerOn = AutoAnswerOn + joinOffset;
|
||||||
|
AutoAnswerOff = AutoAnswerOff + joinOffset;
|
||||||
|
Dial = Dial + joinOffset;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
54
PepperDashEssentials/Bridges/TvOneBridge.cs
Normal file
54
PepperDashEssentials/Bridges/TvOneBridge.cs
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using Crestron.SimplSharp;
|
||||||
|
using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
|
using PepperDash.Core;
|
||||||
|
using PepperDash.Essentials.Core;
|
||||||
|
using PepperDash.Essentials.Devices.Common;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Bridges
|
||||||
|
{
|
||||||
|
public static class TvOneApiExtensions
|
||||||
|
{
|
||||||
|
public static void LinkToApi(this TVOneCorio TvOne, BasicTriList trilist, uint joinStart, string joinMapKey)
|
||||||
|
{
|
||||||
|
var joinMap = JoinMapHelper.GetJoinMapForDevice(joinMapKey) as TvOneJoinMap;
|
||||||
|
|
||||||
|
if (joinMap == null)
|
||||||
|
joinMap = new TvOneJoinMap();
|
||||||
|
|
||||||
|
joinMap.OffsetJoinNumbers(joinStart);
|
||||||
|
Debug.Console(1, TvOne, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
||||||
|
|
||||||
|
TvOne.OnlineFeedback.LinkInputSig(trilist.BooleanInput[joinMap.IsOnline]);
|
||||||
|
trilist.SetUShortSigAction(joinMap.CallPreset, u => TvOne.CallPreset(u));
|
||||||
|
TvOne.PresetFeedback.LinkInputSig(trilist.UShortInput[joinMap.PresetFeedback]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public class TvOneJoinMap : JoinMapBase
|
||||||
|
{
|
||||||
|
public uint CallPreset { get; set; }
|
||||||
|
public uint PresetFeedback { get; set; }
|
||||||
|
public uint IsOnline { get; set; }
|
||||||
|
public TvOneJoinMap()
|
||||||
|
{
|
||||||
|
// Digital
|
||||||
|
CallPreset = 1;
|
||||||
|
PresetFeedback = 1;
|
||||||
|
IsOnline = 1;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OffsetJoinNumbers(uint joinStart)
|
||||||
|
{
|
||||||
|
var joinOffset = joinStart - 1;
|
||||||
|
|
||||||
|
IsOnline = IsOnline + joinOffset;
|
||||||
|
CallPreset = CallPreset + joinOffset;
|
||||||
|
PresetFeedback = PresetFeedback + joinOffset;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -117,6 +117,8 @@
|
|||||||
<Compile Include="Bridges\BridgeBase.cs" />
|
<Compile Include="Bridges\BridgeBase.cs" />
|
||||||
<Compile Include="Bridges\BridgeFactory.cs" />
|
<Compile Include="Bridges\BridgeFactory.cs" />
|
||||||
<Compile Include="Bridges\CameraControllerBridge.cs" />
|
<Compile Include="Bridges\CameraControllerBridge.cs" />
|
||||||
|
<Compile Include="Bridges\QscDspBridge.cs" />
|
||||||
|
<Compile Include="Bridges\TvOneBridge.cs" />
|
||||||
<Compile Include="Bridges\DisplayControllerBridge.cs" />
|
<Compile Include="Bridges\DisplayControllerBridge.cs" />
|
||||||
<Compile Include="Bridges\DigitalLoggerBridge.cs" />
|
<Compile Include="Bridges\DigitalLoggerBridge.cs" />
|
||||||
<Compile Include="Bridges\DmChassisControllerBridge.cs" />
|
<Compile Include="Bridges\DmChassisControllerBridge.cs" />
|
||||||
|
|||||||
Submodule essentials-framework updated: 4cfd0abff1...f3c18df713
Reference in New Issue
Block a user