using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Crestron.SimplSharp;
using PepperDash.Essentials.Core;
namespace PepperDash.Essentials.Bridges
{
[Obsolete("Please use version PepperDash.Essentials.Core.Bridges")]
public class HdMdxxxCEControllerJoinMap : JoinMapBase
{
#region Digitals
///
/// High when the pair is online
///
public uint IsOnline { get; set; }
///
/// High when the remote end device is online
///
public uint RemoteEndDetected { get; set; }
///
/// Sets Auto Route On and provides feedback
///
public uint AutoRouteOn { get; set; }
///
/// Sets Auto Route Off and provides feedback
///
public uint AutoRouteOff { get; set; }
///
/// Sets Priority Routing On and provides feedback
///
public uint PriorityRoutingOn { get; set; }
///
/// Sets Priority Routing Off and provides feedback
///
public uint PriorityRoutingOff { get; set; }
///
/// Enables OSD and provides feedback
///
public uint InputOnScreenDisplayEnabled { get; set; }
///
/// Disables OSD and provides feedback
///
public uint InputOnScreenDisplayDisabled { get; set; }
///
/// Provides Video Sync Detected feedback for each input
///
public uint SyncDetected { get; set; }
#endregion
#region Analogs
///
/// Sets the video source for the receiver's HDMI out and provides feedback
///
public uint VideoSource { get; set; }
///
/// Indicates the number of sources supported by the Tx/Rx pair
///
public uint SourceCount { get; set; }
#endregion
#region Serials
///
/// Indicates the name of each input port
///
public uint SourceNames { get; set; }
#endregion
public HdMdxxxCEControllerJoinMap()
{
//Digital
IsOnline = 1;
RemoteEndDetected = 2;
AutoRouteOn = 3;
AutoRouteOff = 4;
PriorityRoutingOn = 5;
PriorityRoutingOff = 6;
InputOnScreenDisplayEnabled = 7;
InputOnScreenDisplayDisabled = 8;
SyncDetected = 10; // 11-15
//Analog
VideoSource = 1;
SourceCount = 2;
//Serials
SourceNames = 10; // 11-15
}
public override void OffsetJoinNumbers(uint joinStart)
{
var joinOffset = joinStart - 1;
IsOnline = IsOnline + joinOffset;
RemoteEndDetected = RemoteEndDetected + joinOffset;
AutoRouteOn = AutoRouteOn + joinOffset;
AutoRouteOff = AutoRouteOff + joinOffset;
PriorityRoutingOn = PriorityRoutingOn + joinOffset;
PriorityRoutingOff = PriorityRoutingOff + joinOffset;
InputOnScreenDisplayEnabled = InputOnScreenDisplayEnabled + joinOffset;
InputOnScreenDisplayDisabled = InputOnScreenDisplayDisabled + joinOffset;
SyncDetected = SyncDetected + joinOffset;
VideoSource = VideoSource + joinOffset;
SourceCount = SourceCount + joinOffset;
SourceNames = SourceNames + joinOffset;
}
}
}