using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Crestron.SimplSharp;
using PepperDash.Essentials.Core;
namespace PepperDash.Essentials.Bridges
{
public class DmTxControllerJoinMap : JoinMapBase
{
#region Digitals
///
/// High when device is online (if not attached to a DMP3 or DM chassis with a CPU3 card
///
public uint IsOnline { get; set; }
///
/// High when video sync is detected
///
public uint VideoSyncStatus { get; set; }
#endregion
#region Analogs
///
/// Sets and reports the video source
///
public uint VideoInput { get; set; }
///
/// Sets and reports the audio source
///
public uint AudioInput { get; set; }
///
/// Reports the highest supported HDCP state level for the corresponding input card
///
public uint HdcpSupportCapability { get; set; }
///
/// Sets and reports the current HDCP state for the corresponding input port
///
public uint Port1HdcpState { get; set; }
///
/// Sets and reports the current HDCP state for the corresponding input port
///
public uint Port2HdcpState { get; set; }
#endregion
#region Serials
///
/// Reports the current input resolution
///
public uint CurrentInputResolution { get; set; }
#endregion
public DmTxControllerJoinMap()
{
// Digital
IsOnline = 1;
VideoSyncStatus = 2;
// Serial
CurrentInputResolution = 1;
// Analog
VideoInput = 1;
AudioInput = 2;
HdcpSupportCapability = 3;
Port1HdcpState = 4;
Port2HdcpState = 5;
}
public override void OffsetJoinNumbers(uint joinStart)
{
var joinOffset = joinStart - 1;
IsOnline = IsOnline + joinOffset;
VideoSyncStatus = VideoSyncStatus + joinOffset;
CurrentInputResolution = CurrentInputResolution + joinOffset;
VideoInput = VideoInput + joinOffset;
AudioInput = AudioInput + joinOffset;
HdcpSupportCapability = HdcpSupportCapability + joinOffset;
Port1HdcpState = Port1HdcpState + joinOffset;
Port2HdcpState = Port2HdcpState + joinOffset;
}
}
}