diff --git a/src/PepperDash.Essentials.Core/Bridges/BridgeHelper.cs b/src/PepperDash.Essentials.Core/Bridges/BridgeHelper.cs index 599c06a6..8d183b77 100644 --- a/src/PepperDash.Essentials.Core/Bridges/BridgeHelper.cs +++ b/src/PepperDash.Essentials.Core/Bridges/BridgeHelper.cs @@ -10,6 +10,10 @@ namespace PepperDash.Essentials.Core.Bridges /// public static class BridgeHelper { + /// + /// PrintJoinMp method + /// + /// target bridgekey to print join map for public static void PrintJoinMap(string command) { var targets = command.Split(' '); diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/AirMediaControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/AirMediaControllerJoinMap.cs index 6975ce3c..2bd218f6 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/AirMediaControllerJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/AirMediaControllerJoinMap.cs @@ -7,50 +7,86 @@ namespace PepperDash.Essentials.Core.Bridges /// public class AirMediaControllerJoinMap : JoinMapBaseAdvanced { + /// + /// Air Media Online status + /// [JoinName("IsOnline")] public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Air Media Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Air Media In Sharing Session status + /// [JoinName("IsInSession")] public JoinDataComplete IsInSession = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "Air Media In Sharing Session", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Air Media Has HDMI Video Sync status + /// [JoinName("HdmiVideoSync")] public JoinDataComplete HdmiVideoSync = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 }, new JoinMetadata { Description = "Air Media Has HDMI Video Sync", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Air Media Automatic Input Routing Enable(d) + /// [JoinName("AutomaticInputRoutingEnabled")] public JoinDataComplete AutomaticInputRoutingEnabled = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 }, new JoinMetadata { Description = "Air Media Automatic Input Routing Enable(d)", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Air Media Video Route Select / Feedback + /// [JoinName("VideoOut")] public JoinDataComplete VideoOut = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Air Media Video Route Select / Feedback", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); + /// + /// Air Media Error Status Feedback + /// [JoinName("ErrorFB")] public JoinDataComplete ErrorFB = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "Air Media Error Status", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog }); + /// + /// Air Media Number of Users Connected Feedback + /// [JoinName("NumberOfUsersConnectedFB")] public JoinDataComplete NumberOfUsersConnectedFB = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 }, new JoinMetadata { Description = "Air Media Number of Users Connected", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog }); + /// + /// Air Media Login Code Set / Get + /// [JoinName("LoginCode")] public JoinDataComplete LoginCode = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 }, new JoinMetadata { Description = "Air Media Login Code Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); + /// + /// Air Media Device Name + /// [JoinName("Name")] public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Air Media Device Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Air Media IP Address Feedback + /// [JoinName("ConnectionAddressFB")] public JoinDataComplete ConnectionAddressFB = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "Air Media IP Address", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Air Media Hostname Feedback + /// [JoinName("HostnameFB")] public JoinDataComplete HostnameFB = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 }, new JoinMetadata { Description = "Air Media Hostname", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Air Media Serial Number Feedback + /// [JoinName("SerialNumberFeedback")] public JoinDataComplete SerialNumberFeedback = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 }, new JoinMetadata { Description = "Air Media Serial Number", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/AppleTvJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/AppleTvJoinMap.cs index 0776f653..c337f9cf 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/AppleTvJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/AppleTvJoinMap.cs @@ -7,30 +7,51 @@ namespace PepperDash.Essentials.Core.Bridges /// public class AppleTvJoinMap : JoinMapBaseAdvanced { + /// + /// AppleTv Nav Up + /// [JoinName("UpArrow")] public JoinDataComplete UpArrow = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "AppleTv Nav Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// AppleTv Nav Down + /// [JoinName("DnArrow")] public JoinDataComplete DnArrow = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "AppleTv Nav Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// AppleTv Nav Left + /// [JoinName("LeftArrow")] public JoinDataComplete LeftArrow = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 }, new JoinMetadata { Description = "AppleTv Nav Left", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// AppleTv Nav Right + /// [JoinName("RightArrow")] public JoinDataComplete RightArrow = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 }, new JoinMetadata { Description = "AppleTv Nav Right", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// AppleTv Menu + /// [JoinName("Menu")] public JoinDataComplete Menu = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 }, new JoinMetadata { Description = "AppleTv Menu", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// AppleTv Select + /// [JoinName("Select")] public JoinDataComplete Select = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 }, new JoinMetadata { Description = "AppleTv Select", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// AppleTv Play/Pause + /// [JoinName("PlayPause")] public JoinDataComplete PlayPause = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 }, new JoinMetadata { Description = "AppleTv Play/Pause", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/C2nRthsControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/C2nRthsControllerJoinMap.cs index 3d6d01b1..bb9da22f 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/C2nRthsControllerJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/C2nRthsControllerJoinMap.cs @@ -7,22 +7,37 @@ namespace PepperDash.Essentials.Core.Bridges /// public class C2nRthsControllerJoinMap : JoinMapBaseAdvanced { + /// + /// C2nRthsController Online status + /// [JoinName("IsOnline")] public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Temp Sensor Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Temperature Format (C/F) + /// [JoinName("TemperatureFormat")] public JoinDataComplete TemperatureFormat = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "Temp Sensor Unit Format", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Temperature Sensor Feedbacks + /// [JoinName("Temperature")] public JoinDataComplete Temperature = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "Temp Sensor Temperature Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog }); + /// + /// Humidity Sensor Feedbacks + /// [JoinName("Humidity")] public JoinDataComplete Humidity = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 }, new JoinMetadata { Description = "Temp Sensor Humidity Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog }); + /// + /// Temp Sensor Name + /// [JoinName("Name")] public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Temp Sensor Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/CameraControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/CameraControllerJoinMap.cs index 70f182cb..aad43513 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/CameraControllerJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/CameraControllerJoinMap.cs @@ -7,46 +7,117 @@ namespace PepperDash.Essentials.Core.Bridges /// public class CameraControllerJoinMap : JoinMapBaseAdvanced { + /// + /// Tilt Up + /// [JoinName("TiltUp")] public JoinDataComplete TiltUp = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Tilt Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + + /// + /// Tilt Down + /// [JoinName("TiltDown")] public JoinDataComplete TiltDown = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "Tilt Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + + /// + /// Pan Left + /// [JoinName("PanLeft")] public JoinDataComplete PanLeft = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 }, new JoinMetadata { Description = "Pan Left", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + + /// + /// Pan Right + /// [JoinName("PanRight")] public JoinDataComplete PanRight = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 }, new JoinMetadata { Description = "Pan Right", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + + /// + /// Zoom In + /// [JoinName("ZoomIn")] public JoinDataComplete ZoomIn = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 }, new JoinMetadata { Description = "Zoom In", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + + /// + /// Zoom Out + /// [JoinName("ZoomOut")] public JoinDataComplete ZoomOut = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 }, new JoinMetadata { Description = "Zoom Out", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Is Online + /// [JoinName("IsOnline")] public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 9, JoinSpan = 1 }, new JoinMetadata { Description = "Is Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + + /// + /// Power On + /// [JoinName("PowerOn")] public JoinDataComplete PowerOn = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 }, new JoinMetadata { Description = "Power On", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); + + /// + /// Power Off + /// [JoinName("PowerOff")] public JoinDataComplete PowerOff = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 }, new JoinMetadata { Description = "Power Off", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Number Of Presets + /// [JoinName("NumberOfPresets")] public JoinDataComplete NumberOfPresets = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 }, new JoinMetadata { Description = "Tells Essentials the number of defined presets", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Analog }); + + /// + /// Preset Recall Start + /// [JoinName("PresetRecallStart")] public JoinDataComplete PresetRecallStart = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 20 }, new JoinMetadata { Description = "Preset Recall Start", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + + /// + /// Preset Label Start + /// [JoinName("PresetLabelStart")] public JoinDataComplete PresetLabelStart = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 20 }, new JoinMetadata { Description = "Preset Label Start", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Serial }); + + /// + /// Preset Save Start + /// [JoinName("PresetSaveStart")] public JoinDataComplete PresetSaveStart = new JoinDataComplete(new JoinData { JoinNumber = 31, JoinSpan = 20 }, new JoinMetadata { Description = "Preset Save Start", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Camera Mode Auto + /// [JoinName("CameraModeAuto")] public JoinDataComplete CameraModeAuto = new JoinDataComplete(new JoinData { JoinNumber = 51, JoinSpan = 1 }, new JoinMetadata { Description = "Camera Mode Auto", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); + + /// + /// Camera Mode Manual + /// [JoinName("CameraModeManual")] public JoinDataComplete CameraModeManual = new JoinDataComplete(new JoinData { JoinNumber = 52, JoinSpan = 1 }, new JoinMetadata { Description = "Camera Mode Manual", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); + + /// + /// Camera Mode Off + /// [JoinName("CameraModeOff")] public JoinDataComplete CameraModeOff = new JoinDataComplete(new JoinData { JoinNumber = 53, JoinSpan = 1 }, new JoinMetadata { Description = "Camera Mode Off", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Supports Camera Mode Manual + /// [JoinName("SupportsCameraModeAuto")] public JoinDataComplete SupportsCameraModeAuto = new JoinDataComplete(new JoinData { JoinNumber = 55, JoinSpan = 1 }, new JoinMetadata { Description = "Supports Camera Mode Auto", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + + /// + /// Supports Camera Mode Off + /// [JoinName("SupportsCameraModeOff")] public JoinDataComplete SupportsCameraModeOff = new JoinDataComplete(new JoinData { JoinNumber = 56, JoinSpan = 1 }, new JoinMetadata { Description = "Supports Camera Mode Off", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + + /// + /// Supports Presets + /// [JoinName("SupportsPresets")] public JoinDataComplete SupportsPresets = new JoinDataComplete(new JoinData { JoinNumber = 57, JoinSpan = 1 }, new JoinMetadata { Description = "Supports Presets", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/CenOdtOccupancySensorBaseJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/CenOdtOccupancySensorBaseJoinMap.cs index 8ad097e6..b52c5309 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/CenOdtOccupancySensorBaseJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/CenOdtOccupancySensorBaseJoinMap.cs @@ -9,130 +9,226 @@ namespace PepperDash.Essentials.Core.Bridges { #region Digitals + /// + /// Online + /// [JoinName("Online")] public JoinDataComplete Online = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Force Occupied + /// [JoinName("ForceOccupied")] public JoinDataComplete ForceOccupied = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "Force Occupied", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Force Vacant + /// [JoinName("ForceVacant")] public JoinDataComplete ForceVacant = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 }, new JoinMetadata { Description = "Force Vacant", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Enable Raw States + /// [JoinName("EnableRawStates")] public JoinDataComplete EnableRawStates = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 }, new JoinMetadata { Description = "Enable Raw States", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Disable Raw States + /// [JoinName("RoomOccupiedFeedback")] public JoinDataComplete RoomOccupiedFeedback = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "Room Occupied Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Grace Occupancy Detected Feedback + /// [JoinName("GraceOccupancyDetectedFeedback")] public JoinDataComplete GraceOccupancyDetectedFeedback = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 }, new JoinMetadata { Description = "Grace Occupancy Detected Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Room Vacant Feedback + /// [JoinName("RoomVacantFeedback")] public JoinDataComplete RoomVacantFeedback = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 }, new JoinMetadata { Description = "Room Vacant Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Raw Occupancy Feedback + /// [JoinName("RawOccupancyFeedback")] public JoinDataComplete RawOccupancyFeedback = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 }, new JoinMetadata { Description = "Raw Occupancy Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Raw Occupancy Pir Feedback + /// [JoinName("RawOccupancyPirFeedback")] public JoinDataComplete RawOccupancyPirFeedback = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 }, new JoinMetadata { Description = "Raw Occupancy Pir Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Raw Occupancy Us Feedback + /// [JoinName("RawOccupancyUsFeedback")] public JoinDataComplete RawOccupancyUsFeedback = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 }, new JoinMetadata { Description = "Raw Occupancy Us Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Identity Mode On + /// [JoinName("IdentityModeOn")] public JoinDataComplete IdentityMode = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 }, new JoinMetadata { Description = "Enable Identity Mode", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Identity Mode Off + /// [JoinName("IdentityModeFeedback")] public JoinDataComplete IdentityModeFeedback = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 }, new JoinMetadata { Description = "Identity Mode Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Enable Led Flash + /// [JoinName("EnableLedFlash")] public JoinDataComplete EnableLedFlash = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 }, new JoinMetadata { Description = "Enable Led Flash", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Disable Led Flash + /// [JoinName("DisableLedFlash")] public JoinDataComplete DisableLedFlash = new JoinDataComplete(new JoinData { JoinNumber = 12, JoinSpan = 1 }, new JoinMetadata { Description = "Disable Led Flash", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Enable Short Timeout + /// [JoinName("EnableShortTimeout")] public JoinDataComplete EnableShortTimeout = new JoinDataComplete(new JoinData { JoinNumber = 13, JoinSpan = 1 }, new JoinMetadata { Description = "Enable Short Timeout", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Disable Short Timeout + /// [JoinName("DisableShortTimeout")] public JoinDataComplete DisableShortTimeout = new JoinDataComplete(new JoinData { JoinNumber = 14, JoinSpan = 1 }, new JoinMetadata { Description = "Disable Short Timeout", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Or When Vacated + /// [JoinName("OrWhenVacated")] public JoinDataComplete OrWhenVacated = new JoinDataComplete(new JoinData { JoinNumber = 15, JoinSpan = 1 }, new JoinMetadata { Description = "Or When Vacated", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// And When Vacated + /// [JoinName("AndWhenVacated")] public JoinDataComplete AndWhenVacated = new JoinDataComplete(new JoinData { JoinNumber = 16, JoinSpan = 1 }, new JoinMetadata { Description = "AndWhenVacated", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Enable Us A + /// [JoinName("EnableUsA")] public JoinDataComplete EnableUsA = new JoinDataComplete(new JoinData { JoinNumber = 17, JoinSpan = 1 }, new JoinMetadata { Description = "Enable Us A", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Disable Us A + /// [JoinName("DisableUsA")] public JoinDataComplete DisableUsA = new JoinDataComplete(new JoinData { JoinNumber = 18, JoinSpan = 1 }, new JoinMetadata { Description = "Disable Us A", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Enable Us B + /// [JoinName("EnableUsB")] public JoinDataComplete EnableUsB = new JoinDataComplete(new JoinData { JoinNumber = 19, JoinSpan = 1 }, new JoinMetadata { Description = "Enable Us B", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Disable Us B + /// [JoinName("DisableUsB")] public JoinDataComplete DisableUsB = new JoinDataComplete(new JoinData { JoinNumber = 20, JoinSpan = 1 }, new JoinMetadata { Description = "Disable Us B", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Enable Pir + /// [JoinName("EnablePir")] public JoinDataComplete EnablePir = new JoinDataComplete(new JoinData { JoinNumber = 21, JoinSpan = 1 }, new JoinMetadata { Description = "Enable Pir", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Disable Pir + /// [JoinName("DisablePir")] public JoinDataComplete DisablePir = new JoinDataComplete(new JoinData { JoinNumber = 22, JoinSpan = 1 }, new JoinMetadata { Description = "Disable Pir", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Increment Us In Occupied State + /// [JoinName("IncrementUsInOccupiedState")] public JoinDataComplete IncrementUsInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 23, JoinSpan = 1 }, new JoinMetadata { Description = "Increment Us In OccupiedState", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Decrement Us In Occupied State + /// [JoinName("DecrementUsInOccupiedState")] public JoinDataComplete DecrementUsInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 24, JoinSpan = 1 }, new JoinMetadata { Description = "Dencrement Us In Occupied State", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Increment Us In Vacant State + /// [JoinName("IncrementUsInVacantState")] public JoinDataComplete IncrementUsInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 25, JoinSpan = 1 }, new JoinMetadata { Description = "Increment Us In VacantState", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Decrement Us In Vacant State + /// [JoinName("DecrementUsInVacantState")] public JoinDataComplete DecrementUsInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 26, JoinSpan = 1 }, new JoinMetadata { Description = "Decrement Us In VacantState", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Increment Pir In Occupied State + /// [JoinName("IncrementPirInOccupiedState")] public JoinDataComplete IncrementPirInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 27, JoinSpan = 1 }, new JoinMetadata { Description = "Increment Pir In Occupied State", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Decrement Pir In Occupied State + /// [JoinName("DecrementPirInOccupiedState")] public JoinDataComplete DecrementPirInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 28, JoinSpan = 1 }, new JoinMetadata { Description = "Decrement Pir In OccupiedState", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Increment Pir In Vacant State + /// [JoinName("IncrementPirInVacantState")] public JoinDataComplete IncrementPirInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 29, JoinSpan = 1 }, new JoinMetadata { Description = "Increment Pir In Vacant State", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Decrement Pir In Vacant State + /// [JoinName("DecrementPirInVacantState")] public JoinDataComplete DecrementPirInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 30, JoinSpan = 1 }, new JoinMetadata { Description = "Decrement Pir In Vacant State", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); @@ -140,31 +236,51 @@ namespace PepperDash.Essentials.Core.Bridges #endregion #region Analog - + /// + /// Timeout + /// [JoinName("Timeout")] public JoinDataComplete Timeout = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Timeout", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// Timeout Local Feedback + /// [JoinName("TimeoutLocalFeedback")] public JoinDataComplete TimeoutLocalFeedback = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "Timeout Local Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// Internal PhotoSensor Value + /// [JoinName("InternalPhotoSensorValue")] public JoinDataComplete InternalPhotoSensorValue = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 }, new JoinMetadata { Description = "Internal PhotoSensor Value", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// External PhotoSensor Value + /// [JoinName("UsSensitivityInOccupiedState")] public JoinDataComplete UsSensitivityInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 }, new JoinMetadata { Description = "Us Sensitivity In Occupied State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// Us Sensitivity In Vacant State + /// [JoinName("UsSensitivityInVacantState")] public JoinDataComplete UsSensitivityInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 }, new JoinMetadata { Description = "Us Sensitivity In Vacant State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// Pir Sensitivity In Occupied State + /// [JoinName("PirSensitivityInOccupiedState")] public JoinDataComplete PirSensitivityInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 }, new JoinMetadata { Description = "Pir Sensitivity In Occupied State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// Pir Sensitivity In Vacant State + /// [JoinName("PirSensitivityInVacantState")] public JoinDataComplete PirSensitivityInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 }, new JoinMetadata { Description = "Pir Sensitivity In Vacant State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog }); @@ -173,6 +289,9 @@ namespace PepperDash.Essentials.Core.Bridges #region Serial + /// + /// Name + /// [JoinName("Name")] public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DisplayControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DisplayControllerJoinMap.cs index d200c591..3741f951 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DisplayControllerJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DisplayControllerJoinMap.cs @@ -7,62 +7,107 @@ namespace PepperDash.Essentials.Core.Bridges /// public class DisplayControllerJoinMap : JoinMapBaseAdvanced { + /// + /// Name + /// [JoinName("Name")] public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); - + + /// + /// Power Off + /// [JoinName("PowerOff")] public JoinDataComplete PowerOff = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Power Off", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Power On + /// [JoinName("PowerOn")] public JoinDataComplete PowerOn = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "Power On", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Is Two Way Display + /// [JoinName("IsTwoWayDisplay")] public JoinDataComplete IsTwoWayDisplay = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 }, new JoinMetadata { Description = "Is Two Way Display", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Volume Up + /// [JoinName("VolumeUp")] public JoinDataComplete VolumeUp = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 }, new JoinMetadata { Description = "Volume Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Volume Level + /// [JoinName("VolumeLevel")] public JoinDataComplete VolumeLevel = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 }, new JoinMetadata { Description = "Volume Level", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// Volume Down + /// [JoinName("VolumeDown")] public JoinDataComplete VolumeDown = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 }, new JoinMetadata { Description = "Volume Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Volume Mute + /// [JoinName("VolumeMute")] public JoinDataComplete VolumeMute = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 }, new JoinMetadata { Description = "Volume Mute", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Volume Mute On + /// [JoinName("VolumeMuteOn")] public JoinDataComplete VolumeMuteOn = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 }, new JoinMetadata { Description = "Volume Mute On", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Volume Mute Off + /// [JoinName("VolumeMuteOff")] public JoinDataComplete VolumeMuteOff = new JoinDataComplete(new JoinData { JoinNumber = 9, JoinSpan = 1 }, new JoinMetadata { Description = "Volume Mute Off", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Input Select Offset + /// [JoinName("InputSelectOffset")] public JoinDataComplete InputSelectOffset = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 10 }, new JoinMetadata { Description = "Input Select", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Input Names Offset + /// [JoinName("InputNamesOffset")] public JoinDataComplete InputNamesOffset = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 10 }, new JoinMetadata { Description = "Input Names Offset", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); - + + /// + /// Input Select + /// [JoinName("InputSelect")] public JoinDataComplete InputSelect = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 }, new JoinMetadata { Description = "Input Select", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// Button Visibility Offset + /// [JoinName("ButtonVisibilityOffset")] public JoinDataComplete ButtonVisibilityOffset = new JoinDataComplete(new JoinData { JoinNumber = 41, JoinSpan = 10 }, new JoinMetadata { Description = "Button Visibility Offset", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.DigitalSerial }); - + + /// + /// Is Online + /// [JoinName("IsOnline")] public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 50, JoinSpan = 1 }, new JoinMetadata { Description = "Is Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmBladeChassisControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmBladeChassisControllerJoinMap.cs index 99d59a7c..c6488bba 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmBladeChassisControllerJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmBladeChassisControllerJoinMap.cs @@ -6,50 +6,86 @@ namespace PepperDash.Essentials.Core.Bridges { /// public class DmBladeChassisControllerJoinMap : JoinMapBaseAdvanced { + /// + /// DM Blade Chassis Online status + /// [JoinName("IsOnline")] public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 }, new JoinMetadata { Description = "DM Blade Chassis Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DM Blade Input Video Sync + /// [JoinName("VideoSyncStatus")] public JoinDataComplete VideoSyncStatus = new JoinDataComplete(new JoinData { JoinNumber = 101, JoinSpan = 128 }, new JoinMetadata { Description = "DM Blade Input Video Sync", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DM Blade Chassis Input Endpoint Online + /// [JoinName("InputEndpointOnline")] public JoinDataComplete InputEndpointOnline = new JoinDataComplete(new JoinData { JoinNumber = 501, JoinSpan = 128 }, new JoinMetadata { Description = "DM Blade Chassis Input Endpoint Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DM Blade Chassis Output Endpoint Online + /// [JoinName("OutputEndpointOnline")] public JoinDataComplete OutputEndpointOnline = new JoinDataComplete(new JoinData { JoinNumber = 701, JoinSpan = 128 }, new JoinMetadata { Description = "DM Blade Chassis Output Endpoint Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DM Blade Chassis Tx Advanced Is Present + /// [JoinName("TxAdvancedIsPresent")] public JoinDataComplete TxAdvancedIsPresent = new JoinDataComplete(new JoinData { JoinNumber = 1001, JoinSpan = 128 }, new JoinMetadata { Description = "DM Blade Chassis Tx Advanced Is Present", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DM Blade Chassis Rx Advanced Is Present + /// [JoinName("OutputVideo")] public JoinDataComplete OutputVideo = new JoinDataComplete(new JoinData { JoinNumber = 101, JoinSpan = 128 }, new JoinMetadata { Description = "DM Blade Chassis Output Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// DM Blade Chassis Input HDCP Support State + /// [JoinName("HdcpSupportState")] public JoinDataComplete HdcpSupportState = new JoinDataComplete(new JoinData { JoinNumber = 1001, JoinSpan = 128 }, new JoinMetadata { Description = "DM Blade Chassis Input HDCP Support State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// DM Blade Chassis Input HDCP Support Capability + /// [JoinName("HdcpSupportCapability")] public JoinDataComplete HdcpSupportCapability = new JoinDataComplete(new JoinData { JoinNumber = 1201, JoinSpan = 128 }, new JoinMetadata { Description = "DM Blade Chassis Input HDCP Support Capability", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// DM Blade Chassis Input Names + /// [JoinName("InputNames")] public JoinDataComplete InputNames = new JoinDataComplete(new JoinData { JoinNumber = 101, JoinSpan = 128 }, new JoinMetadata { Description = "DM Blade Chassis Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); - + + /// + /// DM Blade Chassis Output Names + /// [JoinName("OutputNames")] public JoinDataComplete OutputNames = new JoinDataComplete(new JoinData { JoinNumber = 301, JoinSpan = 128 }, new JoinMetadata { Description = "DM Blade Chassis Output Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); - + + /// + /// DM Blade Chassis Video Output Currently Routed Video Input Name + /// [JoinName("OutputCurrentVideoInputNames")] public JoinDataComplete OutputCurrentVideoInputNames = new JoinDataComplete(new JoinData { JoinNumber = 2001, JoinSpan = 128 }, new JoinMetadata { Description = "DM Blade Chassis Video Output Currently Routed Video Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); - + + /// + /// DM Blade Chassis Input Current Resolution + /// [JoinName("InputCurrentResolution")] public JoinDataComplete InputCurrentResolution = new JoinDataComplete(new JoinData { JoinNumber = 2401, JoinSpan = 128 }, new JoinMetadata { Description = "DM Blade Chassis Input Current Resolution", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmChassisControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmChassisControllerJoinMap.cs index 27770d81..9d2217cc 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmChassisControllerJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmChassisControllerJoinMap.cs @@ -7,6 +7,9 @@ namespace PepperDash.Essentials.Core.Bridges /// public class DmChassisControllerJoinMap : JoinMapBaseAdvanced { + /// + /// DM Chassis enable audio breakaway routing + /// [JoinName("EnableAudioBreakaway")] public JoinDataComplete EnableAudioBreakaway = new JoinDataComplete( new JoinData {JoinNumber = 4, JoinSpan = 1}, @@ -16,7 +19,10 @@ namespace PepperDash.Essentials.Core.Bridges JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DM Chassis enable USB breakaway routing + /// [JoinName("EnableUsbBreakaway")] public JoinDataComplete EnableUsbBreakaway = new JoinDataComplete( new JoinData { JoinNumber = 5, JoinSpan = 1 }, @@ -26,83 +32,143 @@ namespace PepperDash.Essentials.Core.Bridges JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DM Chassis Name + /// [JoinName("Name")] public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "DM Chassis Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); - + + /// + /// DM Chassis SystemId Get/Set/Trigger + /// [JoinName("SystemId")] public JoinDataComplete SystemId = new JoinDataComplete(new JoinData { JoinNumber = 10, JoinSpan = 1 }, new JoinMetadata { Description = "DM Chassis SystemId Get/Set/Trigger/", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.DigitalAnalog }); - + + /// + /// DM Chassis Online status + /// [JoinName("IsOnline")] public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 }, new JoinMetadata { Description = "DM Chassis Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DM Input Video Sync + /// [JoinName("VideoSyncStatus")] public JoinDataComplete VideoSyncStatus = new JoinDataComplete(new JoinData { JoinNumber = 101, JoinSpan = 32 }, new JoinMetadata { Description = "DM Input Video Sync", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DM Chassis Input Endpoint Online + /// [JoinName("InputEndpointOnline")] public JoinDataComplete InputEndpointOnline = new JoinDataComplete(new JoinData { JoinNumber = 501, JoinSpan = 32 }, new JoinMetadata { Description = "DM Chassis Input Endpoint Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DM Chassis Output Endpoint Online + /// [JoinName("OutputEndpointOnline")] public JoinDataComplete OutputEndpointOnline = new JoinDataComplete(new JoinData { JoinNumber = 701, JoinSpan = 32 }, new JoinMetadata { Description = "DM Chassis Output Endpoint Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DM Chassis Tx Advanced Is Present + /// [JoinName("TxAdvancedIsPresent")] public JoinDataComplete TxAdvancedIsPresent = new JoinDataComplete(new JoinData { JoinNumber = 1001, JoinSpan = 32 }, new JoinMetadata { Description = "DM Chassis Tx Advanced Is Present", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DM Chassis Rx Advanced Is Present + /// [JoinName("OutputDisabledByHdcp")] public JoinDataComplete OutputDisabledByHdcp = new JoinDataComplete(new JoinData { JoinNumber = 1201, JoinSpan = 32 }, new JoinMetadata { Description = "DM Chassis Output Disabled by HDCP", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DM Chassis Output Set / Get + /// [JoinName("OutputVideo")] public JoinDataComplete OutputVideo = new JoinDataComplete(new JoinData { JoinNumber = 101, JoinSpan = 32 }, new JoinMetadata { Description = "DM Chassis Output Video Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// DM Chassis Output Audio Set / Get + /// [JoinName("OutputAudio")] public JoinDataComplete OutputAudio = new JoinDataComplete(new JoinData { JoinNumber = 301, JoinSpan = 32 }, new JoinMetadata { Description = "DM Chassis Output Audio Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// DM Chassis Input Set / Get + /// [JoinName("OutputUsb")] public JoinDataComplete OutputUsb = new JoinDataComplete(new JoinData { JoinNumber = 501, JoinSpan = 32 }, new JoinMetadata { Description = "DM Chassis Output USB Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// DM Chassis Input Set / Get + /// [JoinName("InputUsb")] public JoinDataComplete InputUsb = new JoinDataComplete(new JoinData { JoinNumber = 701, JoinSpan = 32 }, new JoinMetadata { Description = "DM Chassis Input Usb Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// DM Chassis Input HDCP Support State + /// [JoinName("HdcpSupportState")] public JoinDataComplete HdcpSupportState = new JoinDataComplete(new JoinData { JoinNumber = 1001, JoinSpan = 32 }, new JoinMetadata { Description = "DM Chassis Input HDCP Support State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// DM Chassis Input HDCP Support Capability + /// [JoinName("HdcpSupportCapability")] public JoinDataComplete HdcpSupportCapability = new JoinDataComplete(new JoinData { JoinNumber = 1201, JoinSpan = 32 }, new JoinMetadata { Description = "DM Chassis Input HDCP Support Capability", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// DM Chassis Stream Input Start (1), Stop (2), Pause (3) with Feedback + /// [JoinName("InputStreamCardState")] public JoinDataComplete InputStreamCardState = new JoinDataComplete(new JoinData { JoinNumber = 1501, JoinSpan = 32 }, new JoinMetadata { Description = "DM Chassis Stream Input Start (1), Stop (2), Pause (3) with Feedback", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// DM Chassis Stream Output Start (1), Stop (2), Pause (3) with Feedback + /// [JoinName("OutputStreamCardState")] public JoinDataComplete OutputStreamCardState = new JoinDataComplete(new JoinData { JoinNumber = 1601, JoinSpan = 32 }, new JoinMetadata { Description = "DM Chassis Stream Output Start (1), Stop (2), Pause (3) with Feedback", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// DM Chassis No Route Name + /// [JoinName("NoRouteName")] public JoinDataComplete NoRouteName = new JoinDataComplete(new JoinData { JoinNumber = 100, JoinSpan = 1 }, new JoinMetadata { Description = "DM Chassis Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); - + + /// + /// DM Chassis Input Names + /// [JoinName("InputNames")] public JoinDataComplete InputNames = new JoinDataComplete(new JoinData { JoinNumber = 101, JoinSpan = 32 }, new JoinMetadata { Description = "DM Chassis Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); - + + /// + /// DM Chassis Output Names + /// [JoinName("OutputNames")] public JoinDataComplete OutputNames = new JoinDataComplete(new JoinData { JoinNumber = 301, JoinSpan = 32 }, new JoinMetadata { Description = "DM Chassis Output Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); - + + /// + /// DM Chassis Video Input Names + /// [JoinName("InputVideoNames")] public JoinDataComplete InputVideoNames = new JoinDataComplete(new JoinData {JoinNumber = 501, JoinSpan = 200}, new JoinMetadata @@ -111,7 +177,10 @@ namespace PepperDash.Essentials.Core.Bridges JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Serial }); - + + /// + /// DM Chassis Audio Input Names + /// [JoinName("InputAudioNames")] public JoinDataComplete InputAudioNames = new JoinDataComplete(new JoinData { JoinNumber = 701, JoinSpan = 200 }, @@ -121,6 +190,10 @@ namespace PepperDash.Essentials.Core.Bridges JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Serial }); + + /// + /// DM Chassis Video Output Names + /// [JoinName("OutputVideoNames")] public JoinDataComplete OutputVideoNames = new JoinDataComplete(new JoinData { JoinNumber = 901, JoinSpan = 200 }, @@ -130,6 +203,10 @@ namespace PepperDash.Essentials.Core.Bridges JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Serial }); + + /// + /// DM Chassis Audio Output Names + /// [JoinName("OutputAudioNames")] public JoinDataComplete OutputAudioNames = new JoinDataComplete(new JoinData { JoinNumber = 1101, JoinSpan = 200 }, @@ -139,15 +216,24 @@ namespace PepperDash.Essentials.Core.Bridges JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Serial }); - + + /// + /// DM Chassis Video Output Currently Routed Video Input Name + /// [JoinName("OutputCurrentVideoInputNames")] public JoinDataComplete OutputCurrentVideoInputNames = new JoinDataComplete(new JoinData { JoinNumber = 2001, JoinSpan = 32 }, new JoinMetadata { Description = "DM Chassis Video Output Currently Routed Video Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); - + + /// + /// DM Chassis Audio Output Currently Routed Audio Input Name + /// [JoinName("OutputCurrentAudioInputNames")] public JoinDataComplete OutputCurrentAudioInputNames = new JoinDataComplete(new JoinData { JoinNumber = 2201, JoinSpan = 32 }, new JoinMetadata { Description = "DM Chassis Audio Output Currently Routed Video Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); - + + /// + /// DM Chassis Input Current Resolution + /// [JoinName("InputCurrentResolution")] public JoinDataComplete InputCurrentResolution = new JoinDataComplete(new JoinData { JoinNumber = 2401, JoinSpan = 32 }, new JoinMetadata { Description = "DM Chassis Input Current Resolution", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmRmcControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmRmcControllerJoinMap.cs index 6eae5037..6f0df102 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmRmcControllerJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmRmcControllerJoinMap.cs @@ -7,66 +7,114 @@ namespace PepperDash.Essentials.Core.Bridges /// public class DmRmcControllerJoinMap : JoinMapBaseAdvanced { + /// + /// DM RMC Online + /// [JoinName("IsOnline")] public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "DM RMC Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DM RMC Mute Video + /// [JoinName("VideoMuteOn")] public JoinDataComplete VideoMuteOn = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 }, new JoinMetadata { Description = "DM RMC Mute Video", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DM RMC UnMute Video + /// [JoinName("VideoMuteOff")] public JoinDataComplete VideoMuteOff = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 }, new JoinMetadata { Description = "DM RMC UnMute Video", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DM RMC Mute Video Toggle + /// [JoinName("VideoMuteToggle")] public JoinDataComplete VideoMuteToggle = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 }, new JoinMetadata { Description = "DM RMC Mute Video Toggle", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DM RMC Current Output Resolution + /// [JoinName("CurrentOutputResolution")] public JoinDataComplete CurrentOutputResolution = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "DM RMC Current Output Resolution", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); - + + /// + /// DM RMC EDID Manufacturer + /// [JoinName("EdidManufacturer")] public JoinDataComplete EdidManufacturer = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "DM RMC EDID Manufacturer", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); - + + /// + /// DM RMC EDID Name + /// [JoinName("EdidName")] public JoinDataComplete EdidName = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 }, new JoinMetadata { Description = "DM RMC EDID Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); - + + /// + /// DM RMC EDID Preferred Timing + /// [JoinName("EdidPrefferedTiming")] public JoinDataComplete EdidPrefferedTiming = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 }, new JoinMetadata { Description = "DM RMC EDID Preferred Timing", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); - + + /// + /// DM RMC EDID Serial Number + /// [JoinName("EdidSerialNumber")] public JoinDataComplete EdidSerialNumber = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 }, new JoinMetadata { Description = "DM RMC EDID Serial Number", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); - + + /// + /// DM RMC Name + /// [JoinName("Name")] public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 }, new JoinMetadata { Description = "DM RMC Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); - + + /// + /// DM RMC Audio Video Source Set / Get + /// [JoinName("AudioVideoSource")] public JoinDataComplete AudioVideoSource = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "DM RMC Audio Video Source Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// DM RMC HDCP Support Capability + /// [JoinName("HdcpSupportCapability")] public JoinDataComplete HdcpSupportCapability = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "DM RMC HDCP Support Capability", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// DM RMC Port 1 (DM) HDCP State Set / Get + /// [JoinName("Port1HdcpState")] public JoinDataComplete Port1HdcpState = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 }, new JoinMetadata { Description = "DM RMC Port 1 (DM) HDCP State Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// DM RMC Port 2 (HDMI) HDCP State Set / Get + /// [JoinName("Port2HdcpState")] public JoinDataComplete Port2HdcpState = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 }, - new JoinMetadata { Description = "DM TX Port 2 (HDMI) HDCP State Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + new JoinMetadata { Description = "DM RMC Port 2 (HDMI) HDCP State Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); + + /// + /// DM RMC HDMI Input Sync + /// [JoinName("HdmiInputSync")] public JoinDataComplete HdmiInputSync = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "DM RMC HDMI Input Sync", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DM RMC Number of Input Ports that support HDCP + /// [JoinName("HdcpInputPortCount")] public JoinDataComplete HdcpInputPortCount = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 }, new JoinMetadata { Description = "Number of Input Ports that support HDCP", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog }); diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmTxControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmTxControllerJoinMap.cs index 6aec8c33..ab1299d1 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmTxControllerJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmTxControllerJoinMap.cs @@ -7,70 +7,121 @@ namespace PepperDash.Essentials.Core.Bridges /// public class DmTxControllerJoinMap : JoinMapBaseAdvanced { + /// + /// DM TX Online + /// [JoinName("IsOnline")] public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "DM TX Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DM TX Video Sync + /// [JoinName("VideoSyncStatus")] public JoinDataComplete VideoSyncStatus = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "DM TX Video Sync", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DM TX Enable Free Run Set / Get + /// [JoinName("FreeRunEnabled")] public JoinDataComplete FreeRunEnabled = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 }, new JoinMetadata { Description = "DM TX Enable Free Run Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Input 1 Video Sync Status + /// [JoinName("Input1VideoSyncStatus")] public JoinDataComplete Input1VideoSyncStatus = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 }, new JoinMetadata { Description = "Input 1 Video Sync Status", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Input 2 Video Sync Status + /// [JoinName("Input2VideoSyncStatus")] public JoinDataComplete Input2VideoSyncStatus = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 }, new JoinMetadata { Description = "Input 2 Video Sync Status", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Input 3 Video Sync Status + /// [JoinName("Input3VideoSyncStatus")] public JoinDataComplete Input3VideoSyncStatus = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 }, new JoinMetadata { Description = "Input 3 Video Sync Status", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DM TX Current Input Resolution + /// [JoinName("CurrentInputResolution")] public JoinDataComplete CurrentInputResolution = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "DM TX Current Input Resolution", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); - + + /// + /// DM TX Name + /// [JoinName("Name")] public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "DM TX Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); - + + /// + /// DM TX Video Input Set / Get + /// [JoinName("VideoInput")] public JoinDataComplete VideoInput = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "DM TX Video Input Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// DM TX Audio Input Set / Get + /// [JoinName("AudioInput")] public JoinDataComplete AudioInput = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "DM TX Audio Input Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// DM TX HDCP Support Capability + /// [JoinName("HdcpSupportCapability")] public JoinDataComplete HdcpSupportCapability = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 }, new JoinMetadata { Description = "DM TX HDCP Support Capability", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// DM TX Port 1 HDCP State Set / Get + /// [JoinName("Port1HdcpState")] public JoinDataComplete Port1HdcpState = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 }, new JoinMetadata { Description = "DM TX Port 1 HDCP State Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// DM TX Port 2 HDCP State Set / Get + /// [JoinName("Port2HdcpState")] public JoinDataComplete Port2HdcpState = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 }, new JoinMetadata { Description = "DM TX Port 2 HDCP State Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// DM TX VGA Brightness + /// [JoinName("VgaBrightness")] public JoinDataComplete VgaBrightness = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 }, new JoinMetadata { Description = "DM TX VGA Brightness", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// DM TX VGA Contrast + /// [JoinName("VgaContrast")] public JoinDataComplete VgaContrast = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 }, new JoinMetadata { Description = "DM TX Online", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// DM TX Port 3 HDCP State Set / Get + /// [JoinName("Port3HdcpState")] public JoinDataComplete Port3HdcpState = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 }, new JoinMetadata { Description = "DM TX Port 3 HDCP State Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// DM TX Number of Input Ports that support HDCP + /// [JoinName("HdcpInputPortCount")] public JoinDataComplete HdcpInputPortCount = new JoinDataComplete(new JoinData { JoinNumber = 9, JoinSpan = 1 }, new JoinMetadata { Description = "Number of Input Ports that support HDCP", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog }); diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmpsAudioOutputControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmpsAudioOutputControllerJoinMap.cs index 7ab0900d..ca1d60b4 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmpsAudioOutputControllerJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmpsAudioOutputControllerJoinMap.cs @@ -8,150 +8,261 @@ namespace PepperDash.Essentials.Core.Bridges public class DmpsAudioOutputControllerJoinMap : JoinMapBaseAdvanced { + /// + /// Master Volume Level Signed dB Set / Get + /// [JoinName("MasterVolumeLevel")] public JoinDataComplete MasterVolumeLevel = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Master Volume Signed dB Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// Master Volume 16bit Scaled Set / Get + /// [JoinName("MasterVolumeLevelScaled")] public JoinDataComplete MasterVolumeLevelScaled = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "Master Volume 16bit Scaled Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// Mixer Preset Recall Set + /// [JoinName("MixerPresetRecall")] public JoinDataComplete MixerPresetRecall = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 }, new JoinMetadata { Description = "Mixer Preset Recall Set", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// Mixer Eq Preset Recall Set + /// [JoinName("MixerEqPresetRecall")] public JoinDataComplete MixerEqPresetRecall = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 }, new JoinMetadata { Description = "Mixer Eq Preset Recall Set", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// Master Volume Mute On Set / Get + /// [JoinName("MasterVolumeMuteOn")] public JoinDataComplete MasterVolumeMuteOn = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Master Volume Mute On Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Master Volume Mute Off Set / Get + /// [JoinName("MasterVolumeMuteOff")] public JoinDataComplete MasterVolumeMuteOff = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "Master Volume Mute Off Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Master Volume Level Up + /// [JoinName("MasterVolumeUp")] public JoinDataComplete MasterVolumeUp = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 }, new JoinMetadata { Description = "Master Volume Level Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Master Volume Level Down + /// [JoinName("MasterVolumeDown")] public JoinDataComplete MasterVolumeDown = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 }, new JoinMetadata { Description = "Master Volume Level Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Master Volume Scaled Send Enable/Disable + /// [JoinName("MasterVolumeLevelScaledSend")] public JoinDataComplete MasterVolumeLevelScaledSend = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 }, new JoinMetadata { Description = "Master Volume Scaled Send Enable/Disable", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Source Volume Signed dB Set / Get + /// [JoinName("SourceVolumeLevel")] public JoinDataComplete SourceVolumeLevel = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 }, new JoinMetadata { Description = "Source Volume Signed dB Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// Source Volume 16bit Scaled Set / Get + /// [JoinName("SourceVolumeLevelScaled")] public JoinDataComplete SourceVolumeLevelScaled = new JoinDataComplete(new JoinData { JoinNumber = 12, JoinSpan = 1 }, new JoinMetadata { Description = "Source Volume 16bit Scaled Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// Source Volume Mute On Set / Get + /// [JoinName("SourceVolumeMuteOn")] public JoinDataComplete SourceVolumeMuteOn = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 }, new JoinMetadata { Description = "Source Volume Mute On Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Source Volume Mute Off Set / Get + /// [JoinName("SourceVolumeMuteOff")] public JoinDataComplete SourceVolumeMuteOff = new JoinDataComplete(new JoinData { JoinNumber = 12, JoinSpan = 1 }, new JoinMetadata { Description = "Source Volume Mute Off Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Source Volume Level Up + /// [JoinName("SourceVolumeUp")] public JoinDataComplete SourceVolumeUp = new JoinDataComplete(new JoinData { JoinNumber = 13, JoinSpan = 1 }, new JoinMetadata { Description = "Source Volume Level Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Source Volume Level Down + /// [JoinName("SourceVolumeDown")] public JoinDataComplete SourceVolumeDown = new JoinDataComplete(new JoinData { JoinNumber = 14, JoinSpan = 1 }, new JoinMetadata { Description = "Source Volume Level Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Source Volume Scaled Send Enable/Disable + /// [JoinName("SourceVolumeLevelScaledSend")] public JoinDataComplete SourceVolumeLevelScaledSend = new JoinDataComplete(new JoinData { JoinNumber = 15, JoinSpan = 1 }, new JoinMetadata { Description = "Source Volume Scaled Send Enable/Disable", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Codec1 Volume Signed dB Set / Get + /// [JoinName("Codec1VolumeLevel")] public JoinDataComplete Codec1VolumeLevel = new JoinDataComplete(new JoinData { JoinNumber = 21, JoinSpan = 1 }, new JoinMetadata { Description = "Codec1 Volume Signed dB Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// Codec1 Volume 16bit Scaled Set / Get + /// [JoinName("Codec1VolumeLevelScaled")] public JoinDataComplete Codec1VolumeLevelScaled = new JoinDataComplete(new JoinData { JoinNumber = 22, JoinSpan = 1 }, new JoinMetadata { Description = "Codec1 Volume 16bit Scaled Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// Codec1 Volume Mute On Set / Get + /// [JoinName("Codec1VolumeMuteOn")] public JoinDataComplete Codec1VolumeMuteOn = new JoinDataComplete(new JoinData { JoinNumber = 21, JoinSpan = 1 }, new JoinMetadata { Description = "Codec1 Volume Mute On Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Codec1 Volume Mute Off Set / Get + /// [JoinName("Codec1VolumeMuteOff")] public JoinDataComplete Codec1VolumeMuteOff = new JoinDataComplete(new JoinData { JoinNumber = 22, JoinSpan = 1 }, new JoinMetadata { Description = "Codec1 Volume Mute Off Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Codec1 Volume Level Up + /// [JoinName("Codec1VolumeUp")] public JoinDataComplete Codec1VolumeUp = new JoinDataComplete(new JoinData { JoinNumber = 23, JoinSpan = 1 }, new JoinMetadata { Description = "Codec1 Volume Level Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Codec1 Volume Level Down + /// [JoinName("Codec1VolumeDown")] public JoinDataComplete Codec1VolumeDown = new JoinDataComplete(new JoinData { JoinNumber = 24, JoinSpan = 1 }, new JoinMetadata { Description = "Codec1 Volume Level Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Codec1 Volume Scaled Send Enable/Disable + /// [JoinName("Codec1VolumeLevelScaledSend")] public JoinDataComplete Codec1VolumeLevelScaledSend = new JoinDataComplete(new JoinData { JoinNumber = 25, JoinSpan = 1 }, new JoinMetadata { Description = "Codec1 Volume Scaled Send Enable/Disable", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Codec2 Volume Signed dB Set / Get + /// [JoinName("Codec2VolumeLevel")] public JoinDataComplete Codec2VolumeLevel = new JoinDataComplete(new JoinData { JoinNumber = 31, JoinSpan = 1 }, new JoinMetadata { Description = "Codec2 Volume Signed dB Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// Codec2 Volume 16bit Scaled Set / Get + /// [JoinName("Codec2VolumeLevelScaled")] public JoinDataComplete Codec2VolumeLevelScaled = new JoinDataComplete(new JoinData { JoinNumber = 32, JoinSpan = 1 }, new JoinMetadata { Description = "Codec2 Volume 16bit Scaled Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// Codec2 Volume Mute On Set / Get + /// [JoinName("Codec2VolumeMuteOn")] public JoinDataComplete Codec2VolumeMuteOn = new JoinDataComplete(new JoinData { JoinNumber = 31, JoinSpan = 1 }, new JoinMetadata { Description = "Codec2 Volume Mute On Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Codec2 Volume Mute Off Set / Get + /// [JoinName("Codec2VolumeMuteOff")] public JoinDataComplete Codec2VolumeMuteOff = new JoinDataComplete(new JoinData { JoinNumber = 32, JoinSpan = 1 }, new JoinMetadata { Description = "Codec2 Volume Mute Off Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Codec2 Volume Level Up + /// [JoinName("Codec2VolumeUp")] public JoinDataComplete Codec2VolumeUp = new JoinDataComplete(new JoinData { JoinNumber = 33, JoinSpan = 1 }, new JoinMetadata { Description = "Codec2 Volume Level Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Codec2 Volume Level Down + /// [JoinName("Codec2VolumeDown")] public JoinDataComplete Codec2VolumeDown = new JoinDataComplete(new JoinData { JoinNumber = 34, JoinSpan = 1 }, new JoinMetadata { Description = "Codec2 Volume Level Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Codec2 Volume Scaled Send Enable/Disable + /// [JoinName("Codec2VolumeLevelScaledSend")] public JoinDataComplete Codec2VolumeLevelScaledSend = new JoinDataComplete(new JoinData { JoinNumber = 35, JoinSpan = 1 }, new JoinMetadata { Description = "Codec2 Volume Scaled Send Enable/Disable", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// MicsMaster Volume Signed dB Set / Get + /// [JoinName("MicsMasterVolumeLevel")] public JoinDataComplete MicsMasterVolumeLevel = new JoinDataComplete(new JoinData { JoinNumber = 41, JoinSpan = 1 }, new JoinMetadata { Description = "MicsMaster Volume Signed dB Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// MicsMaster Volume 16bit Scaled Set / Get + /// [JoinName("MicsMasterVolumeLevelScaled")] public JoinDataComplete MicsMasterVolumeLevelScaled = new JoinDataComplete(new JoinData { JoinNumber = 42, JoinSpan = 1 }, new JoinMetadata { Description = "MicsMaster Volume 16bit Scaled Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// MicsMaster Volume Mute On Set / Get + /// [JoinName("MicsMasterVolumeMuteOn")] public JoinDataComplete MicsMasterVolumeMuteOn = new JoinDataComplete(new JoinData { JoinNumber = 41, JoinSpan = 1 }, new JoinMetadata { Description = "MicsMaster Volume Mute On Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// MicsMaster Volume Mute Off Set / Get + /// [JoinName("MicsMasterVolumeMuteOff")] public JoinDataComplete MicsMasterVolumeMuteOff = new JoinDataComplete(new JoinData { JoinNumber = 42, JoinSpan = 1 }, new JoinMetadata { Description = "MicsMaster Volume Mute Off Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// MicsMaster Volume Level Up + /// [JoinName("MicsMasterVolumeUp")] public JoinDataComplete MicsMasterVolumeUp = new JoinDataComplete(new JoinData { JoinNumber = 43, JoinSpan = 1 }, new JoinMetadata { Description = "MicsMaster Volume Level Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// MicsMaster Volume Level Down + /// [JoinName("MicsMasterVolumeDown")] public JoinDataComplete MicsMasterVolumeDown = new JoinDataComplete(new JoinData { JoinNumber = 44, JoinSpan = 1 }, new JoinMetadata { Description = "MicsMaster Volume Level Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// MicsMaster Volume Scaled Send Enable/Disable + /// [JoinName("MicsMasterVolumeLevelScaledSend")] public JoinDataComplete MicsMasterVolumeLevelScaledSend = new JoinDataComplete(new JoinData { JoinNumber = 45, JoinSpan = 1 }, new JoinMetadata { Description = "Mics Master Volume Scaled Send Enable/Disable", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmpsMicrophoneControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmpsMicrophoneControllerJoinMap.cs index 91f642bb..3fba12e5 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmpsMicrophoneControllerJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmpsMicrophoneControllerJoinMap.cs @@ -7,26 +7,45 @@ namespace PepperDash.Essentials.Core.Bridges /// public class DmpsMicrophoneControllerJoinMap : JoinMapBaseAdvanced { + + /// + /// Mic Gain dB Set / Get + /// [JoinName("MicGain")] public JoinDataComplete MicGain = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Mic Gain dB Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// Mic Gain 16bit Scaled Set / Get + /// [JoinName("MicGainScaled")] public JoinDataComplete MicGainScaled = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "Mic Gain 16bit Scaled Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// Mic Mute On Set / Get + /// [JoinName("MicMuteOn")] public JoinDataComplete MicMuteOn = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Mic Mute On Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Mic Mute Off Set / Get + /// [JoinName("MicMuteOff")] public JoinDataComplete MicMuteOff = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "Mic Mute Off Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Mic Gain Scaled Send Enable/Disable + /// [JoinName("MicGainScaledSend")] public JoinDataComplete MicGainScaledSend = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 }, new JoinMetadata { Description = "Mic Gain Scaled Send Enable/Disable", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Mic Name Get + /// [JoinName("MicName")] public JoinDataComplete MicName = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Mic Name Get", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmpsRoutingControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmpsRoutingControllerJoinMap.cs index 71ce39a6..8e9a3e97 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmpsRoutingControllerJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmpsRoutingControllerJoinMap.cs @@ -7,64 +7,106 @@ namespace PepperDash.Essentials.Core.Bridges /// public class DmpsRoutingControllerJoinMap : JoinMapBaseAdvanced { + /// + /// DMPS Enable Audio and Video Routing + /// [JoinName("EnableRouting")] public JoinDataComplete EnableRouting = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "DMPS Enable Audio and Video Routing", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DMPS Disable Audio and Video Routing + /// [JoinName("SystemPowerOn")] public JoinDataComplete SystemPowerOn = new JoinDataComplete(new JoinData { JoinNumber = 12, JoinSpan = 1 }, new JoinMetadata { Description = "DMPS System Power On Get/Set", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DMPS Disable Audio and Video Routing + /// [JoinName("SystemPowerOff")] public JoinDataComplete SystemPowerOff = new JoinDataComplete(new JoinData { JoinNumber = 13, JoinSpan = 1 }, new JoinMetadata { Description = "DMPS System Power Off Get/Set", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DMPS Front Panel Lock On Get/Set + /// [JoinName("FrontPanelLockOn")] public JoinDataComplete FrontPanelLockOn = new JoinDataComplete(new JoinData { JoinNumber = 14, JoinSpan = 1 }, new JoinMetadata { Description = "DMPS Front Panel Lock On Get/Set", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DMPS Front Panel Lock Off Get/Set + /// [JoinName("FrontPanelLockOff")] public JoinDataComplete FrontPanelLockOff = new JoinDataComplete(new JoinData { JoinNumber = 15, JoinSpan = 1 }, new JoinMetadata { Description = "DMPS Front Panel Lock Off Get/Set", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DM Input Video Sync + /// [JoinName("VideoSyncStatus")] public JoinDataComplete VideoSyncStatus = new JoinDataComplete(new JoinData { JoinNumber = 101, JoinSpan = 32 }, new JoinMetadata { Description = "DM Input Video Sync", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DM Chassis Input Endpoint Online + /// [JoinName("InputEndpointOnline")] public JoinDataComplete InputEndpointOnline = new JoinDataComplete(new JoinData { JoinNumber = 501, JoinSpan = 32 }, new JoinMetadata { Description = "DM Chassis Input Endpoint Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DM Chassis Output Endpoint Online + /// [JoinName("OutputEndpointOnline")] public JoinDataComplete OutputEndpointOnline = new JoinDataComplete(new JoinData { JoinNumber = 701, JoinSpan = 32 }, new JoinMetadata { Description = "DM Chassis Output Endpoint Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DM Chassis Input Video Set / Get + /// [JoinName("OutputVideo")] public JoinDataComplete OutputVideo = new JoinDataComplete(new JoinData { JoinNumber = 101, JoinSpan = 32 }, new JoinMetadata { Description = "DM Chassis Output Video Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// DM Chassis Input Audio Set / Get + /// [JoinName("OutputAudio")] public JoinDataComplete OutputAudio = new JoinDataComplete(new JoinData { JoinNumber = 301, JoinSpan = 32 }, new JoinMetadata { Description = "DM Chassis Output Audio Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// DM Chassis Input Name + /// [JoinName("InputNames")] public JoinDataComplete InputNames = new JoinDataComplete(new JoinData { JoinNumber = 101, JoinSpan = 32 }, new JoinMetadata { Description = "DM Chassis Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); - + + /// + /// DM Chassis Output Name + /// [JoinName("OutputNames")] public JoinDataComplete OutputNames = new JoinDataComplete(new JoinData { JoinNumber = 301, JoinSpan = 32 }, new JoinMetadata { Description = "DM Chassis Output Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); - + + /// + /// DM Chassis Video Input Name + /// [JoinName("InputVideoNames")] public JoinDataComplete InputVideoNames = new JoinDataComplete(new JoinData { JoinNumber = 501, JoinSpan = 32 }, new JoinMetadata { - Description = "Video Input Name", + Description = "DM Chassis Video Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); - + + /// + /// DM Chassis Audio Input Name + /// [JoinName("InputAudioNames")] public JoinDataComplete InputAudioNames = new JoinDataComplete(new JoinData { JoinNumber = 701, JoinSpan = 32 }, @@ -74,6 +116,10 @@ namespace PepperDash.Essentials.Core.Bridges JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + + /// + /// DM Chassis Video Output Name + /// [JoinName("OutputVideoNames")] public JoinDataComplete OutputVideoNames = new JoinDataComplete(new JoinData { JoinNumber = 901, JoinSpan = 32 }, @@ -83,6 +129,10 @@ namespace PepperDash.Essentials.Core.Bridges JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + + /// + /// DM Chassis Audio Output Name + /// [JoinName("OutputAudioNames")] public JoinDataComplete OutputAudioNames = new JoinDataComplete(new JoinData { JoinNumber = 1101, JoinSpan = 32 }, @@ -92,15 +142,24 @@ namespace PepperDash.Essentials.Core.Bridges JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); - + + /// + /// DM Chassis Video Output Currently Routed Video Input Name + /// [JoinName("OutputCurrentVideoInputNames")] public JoinDataComplete OutputCurrentVideoInputNames = new JoinDataComplete(new JoinData { JoinNumber = 2001, JoinSpan = 32 }, new JoinMetadata { Description = "DM Chassis Video Output Currently Routed Video Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); - + + /// + /// DM Chassis Audio Output Currently Routed Video Input Name + /// [JoinName("OutputCurrentAudioInputNames")] public JoinDataComplete OutputCurrentAudioInputNames = new JoinDataComplete(new JoinData { JoinNumber = 2201, JoinSpan = 32 }, new JoinMetadata { Description = "DM Chassis Audio Output Currently Routed Video Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); - + + /// + /// DM Chassis Input Current Resolution + /// [JoinName("InputCurrentResolution")] public JoinDataComplete InputCurrentResolution = new JoinDataComplete(new JoinData { JoinNumber = 2401, JoinSpan = 32 }, new JoinMetadata { Description = "DM Chassis Input Current Resolution", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/GenericIrControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/GenericIrControllerJoinMap.cs index 388e6ac1..57977737 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/GenericIrControllerJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/GenericIrControllerJoinMap.cs @@ -2,8 +2,14 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps { + /// + /// Represents a GenericIrControllerJoinMap + /// public sealed class GenericIrControllerJoinMap : JoinMapBaseAdvanced { + /// + /// PLAY + /// [JoinName("PLAY")] public JoinDataComplete Play = new JoinDataComplete( new JoinData @@ -17,7 +23,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// STOP + /// [JoinName("STOP")] public JoinDataComplete Stop = new JoinDataComplete( new JoinData @@ -31,7 +40,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// PAUSE + /// [JoinName("PAUSE")] public JoinDataComplete Pause = new JoinDataComplete( new JoinData @@ -46,6 +58,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// FSCAN + /// [JoinName("FSCAN")] public JoinDataComplete ForwardScan = new JoinDataComplete( new JoinData @@ -60,6 +75,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// RSCAN + /// [JoinName("RSCAN")] public JoinDataComplete ReverseScan = new JoinDataComplete( new JoinData @@ -73,7 +91,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// F_SKIP + /// [JoinName("F_SKIP")] public JoinDataComplete ForwardSkip = new JoinDataComplete( new JoinData @@ -88,6 +109,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// R_SKIP + /// [JoinName("R_SKIP")] public JoinDataComplete ReverseSkip = new JoinDataComplete( new JoinData @@ -101,7 +125,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// RECORD + /// [JoinName("RECORD")] public JoinDataComplete Record = new JoinDataComplete( new JoinData @@ -116,6 +143,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// POWER + /// [JoinName("POWER")] public JoinDataComplete Power = new JoinDataComplete( new JoinData @@ -130,6 +160,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// 0 + /// [JoinName("0")] public JoinDataComplete Kp0 = new JoinDataComplete( new JoinData @@ -143,7 +176,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// 1 + /// [JoinName("1")] public JoinDataComplete Kp1 = new JoinDataComplete( new JoinData @@ -157,7 +193,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// 2 + /// [JoinName("2")] public JoinDataComplete Kp2 = new JoinDataComplete( new JoinData @@ -171,7 +210,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// 3 + /// [JoinName("3")] public JoinDataComplete Kp3 = new JoinDataComplete( new JoinData @@ -185,7 +227,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// 4 + /// [JoinName("4")] public JoinDataComplete Kp4 = new JoinDataComplete( new JoinData @@ -199,7 +244,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// 5 + /// [JoinName("5")] public JoinDataComplete Kp5 = new JoinDataComplete( new JoinData @@ -213,7 +261,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// 6 + /// [JoinName("6")] public JoinDataComplete Kp6 = new JoinDataComplete( new JoinData @@ -227,7 +278,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// 7 + /// [JoinName("7")] public JoinDataComplete Kp7 = new JoinDataComplete( new JoinData @@ -241,7 +295,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// 8 + /// [JoinName("8")] public JoinDataComplete Kp8 = new JoinDataComplete( new JoinData @@ -255,7 +312,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// 9 + /// [JoinName("9")] public JoinDataComplete Kp9 = new JoinDataComplete( new JoinData @@ -283,7 +343,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps // JoinCapabilities = eJoinCapabilities.FromSIMPL, // JoinType = eJoinType.Digital // }); - + + /// + /// ENTER + /// [JoinName("ENTER")] public JoinDataComplete Enter = new JoinDataComplete( new JoinData @@ -297,7 +360,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// CH+ + /// [JoinName("CH+")] public JoinDataComplete ChannelUp = new JoinDataComplete( new JoinData @@ -311,7 +377,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// CH- + /// [JoinName("CH-")] public JoinDataComplete ChannelDown = new JoinDataComplete( new JoinData @@ -325,7 +394,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// * + /// [JoinName("*")] public JoinDataComplete KpStar = new JoinDataComplete( new JoinData @@ -339,7 +411,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// # + /// [JoinName("#")] public JoinDataComplete KpPound = new JoinDataComplete( new JoinData @@ -368,6 +443,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps // JoinType = eJoinType.Digital // }); + /// + /// POWER_ON + /// [JoinName("POWER_ON")] public JoinDataComplete PowerOn = new JoinDataComplete( new JoinData @@ -381,7 +459,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// POWER_OFF + /// [JoinName("POWER_OFF")] public JoinDataComplete PowerOff = new JoinDataComplete( new JoinData @@ -395,7 +476,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// PLAY_PAUSE + /// [JoinName("PLAY_PAUSE")] public JoinDataComplete PlayPause = new JoinDataComplete( new JoinData @@ -409,7 +493,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// LAST + /// [JoinName("LAST")] public JoinDataComplete Last = new JoinDataComplete( new JoinData @@ -424,6 +511,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// HOME + /// [JoinName("HOME")] public JoinDataComplete Home = new JoinDataComplete( new JoinData @@ -438,6 +528,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// BACK + /// [JoinName("BACK")] public JoinDataComplete Back = new JoinDataComplete( new JoinData @@ -452,7 +545,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); - + /// + /// GUIDE + /// [JoinName("GUIDE")] public JoinDataComplete Guide = new JoinDataComplete( new JoinData @@ -466,7 +561,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// INFO + /// [JoinName("INFO")] public JoinDataComplete Info = new JoinDataComplete( new JoinData @@ -480,7 +578,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// MENU + /// [JoinName("MENU")] public JoinDataComplete Menu = new JoinDataComplete( new JoinData @@ -494,7 +595,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// UP_ARROW + /// [JoinName("UP_ARROW")] public JoinDataComplete DpadUp = new JoinDataComplete( new JoinData @@ -508,7 +612,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// DN_ARROW + /// [JoinName("DN_ARROW")] public JoinDataComplete DpadDown = new JoinDataComplete( new JoinData @@ -522,7 +629,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// LEFT_ARROW + /// [JoinName("LEFT_ARROW")] public JoinDataComplete DpadLeft = new JoinDataComplete( new JoinData @@ -536,7 +646,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// RIGHT_ARROW + /// [JoinName("RIGHT_ARROW")] public JoinDataComplete DpadRight = new JoinDataComplete( new JoinData @@ -550,7 +663,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// SELECT + /// [JoinName("SELECT")] public JoinDataComplete DpadSelect = new JoinDataComplete( new JoinData @@ -564,7 +680,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// OPTIONS + /// [JoinName("OPTIONS")] public JoinDataComplete Options = new JoinDataComplete( new JoinData @@ -578,7 +697,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// RETURN + /// [JoinName("RETURN")] public JoinDataComplete Return = new JoinDataComplete( new JoinData @@ -593,6 +715,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// DVR + /// [JoinName("DVR")] public JoinDataComplete Dvr = new JoinDataComplete( new JoinData @@ -607,7 +732,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); - + /// + /// ON_DEMAND + /// [JoinName("ON_DEMAND")] public JoinDataComplete OnDemand = new JoinDataComplete( new JoinData @@ -622,7 +749,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); - + /// + /// PAGE_UP + /// [JoinName("PAGE_UP")] public JoinDataComplete PageUp = new JoinDataComplete( new JoinData @@ -636,7 +765,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// PAGE_DOWN + /// [JoinName("PAGE_DOWN")] public JoinDataComplete PageDown = new JoinDataComplete( new JoinData @@ -650,7 +782,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// F_SRCH + /// [JoinName("F_SRCH")] public JoinDataComplete ForwardSearch = new JoinDataComplete( new JoinData @@ -664,7 +799,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// R_SRCH + /// [JoinName("R_SRCH")] public JoinDataComplete ReverseSearch = new JoinDataComplete( new JoinData @@ -678,7 +816,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// TRACK+ + /// [JoinName("TRACK+")] public JoinDataComplete TrackPlus = new JoinDataComplete( new JoinData @@ -692,7 +833,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// TRACK- + /// [JoinName("TRACK-")] public JoinDataComplete TrackMinus = new JoinDataComplete( new JoinData @@ -707,6 +851,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// A + /// [JoinName("A")] public JoinDataComplete KpA = new JoinDataComplete( new JoinData @@ -720,7 +867,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// B + /// [JoinName("B")] public JoinDataComplete KpB = new JoinDataComplete( new JoinData @@ -734,7 +884,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// C + /// [JoinName("C")] public JoinDataComplete KpC = new JoinDataComplete( new JoinData @@ -748,7 +901,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// D + /// [JoinName("D")] public JoinDataComplete KpD = new JoinDataComplete( new JoinData @@ -762,7 +918,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// RED + /// [JoinName("RED")] public JoinDataComplete KpRed = new JoinDataComplete( new JoinData @@ -776,7 +935,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// GREEN + /// [JoinName("GREEN")] public JoinDataComplete KpGreen = new JoinDataComplete( new JoinData @@ -790,7 +952,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// YELLOW + /// [JoinName("YELLOW")] public JoinDataComplete KpYellow = new JoinDataComplete( new JoinData @@ -804,7 +969,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// BLUE + /// [JoinName("BLUE")] public JoinDataComplete KpBlue = new JoinDataComplete( new JoinData @@ -819,6 +987,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Constructor + /// + /// Join this join map will start at public GenericIrControllerJoinMap(uint joinStart) : base(joinStart, typeof(GenericIrControllerJoinMap)) { diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/GenericLightingJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/GenericLightingJoinMap.cs index e98fdaf3..2b684d9f 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/GenericLightingJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/GenericLightingJoinMap.cs @@ -9,22 +9,37 @@ namespace PepperDash.Essentials.Core.Bridges public class GenericLightingJoinMap : JoinMapBaseAdvanced { + /// + /// Lighting Controller Online + /// [JoinName("IsOnline")] public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Lighting Controller Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Select Scene By Index + /// [JoinName("SelectScene")] public JoinDataComplete SelectScene = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Lighting Controller Select Scene By Index", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Select Scene Direct + /// [JoinName("SelectSceneDirect")] public JoinDataComplete SelectSceneDirect = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 10 }, new JoinMetadata { Description = "Lighting Controller Select Scene", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.DigitalSerial }); - + + /// + /// Button Visibility + /// [JoinName("ButtonVisibility")] public JoinDataComplete ButtonVisibility = new JoinDataComplete(new JoinData { JoinNumber = 41, JoinSpan = 10 }, new JoinMetadata { Description = "Lighting Controller Button Visibility", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Set Integration Id + /// [JoinName("IntegrationIdSet")] public JoinDataComplete IntegrationIdSet = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Lighting Controller Set Integration Id", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Serial }); diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/GenericRelayControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/GenericRelayControllerJoinMap.cs index 65e49843..470dc4e1 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/GenericRelayControllerJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/GenericRelayControllerJoinMap.cs @@ -8,6 +8,9 @@ namespace PepperDash.Essentials.Core.Bridges public class GenericRelayControllerJoinMap : JoinMapBaseAdvanced { + /// + /// Device Relay State Set / Get + /// [JoinName("Relay")] public JoinDataComplete Relay = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Device Relay State Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/GlsOccupancySensorBaseJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/GlsOccupancySensorBaseJoinMap.cs index ca223921..23341e7e 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/GlsOccupancySensorBaseJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/GlsOccupancySensorBaseJoinMap.cs @@ -7,158 +7,275 @@ namespace PepperDash.Essentials.Core.Bridges /// public class GlsOccupancySensorBaseJoinMap : JoinMapBaseAdvanced { + /// + /// Occ Sensor Is Online + /// [JoinName("IsOnline")] public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Is Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Set to Occupied + /// [JoinName("ForceOccupied")] public JoinDataComplete ForceOccupied = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Set to Occupied", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Set to Vacant + /// [JoinName("ForceVacant")] public JoinDataComplete ForceVacant = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Set to Vacant", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Enable Raw + /// [JoinName("EnableRawStates")] public JoinDataComplete EnableRawStates = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Enable Raw", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Disable Raw + /// [JoinName("RoomOccupiedFeedback")] public JoinDataComplete RoomOccupiedFeedback = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Room Is Occupied", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Grace Occupancy Detected + /// [JoinName("GraceOccupancyDetectedFeedback")] public JoinDataComplete GraceOccupancyDetectedFeedback = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Grace Occupancy Detected", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Room Is Vacant + /// [JoinName("RoomVacantFeedback")] public JoinDataComplete RoomVacantFeedback = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Room Is Vacant", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Raw Occupancy Detected + /// [JoinName("RawOccupancyFeedback")] public JoinDataComplete RawOccupancyFeedback = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Raw Occupancy Detected", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Raw PIR Occupancy Detected + /// [JoinName("RawOccupancyPirFeedback")] public JoinDataComplete RawOccupancyPirFeedback = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Raw PIR Occupancy Detected", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Raw US Occupancy Detected + /// [JoinName("RawOccupancyUsFeedback")] public JoinDataComplete RawOccupancyUsFeedback = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Raw US Occupancy Detected", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Enable LED Flash + /// [JoinName("EnableLedFlash")] public JoinDataComplete EnableLedFlash = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Enable LED Flash", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Disable LED Flash + /// [JoinName("DisableLedFlash")] public JoinDataComplete DisableLedFlash = new JoinDataComplete(new JoinData { JoinNumber = 12, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Disable LED Flash", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Enable Short Timeout + /// [JoinName("EnableShortTimeout")] public JoinDataComplete EnableShortTimeout = new JoinDataComplete(new JoinData { JoinNumber = 13, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Enable Short Timeout", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Disable Short Timeout + /// [JoinName("DisableShortTimeout")] public JoinDataComplete DisableShortTimeout = new JoinDataComplete(new JoinData { JoinNumber = 14, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Disable Short Timeout", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Set To Vacant when Either Sensor is Vacant + /// [JoinName("OrWhenVacated")] public JoinDataComplete OrWhenVacated = new JoinDataComplete(new JoinData { JoinNumber = 15, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Set To Vacant when Either Sensor is Vacant", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Set To Vacant when Both Sensors are Vacant + /// [JoinName("AndWhenVacated")] public JoinDataComplete AndWhenVacated = new JoinDataComplete(new JoinData { JoinNumber = 16, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Set To Vacant when Both Sensors are Vacant", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Enable Ultrasonic Sensor A + /// [JoinName("EnableUsA")] public JoinDataComplete EnableUsA = new JoinDataComplete(new JoinData { JoinNumber = 17, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Enable Ultrasonic Sensor A", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Disable Ultrasonic Sensor A + /// [JoinName("DisableUsA")] public JoinDataComplete DisableUsA = new JoinDataComplete(new JoinData { JoinNumber = 18, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Disable Ultrasonic Sensor A", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Enable Ultrasonic Sensor B + /// [JoinName("EnableUsB")] public JoinDataComplete EnableUsB = new JoinDataComplete(new JoinData { JoinNumber = 19, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Enable Ultrasonic Sensor B", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Disable Ultrasonic Sensor B + /// [JoinName("DisableUsB")] public JoinDataComplete DisableUsB = new JoinDataComplete(new JoinData { JoinNumber = 20, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Disable Ultrasonic Sensor B", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Enable IR Sensor + /// [JoinName("EnablePir")] public JoinDataComplete EnablePir = new JoinDataComplete(new JoinData { JoinNumber = 21, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Enable IR Sensor", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Disable IR Sensor + /// [JoinName("DisablePir")] public JoinDataComplete DisablePir = new JoinDataComplete(new JoinData { JoinNumber = 22, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Disable IR Sensor", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Increment US Occupied State Sensitivity + /// [JoinName("IncrementUsInOccupiedState")] public JoinDataComplete IncrementUsInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 23, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Increment US Occupied State Sensitivity", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Decrement US Occupied State Sensitivity + /// [JoinName("DecrementUsInOccupiedState")] public JoinDataComplete DecrementUsInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 24, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Decrement US Occupied State Sensitivity", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Increment US Vacant State Sensitivity + /// [JoinName("IncrementUsInVacantState")] public JoinDataComplete IncrementUsInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 25, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Increment US Vacant State Sensitivity", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Decrement US Vacant State Sensitivity + /// [JoinName("DecrementUsInVacantState")] public JoinDataComplete DecrementUsInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 26, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Decrement US Vacant State Sensitivity", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Increment IR Occupied State Sensitivity + /// [JoinName("IncrementPirInOccupiedState")] public JoinDataComplete IncrementPirInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 27, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Increment IR Occupied State Sensitivity", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Decrement IR Occupied State Sensitivity + /// [JoinName("DecrementPirInOccupiedState")] public JoinDataComplete DecrementPirInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 28, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Decrement IR Occupied State Sensitivity", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Increment IR Vacant State Sensitivity + /// [JoinName("IncrementPirInVacantState")] public JoinDataComplete IncrementPirInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 29, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Increment IR Vacant State Sensitivity", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Decrement IR Vacant State Sensitivity + /// [JoinName("DecrementPirInVacantState")] public JoinDataComplete DecrementPirInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 30, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Decrement IR Vacant State Sensitivity", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + + /// + /// Occ Sensor Timeout Value + /// [JoinName("Timeout")] public JoinDataComplete Timeout = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Timeout Value", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// Occ Sensor Local Timeout Value + /// [JoinName("TimeoutLocalFeedback")] public JoinDataComplete TimeoutLocalFeedback = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Local Timeout Value", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// Occ Sensor Internal PhotoSensor Value + /// [JoinName("InternalPhotoSensorValue")] public JoinDataComplete InternalPhotoSensorValue = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Internal PhotoSensor Value", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// Occ Sensor External PhotoSensor Value + /// [JoinName("ExternalPhotoSensorValue")] public JoinDataComplete ExternalPhotoSensorValue = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor External PhotoSensor Value", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// Occ Sensor Ultrasonic Sensitivity in Occupied State + /// [JoinName("UsSensitivityInOccupiedState")] public JoinDataComplete UsSensitivityInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Ultrasonic Sensitivity in Occupied State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// Occ Sensor Ultrasonic Sensitivity in Vacant State + /// [JoinName("UsSensitivityInVacantState")] public JoinDataComplete UsSensitivityInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Ultrasonic Sensitivity in Vacant State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// Occ Sensor PIR Sensitivity in Occupied State + /// [JoinName("PirSensitivityInOccupiedState")] public JoinDataComplete PirSensitivityInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor PIR Sensitivity in Occupied State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// Occ Sensor PIR Sensitivity in Vacant State + /// [JoinName("PirSensitivityInVacantState")] public JoinDataComplete PirSensitivityInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor PIR Sensitivity in Vacant State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog }); - + + /// + /// Occ Sensor Name + /// [JoinName("Name")] public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Occ Sensor Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/GlsPartitionSensorJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/GlsPartitionSensorJoinMap.cs index 466d0fed..98c491dd 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/GlsPartitionSensorJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/GlsPartitionSensorJoinMap.cs @@ -11,6 +11,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps #region Digital + /// + /// Sensor Is Online + /// [JoinName("IsOnline")] public JoinDataComplete IsOnline = new JoinDataComplete( new JoinData @@ -25,7 +28,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); - + /// + /// Sensor Enable + /// [JoinName("Enable")] public JoinDataComplete Enable = new JoinDataComplete( new JoinData @@ -40,6 +45,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Sensor Partition Sensed + /// [JoinName("PartitionSensed")] public JoinDataComplete PartitionSensed = new JoinDataComplete( new JoinData @@ -54,6 +62,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Sensor Partition Not Sensed + /// [JoinName("PartitionNotSensed")] public JoinDataComplete PartitionNotSensed = new JoinDataComplete( new JoinData @@ -68,6 +79,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Sensor Increase Sensitivity + /// [JoinName("IncreaseSensitivity")] public JoinDataComplete IncreaseSensitivity = new JoinDataComplete( new JoinData @@ -82,6 +96,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Sensor Decrease Sensitivity + /// [JoinName("DecreaseSensitivity")] public JoinDataComplete DecreaseSensitivity = new JoinDataComplete( new JoinData @@ -100,6 +117,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps #region Analog + /// + /// Sensor Sensitivity + /// [JoinName("Sensitivity")] public JoinDataComplete Sensitivity = new JoinDataComplete( new JoinData @@ -119,6 +139,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps #region Serial + /// + /// Sensor Name + /// [JoinName("Name")] public JoinDataComplete Name = new JoinDataComplete( new JoinData diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/HdMdNxM4kEControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/HdMdNxM4kEControllerJoinMap.cs index cbc5d9ae..950e3f1e 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/HdMdNxM4kEControllerJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/HdMdNxM4kEControllerJoinMap.cs @@ -7,42 +7,72 @@ namespace PepperDash.Essentials.Core.Bridges /// public class HdMdNxM4kEControllerJoinMap : JoinMapBaseAdvanced { + /// + /// Device Name + /// [JoinName("Name")] public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Device Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Enable Automatic Routing on 4x1 Switchers + /// [JoinName("EnableAutoRoute")] public JoinDataComplete EnableAutoRoute = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Enable Automatic Routing on 4x1 Switchers", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Device Input Name + /// [JoinName("InputName")] public JoinDataComplete InputName = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 8 }, new JoinMetadata { Description = "Device Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Device Input Sync + /// [JoinName("InputSync")] public JoinDataComplete InputSync = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 8 }, new JoinMetadata { Description = "Device Input Sync", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Device Output Name + /// [JoinName("OutputName")] public JoinDataComplete OutputName = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 2 }, new JoinMetadata { Description = "Device Output Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Device Output Route Set/Get + /// [JoinName("OutputRoute")] public JoinDataComplete OutputRoute = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 2 }, new JoinMetadata { Description = "Device Output Route Set/Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); + /// + /// Device Output Route Name + /// [JoinName("OutputRoutedName")] public JoinDataComplete OutputRoutedName = new JoinDataComplete(new JoinData { JoinNumber = 16, JoinSpan = 2 }, new JoinMetadata { Description = "Device Output Route Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Device Enable Input Hdcp + /// [JoinName("EnableInputHdcp")] public JoinDataComplete EnableInputHdcp = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 8 }, new JoinMetadata { Description = "Device Enable Input Hdcp", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Device Disable Input Hdcp + /// [JoinName("DisableInputHdcp")] public JoinDataComplete DisableInputHdcp = new JoinDataComplete(new JoinData { JoinNumber = 21, JoinSpan = 8 }, new JoinMetadata { Description = "Device Disnable Input Hdcp", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Device Online Status + /// [JoinName("IsOnline")] public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 30, JoinSpan = 1 }, new JoinMetadata { Description = "Device Onlne", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/HdMdxxxCEControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/HdMdxxxCEControllerJoinMap.cs index ea1a9784..2730a0ea 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/HdMdxxxCEControllerJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/HdMdxxxCEControllerJoinMap.cs @@ -8,50 +8,85 @@ namespace PepperDash.Essentials.Core.Bridges public class HdMdxxxCEControllerJoinMap : JoinMapBaseAdvanced { + /// + /// Device Online + /// [JoinName("IsOnline")] public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Device Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Remote End Detected + /// [JoinName("RemoteEndDetected")] public JoinDataComplete RemoteEndDetected = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "Device Remote End Detected", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Auto Route On + /// [JoinName("AutoRouteOn")] public JoinDataComplete AutoRouteOn = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 }, new JoinMetadata { Description = "Device Auto Route On", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Auto Route Off + /// [JoinName("AutoRouteOff")] public JoinDataComplete AutoRouteOff = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 }, new JoinMetadata { Description = "Device Auto Route Off", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Priority Routing On + /// [JoinName("PriorityRoutingOn")] public JoinDataComplete PriorityRoutingOn = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 }, new JoinMetadata { Description = "Device Priority Routing On", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Priority Routing Off + /// [JoinName("PriorityRoutingOff")] public JoinDataComplete PriorityRoutingOff = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 }, new JoinMetadata { Description = "Device Priority Routing Off", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Input On Screen Display Enabled + /// [JoinName("InputOnScreenDisplayEnabled")] public JoinDataComplete InputOnScreenDisplayEnabled = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 }, new JoinMetadata { Description = "Device Input OSD Enabled", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Input On Screen Display Disabled + /// [JoinName("InputOnScreenDisplayDisabled")] public JoinDataComplete InputOnScreenDisplayDisabled = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 }, new JoinMetadata { Description = "Device Input OSD Disabled", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Sync Detected + /// [JoinName("SyncDetected")] public JoinDataComplete SyncDetected = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 5 }, new JoinMetadata { Description = "Device Sync Detected", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Video Source + /// [JoinName("VideoSource")] public JoinDataComplete VideoSource = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 5 }, new JoinMetadata { Description = "Device Video Source Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); + /// + /// Source Count + /// [JoinName("SourceCount")] public JoinDataComplete SourceCount = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 5 }, new JoinMetadata { Description = "Device Video Source Count", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog }); - + /// + /// Source Names + /// [JoinName("SourceNames")] public JoinDataComplete SourceNames = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 5 }, new JoinMetadata { Description = "Device Video Source Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/HdPsXxxControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/HdPsXxxControllerJoinMap.cs index c4cd5dcb..aee3c2f1 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/HdPsXxxControllerJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/HdPsXxxControllerJoinMap.cs @@ -11,6 +11,9 @@ namespace PepperDash.Essentials.Core.Bridges #region Digital + /// + /// Enable Automatic Routing on Xx1 Switchers + /// [JoinName("EnableAutoRoute")] public JoinDataComplete EnableAutoRoute = new JoinDataComplete( new JoinData @@ -25,7 +28,9 @@ namespace PepperDash.Essentials.Core.Bridges JoinType = eJoinType.Digital }); - + /// + /// Device Input Sync + /// [JoinName("InputSync")] public JoinDataComplete InputSync = new JoinDataComplete( new JoinData @@ -40,7 +45,9 @@ namespace PepperDash.Essentials.Core.Bridges JoinType = eJoinType.Digital }); - + /// + /// Device Enable Input Hdcp + /// [JoinName("EnableInputHdcp")] public JoinDataComplete EnableInputHdcp = new JoinDataComplete( new JoinData @@ -55,7 +62,9 @@ namespace PepperDash.Essentials.Core.Bridges JoinType = eJoinType.Digital }); - + /// + /// Device Disnable Input Hdcp + /// [JoinName("DisableInputHdcp")] public JoinDataComplete DisableInputHdcp = new JoinDataComplete( new JoinData @@ -70,7 +79,9 @@ namespace PepperDash.Essentials.Core.Bridges JoinType = eJoinType.Digital }); - + /// + /// Device Onlne + /// [JoinName("IsOnline")] public JoinDataComplete IsOnline = new JoinDataComplete( new JoinData @@ -90,6 +101,9 @@ namespace PepperDash.Essentials.Core.Bridges #region Analog + /// + /// Device Input Route Set/Get + /// [JoinName("OutputRoute")] public JoinDataComplete OutputRoute = new JoinDataComplete( new JoinData @@ -109,6 +123,9 @@ namespace PepperDash.Essentials.Core.Bridges #region Serial + /// + /// Device Name + /// [JoinName("Name")] public JoinDataComplete Name = new JoinDataComplete( new JoinData @@ -123,7 +140,9 @@ namespace PepperDash.Essentials.Core.Bridges JoinType = eJoinType.Serial }); - + /// + /// Device Input Name + /// [JoinName("InputName")] public JoinDataComplete InputName = new JoinDataComplete( new JoinData @@ -138,7 +157,9 @@ namespace PepperDash.Essentials.Core.Bridges JoinType = eJoinType.Serial }); - + /// + /// Device Output Name + /// [JoinName("OutputName")] public JoinDataComplete OutputName = new JoinDataComplete( new JoinData @@ -153,7 +174,9 @@ namespace PepperDash.Essentials.Core.Bridges JoinType = eJoinType.Serial }); - + /// + /// Device Output Route Name + /// [JoinName("OutputRoutedName")] public JoinDataComplete OutputRoutedName = new JoinDataComplete( new JoinData diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/Hrxxx0WirelessRemoteControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/Hrxxx0WirelessRemoteControllerJoinMap.cs index c93da2f7..5c4c858e 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/Hrxxx0WirelessRemoteControllerJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/Hrxxx0WirelessRemoteControllerJoinMap.cs @@ -7,222 +7,387 @@ namespace PepperDash.Essentials.Core.Bridges /// public class Hrxxx0WirelessRemoteControllerJoinMap : JoinMapBaseAdvanced { + /// + /// Power + /// [JoinName("Power")] public JoinDataComplete Power = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Power", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Menu + /// [JoinName("Menu")] public JoinDataComplete Menu = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "Menu", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Guide + /// [JoinName("Guide")] public JoinDataComplete Guide = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 }, new JoinMetadata { Description = "Guide", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Info + /// [JoinName("Info")] public JoinDataComplete Info = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 }, new JoinMetadata { Description = "Info", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// VolumeUp + /// [JoinName("VolumeUp")] public JoinDataComplete VolumeUp = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 }, new JoinMetadata { Description = "VolumeUp", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// VolumeDown + /// [JoinName("VolumeDown")] public JoinDataComplete VolumeDown = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 }, new JoinMetadata { Description = "VolumeDown", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// DialPadUp + /// [JoinName("DialPadUp")] public JoinDataComplete DialPadUp = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 }, new JoinMetadata { Description = "DialPadUp", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// DialPadDown + /// [JoinName("DialPadDown")] public JoinDataComplete DialPadDown = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 }, new JoinMetadata { Description = "DialPadDown", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// DialPadLeft + /// [JoinName("DialPadLeft")] public JoinDataComplete DialPadLeft = new JoinDataComplete(new JoinData { JoinNumber = 9, JoinSpan = 1 }, new JoinMetadata { Description = "DialPadLeft", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// DialPadRight + /// [JoinName("DialPadRight")] public JoinDataComplete DialPadRight = new JoinDataComplete(new JoinData { JoinNumber = 10, JoinSpan = 1 }, new JoinMetadata { Description = "DialPadRight", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// DialPadSelect + /// [JoinName("DialPadSelect")] public JoinDataComplete DialPadSelect = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 }, new JoinMetadata { Description = "DialPadSelect", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// ChannelUp + /// [JoinName("ChannelUp")] public JoinDataComplete ChannelUp = new JoinDataComplete(new JoinData { JoinNumber = 12, JoinSpan = 1 }, new JoinMetadata { Description = "ChannelUp", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// ChannelDown + /// [JoinName("ChannelDown")] public JoinDataComplete ChannelDown = new JoinDataComplete(new JoinData { JoinNumber = 13, JoinSpan = 1 }, new JoinMetadata { Description = "ChannelDown", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Mute + /// [JoinName("Mute")] public JoinDataComplete Mute = new JoinDataComplete(new JoinData { JoinNumber = 14, JoinSpan = 1 }, new JoinMetadata { Description = "Mute", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Exit + /// [JoinName("Exit")] public JoinDataComplete Exit = new JoinDataComplete(new JoinData { JoinNumber = 15, JoinSpan = 1 }, new JoinMetadata { Description = "Exit", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Last + /// [JoinName("Last")] public JoinDataComplete Last = new JoinDataComplete(new JoinData { JoinNumber = 16, JoinSpan = 1 }, new JoinMetadata { Description = "Last", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Play + /// [JoinName("Play")] public JoinDataComplete Play = new JoinDataComplete(new JoinData { JoinNumber = 17, JoinSpan = 1 }, new JoinMetadata { Description = "Play", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Pause + /// [JoinName("Pause")] public JoinDataComplete Pause = new JoinDataComplete(new JoinData { JoinNumber = 18, JoinSpan = 1 }, new JoinMetadata { Description = "Pause", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Rewind + /// [JoinName("Rewind")] public JoinDataComplete Rewind = new JoinDataComplete(new JoinData { JoinNumber = 19, JoinSpan = 1 }, new JoinMetadata { Description = "Rewind", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// FastForward + /// [JoinName("FastForward")] public JoinDataComplete FastForward = new JoinDataComplete(new JoinData { JoinNumber = 20, JoinSpan = 1 }, new JoinMetadata { Description = "FastForward", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// PreviousTrack + /// [JoinName("PreviousTrack")] public JoinDataComplete PreviousTrack = new JoinDataComplete(new JoinData { JoinNumber = 21, JoinSpan = 1 }, new JoinMetadata { Description = "PreviousTrack", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// NextTrack + /// [JoinName("NextTrack")] public JoinDataComplete NextTrack = new JoinDataComplete(new JoinData { JoinNumber = 22, JoinSpan = 1 }, new JoinMetadata { Description = "NextTrack", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Stop + /// [JoinName("Stop")] public JoinDataComplete Stop = new JoinDataComplete(new JoinData { JoinNumber = 23, JoinSpan = 1 }, new JoinMetadata { Description = "Stop", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Record + /// [JoinName("Record")] public JoinDataComplete Record = new JoinDataComplete(new JoinData { JoinNumber = 24, JoinSpan = 1 }, new JoinMetadata { Description = "Record", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Dvr + /// [JoinName("Dvr")] public JoinDataComplete Dvr = new JoinDataComplete(new JoinData { JoinNumber = 25, JoinSpan = 1 }, new JoinMetadata { Description = "Dvr", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Keypad1 + /// [JoinName("Keypad1")] public JoinDataComplete Keypad1 = new JoinDataComplete(new JoinData { JoinNumber = 26, JoinSpan = 1 }, new JoinMetadata { Description = "Keypad1", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Keypad2Abc + /// [JoinName("Keypad2Abc")] public JoinDataComplete Keypad2 = new JoinDataComplete(new JoinData { JoinNumber = 27, JoinSpan = 1 }, new JoinMetadata { Description = "Keypad2Abc", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Keypad3Def + /// [JoinName("Keypad3Def")] public JoinDataComplete Keypad3Def = new JoinDataComplete(new JoinData { JoinNumber = 28, JoinSpan = 1 }, new JoinMetadata { Description = "Keypad3Def", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Keypad4Ghi + /// [JoinName("Keypad4Ghi")] public JoinDataComplete Keypad4Ghi = new JoinDataComplete(new JoinData { JoinNumber = 29, JoinSpan = 1 }, new JoinMetadata { Description = "Keypad4Ghi", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Keypad5Jkl + /// [JoinName("Keypad5Jkl")] public JoinDataComplete Keypad5Jkl = new JoinDataComplete(new JoinData { JoinNumber = 30, JoinSpan = 1 }, new JoinMetadata { Description = "Keypad5Jkl", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Keypad6Mno + /// [JoinName("Keypad6Mno")] public JoinDataComplete Keypad6Mno = new JoinDataComplete(new JoinData { JoinNumber = 31, JoinSpan = 1 }, new JoinMetadata { Description = "Keypad6Mno", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Keypad7Pqrs + /// [JoinName("Keypad7Pqrs")] public JoinDataComplete Keypad7Pqrs = new JoinDataComplete(new JoinData { JoinNumber = 32, JoinSpan = 1 }, new JoinMetadata { Description = "Keypad7Pqrs", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Keypad8Tuv + /// [JoinName("Keypad8Tuv")] public JoinDataComplete Keypad8Tuv = new JoinDataComplete(new JoinData { JoinNumber = 33, JoinSpan = 1 }, new JoinMetadata { Description = "Keypad8Tuv", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Keypad9Wxyz + /// [JoinName("Keypad9Wxyz")] public JoinDataComplete Keypad9Wxyz = new JoinDataComplete(new JoinData { JoinNumber = 34, JoinSpan = 1 }, new JoinMetadata { Description = "Keypad9Wxyz", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Keypad0 + /// [JoinName("Keypad0")] public JoinDataComplete Keypad0 = new JoinDataComplete(new JoinData { JoinNumber = 35, JoinSpan = 1 }, new JoinMetadata { Description = "Keypad0", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Clear + /// [JoinName("Clear")] public JoinDataComplete Clear = new JoinDataComplete(new JoinData { JoinNumber = 36, JoinSpan = 1 }, new JoinMetadata { Description = "Clear", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Enter + /// [JoinName("Enter")] public JoinDataComplete Enter = new JoinDataComplete(new JoinData { JoinNumber = 37, JoinSpan = 1 }, new JoinMetadata { Description = "Enter", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Red + /// [JoinName("Red")] public JoinDataComplete Red = new JoinDataComplete(new JoinData { JoinNumber = 38, JoinSpan = 1 }, new JoinMetadata { Description = "Red", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Green + /// [JoinName("Green")] public JoinDataComplete Green = new JoinDataComplete(new JoinData { JoinNumber = 39, JoinSpan = 1 }, new JoinMetadata { Description = "Green", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Yellow + /// [JoinName("Yellow")] public JoinDataComplete Yellow = new JoinDataComplete(new JoinData { JoinNumber = 40, JoinSpan = 1 }, new JoinMetadata { Description = "Yellow", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Blue + /// [JoinName("Blue")] public JoinDataComplete Blue = new JoinDataComplete(new JoinData { JoinNumber = 41, JoinSpan = 1 }, new JoinMetadata { Description = "Blue", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Custom1 + /// [JoinName("Custom1")] public JoinDataComplete Custom1 = new JoinDataComplete(new JoinData { JoinNumber = 42, JoinSpan = 1 }, new JoinMetadata { Description = "Custom1", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Custom2 + /// [JoinName("Custom2")] public JoinDataComplete Custom2 = new JoinDataComplete(new JoinData { JoinNumber = 43, JoinSpan = 1 }, new JoinMetadata { Description = "Custom2", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Custom3 + /// [JoinName("Custom3")] public JoinDataComplete Custom3 = new JoinDataComplete(new JoinData { JoinNumber = 44, JoinSpan = 1 }, new JoinMetadata { Description = "Custom3", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Custom4 + /// [JoinName("Custom4")] public JoinDataComplete Custom4 = new JoinDataComplete(new JoinData { JoinNumber = 45, JoinSpan = 1 }, new JoinMetadata { Description = "Custom4", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Custom5 + /// [JoinName("Custom5")] public JoinDataComplete Custom5 = new JoinDataComplete(new JoinData { JoinNumber = 46, JoinSpan = 1 }, new JoinMetadata { Description = "Custom5", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Custom6 + /// [JoinName("Custom6")] public JoinDataComplete Custom6 = new JoinDataComplete(new JoinData { JoinNumber = 47, JoinSpan = 1 }, new JoinMetadata { Description = "Custom6", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Custom7 + /// [JoinName("Custom7")] public JoinDataComplete Custom7 = new JoinDataComplete(new JoinData { JoinNumber = 48, JoinSpan = 1 }, new JoinMetadata { Description = "Custom7", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Custom8 + /// [JoinName("Custom8")] public JoinDataComplete Custom8 = new JoinDataComplete(new JoinData { JoinNumber = 49, JoinSpan = 1 }, new JoinMetadata { Description = "Custom8", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Custom9 + /// [JoinName("Custom9")] public JoinDataComplete Custom9 = new JoinDataComplete(new JoinData { JoinNumber = 50, JoinSpan = 1 }, new JoinMetadata { Description = "Custom9", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Fav + /// [JoinName("Fav")] public JoinDataComplete Fav = new JoinDataComplete(new JoinData { JoinNumber = 51, JoinSpan = 1 }, new JoinMetadata { Description = "Fav", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Home + /// [JoinName("Home")] public JoinDataComplete Home = new JoinDataComplete(new JoinData { JoinNumber = 52, JoinSpan = 1 }, new JoinMetadata { Description = "Home", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// BatteryLow + /// [JoinName("BatteryLow")] public JoinDataComplete BatteryLow = new JoinDataComplete(new JoinData { JoinNumber = 53, JoinSpan = 1 }, new JoinMetadata { Description = "BatteryLow", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// BatteryCritical + /// [JoinName("BatteryCritical")] public JoinDataComplete BatteryCritical = new JoinDataComplete(new JoinData { JoinNumber = 54, JoinSpan = 1 }, new JoinMetadata { Description = "BatteryCritical", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// BatteryVoltage + /// [JoinName("BatteryVoltage")] public JoinDataComplete BatteryVoltage = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "BatteryVoltage", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog }); diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/IAnalogInputJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/IAnalogInputJoinMap.cs index dc4c29f1..59f90347 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/IAnalogInputJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/IAnalogInputJoinMap.cs @@ -8,9 +8,16 @@ namespace PepperDash.Essentials.Core.Bridges public class IAnalogInputJoinMap : JoinMapBaseAdvanced { + /// + /// Input Value + /// [JoinName("InputValue")] public JoinDataComplete InputValue = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Input Value", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog }); + + /// + /// Minimum Change + /// [JoinName("MinimumChange")] public JoinDataComplete MinimumChange = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "Minimum voltage change required to reflect a change", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/IBasicCommunicationJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/IBasicCommunicationJoinMap.cs index 303f9b1b..b4c473cb 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/IBasicCommunicationJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/IBasicCommunicationJoinMap.cs @@ -7,26 +7,44 @@ namespace PepperDash.Essentials.Core.Bridges /// public class IBasicCommunicationJoinMap : JoinMapBaseAdvanced { + /// + /// Text Received From Remote Device + /// [JoinName("TextReceived")] public JoinDataComplete TextReceived = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Text Received From Remote Device", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Text Sent To Remote Device + /// [JoinName("SendText")] public JoinDataComplete SendText = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Text Sent To Remote Device", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Serial }); + /// + /// Set Port Config + /// [JoinName("SetPortConfig")] public JoinDataComplete SetPortConfig = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "Set Port Config", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Serial }); + /// + /// Connect + /// [JoinName("Connect")] public JoinDataComplete Connect = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Connect", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Disconnect + /// [JoinName("Connected")] public JoinDataComplete Connected = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Connected", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Status + /// [JoinName("Status")] public JoinDataComplete Status = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Status", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog }); diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/IDigitalInputJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/IDigitalInputJoinMap.cs index 77405182..0f77fce3 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/IDigitalInputJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/IDigitalInputJoinMap.cs @@ -7,7 +7,9 @@ namespace PepperDash.Essentials.Core.Bridges /// public class IDigitalInputJoinMap : JoinMapBaseAdvanced { - + /// + /// Input State + /// [JoinName("InputState")] public JoinDataComplete InputState = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Input State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/IDigitalOutputJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/IDigitalOutputJoinMap.cs index 92d78772..05895acb 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/IDigitalOutputJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/IDigitalOutputJoinMap.cs @@ -7,7 +7,9 @@ namespace PepperDash.Essentials.Core.Bridges /// public class IDigitalOutputJoinMap : JoinMapBaseAdvanced { - + /// + /// Output State + /// [JoinName("OutputState")] public JoinDataComplete OutputState = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Get / Set state of Digital Input", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/IRBlurayBaseJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/IRBlurayBaseJoinMap.cs index 991489e9..3e66eda6 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/IRBlurayBaseJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/IRBlurayBaseJoinMap.cs @@ -11,191 +11,331 @@ namespace PepperDash.Essentials.Core.Bridges /// public class IRBlurayBaseJoinMap : JoinMapBaseAdvanced { + /// + /// Power On + /// [JoinName("PowerOn")] public JoinDataComplete PowerOn = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Power On", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Power Off + /// [JoinName("PowerOff")] public JoinDataComplete PowerOff = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "Power Off", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Power Toggle + /// [JoinName("PowerToggle")] public JoinDataComplete PowerToggle = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 }, new JoinMetadata { Description = "Power Toggle", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Nav Up + /// [JoinName("Up")] public JoinDataComplete Up = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 }, new JoinMetadata { Description = "Nav Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Nav Down + /// [JoinName("Down")] public JoinDataComplete Down = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 }, new JoinMetadata { Description = "Nav Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Nav Left + /// [JoinName("Left")] public JoinDataComplete Left = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 }, new JoinMetadata { Description = "Nav Left", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Nav Right + /// [JoinName("Right")] public JoinDataComplete Right = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 }, new JoinMetadata { Description = "Nav Right", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Select + /// [JoinName("Select")] public JoinDataComplete Select = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 }, new JoinMetadata { Description = "Select", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Menu + /// [JoinName("Menu")] public JoinDataComplete Menu = new JoinDataComplete(new JoinData { JoinNumber = 9, JoinSpan = 1 }, new JoinMetadata { Description = "Menu", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Exit + /// [JoinName("Exit")] public JoinDataComplete Exit = new JoinDataComplete(new JoinData { JoinNumber = 10, JoinSpan = 1 }, new JoinMetadata { Description = "Exit", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Digit 0 + /// [JoinName("Digit0")] public JoinDataComplete Digit0 = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 }, new JoinMetadata { Description = "Digit 0", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Digit 1 + /// [JoinName("Digit1")] public JoinDataComplete Digit1 = new JoinDataComplete(new JoinData { JoinNumber = 12, JoinSpan = 1 }, new JoinMetadata { Description = "Digit 1", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Digit 2 + /// [JoinName("Digit2")] public JoinDataComplete Digit2 = new JoinDataComplete(new JoinData { JoinNumber = 13, JoinSpan = 1 }, new JoinMetadata { Description = "Digit 2", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Digit 3 + /// [JoinName("Digit3")] public JoinDataComplete Digit3 = new JoinDataComplete(new JoinData { JoinNumber = 14, JoinSpan = 1 }, new JoinMetadata { Description = "Digit 3", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Digit 4 + /// [JoinName("Digit4")] public JoinDataComplete Digit4 = new JoinDataComplete(new JoinData { JoinNumber = 15, JoinSpan = 1 }, new JoinMetadata { Description = "Digit 4", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Digit 5 + /// [JoinName("Digit5")] public JoinDataComplete Digit5 = new JoinDataComplete(new JoinData { JoinNumber = 16, JoinSpan = 1 }, new JoinMetadata { Description = "Digit 5", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Digit 6 + /// [JoinName("Digit6")] public JoinDataComplete Digit6 = new JoinDataComplete(new JoinData { JoinNumber = 17, JoinSpan = 1 }, new JoinMetadata { Description = "Digit 6", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Digit 7 + /// [JoinName("Digit7")] public JoinDataComplete Digit7 = new JoinDataComplete(new JoinData { JoinNumber = 18, JoinSpan = 1 }, new JoinMetadata { Description = "Digit 7", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Digit 8 + /// [JoinName("Digit8")] public JoinDataComplete Digit8 = new JoinDataComplete(new JoinData { JoinNumber = 19, JoinSpan = 1 }, new JoinMetadata { Description = "Digit 8", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Digit 9 + /// [JoinName("Digit9")] public JoinDataComplete Digit9 = new JoinDataComplete(new JoinData { JoinNumber = 20, JoinSpan = 1 }, new JoinMetadata { Description = "Digit 9", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Keypad Clear + /// [JoinName("KeypadClear")] public JoinDataComplete KeypadClear = new JoinDataComplete(new JoinData { JoinNumber = 21, JoinSpan = 1 }, new JoinMetadata { Description = "Keypad Clear", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Keypad Enter + /// [JoinName("KeypadEnter")] public JoinDataComplete KeypadEnter = new JoinDataComplete(new JoinData { JoinNumber = 22, JoinSpan = 1 }, new JoinMetadata { Description = "Keypad Enter", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Channel Up + /// [JoinName("ChannelUp")] public JoinDataComplete ChannelUp = new JoinDataComplete(new JoinData { JoinNumber = 23, JoinSpan = 1 }, new JoinMetadata { Description = "STB Channel Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Channel Down + /// [JoinName("ChannelDown")] public JoinDataComplete ChannelDown = new JoinDataComplete(new JoinData { JoinNumber = 24, JoinSpan = 1 }, new JoinMetadata { Description = "STB Channel Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Last Channel + /// [JoinName("LastChannel")] public JoinDataComplete LastChannel = new JoinDataComplete(new JoinData { JoinNumber = 25, JoinSpan = 1 }, new JoinMetadata { Description = "Last Channel", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Guide + /// [JoinName("Guide")] public JoinDataComplete Guide = new JoinDataComplete(new JoinData { JoinNumber = 26, JoinSpan = 1 }, new JoinMetadata { Description = "Guide", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Info + /// [JoinName("Info")] public JoinDataComplete Info = new JoinDataComplete(new JoinData { JoinNumber = 27, JoinSpan = 1 }, new JoinMetadata { Description = "Info", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Red + /// [JoinName("Red")] public JoinDataComplete Red = new JoinDataComplete(new JoinData { JoinNumber = 28, JoinSpan = 1 }, new JoinMetadata { Description = "Red", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Green + /// [JoinName("Green")] public JoinDataComplete Green = new JoinDataComplete(new JoinData { JoinNumber = 29, JoinSpan = 1 }, new JoinMetadata { Description = "Green", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Yellow + /// [JoinName("Yellow")] public JoinDataComplete Yellow = new JoinDataComplete(new JoinData { JoinNumber = 30, JoinSpan = 1 }, new JoinMetadata { Description = "Yellow", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Blue + /// [JoinName("Blue")] public JoinDataComplete Blue = new JoinDataComplete(new JoinData { JoinNumber = 31, JoinSpan = 1 }, new JoinMetadata { Description = "Blue", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); - + /// + /// Play + /// [JoinName("Play")] public JoinDataComplete Play = new JoinDataComplete(new JoinData { JoinNumber = 33, JoinSpan = 1 }, new JoinMetadata { Description = "Play", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Pause + /// [JoinName("Pause")] public JoinDataComplete Pause = new JoinDataComplete(new JoinData { JoinNumber = 34, JoinSpan = 1 }, new JoinMetadata { Description = "Pause", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Stop + /// [JoinName("Stop")] public JoinDataComplete Stop = new JoinDataComplete(new JoinData { JoinNumber = 35, JoinSpan = 1 }, new JoinMetadata { Description = "Stop", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Fast Forward + /// [JoinName("FFwd")] public JoinDataComplete FFwd = new JoinDataComplete(new JoinData { JoinNumber = 36, JoinSpan = 1 }, new JoinMetadata { Description = "FFwd", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Rewind + /// [JoinName("Rewind")] public JoinDataComplete Rewind = new JoinDataComplete(new JoinData { JoinNumber = 37, JoinSpan = 1 }, new JoinMetadata { Description = "Rewind", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Chapter Plus + /// [JoinName("ChapPlus")] public JoinDataComplete ChapPlus = new JoinDataComplete(new JoinData { JoinNumber = 38, JoinSpan = 1 }, new JoinMetadata { Description = "Chapter Plus", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Chapter Minus + /// [JoinName("ChapMinus")] public JoinDataComplete ChapMinus = new JoinDataComplete(new JoinData { JoinNumber = 39, JoinSpan = 1 }, new JoinMetadata { Description = "Chapter Minus", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Replay + /// [JoinName("Replay")] public JoinDataComplete Replay = new JoinDataComplete(new JoinData { JoinNumber = 40, JoinSpan = 1 }, new JoinMetadata { Description = "Replay", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Record + /// [JoinName("Record")] public JoinDataComplete Record = new JoinDataComplete(new JoinData { JoinNumber = 41, JoinSpan = 1 }, new JoinMetadata { Description = "Record", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Has Keypad Accessory Button 1 + /// [JoinName("HasKeypadAccessoryButton1")] public JoinDataComplete HasKeypadAccessoryButton1 = new JoinDataComplete(new JoinData { JoinNumber = 42, JoinSpan = 1 }, new JoinMetadata { Description = "Has Keypad Accessory Button 1", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Has Keypad Accessory Button 2 + /// [JoinName("HasKeypadAccessoryButton2")] public JoinDataComplete HasKeypadAccessoryButton2 = new JoinDataComplete(new JoinData { JoinNumber = 43, JoinSpan = 1 }, new JoinMetadata { Description = "Has Keypad Accessory Button 2", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Keypad Accessory Button 1 Press + /// [JoinName("KeypadAccessoryButton1Press")] public JoinDataComplete KeypadAccessoryButton1Press = new JoinDataComplete(new JoinData { JoinNumber = 42, JoinSpan = 2 }, new JoinMetadata { Description = "Keypad Accessory Button 1 Press", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Keypad Accessory Button 2 Press + /// [JoinName("KeypadAccessoryButton2Press")] public JoinDataComplete KeypadAccessoryButton2Press = new JoinDataComplete(new JoinData { JoinNumber = 43, JoinSpan = 2 }, new JoinMetadata { Description = "Keypad Accessory Button 2 Press", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Name + /// [JoinName("Name")] public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Keypad Accessory Button 1 Label + /// [JoinName("KeypadAccessoryButton1Label")] public JoinDataComplete KeypadAccessoryButton1Label = new JoinDataComplete(new JoinData { JoinNumber = 42, JoinSpan = 1 }, new JoinMetadata { Description = "Keypad Accessory Button 1 Label", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Keypad Accessory Button 2 Label + /// [JoinName("KeypadAccessoryButton2Label")] public JoinDataComplete KeypadAccessoryButton2Label = new JoinDataComplete(new JoinData { JoinNumber = 43, JoinSpan = 1 }, new JoinMetadata { Description = "Keypad Accessory Button 1 Label", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/PduJoinMapBase.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/PduJoinMapBase.cs index e50d9b8f..f52b96c4 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/PduJoinMapBase.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/PduJoinMapBase.cs @@ -7,34 +7,58 @@ namespace PepperDash.Essentials.Core.Bridges /// public class PduJoinMapBase : JoinMapBaseAdvanced { + /// + /// PDU Name + /// [JoinName("Name")] public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "PDU Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// PDU Online Status + /// [JoinName("Online")] public JoinDataComplete Online = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Number of Controlled Outlets + /// [JoinName("OutletCount")] public JoinDataComplete OutletCount = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Number of COntrolled Outlets", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog }); + /// + /// Outlet Name + /// [JoinName("OutletName")] public JoinDataComplete OutletName = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 }, new JoinMetadata { Description = "Outlet Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Outlet Enabled Status + /// [JoinName("OutletEnabled")] public JoinDataComplete OutletEnabled = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 }, new JoinMetadata { Description = "Outlet Enabled", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Outlet Power State + /// [JoinName("OutletPowerCycle")] public JoinDataComplete OutletPowerCycle = new JoinDataComplete(new JoinData { JoinNumber = 12, JoinSpan = 1 }, new JoinMetadata { Description = "Outlet Power Cycle", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Outlet Power On + /// [JoinName("OutletPowerOn")] public JoinDataComplete OutletPowerOn = new JoinDataComplete(new JoinData { JoinNumber = 13, JoinSpan = 1 }, new JoinMetadata { Description = "Outlet Power On", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Outlet Power Off + /// [JoinName("OutletPowerOff")] public JoinDataComplete OutletPowerOff = new JoinDataComplete(new JoinData { JoinNumber = 14, JoinSpan = 1 }, new JoinMetadata { Description = "Outlet Power Off", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/SetTopBoxControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/SetTopBoxControllerJoinMap.cs index a5e2ea6f..ce9a4290 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/SetTopBoxControllerJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/SetTopBoxControllerJoinMap.cs @@ -8,214 +8,373 @@ namespace PepperDash.Essentials.Core.Bridges /// public class SetTopBoxControllerJoinMap : JoinMapBaseAdvanced { + /// + /// STB Power On + /// [JoinName("PowerOn")] public JoinDataComplete PowerOn = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "STB Power On", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Power Off + /// [JoinName("PowerOff")] public JoinDataComplete PowerOff = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "STB Power Off", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Power Toggle + /// [JoinName("PowerToggle")] public JoinDataComplete PowerToggle = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 }, new JoinMetadata { Description = "STB Power Toggle", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Has DPad + /// [JoinName("HasDpad")] public JoinDataComplete HasDpad = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 }, new JoinMetadata { Description = "STB Has DPad", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Nav Up + /// [JoinName("Up")] public JoinDataComplete Up = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 }, new JoinMetadata { Description = "STB Nav Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Nav Down + /// [JoinName("Down")] public JoinDataComplete Down = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 }, new JoinMetadata { Description = "STB Nav Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Nav Left + /// [JoinName("Left")] public JoinDataComplete Left = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 }, new JoinMetadata { Description = "STB Nav Left", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Nav Right + /// [JoinName("Right")] public JoinDataComplete Right = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 }, new JoinMetadata { Description = "STB Nav Right", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Select + /// [JoinName("Select")] public JoinDataComplete Select = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 }, new JoinMetadata { Description = "STB Select", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Menu + /// [JoinName("Menu")] public JoinDataComplete Menu = new JoinDataComplete(new JoinData { JoinNumber = 9, JoinSpan = 1 }, new JoinMetadata { Description = "STB Menu", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Exit + /// [JoinName("Exit")] public JoinDataComplete Exit = new JoinDataComplete(new JoinData { JoinNumber = 10, JoinSpan = 1 }, new JoinMetadata { Description = "STB Exit", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Has Numeric + /// [JoinName("HasNumeric")] public JoinDataComplete HasNumeric = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 }, new JoinMetadata { Description = "STB Has Numeric", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Digit 0 + /// [JoinName("Digit0")] public JoinDataComplete Digit0 = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 }, new JoinMetadata { Description = "STB Digit 0", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Digit 1 + /// [JoinName("Digit1")] public JoinDataComplete Digit1 = new JoinDataComplete(new JoinData { JoinNumber = 12, JoinSpan = 1 }, new JoinMetadata { Description = "STB Digit 1", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Digit 2 + /// [JoinName("Digit2")] public JoinDataComplete Digit2 = new JoinDataComplete(new JoinData { JoinNumber = 13, JoinSpan = 1 }, new JoinMetadata { Description = "STB Digit 2", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Digit 3 + /// [JoinName("Digit3")] public JoinDataComplete Digit3 = new JoinDataComplete(new JoinData { JoinNumber = 14, JoinSpan = 1 }, new JoinMetadata { Description = "STB Digit 3", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Digit 4 + /// [JoinName("Digit4")] public JoinDataComplete Digit4 = new JoinDataComplete(new JoinData { JoinNumber = 15, JoinSpan = 1 }, new JoinMetadata { Description = "STB Digit 4", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Digit 5 + /// [JoinName("Digit5")] public JoinDataComplete Digit5 = new JoinDataComplete(new JoinData { JoinNumber = 16, JoinSpan = 1 }, new JoinMetadata { Description = "STB Digit 5", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Digit 6 + /// [JoinName("Digit6")] public JoinDataComplete Digit6 = new JoinDataComplete(new JoinData { JoinNumber = 17, JoinSpan = 1 }, new JoinMetadata { Description = "STB Digit 6", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Digit 7 + /// [JoinName("Digit7")] public JoinDataComplete Digit7 = new JoinDataComplete(new JoinData { JoinNumber = 18, JoinSpan = 1 }, new JoinMetadata { Description = "STB Digit 7", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Digit 8 + /// [JoinName("Digit8")] public JoinDataComplete Digit8 = new JoinDataComplete(new JoinData { JoinNumber = 19, JoinSpan = 1 }, new JoinMetadata { Description = "STB Digit 8", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Digit 9 + /// [JoinName("Digit9")] public JoinDataComplete Digit9 = new JoinDataComplete(new JoinData { JoinNumber = 20, JoinSpan = 1 }, new JoinMetadata { Description = "STB Digit 9", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Dash + /// [JoinName("Dash")] public JoinDataComplete Dash = new JoinDataComplete(new JoinData { JoinNumber = 21, JoinSpan = 1 }, new JoinMetadata { Description = "STB Dash", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Keypad Enter + /// [JoinName("KeypadEnter")] public JoinDataComplete KeypadEnter = new JoinDataComplete(new JoinData { JoinNumber = 22, JoinSpan = 1 }, new JoinMetadata { Description = "STB Keypad Enter", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Channel Up + /// [JoinName("ChannelUp")] public JoinDataComplete ChannelUp = new JoinDataComplete(new JoinData { JoinNumber = 23, JoinSpan = 1 }, new JoinMetadata { Description = "STB Channel Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Channel Down + /// [JoinName("ChannelDown")] public JoinDataComplete ChannelDown = new JoinDataComplete(new JoinData { JoinNumber = 24, JoinSpan = 1 }, new JoinMetadata { Description = "STB Channel Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Last Channel + /// [JoinName("LastChannel")] public JoinDataComplete LastChannel = new JoinDataComplete(new JoinData { JoinNumber = 25, JoinSpan = 1 }, new JoinMetadata { Description = "STB Last Channel", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Guide + /// [JoinName("Guide")] public JoinDataComplete Guide = new JoinDataComplete(new JoinData { JoinNumber = 26, JoinSpan = 1 }, new JoinMetadata { Description = "STB Guide", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Info + /// [JoinName("Info")] public JoinDataComplete Info = new JoinDataComplete(new JoinData { JoinNumber = 27, JoinSpan = 1 }, new JoinMetadata { Description = "STB Info", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Red + /// [JoinName("Red")] public JoinDataComplete Red = new JoinDataComplete(new JoinData { JoinNumber = 28, JoinSpan = 1 }, new JoinMetadata { Description = "STB Red", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Green + /// [JoinName("Green")] public JoinDataComplete Green = new JoinDataComplete(new JoinData { JoinNumber = 29, JoinSpan = 1 }, new JoinMetadata { Description = "STB Green", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Yellow + /// [JoinName("Yellow")] public JoinDataComplete Yellow = new JoinDataComplete(new JoinData { JoinNumber = 30, JoinSpan = 1 }, new JoinMetadata { Description = "STB Yellow", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Blue + /// [JoinName("Blue")] public JoinDataComplete Blue = new JoinDataComplete(new JoinData { JoinNumber = 31, JoinSpan = 1 }, new JoinMetadata { Description = "STB Blue", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Has DVR + /// [JoinName("HasDvr")] public JoinDataComplete HasDvr = new JoinDataComplete(new JoinData { JoinNumber = 32, JoinSpan = 1 }, new JoinMetadata { Description = "STB Has DVR", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Dvr List + /// [JoinName("DvrList")] public JoinDataComplete DvrList = new JoinDataComplete(new JoinData { JoinNumber = 32, JoinSpan = 1 }, new JoinMetadata { Description = "STB DvrList", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Play + /// [JoinName("Play")] public JoinDataComplete Play = new JoinDataComplete(new JoinData { JoinNumber = 33, JoinSpan = 1 }, new JoinMetadata { Description = "STB Play", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Pause + /// [JoinName("Pause")] public JoinDataComplete Pause = new JoinDataComplete(new JoinData { JoinNumber = 34, JoinSpan = 1 }, new JoinMetadata { Description = "STB Pause", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Stop + /// [JoinName("Stop")] public JoinDataComplete Stop = new JoinDataComplete(new JoinData { JoinNumber = 35, JoinSpan = 1 }, new JoinMetadata { Description = "STB Stop", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB FFwd + /// [JoinName("FFwd")] public JoinDataComplete FFwd = new JoinDataComplete(new JoinData { JoinNumber = 36, JoinSpan = 1 }, new JoinMetadata { Description = "STB FFwd", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Rewind + /// [JoinName("Rewind")] public JoinDataComplete Rewind = new JoinDataComplete(new JoinData { JoinNumber = 37, JoinSpan = 1 }, new JoinMetadata { Description = "STB Rewind", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Chapter Plus + /// [JoinName("ChapPlus")] public JoinDataComplete ChapPlus = new JoinDataComplete(new JoinData { JoinNumber = 38, JoinSpan = 1 }, new JoinMetadata { Description = "STB Chapter Plus", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Chapter Minus + /// [JoinName("ChapMinus")] public JoinDataComplete ChapMinus = new JoinDataComplete(new JoinData { JoinNumber = 39, JoinSpan = 1 }, new JoinMetadata { Description = "STB Chapter Minus", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Replay + /// [JoinName("Replay")] public JoinDataComplete Replay = new JoinDataComplete(new JoinData { JoinNumber = 40, JoinSpan = 1 }, new JoinMetadata { Description = "STB Replay", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Record + /// [JoinName("Record")] public JoinDataComplete Record = new JoinDataComplete(new JoinData { JoinNumber = 41, JoinSpan = 1 }, new JoinMetadata { Description = "STB Record", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Has Keypad Accessory Button 1 + /// [JoinName("HasKeypadAccessoryButton1")] public JoinDataComplete HasKeypadAccessoryButton1 = new JoinDataComplete(new JoinData { JoinNumber = 42, JoinSpan = 1 }, new JoinMetadata { Description = "STB Has Keypad Accessory Button 1", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Has Keypad Accessory Button 2 + /// [JoinName("HasKeypadAccessoryButton2")] public JoinDataComplete HasKeypadAccessoryButton2 = new JoinDataComplete(new JoinData { JoinNumber = 43, JoinSpan = 1 }, new JoinMetadata { Description = "STB Has Keypad Accessory Button 2", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Keypad Accessory Button 1 Press + /// [JoinName("KeypadAccessoryButton1Press")] public JoinDataComplete KeypadAccessoryButton1Press = new JoinDataComplete(new JoinData { JoinNumber = 42, JoinSpan = 2 }, new JoinMetadata { Description = "STB Keypad Accessory Button 1 Press", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Keypad Accessory Button 2 Press + /// [JoinName("KeypadAccessoryButton2Press")] public JoinDataComplete KeypadAccessoryButton2Press = new JoinDataComplete(new JoinData { JoinNumber = 43, JoinSpan = 2 }, new JoinMetadata { Description = "STB Keypad Accessory Button 2 Press", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Name + /// [JoinName("Name")] public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "STB Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Keypad Accessory Button 1 Label + /// [JoinName("KeypadAccessoryButton1Label")] public JoinDataComplete KeypadAccessoryButton1Label = new JoinDataComplete(new JoinData { JoinNumber = 42, JoinSpan = 1 }, new JoinMetadata { Description = "STB Keypad Accessory Button 1 Label", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// STB Keypad Accessory Button 2 Label + /// [JoinName("KeypadAccessoryButton2Label")] public JoinDataComplete KeypadAccessoryButton2Label = new JoinDataComplete(new JoinData { JoinNumber = 43, JoinSpan = 1 }, new JoinMetadata { Description = "STB Keypad Accessory Button 1 Label", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// STB Load Presets + /// [JoinName("LoadPresets")] public JoinDataComplete LoadPresets = new JoinDataComplete(new JoinData { JoinNumber = 50, JoinSpan = 1 }, new JoinMetadata { Description = "STB Load Presets", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// STB Has Presets + /// [JoinName("HasPresets")] public JoinDataComplete HasPresets = new JoinDataComplete(new JoinData { JoinNumber = 50, JoinSpan = 1 }, new JoinMetadata { Description = "STB Load Presets", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/StatusSignControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/StatusSignControllerJoinMap.cs index 60b7e5d8..79ada2c8 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/StatusSignControllerJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/StatusSignControllerJoinMap.cs @@ -7,34 +7,58 @@ namespace PepperDash.Essentials.Core.Bridges /// public class StatusSignControllerJoinMap : JoinMapBaseAdvanced { + /// + /// Status Sign Online + /// [JoinName("IsOnline")] public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Status Sign Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Status Sign Name + /// [JoinName("Name")] public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Status Sign Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Red LED Control + /// [JoinName("RedControl")] public JoinDataComplete RedControl = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "Status Red LED Enable / Disable", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Red LED Intensity + /// [JoinName("RedLed")] public JoinDataComplete RedLed = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "Status Red LED Intensity", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); + /// + /// Green LED Control + /// [JoinName("GreenControl")] public JoinDataComplete GreenControl = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 }, new JoinMetadata { Description = "Status Green LED Enable / Disable", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Green LED Intensity + /// [JoinName("GreenLed")] public JoinDataComplete GreenLed = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 }, new JoinMetadata { Description = "Status Green LED Intensity", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); + /// + /// Blue LED Control + /// [JoinName("BlueControl")] public JoinDataComplete BlueControl = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 }, new JoinMetadata { Description = "Status Blue LED Enable / Disable", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Blue LED Intensity + /// [JoinName("BlueLed")] public JoinDataComplete BlueLed = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 }, new JoinMetadata { Description = "Status Blue LED Intensity", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog }); diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/SystemMonitorJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/SystemMonitorJoinMap.cs index b594a685..c53c9fe6 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/SystemMonitorJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/SystemMonitorJoinMap.cs @@ -7,146 +7,254 @@ namespace PepperDash.Essentials.Core.Bridges /// public class SystemMonitorJoinMap : JoinMapBaseAdvanced { + /// + /// Processor Timezone + /// [JoinName("TimeZone")] public JoinDataComplete TimeZone = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Processor Timezone", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog }); + /// + /// Processor Timezone Name + /// [JoinName("TimeZoneName")] public JoinDataComplete TimeZoneName = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Processor Timezone Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Processor OS Version + /// [JoinName("IOControllerVersion")] public JoinDataComplete IOControllerVersion = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "Processor IO Controller Version", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Processor SNMP App Version + /// [JoinName("SnmpAppVersion")] public JoinDataComplete SnmpAppVersion = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 }, new JoinMetadata { Description = "Processor SNMP App Version", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Processor BACNet App Version + /// [JoinName("BACnetAppVersion")] public JoinDataComplete BACnetAppVersion = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 }, new JoinMetadata { Description = "Processor BACNet App Version", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Processor Controller Version + /// [JoinName("ControllerVersion")] public JoinDataComplete ControllerVersion = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 }, new JoinMetadata { Description = "Processor Controller Version", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Processor Serial Number + /// [JoinName("SerialNumber")] public JoinDataComplete SerialNumber = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 }, new JoinMetadata { Description = "Processor Serial Number", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Processor Model + /// [JoinName("Model")] public JoinDataComplete Model = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 }, new JoinMetadata { Description = "Processor Model", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Processor Uptime + /// [JoinName("Uptime")] public JoinDataComplete Uptime = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 }, new JoinMetadata { Description = "Processor Uptime", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Processor Last Boot Time + /// [JoinName("LastBoot")] public JoinDataComplete LastBoot = new JoinDataComplete(new JoinData { JoinNumber = 9, JoinSpan = 1 }, new JoinMetadata { Description = "Processor Last Boot", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Program Offset Join + /// [JoinName("ProgramOffsetJoin")] public JoinDataComplete ProgramOffsetJoin = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 5 }, new JoinMetadata { Description = "All Program Data is offset between slots by 5 - First Joins Start at 11", JoinCapabilities = eJoinCapabilities.None, JoinType = eJoinType.None }); + /// + /// Processor Program Start + /// [JoinName("ProgramStart")] public JoinDataComplete ProgramStart = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 }, new JoinMetadata { Description = "Processor Program Start / Fb", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Processor Program Stop + /// [JoinName("ProgramStop")] public JoinDataComplete ProgramStop = new JoinDataComplete(new JoinData { JoinNumber = 12, JoinSpan = 1 }, new JoinMetadata { Description = "Processor Program Stop / Fb", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Processor Program Register + /// [JoinName("ProgramRegister")] public JoinDataComplete ProgramRegister = new JoinDataComplete(new JoinData { JoinNumber = 13, JoinSpan = 1 }, new JoinMetadata { Description = "Processor Program Register / Fb", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Processor Program Unregister + /// [JoinName("ProgramUnregister")] public JoinDataComplete ProgramUnregister = new JoinDataComplete(new JoinData { JoinNumber = 14, JoinSpan = 1 }, new JoinMetadata { Description = "Processor Program UnRegister / Fb", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Processor Program Name + /// [JoinName("ProgramName")] public JoinDataComplete ProgramName = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 }, new JoinMetadata { Description = "Processor Program Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Processor Program Version + /// [JoinName("ProgramCompiledTime")] public JoinDataComplete ProgramCompiledTime = new JoinDataComplete(new JoinData { JoinNumber = 12, JoinSpan = 1 }, new JoinMetadata { Description = "Processor Program Compile Time", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Processor Program Crestron Database Version + /// [JoinName("ProgramCrestronDatabaseVersion")] public JoinDataComplete ProgramCrestronDatabaseVersion = new JoinDataComplete(new JoinData { JoinNumber = 13, JoinSpan = 1 }, new JoinMetadata { Description = "Processor Program Database Version", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Processor Program Environment Version + /// [JoinName("ProgramEnvironmentVersion")] public JoinDataComplete ProgramEnvironmentVersion = new JoinDataComplete(new JoinData { JoinNumber = 14, JoinSpan = 1 }, new JoinMetadata { Description = "Processor Program Environment Version", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Processor Program Aggregate Info + /// [JoinName("AggregatedProgramInfo")] public JoinDataComplete AggregatedProgramInfo = new JoinDataComplete(new JoinData { JoinNumber = 15, JoinSpan = 1 }, new JoinMetadata { Description = "Processor Program Aggregate Info Json", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Ethernet Offset Join + /// [JoinName("EthernetOffsetJoin")] public JoinDataComplete EthernetOffsetJoin = new JoinDataComplete(new JoinData { JoinNumber = 15, JoinSpan = 1 }, new JoinMetadata { Description = "All Ethernet Data is offset between Nics by 5 - First Joins Start at 76", JoinCapabilities = eJoinCapabilities.None, JoinType = eJoinType.None }); + /// + /// Processor Ethernet Hostname + /// [JoinName("HostName")] public JoinDataComplete HostName = new JoinDataComplete(new JoinData { JoinNumber = 76, JoinSpan = 1 }, new JoinMetadata { Description = "Processor Ethernet Hostname", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Processor Ethernet Current Ip Address + /// [JoinName("CurrentIpAddress")] public JoinDataComplete CurrentIpAddress = new JoinDataComplete(new JoinData { JoinNumber = 77, JoinSpan = 1 }, new JoinMetadata { Description = "Processor Ethernet Current Ip Address", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Processor Ethernet Current Subnet Mask + /// [JoinName("CurrentSubnetMask")] public JoinDataComplete CurrentSubnetMask = new JoinDataComplete(new JoinData { JoinNumber = 78, JoinSpan = 1 }, new JoinMetadata { Description = "Processor Ethernet Current Subnet Mask", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Processor Ethernet Current Default Gateway + /// [JoinName("CurrentDefaultGateway")] public JoinDataComplete CurrentDefaultGateway = new JoinDataComplete(new JoinData { JoinNumber = 79, JoinSpan = 1 }, new JoinMetadata { Description = "Processor Ethernet Current Default Gateway", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Processor Ethernet Static Ip Address + /// [JoinName("StaticIpAddress")] public JoinDataComplete StaticIpAddress = new JoinDataComplete(new JoinData { JoinNumber = 80, JoinSpan = 1 }, new JoinMetadata { Description = "Processor Ethernet Static Ip Address", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Processor Ethernet Static Subnet Mask + /// [JoinName("StaticSubnetMask")] public JoinDataComplete StaticSubnetMask = new JoinDataComplete(new JoinData { JoinNumber = 81, JoinSpan = 1 }, new JoinMetadata { Description = "Processor Ethernet Static Subnet Mask", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Processor Ethernet Static Default Gateway + /// [JoinName("StaticDefaultGateway")] public JoinDataComplete StaticDefaultGateway = new JoinDataComplete(new JoinData { JoinNumber = 82, JoinSpan = 1 }, new JoinMetadata { Description = "Processor Ethernet Static Default Gateway", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Processor Ethernet Domain + /// [JoinName("Domain")] public JoinDataComplete Domain = new JoinDataComplete(new JoinData { JoinNumber = 83, JoinSpan = 1 }, new JoinMetadata { Description = "Processor Ethernet Domain", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Processor Ethernet Dns Server + /// [JoinName("DnsServer")] public JoinDataComplete DnsServer = new JoinDataComplete(new JoinData { JoinNumber = 84, JoinSpan = 1 }, new JoinMetadata { Description = "Processor Ethernet Dns Server", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Processor Ethernet Mac Address + /// [JoinName("MacAddress")] public JoinDataComplete MacAddress = new JoinDataComplete(new JoinData { JoinNumber = 85, JoinSpan = 1 }, new JoinMetadata { Description = "Processor Ethernet Mac Address", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Processor Ethernet Dhcp Status + /// [JoinName("DhcpStatus")] public JoinDataComplete DhcpStatus = new JoinDataComplete(new JoinData { JoinNumber = 86, JoinSpan = 1 }, new JoinMetadata { Description = "Processor Ethernet Dhcp Status", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial }); + /// + /// Processor Reboot + /// [JoinName("ProcessorRebot")] public JoinDataComplete ProcessorReboot = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Reboot processor", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital }); + /// + /// Is Appliance Fb + /// [JoinName("IsAppliance")] public JoinDataComplete IsAppliance = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 }, new JoinMetadata { Description = "Is appliance Fb", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Is Server Fb + /// [JoinName("IsServer")] public JoinDataComplete IsServer = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 }, new JoinMetadata { Description = "Is server Fb", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); + /// + /// Program Reset + /// [JoinName("ProgramReset")] public JoinDataComplete ProgramReset = new JoinDataComplete(new JoinData { JoinNumber = 15, JoinSpan = 1 }, new JoinMetadata { Description = "Resets the program", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital }); diff --git a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/VideoCodecControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/VideoCodecControllerJoinMap.cs index 463ba4d3..2a7a46c2 100644 --- a/src/PepperDash.Essentials.Core/Bridges/JoinMaps/VideoCodecControllerJoinMap.cs +++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/VideoCodecControllerJoinMap.cs @@ -9,6 +9,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps { #region Digital + /// + /// Device is Online + /// [JoinName("IsOnline")] public JoinDataComplete IsOnline = new JoinDataComplete( new JoinData @@ -23,6 +26,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// If High, will send DTMF tones to the call set by SelectCall analog. If low sends DTMF tones to last connected call. + /// [JoinName("SendDtmfToSpecificCallIndex")] public JoinDataComplete SendDtmfToSpecificCallIndex = new JoinDataComplete( new JoinData @@ -37,6 +43,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// DTMF 1 + /// [JoinName("Dtmf1")] public JoinDataComplete Dtmf1 = new JoinDataComplete( new JoinData @@ -51,6 +60,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// DTMF 2 + /// [JoinName("Dtmf2")] public JoinDataComplete Dtmf2 = new JoinDataComplete( new JoinData @@ -65,6 +77,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// DTMF 3 + /// [JoinName("Dtmf3")] public JoinDataComplete Dtmf3 = new JoinDataComplete( new JoinData @@ -79,6 +94,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// DTMF 4 + /// [JoinName("Dtmf4")] public JoinDataComplete Dtmf4 = new JoinDataComplete( new JoinData @@ -93,6 +111,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// DTMF 5 + /// [JoinName("Dtmf5")] public JoinDataComplete Dtmf5 = new JoinDataComplete( new JoinData @@ -107,6 +128,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// DTMF 6 + /// [JoinName("Dtmf6")] public JoinDataComplete Dtmf6 = new JoinDataComplete( new JoinData @@ -121,6 +145,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// DTMF 7 + /// [JoinName("Dtmf7")] public JoinDataComplete Dtmf7 = new JoinDataComplete( new JoinData @@ -135,6 +162,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// DTMF 8 + /// [JoinName("Dtmf8")] public JoinDataComplete Dtmf8 = new JoinDataComplete( new JoinData @@ -149,6 +179,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// DTMF 9 + /// [JoinName("Dtmf9")] public JoinDataComplete Dtmf9 = new JoinDataComplete( new JoinData @@ -163,6 +196,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// DTMF 0 + /// [JoinName("Dtmf0")] public JoinDataComplete Dtmf0 = new JoinDataComplete( new JoinData @@ -177,6 +213,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// DTMF * + /// [JoinName("DtmfStar")] public JoinDataComplete DtmfStar = new JoinDataComplete( new JoinData @@ -191,6 +230,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// DTMF # + /// [JoinName("DtmfPound")] public JoinDataComplete DtmfPound = new JoinDataComplete( new JoinData @@ -205,6 +247,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// End All Calls + /// [JoinName("EndAllCalls")] public JoinDataComplete EndAllCalls = new JoinDataComplete( new JoinData @@ -219,6 +264,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Current Hook State + /// [JoinName("HookState")] public JoinDataComplete HookState = new JoinDataComplete( new JoinData @@ -233,6 +281,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Speed Dial + /// [JoinName("SpeedDialStart")] public JoinDataComplete SpeedDialStart = new JoinDataComplete( new JoinData @@ -247,6 +298,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Incoming Call + /// [JoinName("IncomingCall")] public JoinDataComplete IncomingCall = new JoinDataComplete( new JoinData @@ -261,6 +315,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Answer Incoming Call + /// [JoinName("IncomingAnswer")] public JoinDataComplete IncomingAnswer = new JoinDataComplete( new JoinData @@ -275,6 +332,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Reject Incoming Call + /// [JoinName("IncomingReject")] public JoinDataComplete IncomingReject = new JoinDataComplete( new JoinData @@ -289,6 +349,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Manual Dial + /// [JoinName("ManualDial")] public JoinDataComplete ManualDial = new JoinDataComplete( new JoinData @@ -303,6 +366,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Dial Phone + /// [JoinName("DialPhone")] public JoinDataComplete DialPhone = new JoinDataComplete( new JoinData @@ -317,6 +383,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Phone Hook State + /// [JoinName("PhoneHookState")] public JoinDataComplete PhoneHookState = new JoinDataComplete( new JoinData @@ -331,6 +400,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Hang Up Phone + /// [JoinName("HangUpPhone")] public JoinDataComplete HangUpPhone = new JoinDataComplete( new JoinData @@ -345,6 +417,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// End Call + /// [JoinName("EndCallStart")] public JoinDataComplete EndCallStart = new JoinDataComplete( new JoinData @@ -359,6 +434,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Join All Calls + /// [JoinName("JoinAllCalls")] public JoinDataComplete JoinAllCalls = new JoinDataComplete( new JoinData @@ -373,6 +451,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Join Call + /// [JoinName("JoinCallStart")] public JoinDataComplete JoinCallStart = new JoinDataComplete( new JoinData @@ -387,6 +468,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Directory Search Busy + /// [JoinName("DirectorySearchBusy")] public JoinDataComplete DirectorySearchBusy = new JoinDataComplete( new JoinData @@ -401,7 +485,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); - + /// + /// Directory Selected Entry Is Contact + /// [JoinName("DirectoryEntryIsContact")] public JoinDataComplete DirectoryEntryIsContact = new JoinDataComplete( new JoinData @@ -416,6 +502,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Directory Line Selected + /// [JoinName("DirectoryLineSelected")] public JoinDataComplete DirectoryLineSelected = new JoinDataComplete( new JoinData @@ -430,6 +519,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Directory Is Root + /// [JoinName("DirectoryIsRoot")] public JoinDataComplete DirectoryIsRoot = new JoinDataComplete( new JoinData @@ -444,6 +536,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Directory Has Changed + /// [JoinName("DirectoryHasChanged")] public JoinDataComplete DirectoryHasChanged = new JoinDataComplete( new JoinData @@ -458,6 +553,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Directory Go to Root + /// [JoinName("DirectoryRoot")] public JoinDataComplete DirectoryRoot = new JoinDataComplete( new JoinData @@ -472,6 +570,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Directory Go Back One Level + /// [JoinName("DirectoryFolderBack")] public JoinDataComplete DirectoryFolderBack = new JoinDataComplete( new JoinData @@ -486,6 +587,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Directory Dial Selected Line + /// [JoinName("DirectoryDialSelectedLine")] public JoinDataComplete DirectoryDialSelectedLine = new JoinDataComplete( new JoinData @@ -500,6 +604,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Directory Disable Auto Dial Selected Line + /// [JoinName("DirectoryDisableAutoDialSelectedLine")] public JoinDataComplete DirectoryDisableAutoDialSelectedLine = new JoinDataComplete( new JoinData @@ -514,6 +621,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Directory Dial Selected Contact Method + /// [JoinName("DirectoryDialSelectedContactMethod")] public JoinDataComplete DirectoryDialSelectedContactMethod = new JoinDataComplete( new JoinData @@ -528,6 +638,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Directory Clear Selected + /// [JoinName("DirectoryClearSelected")] public JoinDataComplete DirectoryClearSelected = new JoinDataComplete( new JoinData @@ -542,7 +655,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); - + /// + /// Camera Tilt Up + /// [JoinName("CameraTiltUp")] public JoinDataComplete CameraTiltUp = new JoinDataComplete( new JoinData @@ -557,6 +672,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Camera Tilt Down + /// [JoinName("CameraTiltDown")] public JoinDataComplete CameraTiltDown = new JoinDataComplete( new JoinData @@ -571,6 +689,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Camera Pan Left + /// [JoinName("CameraPanLeft")] public JoinDataComplete CameraPanLeft = new JoinDataComplete( new JoinData @@ -585,6 +706,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Camera Pan Right + /// [JoinName("CameraPanRight")] public JoinDataComplete CameraPanRight = new JoinDataComplete( new JoinData @@ -599,6 +723,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Camera Zoom In + /// [JoinName("CameraZoomIn")] public JoinDataComplete CameraZoomIn = new JoinDataComplete( new JoinData @@ -613,6 +740,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Camera Zoom Out + /// [JoinName("CameraZoomOut")] public JoinDataComplete CameraZoomOut = new JoinDataComplete( new JoinData @@ -627,6 +757,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Camera Focus Near + /// [JoinName("CameraFocusNear")] public JoinDataComplete CameraFocusNear = new JoinDataComplete( new JoinData @@ -641,6 +774,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Camera Focus Far + /// [JoinName("CameraFocusFar")] public JoinDataComplete CameraFocusFar = new JoinDataComplete( new JoinData @@ -655,6 +791,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Camera Auto Focus + /// [JoinName("CameraFocusAuto")] public JoinDataComplete CameraFocusAuto = new JoinDataComplete( new JoinData @@ -669,6 +808,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Camera Preset Save + /// [JoinName("CameraPresetSave")] public JoinDataComplete CameraPresetSave = new JoinDataComplete( new JoinData @@ -683,6 +825,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Camera Preset Recall + /// [JoinName("CameraModeAuto")] public JoinDataComplete CameraModeAuto = new JoinDataComplete( new JoinData @@ -697,6 +842,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Camera Mode Manual + /// [JoinName("CameraModeManual")] public JoinDataComplete CameraModeManual = new JoinDataComplete( new JoinData @@ -711,6 +859,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Camera Mode Off + /// [JoinName("CameraModeOff")] public JoinDataComplete CameraModeOff = new JoinDataComplete( new JoinData @@ -725,6 +876,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Camera Self View + /// [JoinName("CameraSelfView")] public JoinDataComplete CameraSelfView = new JoinDataComplete( new JoinData @@ -739,6 +893,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Camera Layout + /// [JoinName("CameraLayout")] public JoinDataComplete CameraLayout = new JoinDataComplete( new JoinData @@ -753,6 +910,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Camera Supports Auto Mode + /// [JoinName("CameraSupportsAutoMode")] public JoinDataComplete CameraSupportsAutoMode = new JoinDataComplete( new JoinData @@ -767,6 +927,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Camera Supports Off Mode + /// [JoinName("CameraSupportsOffMode")] public JoinDataComplete CameraSupportsOffMode = new JoinDataComplete( new JoinData @@ -781,6 +944,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Update Meetings + /// [JoinName("UpdateMeetings")] public JoinDataComplete UpdateMeetings = new JoinDataComplete( new JoinData @@ -795,6 +961,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Dial Meeting Start + /// [JoinName("DialMeetingStart")] public JoinDataComplete DialMeetingStart = new JoinDataComplete( new JoinData @@ -809,6 +978,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Mic Mute On + /// [JoinName("MicMuteOn")] public JoinDataComplete MicMuteOn = new JoinDataComplete( new JoinData @@ -823,6 +995,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Mic Mute Off + /// [JoinName("MicMuteOff")] public JoinDataComplete MicMuteOff = new JoinDataComplete( new JoinData @@ -837,6 +1012,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Mic Mute Toggle + /// [JoinName("MicMuteToggle")] public JoinDataComplete MicMuteToggle = new JoinDataComplete( new JoinData @@ -851,6 +1029,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Volume Up + /// [JoinName("VolumeUp")] public JoinDataComplete VolumeUp = new JoinDataComplete( new JoinData @@ -865,6 +1046,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Volume Down + /// [JoinName("VolumeDown")] public JoinDataComplete VolumeDown = new JoinDataComplete( new JoinData @@ -879,6 +1063,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Volume Mute On + /// [JoinName("VolumeMuteOn")] public JoinDataComplete VolumeMuteOn = new JoinDataComplete( new JoinData @@ -893,6 +1080,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Volume Mute Off + /// [JoinName("VolumeMuteOff")] public JoinDataComplete VolumeMuteOff = new JoinDataComplete( new JoinData @@ -907,6 +1097,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Volume Mute Toggle + /// [JoinName("VolumeMuteToggle")] public JoinDataComplete VolumeMuteToggle = new JoinDataComplete( new JoinData @@ -921,6 +1114,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Remove Selected Recent Call Item + /// [JoinName("RemoveSelectedRecentCallItem")] public JoinDataComplete RemoveSelectedRecentCallItem = new JoinDataComplete( new JoinData @@ -935,6 +1131,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Dial Selected Recent Call Item + /// [JoinName("DialSelectedRecentCallItem")] public JoinDataComplete DialSelectedRecentCallItem = new JoinDataComplete( new JoinData @@ -949,6 +1148,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Source Share Start + /// [JoinName("SourceShareStart")] public JoinDataComplete SourceShareStart = new JoinDataComplete( new JoinData @@ -963,6 +1165,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Source Share End + /// [JoinName("SourceShareEnd")] public JoinDataComplete SourceShareEnd = new JoinDataComplete( new JoinData @@ -977,6 +1182,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Source Share Auto Start + /// [JoinName("AutoShareWhileInCall")] public JoinDataComplete SourceShareAutoStart = new JoinDataComplete( new JoinData @@ -991,6 +1199,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Recieving Content + /// [JoinName("RecievingContent")] public JoinDataComplete RecievingContent = new JoinDataComplete( new JoinData @@ -1005,6 +1216,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinCapabilities = eJoinCapabilities.ToSIMPL }); + /// + /// Selfview Position + /// [JoinName("SelfviewPosition")] public JoinDataComplete SelfviewPosition = new JoinDataComplete( new JoinData @@ -1019,6 +1233,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Hold All Calls + /// [JoinName("HoldAllCalls")] public JoinDataComplete HoldAllCalls = new JoinDataComplete( new JoinData @@ -1033,6 +1250,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Hold Call at Index + /// [JoinName("HoldCallsStart")] public JoinDataComplete HoldCallsStart = new JoinDataComplete( new JoinData @@ -1047,6 +1267,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Resume All Calls + /// [JoinName("ResumeCallsStart")] public JoinDataComplete ResumeCallsStart = new JoinDataComplete( new JoinData @@ -1061,6 +1284,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Multi Site Option Is Enabled + /// [JoinName("MultiSiteOptionIsEnabled")] public JoinDataComplete MultiSiteOptionIsEnabled = new JoinDataComplete( new JoinData @@ -1075,6 +1301,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Auto Answer Enabled + /// [JoinName("AutoAnswerEnabled")] public JoinDataComplete AutoAnswerEnabled = new JoinDataComplete( new JoinData @@ -1089,6 +1318,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Participant Audio Mute Toggle + /// [JoinName("ParticipantAudioMuteToggleStart")] public JoinDataComplete ParticipantAudioMuteToggleStart = new JoinDataComplete( new JoinData @@ -1103,6 +1335,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Participant Video Mute Toggle + /// [JoinName("ParticipantVideoMuteToggleStart")] public JoinDataComplete ParticipantVideoMuteToggleStart = new JoinDataComplete( new JoinData @@ -1117,6 +1352,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Digital }); + /// + /// Participant Pin Toggle + /// [JoinName("ParticipantPinToggleStart")] public JoinDataComplete ParticipantPinToggleStart = new JoinDataComplete( new JoinData @@ -1139,6 +1377,10 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps #region Analog // TODO [ ] hotfix/videocodecbase-max-meeting-xsig-set + + /// + /// Meetings To Display + /// [JoinName("MeetingsToDisplay")] public JoinDataComplete MeetingsToDisplay = new JoinDataComplete( new JoinData @@ -1153,6 +1395,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Analog }); + /// + /// Select Call + /// [JoinName("SelectCall")] public JoinDataComplete SelectCall = new JoinDataComplete( new JoinData @@ -1167,7 +1412,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Analog }); - + /// + /// Connected Call Count + /// [JoinName("ConnectedCallCount")] public JoinDataComplete ConnectedCallCount = new JoinDataComplete( new JoinData @@ -1182,6 +1429,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Analog }); + /// + /// Minutes Before Meeting Start + /// [JoinName("MinutesBeforeMeetingStart")] public JoinDataComplete MinutesBeforeMeetingStart = new JoinDataComplete( new JoinData @@ -1196,6 +1446,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Analog }); + /// + /// Camera Number Select + /// [JoinName("CameraNumberSelect")] public JoinDataComplete CameraNumberSelect = new JoinDataComplete( new JoinData @@ -1210,6 +1463,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Analog }); + /// + /// Camera Count + /// [JoinName("CameraCount")] public JoinDataComplete CameraCount = new JoinDataComplete( new JoinData @@ -1224,6 +1480,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Analog }); + /// + /// Directory Row Count + /// [JoinName("DirectoryRowCount")] public JoinDataComplete DirectoryRowCount = new JoinDataComplete( new JoinData @@ -1238,6 +1497,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Analog }); + /// + /// Directory Select Row + /// [JoinName("DirectorySelectRow")] public JoinDataComplete DirectorySelectRow = new JoinDataComplete( new JoinData @@ -1252,7 +1514,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Analog }); - + /// + /// Selected Contact Method Count + /// [JoinName("SelectedContactMethodCount")] public JoinDataComplete SelectedContactMethodCount = new JoinDataComplete( new JoinData @@ -1267,6 +1531,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Analog }); + /// + /// Select Contact Method + /// [JoinName("SelectContactMethod")] public JoinDataComplete SelectContactMethod = new JoinDataComplete( new JoinData @@ -1281,6 +1548,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Analog }); + /// + /// Directory Select Row Feedback + /// [JoinName("DirectorySelectRowFeedback")] public JoinDataComplete DirectorySelectRowFeedback = new JoinDataComplete( new JoinData @@ -1296,7 +1566,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps }); - + /// + /// Camera Preset Select + /// [JoinName("CameraPresetSelect")] public JoinDataComplete CameraPresetSelect = new JoinDataComplete( new JoinData @@ -1311,6 +1583,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Analog }); + /// + /// Far End Preset Select + /// [JoinName("FarEndPresetSelect")] public JoinDataComplete FarEndPresetSelect = new JoinDataComplete( new JoinData @@ -1325,6 +1600,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Analog }); + /// + /// Participant Count + /// [JoinName("ParticipantCount")] public JoinDataComplete ParticipantCount = new JoinDataComplete( new JoinData @@ -1339,6 +1617,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Analog }); + /// + /// Meeting Count + /// [JoinName("Meeting Count Fb")] public JoinDataComplete MeetingCount = new JoinDataComplete( new JoinData @@ -1353,6 +1634,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Analog }); + /// + /// Volume Level + /// [JoinName("VolumeLevel")] public JoinDataComplete VolumeLevel = new JoinDataComplete( new JoinData @@ -1367,6 +1651,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Analog }); + /// + /// Select Recent Call Item + /// [JoinName("SelectRecentCallItem")] public JoinDataComplete SelectRecentCallItem = new JoinDataComplete( new JoinData @@ -1381,6 +1668,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Analog }); + /// + /// Recent Call Occurrence Type + /// [JoinName("RecentCallOccurrenceType")] public JoinDataComplete RecentCallOccurrenceType = new JoinDataComplete( new JoinData @@ -1395,6 +1685,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Analog }); + /// + /// Recent Call Count + /// [JoinName("RecentCallCount")] public JoinDataComplete RecentCallCount = new JoinDataComplete( new JoinData @@ -1415,6 +1708,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps #region Serials + /// + /// Current Dial String + /// [JoinName("CurrentDialString")] public JoinDataComplete CurrentDialString = new JoinDataComplete( new JoinData @@ -1429,6 +1725,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Serial }); + /// + /// Phone Dial String + /// [JoinName("PhoneDialString")] public JoinDataComplete PhoneDialString = new JoinDataComplete( new JoinData @@ -1443,6 +1742,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Serial }); + /// + /// Current Call Data + /// [JoinName("CurrentCallData")] public JoinDataComplete CurrentCallData = new JoinDataComplete( new JoinData @@ -1457,6 +1759,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Serial }); + /// + /// Call Direction + /// [JoinName("CallDirection")] public JoinDataComplete CallDirection = new JoinDataComplete( new JoinData @@ -1471,6 +1776,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Serial }); + /// + /// Incoming Call Name + /// [JoinName("IncomingCallName")] public JoinDataComplete IncomingCallName = new JoinDataComplete( new JoinData @@ -1485,6 +1793,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Serial }); + /// + /// Incoming Call Number + /// [JoinName("IncomingCallNumber")] public JoinDataComplete IncomingCallNumber = new JoinDataComplete( new JoinData @@ -1499,7 +1810,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Serial }); - + /// + /// Directory Search String + /// [JoinName("DirectorySearchString")] public JoinDataComplete DirectorySearchString = new JoinDataComplete( new JoinData @@ -1514,6 +1827,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Serial }); + /// + /// Directory Entries + /// [JoinName("DirectoryEntries")] public JoinDataComplete DirectoryEntries = new JoinDataComplete( new JoinData @@ -1528,6 +1844,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Serial }); + /// + /// Schedule Data + /// [JoinName("Schedule")] public JoinDataComplete Schedule = new JoinDataComplete( new JoinData @@ -1542,6 +1861,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Serial }); + /// + /// Contact Methods + /// [JoinName("ContactMethods")] public JoinDataComplete ContactMethods = new JoinDataComplete( new JoinData @@ -1556,6 +1878,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Serial }); + /// + /// Camera Preset Names + /// [JoinName("CameraPresetNames")] public JoinDataComplete CameraPresetNames = new JoinDataComplete( new JoinData @@ -1570,6 +1895,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Serial }); + /// + /// Current Layout String + /// [JoinName("CurrentLayoutStringFb")] public JoinDataComplete CurrentLayoutStringFb = new JoinDataComplete( new JoinData @@ -1584,6 +1912,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Serial }); + /// + /// Available Layouts XSig + /// [JoinName("AvailableLayoutsFb")] public JoinDataComplete AvailableLayoutsFb = new JoinDataComplete( new JoinData @@ -1598,6 +1929,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Serial }); + /// + /// Select Layout + /// [JoinName("SelectLayout")] public JoinDataComplete SelectLayout = new JoinDataComplete( new JoinData @@ -1613,7 +1947,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps }); - + /// + /// Current Participants XSig + /// [JoinName("CurrentParticipants")] public JoinDataComplete CurrentParticipants = new JoinDataComplete( new JoinData @@ -1628,6 +1964,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Serial }); + /// + /// Camera Names XSig + /// [JoinName("CameraNamesFb")] public JoinDataComplete CameraNamesFb = new JoinDataComplete( new JoinData @@ -1642,6 +1981,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Serial }); + /// + /// Selected Recent Call Name + /// [JoinName("SelectedRecentCallName")] public JoinDataComplete SelectedRecentCallName = new JoinDataComplete( new JoinData @@ -1656,6 +1998,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Serial }); + /// + /// Selected Recent Call Number + /// [JoinName("SelectedRecentCallNumber")] public JoinDataComplete SelectedRecentCallNumber = new JoinDataComplete( new JoinData @@ -1670,6 +2015,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Serial }); + /// + /// Recent Call Names + /// [JoinName("RecentCallNamesStart")] public JoinDataComplete RecentCallNamesStart = new JoinDataComplete( new JoinData @@ -1684,6 +2032,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Serial }); + /// + /// Recent Call Numbers + /// [JoinName("RecentCallTimesStart")] public JoinDataComplete RecentCallTimesStart = new JoinDataComplete( new JoinData @@ -1698,6 +2049,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Serial }); + /// + /// Current Source + /// [JoinName("CurrentSource")] public JoinDataComplete CurrentSource = new JoinDataComplete( new JoinData @@ -1712,6 +2066,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Serial }); + /// + /// Selfview Position Feedback + /// [JoinName("SelfviewPositionFb")] public JoinDataComplete SelfviewPositionFb = new JoinDataComplete( new JoinData @@ -1726,6 +2083,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Serial }); + /// + /// Device IP Address + /// [JoinName("DeviceIpAddresss")] public JoinDataComplete DeviceIpAddresss = new JoinDataComplete( new JoinData @@ -1740,6 +2100,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Serial }); + /// + /// SIP Phone Number + /// [JoinName("SipPhoneNumber")] public JoinDataComplete SipPhoneNumber = new JoinDataComplete( new JoinData @@ -1754,6 +2117,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Serial }); + /// + /// E164 Alias + /// [JoinName("E164Alias")] public JoinDataComplete E164Alias = new JoinDataComplete( new JoinData @@ -1768,6 +2134,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Serial }); + /// + /// H323 ID + /// [JoinName("H323Id")] public JoinDataComplete H323Id = new JoinDataComplete( new JoinData @@ -1782,6 +2151,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Serial }); + /// + /// SIP URI + /// [JoinName("SipUri")] public JoinDataComplete SipUri = new JoinDataComplete( new JoinData @@ -1796,6 +2168,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Serial }); + /// + /// Selected Directory Entry Name + /// [JoinName("DirectoryEntrySelectedName")] public JoinDataComplete DirectoryEntrySelectedName = new JoinDataComplete( new JoinData @@ -1810,6 +2185,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Serial }); + /// + /// Selected Directory Entry Number + /// [JoinName("DirectoryEntrySelectedNumber")] public JoinDataComplete DirectoryEntrySelectedNumber = new JoinDataComplete( new JoinData @@ -1824,6 +2202,9 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps JoinType = eJoinType.Serial }); + /// + /// Selected Directory Folder Name + /// [JoinName("DirectorySelectedFolderName")] public JoinDataComplete DirectorySelectedFolderName = new JoinDataComplete( new JoinData @@ -1841,11 +2222,20 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps #endregion + /// + /// Constructor for the VideoCodecControllerJoinMap class. + /// + /// Join this join map will start at public VideoCodecControllerJoinMap(uint joinStart) : base(joinStart, typeof(VideoCodecControllerJoinMap)) { } + /// + /// + /// + /// Join this join map will start at + /// Type of the child join map public VideoCodecControllerJoinMap(uint joinStart, Type type) : base(joinStart, type) { diff --git a/src/PepperDash.Essentials.Core/Comm and IR/CecPortController.cs b/src/PepperDash.Essentials.Core/Comm and IR/CecPortController.cs index 2dd4f2ba..298bbc9b 100644 --- a/src/PepperDash.Essentials.Core/Comm and IR/CecPortController.cs +++ b/src/PepperDash.Essentials.Core/Comm and IR/CecPortController.cs @@ -22,7 +22,14 @@ namespace PepperDash.Essentials.Core /// public CommunicationStreamDebugging StreamDebugging { get; private set; } + /// + /// Event raised when bytes are received + /// public event EventHandler BytesReceived; + + /// + /// Event raised when text is received + /// public event EventHandler TextReceived; /// @@ -32,6 +39,12 @@ namespace PepperDash.Essentials.Core ICec Port; + /// + /// Constructor + /// + /// key of the device + /// post activation function for the device + /// configuration for the device public CecPortController(string key, Func postActivationFunc, EssentialsControlPropertiesConfig config) : base(key) { @@ -45,6 +58,11 @@ namespace PepperDash.Essentials.Core }); } + /// + /// Constructor + /// + /// key of the device + /// CEC port public CecPortController(string key, ICec port) : base(key) { diff --git a/src/PepperDash.Essentials.Core/Comm and IR/ComSpecJsonConverter.cs b/src/PepperDash.Essentials.Core/Comm and IR/ComSpecJsonConverter.cs index e2d13f5f..11e2bc74 100644 --- a/src/PepperDash.Essentials.Core/Comm and IR/ComSpecJsonConverter.cs +++ b/src/PepperDash.Essentials.Core/Comm and IR/ComSpecJsonConverter.cs @@ -21,6 +21,14 @@ namespace PepperDash.Essentials.Core /// public class ComSpecJsonConverter : JsonConverter { + /// + /// ReadJson method + /// + /// reader to use + /// type of the object being read + /// existing value of the object being read + /// serializer to use + /// deserialized object public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { if (objectType == typeof(ComPort.ComPortSpec?)) @@ -42,6 +50,9 @@ namespace PepperDash.Essentials.Core return objectType == typeof(ComPort.ComPortSpec?); } + /// + /// Gets or sets the CanRead + /// public override bool CanRead { get { return true; } } /// diff --git a/src/PepperDash.Essentials.Core/Comm and IR/CommFactory.cs b/src/PepperDash.Essentials.Core/Comm and IR/CommFactory.cs index fbc46579..9318e04b 100644 --- a/src/PepperDash.Essentials.Core/Comm and IR/CommFactory.cs +++ b/src/PepperDash.Essentials.Core/Comm and IR/CommFactory.cs @@ -15,6 +15,11 @@ namespace PepperDash.Essentials.Core /// public class CommFactory { + /// + /// GetControlPropertiesConfig method + /// + /// The Device config object + /// EssentialsControlPropertiesConfig object public static EssentialsControlPropertiesConfig GetControlPropertiesConfig(DeviceConfig deviceConfig) { try @@ -223,11 +228,16 @@ namespace PepperDash.Essentials.Core public class EssentialsControlPropertiesConfig : ControlPropertiesConfig { - + /// + /// Gets or sets the ComParams + /// [JsonProperty("comParams", NullValueHandling = NullValueHandling.Ignore)] [JsonConverter(typeof(ComSpecJsonConverter))] public ComPort.ComPortSpec? ComParams { get; set; } + /// + /// Gets or sets the CresnetId + /// [JsonProperty("cresnetId", NullValueHandling = NullValueHandling.Ignore)] public string CresnetId { get; set; } @@ -250,10 +260,10 @@ namespace PepperDash.Essentials.Core } } - [JsonProperty("infinetId", NullValueHandling = NullValueHandling.Ignore)] /// /// Gets or sets the InfinetId /// + [JsonProperty("infinetId", NullValueHandling = NullValueHandling.Ignore)] public string InfinetId { get; set; } /// diff --git a/src/PepperDash.Essentials.Core/Comm and IR/CommunicationExtras.cs b/src/PepperDash.Essentials.Core/Comm and IR/CommunicationExtras.cs index 995004b9..d9bd0974 100644 --- a/src/PepperDash.Essentials.Core/Comm and IR/CommunicationExtras.cs +++ b/src/PepperDash.Essentials.Core/Comm and IR/CommunicationExtras.cs @@ -20,6 +20,9 @@ namespace PepperDash.Essentials.Core /// public interface IComPortsDevice { + /// + /// Gets the Device + /// IComPorts Device { get; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Comm and IR/ConsoleCommMockDevice.cs b/src/PepperDash.Essentials.Core/Comm and IR/ConsoleCommMockDevice.cs index 5bc4c8fb..7c2af905 100644 --- a/src/PepperDash.Essentials.Core/Comm and IR/ConsoleCommMockDevice.cs +++ b/src/PepperDash.Essentials.Core/Comm and IR/ConsoleCommMockDevice.cs @@ -39,6 +39,13 @@ namespace PepperDash.Essentials.Core /// public bool ShowHexResponse { get; set; } + /// + /// Initializes a new instance of the ConsoleCommMockDevice class. + /// + /// The key of the device. + /// The name of the device. + /// The properties configuration for the device. + /// The communication method for the device. public ConsoleCommMockDevice(string key, string name, ConsoleCommMockDevicePropertiesConfig props, IBasicCommunication comm) :base(key, name) { @@ -72,20 +79,24 @@ namespace PepperDash.Essentials.Core } } - /// - /// Represents a ConsoleCommMockDevicePropertiesConfig - /// + /// + /// Represents a ConsoleCommMockDevicePropertiesConfig + /// public class ConsoleCommMockDevicePropertiesConfig { - /// - /// Gets or sets the LineEnding - /// + /// + /// Gets or sets the LineEnding + /// public string LineEnding { get; set; } - /// - /// Gets or sets the CommunicationMonitorProperties - /// + + /// + /// Gets or sets the CommunicationMonitorProperties + /// public CommunicationMonitorConfig CommunicationMonitorProperties { get; set; } + /// + /// Initializes a new instance of the ConsoleCommMockDevicePropertiesConfig class. + /// public ConsoleCommMockDevicePropertiesConfig() { LineEnding = "\x0a"; @@ -97,6 +108,9 @@ namespace PepperDash.Essentials.Core /// public class ConsoleCommMockDeviceFactory : EssentialsDeviceFactory { + /// + /// Initializes a new instance of the ConsoleCommMockDeviceFactory class. + /// public ConsoleCommMockDeviceFactory() { TypeNames = new List() { "commmock" }; diff --git a/src/PepperDash.Essentials.Core/Comm and IR/GenericComm.cs b/src/PepperDash.Essentials.Core/Comm and IR/GenericComm.cs index a9c4df08..069244c3 100644 --- a/src/PepperDash.Essentials.Core/Comm and IR/GenericComm.cs +++ b/src/PepperDash.Essentials.Core/Comm and IR/GenericComm.cs @@ -23,8 +23,15 @@ namespace PepperDash.Essentials.Core { EssentialsControlPropertiesConfig PropertiesConfig; + /// + /// Gets the CommPort + /// public IBasicCommunication CommPort { get; private set; } + /// + /// Constructor + /// + /// the config of the device public GenericComm(DeviceConfig config) : base(config) { @@ -33,7 +40,7 @@ namespace PepperDash.Essentials.Core var commPort = CommFactory.CreateCommForDevice(config); - //Fixing decision to require '-comPorts' in delcaration for DGE in order to get a device with comports included + //Fixing decision to require '-comPorts' in declaration for DGE in order to get a device with comports included if (commPort == null) { config.Key = config.Key + "-comPorts"; @@ -70,6 +77,10 @@ namespace PepperDash.Essentials.Core } } + /// + /// CustomSetConfig method + /// + /// the new device configuration protected override void CustomSetConfig(DeviceConfig config) { PropertiesConfig = CommFactory.GetControlPropertiesConfig(config); @@ -144,6 +155,9 @@ namespace PepperDash.Essentials.Core /// public class GenericCommFactory : EssentialsDeviceFactory { + /// + /// Initializes a new instance of the GenericCommFactory class. + /// public GenericCommFactory() { TypeNames = new List() { "genericComm" }; diff --git a/src/PepperDash.Essentials.Core/Comm and IR/GenericHttpClient.cs b/src/PepperDash.Essentials.Core/Comm and IR/GenericHttpClient.cs index 3a1ba4d4..e02027b3 100644 --- a/src/PepperDash.Essentials.Core/Comm and IR/GenericHttpClient.cs +++ b/src/PepperDash.Essentials.Core/Comm and IR/GenericHttpClient.cs @@ -4,15 +4,26 @@ using System; namespace PepperDash.Essentials.Core { + + /// + /// Represents a GenericHttpClient + /// [Obsolete("Please use the builtin HttpClient class instead: https://learn.microsoft.com/en-us/dotnet/fundamentals/networking/http/httpclient-guidelines")] - /// - /// Represents a GenericHttpClient - /// public class GenericHttpClient : Device, IBasicCommunication { private readonly HttpClient Client; + + /// + /// Event raised when response is received + /// public event EventHandler ResponseRecived; + /// + /// Constructor + /// + /// key of the device + /// name of the device + /// hostname for the HTTP client public GenericHttpClient(string key, string name, string hostname) : base(key, name) { @@ -25,12 +36,9 @@ namespace PepperDash.Essentials.Core } /// - /// + /// SendText method /// - /// - /// - /// SendText method - /// + /// the path to send the request to public void SendText(string path) { HttpClientRequest request = new HttpClientRequest(); @@ -38,6 +46,12 @@ namespace PepperDash.Essentials.Core request.Url = new UrlParser(url); HttpClient.DISPATCHASYNC_ERROR error = Client.DispatchAsyncEx(request, Response, request); } + + /// + /// SendText method + /// + /// format for the items + /// items to format public void SendText(string format, params object[] items) { HttpClientRequest request = new HttpClientRequest(); @@ -46,9 +60,11 @@ namespace PepperDash.Essentials.Core HttpClient.DISPATCHASYNC_ERROR error = Client.DispatchAsyncEx(request, Response, request); } - /// - /// SendTextNoResponse method - /// + /// + /// SendTextNoResponse method + /// + /// format for the items + /// items to format public void SendTextNoResponse(string format, params object[] items) { HttpClientRequest request = new HttpClientRequest(); @@ -57,6 +73,12 @@ namespace PepperDash.Essentials.Core Client.Dispatch(request); } + /// + /// Response method + /// + /// response received from the HTTP client + /// error status of the HTTP callback + /// original HTTP client request private void Response(HttpClientResponse response, HTTP_CALLBACK_ERROR error, object request) { if (error == HTTP_CALLBACK_ERROR.COMPLETED) @@ -74,9 +96,10 @@ namespace PepperDash.Essentials.Core #region IBasicCommunication Members - /// - /// SendBytes method - /// + /// + /// SendBytes method + /// + /// bytes to send public void SendBytes(byte[] bytes) { throw new NotImplementedException(); @@ -88,50 +111,69 @@ namespace PepperDash.Essentials.Core #region ICommunicationReceiver Members + /// + /// BytesReceived event + /// public event EventHandler BytesReceived; - /// - /// Connect method - /// + /// + /// Connect method + /// public void Connect() { throw new NotImplementedException(); } - /// - /// Disconnect method - /// + /// + /// Disconnect method + /// public void Disconnect() { throw new NotImplementedException(); } + /// + /// IsConnected property + /// public bool IsConnected { get { return true; } } + /// + /// TextReceived event + /// public event EventHandler TextReceived; #endregion } - /// - /// Represents a GenericHttpClientEventArgs - /// + + /// + /// Represents a GenericHttpClientEventArgs + /// public class GenericHttpClientEventArgs : EventArgs { - /// - /// Gets or sets the ResponseText - /// + /// + /// Gets or sets the ResponseText + /// public string ResponseText { get; private set; } - /// - /// Gets or sets the RequestPath - /// + + /// + /// Gets or sets the RequestPath + /// public string RequestPath { get; private set; } - /// - /// Gets or sets the Error - /// + + /// + /// Gets or sets the Error + /// public HTTP_CALLBACK_ERROR Error { get; set; } + + /// + /// Constructor + /// + /// response text + /// request path + /// error status public GenericHttpClientEventArgs(string response, string request, HTTP_CALLBACK_ERROR error) { ResponseText = response; diff --git a/src/PepperDash.Essentials.Core/Comm and IR/IRPortHelper.cs b/src/PepperDash.Essentials.Core/Comm and IR/IRPortHelper.cs index 0655e83b..6ca4b533 100644 --- a/src/PepperDash.Essentials.Core/Comm and IR/IRPortHelper.cs +++ b/src/PepperDash.Essentials.Core/Comm and IR/IRPortHelper.cs @@ -15,10 +15,13 @@ using Serilog.Events; namespace PepperDash.Essentials.Core { /// - /// + /// Helper class for IR port operations /// public static class IRPortHelper { + /// + /// Gets the IrDriverPathPrefix + /// public static string IrDriverPathPrefix { get @@ -31,7 +34,7 @@ namespace PepperDash.Essentials.Core /// Finds either the ControlSystem or a device controller that contains IR ports and /// returns a port from the hardware device /// - /// + /// JSON token containing properties /// IrPortConfig object. The port and or filename will be empty/null /// if valid values don't exist on config public static IrOutPortConfig GetIrPort(JToken propsToken) @@ -83,9 +86,11 @@ namespace PepperDash.Essentials.Core } } - /// - /// GetIrOutputPort method - /// + /// + /// GetIrOutputPort method + /// + /// DeviceConfig to get the IR port for + /// IROutputPort or null if not found public static IROutputPort GetIrOutputPort(DeviceConfig dc) { var irControllerKey = dc.Key + "-ir"; @@ -145,9 +150,11 @@ namespace PepperDash.Essentials.Core return port; } - /// - /// GetIrOutputPortController method - /// + /// + /// GetIrOutputPortController method + /// + /// DeviceConfig to create the IrOutputPortController for + /// IrOutputPortController object public static IrOutputPortController GetIrOutputPortController(DeviceConfig config) { Debug.LogMessage(LogEventLevel.Debug, "Attempting to create new Ir Port Controller"); @@ -228,23 +235,32 @@ namespace PepperDash.Essentials.Core }*/ } - /// - /// Represents a IrOutPortConfig - /// + /// + /// Represents a IrOutPortConfig + /// public class IrOutPortConfig { + /// + /// Gets or sets the Port + /// [JsonProperty("port")] - /// - /// Gets or sets the Port - /// - public IROutputPort Port { get; set; } - + public IROutputPort Port { get; set; } + + /// + /// Gets or sets the FileName + /// [JsonProperty("fileName")] public string FileName { get; set; } + /// + /// Gets or sets a value indicating whether to use bridge join map + /// [JsonProperty("useBridgeJoinMap")] public bool UseBridgeJoinMap { get; set; } + /// + /// Constructor + /// public IrOutPortConfig() { FileName = ""; diff --git a/src/PepperDash.Essentials.Core/Config/AudioControlPointListItem.cs b/src/PepperDash.Essentials.Core/Config/AudioControlPointListItem.cs index 8b2aea54..54cc3574 100644 --- a/src/PepperDash.Essentials.Core/Config/AudioControlPointListItem.cs +++ b/src/PepperDash.Essentials.Core/Config/AudioControlPointListItem.cs @@ -13,9 +13,15 @@ namespace PepperDash.Essentials.Core.Config /// public class AudioControlPointListItem { + /// + /// Level controls for this audio control point + /// [JsonProperty("levelControls")] public Dictionary LevelControls { get; set; } = new Dictionary(); + /// + /// Presets for this audio control point + /// [JsonProperty("presets")] public Dictionary Presets { get; set; } = new Dictionary(); diff --git a/src/PepperDash.Essentials.Core/Config/BasicConfig.cs b/src/PepperDash.Essentials.Core/Config/BasicConfig.cs index c4cbc63a..435d448f 100644 --- a/src/PepperDash.Essentials.Core/Config/BasicConfig.cs +++ b/src/PepperDash.Essentials.Core/Config/BasicConfig.cs @@ -14,33 +14,57 @@ namespace PepperDash.Essentials.Core.Config /// public class BasicConfig { + /// + /// Gets or sets the Info + /// [JsonProperty("info")] public InfoConfig Info { get; set; } + /// + /// Gets or sets the Devices + /// [JsonProperty("devices")] public List Devices { get; set; } + /// + /// Gets or sets the SourceLists + /// [JsonProperty("sourceLists")] public Dictionary> SourceLists { get; set; } + /// + /// Gets or sets the DestinationLists + /// [JsonProperty("destinationLists")] public Dictionary> DestinationLists { get; set; } + /// + /// Gets or sets the AudioControlPointLists + /// [JsonProperty("audioControlPointLists")] public Dictionary AudioControlPointLists { get; set; } + /// + /// Gets or sets the CameraLists + /// [JsonProperty("cameraLists")] public Dictionary> CameraLists { get; set; } + /// + /// Gets or sets the TieLines + /// [JsonProperty("tieLines")] - /// - /// Gets or sets the TieLines - /// - public List TieLines { get; set; } + public List TieLines { get; set; } + /// + /// Gets or sets the JoinMaps + /// [JsonProperty("joinMaps")] public Dictionary JoinMaps { get; set; } + /// + /// BasicConfig Constructor + /// public BasicConfig() { Info = new InfoConfig(); @@ -98,6 +122,7 @@ namespace PepperDash.Essentials.Core.Config /// /// Checks CameraLists for a given list and returns it if found. Otherwise, returns null /// + /// Key of desired camera list public Dictionary GetCameraListForKey(string key) { if (CameraLists == null || string.IsNullOrEmpty(key) || !CameraLists.ContainsKey(key)) @@ -110,10 +135,6 @@ namespace PepperDash.Essentials.Core.Config /// Checks Devices for an item with a Key that matches and returns it if found. Otherwise, retunes null /// /// Key of desired device - /// - /// - /// GetDeviceForKey method - /// public DeviceConfig GetDeviceForKey(string key) { if (string.IsNullOrEmpty(key)) diff --git a/src/PepperDash.Essentials.Core/Config/DeviceConfig.cs b/src/PepperDash.Essentials.Core/Config/DeviceConfig.cs index 23063773..b8620bb9 100644 --- a/src/PepperDash.Essentials.Core/Config/DeviceConfig.cs +++ b/src/PepperDash.Essentials.Core/Config/DeviceConfig.cs @@ -55,6 +55,10 @@ namespace PepperDash.Essentials.Core.Config [JsonConverter(typeof(DevicePropertiesConverter))] public JToken Properties { get; set; } + /// + /// Constructor + /// + /// device config public DeviceConfig(DeviceConfig dc) { Key = dc.Key; @@ -68,6 +72,9 @@ namespace PepperDash.Essentials.Core.Config //Properties = JToken.FromObject(dc.Properties); } + /// + /// Default Constructor + /// public DeviceConfig() { } } @@ -85,6 +92,14 @@ namespace PepperDash.Essentials.Core.Config return objectType == typeof(JToken); } + /// + /// ReadJson method + /// + /// reader to use + /// type of object being read + /// existing value for the object + /// serializer to use + /// public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { return JToken.ReadFrom(reader); diff --git a/src/PepperDash.Essentials.Core/Config/Essentials/ConfigReader.cs b/src/PepperDash.Essentials.Core/Config/Essentials/ConfigReader.cs index 2591e8aa..40c6c0cf 100644 --- a/src/PepperDash.Essentials.Core/Config/Essentials/ConfigReader.cs +++ b/src/PepperDash.Essentials.Core/Config/Essentials/ConfigReader.cs @@ -18,17 +18,23 @@ namespace PepperDash.Essentials.Core.Config /// public class ConfigReader { + /// + /// Local Config Present Message + /// public const string LocalConfigPresent = @" *************************************************** ************* Using Local config file ************* ***************************************************"; + /// + /// The loaded config object + /// public static EssentialsConfig ConfigObject { get; private set; } - /// - /// LoadConfig2 method - /// + /// + /// LoadConfig2 method + /// public static bool LoadConfig2() { Debug.LogMessage(LogEventLevel.Information, "Loading unmerged system/template portal configuration file."); @@ -171,11 +177,8 @@ namespace PepperDash.Essentials.Core.Config /// /// Returns all the files from the directory specified. /// - /// - /// - /// - /// GetConfigFiles method - /// + /// path to the directory + /// config files public static FileInfo[] GetConfigFiles(string filePath) { // Get the directory @@ -206,11 +209,8 @@ namespace PepperDash.Essentials.Core.Config /// /// Returns the group for a given device key in config /// - /// - /// - /// - /// GetGroupForDeviceKey method - /// + /// Key of the device + /// Group name if the device is found, null otherwise public static string GetGroupForDeviceKey(string key) { var dev = ConfigObject.Devices.FirstOrDefault(d => d.Key.Equals(key, StringComparison.OrdinalIgnoreCase)); diff --git a/src/PepperDash.Essentials.Core/Config/Essentials/ConfigUpdater.cs b/src/PepperDash.Essentials.Core/Config/Essentials/ConfigUpdater.cs index d7322cc4..9df673bf 100644 --- a/src/PepperDash.Essentials.Core/Config/Essentials/ConfigUpdater.cs +++ b/src/PepperDash.Essentials.Core/Config/Essentials/ConfigUpdater.cs @@ -16,13 +16,20 @@ using Serilog.Events; namespace PepperDash.Essentials.Core.Config { + /// + /// ConfigUpdater class + /// public static class ConfigUpdater { + /// + /// ConfigStatusChanged event + /// public static event EventHandler ConfigStatusChanged; /// /// GetConfigFromServer method /// + /// URL of the config server public static void GetConfigFromServer(string url) { Debug.LogMessage(LogEventLevel.Information, "Attempting to get new config from '{0}'", url); @@ -210,13 +217,44 @@ namespace PepperDash.Essentials.Core.Config /// public enum eUpdateStatus { + /// + /// UpdateStarted status + /// UpdateStarted, + + /// + /// ConfigFileReceived status + /// ConfigFileReceived, + + /// + /// ArchivingConfigs status + /// ArchivingConfigs, + + /// + /// DeletingLocalConfig status + /// DeletingLocalConfig, + + /// + /// WritingConfigFile status + /// WritingConfigFile, + + /// + /// RestartingProgram status + /// RestartingProgram, + + /// + /// UpdateSucceeded status + /// UpdateSucceeded, + + /// + /// UpdateFailed status + /// UpdateFailed } @@ -230,6 +268,10 @@ namespace PepperDash.Essentials.Core.Config /// public eUpdateStatus UpdateStatus { get; private set; } + /// + /// ConfigStatusEventArgs Constructor + /// + /// public ConfigStatusEventArgs(eUpdateStatus status) { UpdateStatus = status; diff --git a/src/PepperDash.Essentials.Core/Config/Essentials/ConfigWriter.cs b/src/PepperDash.Essentials.Core/Config/Essentials/ConfigWriter.cs index 665da856..93517a3c 100644 --- a/src/PepperDash.Essentials.Core/Config/Essentials/ConfigWriter.cs +++ b/src/PepperDash.Essentials.Core/Config/Essentials/ConfigWriter.cs @@ -18,22 +18,29 @@ namespace PepperDash.Essentials.Core.Config /// public class ConfigWriter { + /// + /// LocalConfigFolder constant + /// public const string LocalConfigFolder = "LocalConfig"; + /// + /// WriteTimeout constant + /// public const long WriteTimeout = 30000; + /// + /// WriteTimer variable + /// public static CTimer WriteTimer; + static CCriticalSection fileLock = new CCriticalSection(); /// /// Updates the config properties of a device /// - /// - /// - /// - /// - /// UpdateDeviceProperties method - /// + /// The key of the device to update + /// The new properties for the device + /// True if the update was successful, otherwise false public static bool UpdateDeviceProperties(string deviceKey, JToken properties) { bool success = false; @@ -59,6 +66,8 @@ namespace PepperDash.Essentials.Core.Config /// /// UpdateDeviceConfig method /// + /// The new device config + /// True if the update was successful, otherwise false public static bool UpdateDeviceConfig(DeviceConfig config) { bool success = false; @@ -82,6 +91,8 @@ namespace PepperDash.Essentials.Core.Config /// /// UpdateRoomConfig method /// + /// The new room config + /// True if the update was successful, otherwise false public static bool UpdateRoomConfig(DeviceConfig config) { bool success = false; @@ -118,7 +129,6 @@ namespace PepperDash.Essentials.Core.Config /// /// Writes the current config to a file in the LocalConfig subfolder /// - /// private static void WriteConfigFile(object o) { var filePath = Global.FilePathPrefix + LocalConfigFolder + Global.DirectorySeparator + "configurationFile.json"; @@ -129,13 +139,10 @@ namespace PepperDash.Essentials.Core.Config } /// - /// Writes - /// - /// - /// - /// - /// WriteFile method + /// Writes the current config data to a file /// + /// The file path to write to + /// The config data to write public static void WriteFile(string filePath, string configData) { if (WriteTimer != null) diff --git a/src/PepperDash.Essentials.Core/Config/ILoadConfig.cs b/src/PepperDash.Essentials.Core/Config/ILoadConfig.cs index 9780bd44..ed6ff61f 100644 --- a/src/PepperDash.Essentials.Core/Config/ILoadConfig.cs +++ b/src/PepperDash.Essentials.Core/Config/ILoadConfig.cs @@ -11,6 +11,9 @@ namespace PepperDash.Essentials.Core /// public interface ILoadConfig { + /// + /// GoWithLoad method + /// void GoWithLoad(); } } diff --git a/src/PepperDash.Essentials.Core/Config/InfoConfig.cs b/src/PepperDash.Essentials.Core/Config/InfoConfig.cs index 8c506f17..1ce2c60b 100644 --- a/src/PepperDash.Essentials.Core/Config/InfoConfig.cs +++ b/src/PepperDash.Essentials.Core/Config/InfoConfig.cs @@ -12,45 +12,57 @@ namespace PepperDash.Essentials.Core.Config /// public class InfoConfig { + /// + /// Gets or sets the Name + /// [JsonProperty("name")] public string Name { get; set; } + /// + /// Gets or sets the Date + /// [JsonProperty("date")] public DateTime Date { get; set; } + /// + /// Gets or sets the Type + /// [JsonProperty("type")] public string Type { get; set; } + /// + /// Gets or sets the Version + /// [JsonProperty("version")] - /// - /// Gets or sets the Version - /// public string Version { get; set; } - [JsonProperty("runtimeInfo")] /// /// Gets or sets the RuntimeInfo /// + [JsonProperty("runtimeInfo")] public RuntimeInfo RuntimeInfo { get; set; } + /// + /// Gets or sets the Comment + /// [JsonProperty("comment")] - /// - /// Gets or sets the Comment - /// public string Comment { get; set; } - [JsonProperty("hostname")] /// /// Gets or sets the HostName /// + [JsonProperty("hostname")] public string HostName { get; set; } - [JsonProperty("appNumber")] /// /// Gets or sets the AppNumber /// + [JsonProperty("appNumber")] public uint AppNumber { get; set; } + /// + /// InfoConfig Constructor + /// public InfoConfig() { Name = ""; diff --git a/src/PepperDash.Essentials.Core/Crestron/CrestronGenericBaseDevice.cs b/src/PepperDash.Essentials.Core/Crestron/CrestronGenericBaseDevice.cs index 28f840ee..bdb3e461 100644 --- a/src/PepperDash.Essentials.Core/Crestron/CrestronGenericBaseDevice.cs +++ b/src/PepperDash.Essentials.Core/Crestron/CrestronGenericBaseDevice.cs @@ -9,8 +9,14 @@ using Serilog.Events; namespace PepperDash.Essentials.Core { + /// + /// Abstract base class for Crestron GenericBase devices + /// public abstract class CrestronGenericBaseDevice : EssentialsDevice, IOnline, IHasFeedback, ICommunicationMonitor, IUsageTracking { + /// + /// Gets or sets the Hardware + /// protected GenericBase Hardware; /// @@ -18,24 +24,32 @@ namespace PepperDash.Essentials.Core /// public FeedbackCollection Feedbacks { get; private set; } - /// - /// Gets or sets the IsOnline - /// + /// + /// Gets or sets the IsOnline + /// public BoolFeedback IsOnline { get; private set; } - /// - /// Gets or sets the IsRegistered - /// + + /// + /// Gets or sets the IsRegistered + /// public BoolFeedback IsRegistered { get; private set; } - /// - /// Gets or sets the IpConnectionsText - /// + + /// + /// Gets or sets the IpConnectionsText + /// public StringFeedback IpConnectionsText { get; private set; } - /// - /// Gets or sets the PreventRegistration - /// + /// + /// Gets or sets the PreventRegistration + /// public bool PreventRegistration { get; protected set; } + /// + /// Constructor + /// + /// key of the device + /// name of the device + /// hardware instance protected CrestronGenericBaseDevice(string key, string name, GenericBase hardware) : base(key, name) { @@ -50,6 +64,11 @@ namespace PepperDash.Essentials.Core CommunicationMonitor = new CrestronGenericBaseCommunicationMonitor(this, hardware, 120000, 300000); } + /// + /// Constructor without hardware instance + /// + /// key of the device + /// name of the device protected CrestronGenericBaseDevice(string key, string name) : base(key, name) { @@ -57,6 +76,10 @@ namespace PepperDash.Essentials.Core } + /// + /// Registers the Crestron GenericBase hardware instance + /// + /// hardware instance protected void RegisterCrestronGenericBase(GenericBase hardware) { Hardware = hardware; @@ -68,10 +91,10 @@ namespace PepperDash.Essentials.Core CommunicationMonitor = new CrestronGenericBaseCommunicationMonitor(this, hardware, 120000, 300000); } - /// - /// CustomActivate method - /// - /// + /// + /// CustomActivate method + /// + /// public override bool CustomActivate() { Debug.LogMessage(LogEventLevel.Information, this, "Activating"); @@ -118,11 +141,7 @@ namespace PepperDash.Essentials.Core /// /// This disconnects events and unregisters the base hardware device. /// - /// - /// - /// Deactivate method - /// - /// + /// true if successful, otherwise false public override bool Deactivate() { CommunicationMonitor.Stop(); @@ -138,10 +157,7 @@ namespace PepperDash.Essentials.Core /// /// Adds feedback(s) to the list /// - /// - /// - /// AddToFeedbackList method - /// + /// feedback(s) to be added to the list public void AddToFeedbackList(params Feedback[] newFbs) { foreach (var f in newFbs) @@ -173,9 +189,9 @@ namespace PepperDash.Essentials.Core #region IStatusMonitor Members - /// - /// Gets or sets the CommunicationMonitor - /// + /// + /// Gets or sets the CommunicationMonitor + /// public StatusMonitorBase CommunicationMonitor { get; private set; } #endregion @@ -189,29 +205,57 @@ namespace PepperDash.Essentials.Core #endregion } + /// + /// Abstract base class for Crestron GenericBase devices that are bridgeable + /// public abstract class CrestronGenericBridgeableBaseDevice : CrestronGenericBaseDevice, IBridgeAdvanced { + + /// + /// Constructor + /// + /// key of the device + /// name of the device + /// hardware instance protected CrestronGenericBridgeableBaseDevice(string key, string name, GenericBase hardware) : base(key, name, hardware) { } + /// + /// Constructor without hardware instance + /// + /// key of the device + /// name of the device protected CrestronGenericBridgeableBaseDevice(string key, string name) : base(key, name) { } - + /// + /// Links to API + /// + /// the trilist + /// the starting join number + /// the join map key + /// the bridge instance public abstract void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge); } //*********************************************************************************** - /// - /// Represents a CrestronGenericBaseDeviceEventIds - /// + /// + /// Represents a CrestronGenericBaseDeviceEventIds + /// public class CrestronGenericBaseDeviceEventIds { + /// + /// IsOnline event ID + /// public const uint IsOnline = 1; + + /// + /// IpConnectionsText event ID + /// public const uint IpConnectionsText =2; } @@ -220,9 +264,11 @@ namespace PepperDash.Essentials.Core /// public static class GenericBaseExtensions { - /// - /// RegisterWithLogging method - /// + /// + /// RegisterWithLogging method + /// + /// the GenericBase device + /// the device key public static eDeviceRegistrationUnRegistrationResponse RegisterWithLogging(this GenericBase device, string key) { var result = device.Register(); diff --git a/src/PepperDash.Essentials.Core/CrestronIO/GenericRelayDevice.cs b/src/PepperDash.Essentials.Core/CrestronIO/GenericRelayDevice.cs index 63221fe7..a41e1411 100644 --- a/src/PepperDash.Essentials.Core/CrestronIO/GenericRelayDevice.cs +++ b/src/PepperDash.Essentials.Core/CrestronIO/GenericRelayDevice.cs @@ -21,11 +21,22 @@ namespace PepperDash.Essentials.Core.CrestronIO [Description("Wrapper class for a Relay")] public class GenericRelayDevice : EssentialsBridgeableDevice, ISwitchedOutput { + /// + /// The RelayOutput controlled by this device + /// public Relay RelayOutput { get; private set; } + /// + /// Feedback to indicate whether the output is on + /// public BoolFeedback OutputIsOnFeedback { get; private set; } //Maintained for compatibility with PepperDash.Essentials.Core.Devices.CrestronProcessor + /// + /// Constructor for GenericRelayDevice + /// + /// key of the device + /// Relay output controlled by this device public GenericRelayDevice(string key, Relay relay) : base(key) { @@ -37,6 +48,13 @@ namespace PepperDash.Essentials.Core.CrestronIO RelayOutput.StateChange += RelayOutput_StateChange; } + /// + /// Constructor for GenericRelayDevice + /// + /// key of the device + /// name of the device + /// function to get the relay output + /// IO port configuration public GenericRelayDevice(string key, string name, Func postActivationFunc, IOPortConfig config) : base(key, name) @@ -212,6 +230,9 @@ namespace PepperDash.Essentials.Core.CrestronIO /// public class GenericRelayDeviceFactory : EssentialsDeviceFactory { + /// + /// Constructor for GenericRelayDeviceFactory + /// public GenericRelayDeviceFactory() { TypeNames = new List() { "relayoutput" }; diff --git a/src/PepperDash.Essentials.Core/CrestronIO/IDigitalInput.cs b/src/PepperDash.Essentials.Core/CrestronIO/IDigitalInput.cs index 7c63b92c..8e1b4c18 100644 --- a/src/PepperDash.Essentials.Core/CrestronIO/IDigitalInput.cs +++ b/src/PepperDash.Essentials.Core/CrestronIO/IDigitalInput.cs @@ -11,6 +11,9 @@ namespace PepperDash.Essentials.Core.CrestronIO /// public interface IDigitalInput { + /// + /// Feedback to indicate the state of the input + /// BoolFeedback InputStateFeedback { get; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/CrestronIO/IDigitalOutput.cs b/src/PepperDash.Essentials.Core/CrestronIO/IDigitalOutput.cs index b4151941..82aa0686 100644 --- a/src/PepperDash.Essentials.Core/CrestronIO/IDigitalOutput.cs +++ b/src/PepperDash.Essentials.Core/CrestronIO/IDigitalOutput.cs @@ -11,7 +11,15 @@ namespace PepperDash.Essentials.Core.CrestronIO /// public interface IDigitalOutput { + /// + /// Feedback to indicate the state of the output + /// BoolFeedback OutputStateFeedback { get; } + + /// + /// Sets the output state + /// + /// The desired state of the output void SetOutput(bool state); } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/CrestronIO/IHasCresnetBranches.cs b/src/PepperDash.Essentials.Core/CrestronIO/IHasCresnetBranches.cs index 4f70f914..ee86b5fe 100644 --- a/src/PepperDash.Essentials.Core/CrestronIO/IHasCresnetBranches.cs +++ b/src/PepperDash.Essentials.Core/CrestronIO/IHasCresnetBranches.cs @@ -13,6 +13,9 @@ namespace PepperDash.Essentials.Core /// public interface IHasCresnetBranches { + /// + /// Collection of Cresnet branches + /// CrestronCollection CresnetBranches { get; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/CrestronIO/ISwitchedOutput.cs b/src/PepperDash.Essentials.Core/CrestronIO/ISwitchedOutput.cs index 19f8e0df..30b4b8f9 100644 --- a/src/PepperDash.Essentials.Core/CrestronIO/ISwitchedOutput.cs +++ b/src/PepperDash.Essentials.Core/CrestronIO/ISwitchedOutput.cs @@ -13,14 +13,30 @@ namespace PepperDash.Essentials.Core.CrestronIO /// public interface ISwitchedOutput { + /// + /// Feedback to indicate whether the output is on + /// BoolFeedback OutputIsOnFeedback {get;} + /// + /// Turns the output on + /// void On(); + + /// + /// Turns the output off + /// void Off(); } + /// + /// Describes a collection of switched outputs + /// public interface ISwitchedOutputCollection { + /// + /// Dictionary of switched outputs by their port number + /// Dictionary SwitchedOutputs { get; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Device Info/DeviceInfoEventArgs.cs b/src/PepperDash.Essentials.Core/Device Info/DeviceInfoEventArgs.cs index 22cd3b0d..266b0d0b 100644 --- a/src/PepperDash.Essentials.Core/Device Info/DeviceInfoEventArgs.cs +++ b/src/PepperDash.Essentials.Core/Device Info/DeviceInfoEventArgs.cs @@ -12,11 +12,18 @@ namespace PepperDash.Essentials.Core.DeviceInfo /// public DeviceInfo DeviceInfo { get; set; } + /// + /// Constructor + /// public DeviceInfoEventArgs() { } + /// + /// Constructor with DeviceInfo + /// + /// the DeviceInfo instance public DeviceInfoEventArgs(DeviceInfo devInfo) { DeviceInfo = devInfo; diff --git a/src/PepperDash.Essentials.Core/Device Info/IDeviceInfoProvider.cs b/src/PepperDash.Essentials.Core/Device Info/IDeviceInfoProvider.cs index 4ac9e6c3..3f5a4735 100644 --- a/src/PepperDash.Essentials.Core/Device Info/IDeviceInfoProvider.cs +++ b/src/PepperDash.Essentials.Core/Device Info/IDeviceInfoProvider.cs @@ -8,10 +8,19 @@ namespace PepperDash.Essentials.Core.DeviceInfo /// public interface IDeviceInfoProvider:IKeyed { + /// + /// Gets the DeviceInfo + /// DeviceInfo DeviceInfo { get; } + /// + /// Event fired when DeviceInfo changes + /// event DeviceInfoChangeHandler DeviceInfoChanged; + /// + /// Updates the DeviceInfo + /// void UpdateDeviceInfo(); } diff --git a/src/PepperDash.Essentials.Core/Device Info/NetworkDeviceHelpers.cs b/src/PepperDash.Essentials.Core/Device Info/NetworkDeviceHelpers.cs index 32c987b3..79eaa018 100644 --- a/src/PepperDash.Essentials.Core/Device Info/NetworkDeviceHelpers.cs +++ b/src/PepperDash.Essentials.Core/Device Info/NetworkDeviceHelpers.cs @@ -8,6 +8,9 @@ using Serilog.Events; namespace PepperDash.Essentials.Core.DeviceInfo { + /// + /// Static class NetworkDeviceHelpers + /// public static class NetworkDeviceHelpers { /// @@ -167,7 +170,14 @@ namespace PepperDash.Essentials.Core.DeviceInfo /// public class ArpEntry { + /// + /// The IP Address of the ARP Entry + /// public readonly IPAddress IpAddress; + + /// + /// The MAC Address of the ARP Entry + /// public readonly string MacAddress; /// diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IAudioZone.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IAudioZone.cs index 593c2ea8..0ec65d79 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IAudioZone.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IAudioZone.cs @@ -5,6 +5,10 @@ namespace PepperDash.Essentials.Core /// public interface IAudioZone : IBasicVolumeWithFeedback { + /// + /// Selects the specified input + /// + /// The input to select void SelectInput(ushort input); } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IAudioZones.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IAudioZones.cs index 19c43fd8..540b7a03 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IAudioZones.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IAudioZones.cs @@ -7,6 +7,9 @@ namespace PepperDash.Essentials.Core /// public interface IAudioZones : IRouting { + /// + /// Gets the collection of audio zones + /// Dictionary Zone { get; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IBasicVolumeWithFeedback.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IBasicVolumeWithFeedback.cs index addee08a..679dce71 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IBasicVolumeWithFeedback.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IBasicVolumeWithFeedback.cs @@ -5,10 +5,30 @@ namespace PepperDash.Essentials.Core /// public interface IBasicVolumeWithFeedback : IBasicVolumeControls { + /// + /// Gets the mute feedback + /// BoolFeedback MuteFeedback { get; } + + /// + /// Mutes the volume + /// void MuteOn(); + + /// + /// Unmutes the volume + /// void MuteOff(); + + /// + /// Sets the volume to the specified level + /// + /// The volume level to set void SetVolume(ushort level); + + /// + /// Gets the mute feedback + /// IntFeedback VolumeLevelFeedback { get; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IBasicVolumeWithFeedbackAdvanced.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IBasicVolumeWithFeedbackAdvanced.cs index 5f51ce02..f0a018c5 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IBasicVolumeWithFeedbackAdvanced.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IBasicVolumeWithFeedbackAdvanced.cs @@ -5,8 +5,14 @@ namespace PepperDash.Essentials.Core /// public interface IBasicVolumeWithFeedbackAdvanced : IBasicVolumeWithFeedback { + /// + /// Gets the raw volume level + /// int RawVolumeLevel { get; } + /// + /// Gets the volume level units + /// eVolumeLevelUnits Units { get; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IChannel.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IChannel.cs index 09e0ac7a..c8c54006 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IChannel.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IChannel.cs @@ -7,26 +7,56 @@ using PepperDash.Essentials.Core.SmartObjects; namespace PepperDash.Essentials.Core { /// - /// + /// Defines the contract for IChannel /// public interface IChannel { + /// + /// Channel up + /// + /// indicates whether this is a press or release + /// void ChannelUp(bool pressRelease); + /// + /// Channel down + /// + /// indicates whether this is a press or release void ChannelDown(bool pressRelease); + + /// + /// Last channel + /// + /// indicates whether this is a press or release void LastChannel(bool pressRelease); + + /// + /// Guide + /// + /// indicates whether this is a press or release + /// void Guide(bool pressRelease); + + /// + /// Info + /// + /// indicates whether this is a press or release void Info(bool pressRelease); + + /// + /// Exit + /// + /// indicates whether this is a press or release void Exit(bool pressRelease); } /// - /// + /// IChannelExtensions class /// public static class IChannelExtensions { - /// - /// LinkButtons method - /// + /// + /// LinkButtons method + /// public static void LinkButtons(this IChannel dev, BasicTriList triList) { triList.SetBoolSigAction(123, dev.ChannelUp); @@ -37,9 +67,9 @@ namespace PepperDash.Essentials.Core triList.SetBoolSigAction(134, dev.Exit); } - /// - /// UnlinkButtons method - /// + /// + /// UnlinkButtons method + /// public static void UnlinkButtons(this IChannel dev, BasicTriList triList) { triList.ClearBoolSigAction(123); diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IColorFunctions.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IColorFunctions.cs index 0df2a97d..69acc8f6 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IColorFunctions.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IColorFunctions.cs @@ -7,24 +7,45 @@ using PepperDash.Essentials.Core.SmartObjects; namespace PepperDash.Essentials.Core { /// - /// + /// IColor interface /// public interface IColor { + /// + /// Red button + /// + /// indicates whether this is a press or release void Red(bool pressRelease); + + /// + /// Green button + /// + /// indicates whether this is a press or release void Green(bool pressRelease); + + /// + /// Yellow button + /// + /// indicates whether this is a press or release void Yellow(bool pressRelease); + + /// + /// Blue button + /// + /// indicates whether this is a press or release void Blue(bool pressRelease); } /// - /// + /// IColorExtensions class /// public static class IColorExtensions { - /// - /// LinkButtons method - /// + /// + /// LinkButtons method + /// + /// The IColor device + /// The BasicTriList to link public static void LinkButtons(this IColor dev, BasicTriList TriList) { TriList.SetBoolSigAction(155, dev.Red); @@ -33,9 +54,11 @@ namespace PepperDash.Essentials.Core TriList.SetBoolSigAction(158, dev.Blue); } - /// - /// UnlinkButtons method - /// + /// + /// UnlinkButtons method + /// + /// The IColor device + /// The BasicTriList to unlink public static void UnlinkButtons(this IColor dev, BasicTriList triList) { triList.ClearBoolSigAction(155); diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IDPad.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IDPad.cs index 4a070382..ec9362b8 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IDPad.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IDPad.cs @@ -11,23 +11,57 @@ namespace PepperDash.Essentials.Core /// public interface IDPad : IKeyed { + /// + /// Up button press + /// + /// determines if the button is pressed or released void Up(bool pressRelease); + + /// + /// Down button press + /// + /// determines if the button is pressed or released void Down(bool pressRelease); + + /// + /// Left button press + /// + /// determines if the button is pressed or released void Left(bool pressRelease); + + /// + /// Right button press + /// + /// determines if the button is pressed or released void Right(bool pressRelease); + + /// + /// Select button press + /// + /// determines if the button is pressed or released void Select(bool pressRelease); + + /// + /// Menu button press + /// + /// determines if the button is pressed or released void Menu(bool pressRelease); + + /// + /// Exit button press + /// + /// determines if the button is pressed or released void Exit(bool pressRelease); } /// - /// + /// IDPadExtensions class /// public static class IDPadExtensions { - /// - /// LinkButtons method - /// + /// + /// LinkButtons method + /// public static void LinkButtons(this IDPad dev, BasicTriList triList) { triList.SetBoolSigAction(138, dev.Up); @@ -39,9 +73,9 @@ namespace PepperDash.Essentials.Core triList.SetBoolSigAction(134, dev.Exit); } - /// - /// UnlinkButtons method - /// + /// + /// UnlinkButtons method + /// public static void UnlinkButtons(this IDPad dev, BasicTriList triList) { triList.ClearBoolSigAction(138); diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IDisplayBasic.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IDisplayBasic.cs index f191417c..b76d3145 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IDisplayBasic.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IDisplayBasic.cs @@ -11,15 +11,54 @@ namespace PepperDash.Essentials.Core.Devices.DeviceTypeInterfaces /// public interface IDisplayBasic { + /// + /// Sets the input to HDMI 1 + /// void InputHdmi1(); + + /// + /// Sets the input to HDMI 2 + /// void InputHdmi2(); + + /// + /// Sets the input to HDMI 3 + /// void InputHdmi3(); + + /// + /// Sets the input to HDMI 4 + /// void InputHdmi4(); + + /// + /// Sets the input to DisplayPort 1 + /// void InputDisplayPort1(); + + /// + /// Sets the input to DVI 1 + /// void InputDvi1(); + + /// + /// Sets the input to Video 1 + /// void InputVideo1(); + + /// + /// Sets the input to VGA 1 + /// void InputVga1(); + + /// + /// Sets the input to VGA 2 + /// void InputVga2(); + + /// + /// Sets the input to RGB 1 + /// void InputRgb1(); } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IDvr.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IDvr.cs index 214fa78b..527e8d46 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IDvr.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IDvr.cs @@ -16,24 +16,40 @@ namespace PepperDash.Essentials.Core /// public interface IDvr : IDPad { + /// + /// DVR List button press + /// + /// determines if the button is pressed or released void DvrList(bool pressRelease); + + /// + /// Record button press + /// + /// determines if the button is pressed or released void Record(bool pressRelease); } /// - /// + /// IDvrExtensions class /// public static class IDvrExtensions { - /// - /// LinkButtons method - /// + /// + /// LinkButtons method + /// + /// IDvr device + /// BasicTriList to link to public static void LinkButtons(this IDvr dev, BasicTriList triList) { triList.SetBoolSigAction(136, dev.DvrList); triList.SetBoolSigAction(152, dev.Record); } + /// + /// UnlinkButtons method + /// + /// IDvr device + /// BasicTriList to unlink from public static void UnlinkButtons(this IDvr dev, BasicTriList triList) { triList.ClearBoolSigAction(136); diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IEmergencyOSD.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IEmergencyOSD.cs index c24e3e7a..efc068b0 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IEmergencyOSD.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IEmergencyOSD.cs @@ -11,7 +11,15 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces /// public interface IEmergencyOSD { + /// + /// Shows an emergency message on the OSD + /// + /// The URL of the emergency message to display void ShowEmergencyMessage(string url); + + /// + /// Hides the emergency message from the OSD + /// void HideEmergencyMessage(); } } diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IFullAudioSettings.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IFullAudioSettings.cs index 5344dd6f..7036551c 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IFullAudioSettings.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IFullAudioSettings.cs @@ -5,37 +5,149 @@ namespace PepperDash.Essentials.Core /// public interface IFullAudioSettings : IBasicVolumeWithFeedback { + /// + /// SetBalance method + /// + /// level to set void SetBalance(ushort level); + + /// + /// BalanceLeft method + /// + /// determines if the button is pressed or released void BalanceLeft(bool pressRelease); + + /// + /// BalanceRight method + /// + /// determines if the button is pressed or released void BalanceRight(bool pressRelease); + /// + /// SetBass method + /// + /// level to set void SetBass(ushort level); + + /// + /// BassUp method + /// + /// determines if the button is pressed or released void BassUp(bool pressRelease); + + /// + /// BassDown method + /// + /// determines if the button is pressed or released void BassDown(bool pressRelease); + /// + /// SetTreble method + /// + /// level to set void SetTreble(ushort level); + + /// + /// TrebleUp method + /// + /// determines if the button is pressed or released void TrebleUp(bool pressRelease); + + /// + /// TrebleDown method + /// + /// determines if the button is pressed or released void TrebleDown(bool pressRelease); + /// + /// hasMaxVolume property + /// bool hasMaxVolume { get; } + + /// + /// SetMaxVolume method + /// + /// level to set void SetMaxVolume(ushort level); + + /// + /// MaxVolumeUp method + /// + /// determines if the button is pressed or released void MaxVolumeUp(bool pressRelease); + + /// + /// MaxVolumeDown method + /// + /// determines if the button is pressed or released void MaxVolumeDown(bool pressRelease); + /// + /// hasDefaultVolume property + /// bool hasDefaultVolume { get; } + + /// + /// SetDefaultVolume method + /// + /// level to set void SetDefaultVolume(ushort level); + + /// + /// DefaultVolumeUp method + /// + /// determines if the button is pressed or released void DefaultVolumeUp(bool pressRelease); + + /// + /// DefaultVolumeDown method + /// + /// determines if the button is pressed or released void DefaultVolumeDown(bool pressRelease); + /// + /// LoudnessToggle method + /// void LoudnessToggle(); + + /// + /// MonoToggle method + /// void MonoToggle(); + /// + /// LoudnessFeedback property + /// BoolFeedback LoudnessFeedback { get; } + + /// + /// MonoFeedback property + /// BoolFeedback MonoFeedback { get; } + + /// + /// BalanceFeedback property + /// IntFeedback BalanceFeedback { get; } + + /// + /// BassFeedback property + /// IntFeedback BassFeedback { get; } + + /// + /// TrebleFeedback property + /// IntFeedback TrebleFeedback { get; } + + /// + /// MaxVolumeFeedback property + /// IntFeedback MaxVolumeFeedback { get; } + + /// + /// DefaultVolumeFeedback property + /// IntFeedback DefaultVolumeFeedback { get; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasBranding.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasBranding.cs index 299f1431..c05ef572 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasBranding.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasBranding.cs @@ -7,7 +7,15 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces /// public interface IHasBranding { + /// + /// Gets whether branding is enabled + /// bool BrandingEnabled { get; } + + /// + /// Initializes branding for the device + /// + /// The key identifying the room for branding purposes void InitializeBranding(string roomKey); } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasCurrentVolumeControls.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasCurrentVolumeControls.cs index e6b1d7a3..8239f2d5 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasCurrentVolumeControls.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasCurrentVolumeControls.cs @@ -7,11 +7,24 @@ namespace PepperDash.Essentials.Core /// public interface IHasCurrentVolumeControls { + /// + /// CurrentVolumeControls property + /// IBasicVolumeControls CurrentVolumeControls { get; } + + /// + /// CurrentVolumeDeviceChange event + /// event EventHandler CurrentVolumeDeviceChange; + /// + /// SetDefaultLevels method + /// void SetDefaultLevels(); + /// + /// ZeroVolumeWhenSwtichingVolumeDevices property + /// bool ZeroVolumeWhenSwtichingVolumeDevices { get; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasFarEndContentStatus.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasFarEndContentStatus.cs index 114665db..5a8f66ee 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasFarEndContentStatus.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasFarEndContentStatus.cs @@ -5,6 +5,9 @@ /// public interface IHasFarEndContentStatus { + /// + /// Gets whether far end content is being received + /// BoolFeedback ReceivingContent { get; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasInputs.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasInputs.cs index ff9511fa..42e97b4b 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasInputs.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasInputs.cs @@ -11,6 +11,9 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces /// public interface IHasInputs : IKeyName { + /// + /// Gets the collection of inputs + /// ISelectableItems Inputs { get; } } } diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasMuteControl.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasMuteControl.cs index 4a89d8cf..20867868 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasMuteControl.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasMuteControl.cs @@ -5,6 +5,9 @@ namespace PepperDash.Essentials.Core /// public interface IHasMuteControl { + /// + /// MuteToggle method + /// void MuteToggle(); } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasMuteControlWithFeedback.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasMuteControlWithFeedback.cs index 5278541a..eb71b40f 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasMuteControlWithFeedback.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasMuteControlWithFeedback.cs @@ -5,8 +5,19 @@ namespace PepperDash.Essentials.Core /// public interface IHasMuteControlWithFeedback : IHasMuteControl { + /// + /// MuteFeedback property + /// BoolFeedback MuteFeedback { get; } + + /// + /// MuteOn method + /// void MuteOn(); + + /// + /// MuteOff method + /// void MuteOff(); } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasPhoneDialing.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasPhoneDialing.cs index 80fdcbe4..b884092b 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasPhoneDialing.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasPhoneDialing.cs @@ -8,11 +8,36 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces /// public interface IHasPhoneDialing { + /// + /// Feedback that indicates whether the phone is off-hook + /// BoolFeedback PhoneOffHookFeedback { get; } + + /// + /// Feedback that provides the caller ID name + /// StringFeedback CallerIdNameFeedback { get; } + + /// + /// Feedback that provides the caller ID number + /// StringFeedback CallerIdNumberFeedback { get; } + + /// + /// Dials a phone call to the specified number + /// + /// the number to dial void DialPhoneCall(string number); + + /// + /// Ends the current phone call + /// void EndPhoneCall(); + + /// + /// Sends a DTMF digit to the phone + /// + /// the DTMF digit to send void SendDtmfToPhone(string digit); } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasSurroundSoundModes.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasSurroundSoundModes.cs index c1c4ec86..45b24f8b 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasSurroundSoundModes.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasSurroundSoundModes.cs @@ -11,10 +11,18 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces /// Describes a device that has selectable surround sound modes /// /// the type to use as the key for each input item. Most likely an enum or string + /// the type used to select an item. Most likely an enum or string public interface IHasSurroundSoundModes: IKeyName { + /// + /// The available surround sound modes + /// ISelectableItems SurroundSoundModes { get; } + /// + /// The currently selected surround sound mode + /// + /// the selector for the surround sound mode void SetSurroundSoundMode(TSelector selector); } } diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasVolumeControl.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasVolumeControl.cs index eae458a3..aff866de 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasVolumeControl.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasVolumeControl.cs @@ -5,7 +5,16 @@ namespace PepperDash.Essentials.Core /// public interface IHasVolumeControl { + /// + /// VolumeUp method + /// + /// determines if the volume up command is a press or release action void VolumeUp(bool pressRelease); + + /// + /// VolumeDown method + /// + /// determines if the volume down command is a press or release action void VolumeDown(bool pressRelease); } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasVolumeControlWithFeedback.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasVolumeControlWithFeedback.cs index a021edb1..fe3f5440 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasVolumeControlWithFeedback.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasVolumeControlWithFeedback.cs @@ -5,7 +5,15 @@ namespace PepperDash.Essentials.Core /// public interface IHasVolumeControlWithFeedback : IHasVolumeControl { + /// + /// SetVolume method + /// + /// The volume level to set void SetVolume(ushort level); + + /// + /// VolumeLevelFeedback property + /// IntFeedback VolumeLevelFeedback { get; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasVolumeDevice.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasVolumeDevice.cs index 706271aa..3012da19 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasVolumeDevice.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasVolumeDevice.cs @@ -5,6 +5,9 @@ namespace PepperDash.Essentials.Core /// public interface IHasVolumeDevice { + /// + /// VolumeDevice property + /// IBasicVolumeControls VolumeDevice { get; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasWebView.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasWebView.cs index 3d95504c..be751f41 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasWebView.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasWebView.cs @@ -11,9 +11,28 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces /// public interface IHasWebView { + /// + /// Indicates whether the webview is currently visible + /// bool WebviewIsVisible { get; } + + /// + /// Shows the webview with the specified parameters + /// + /// the URL to display in the webview + /// the display mode for the webview + /// the title to display on the webview + /// the target for the webview void ShowWebView(string url, string mode, string title, string target); + + /// + /// Hides the webview + /// void HideWebView(); + + /// + /// Event raised when the webview status changes + /// event EventHandler WebViewStatusChanged; } @@ -27,6 +46,10 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces /// public string Status { get; } + /// + /// Constructor for WebViewStatusChangedEventArgs + /// + /// the new status of the webview public WebViewStatusChangedEventArgs(string status) { Status = status; diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ILanguageDefinition.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ILanguageDefinition.cs index 6a168f2d..f02c0e05 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ILanguageDefinition.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ILanguageDefinition.cs @@ -8,14 +8,49 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces /// public interface ILanguageDefinition { + /// + /// The locale name for the language definition + /// string LocaleName { get; set; } + + /// + /// The friendly name for the language definition + /// string FriendlyName { get; set; } + + /// + /// Indicates whether the language definition is enabled + /// bool Enable { get; set; } + + /// + /// The UI labels for the language definition + /// List UiLabels { get; set; } + + /// + /// The source and destination labels for the language definition + /// List Sources { get; set; } + + /// + /// The destination labels for the language definition + /// List Destinations { get; set; } + + /// + /// The source group names for the language definition + /// List SourceGroupNames { get; set; } + + /// + /// The destination group names for the language definition + /// List DestinationGroupNames { get; set; } + + /// + /// The room names for the language definition + /// List RoomNames { get; set; } } } diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ILanguageProvider.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ILanguageProvider.cs index ea6afe3b..9ac22d2b 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ILanguageProvider.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ILanguageProvider.cs @@ -8,8 +8,14 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces /// public interface ILanguageProvider { + /// + /// The current language definition + /// ILanguageDefinition CurrentLanguage { get; set; } + /// + /// Event raised when the current language changes + /// event EventHandler CurrentLanguageChanged; } diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ILevelControls.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ILevelControls.cs index 34c87419..e0a1081f 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ILevelControls.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ILevelControls.cs @@ -11,6 +11,9 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces /// public interface ILevelControls { + /// + /// The level control points + /// Dictionary LevelControlPoints { get; } } } diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IMobileControlAction.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IMobileControlAction.cs index 982deaae..86a3d61a 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IMobileControlAction.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IMobileControlAction.cs @@ -8,8 +8,14 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces /// public interface IMobileControlAction { + /// + /// The messenger to use for mobile control actions + /// IMobileControlMessenger Messenger { get; } + /// + /// The action to perform for mobile control actions + /// Action Action { get; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IMobileControlMessage.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IMobileControlMessage.cs index 41645da2..326eb38d 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IMobileControlMessage.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IMobileControlMessage.cs @@ -3,14 +3,26 @@ using Newtonsoft.Json.Linq; namespace PepperDash.Essentials.Core.DeviceTypeInterfaces { + /// + /// Defines the contract for IMobileControlMessage + /// public interface IMobileControlMessage { + /// + /// The type of mobile control message + /// [JsonProperty("type")] string Type { get; } + /// + /// The client ID for the mobile control message + /// [JsonProperty("clientId", NullValueHandling = NullValueHandling.Ignore)] string ClientId { get; } + /// + /// The content of the mobile control message + /// [JsonProperty("content", NullValueHandling = NullValueHandling.Ignore)] JToken Content { get; } diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IMobileControlRoomMessenger.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IMobileControlRoomMessenger.cs index 6f4d9a17..9a0a5517 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IMobileControlRoomMessenger.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IMobileControlRoomMessenger.cs @@ -8,26 +8,60 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces /// public interface IMobileControlRoomMessenger : IKeyed { + /// + /// Raised when the user code changes + /// event EventHandler UserCodeChanged; + /// + /// Raised when the user is prompted for the code + /// event EventHandler UserPromptedForCode; + /// + /// Raised when a client joins the room + /// event EventHandler ClientJoined; + /// + /// Raised when the app url changes + /// event EventHandler AppUrlChanged; + /// + /// The user code for joining the room + /// string UserCode { get; } + /// + /// The QR code URL for joining the room + /// string QrCodeUrl { get; } + /// + /// The QR code checksum + /// string QrCodeChecksum { get; } + /// + /// The Mobile Control server URL + /// string McServerUrl { get; } + /// + /// The name of the room + /// string RoomName { get; } + /// + /// The Mobile Control app URL + /// string AppUrl { get; } + /// + /// Updates the url of the Mobile Control app + /// + /// The new URL of the Mobile Control app void UpdateAppUrl(string url); } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/INumeric.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/INumeric.cs index 3adb7f4e..fc0fca99 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/INumeric.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/INumeric.cs @@ -10,37 +10,119 @@ namespace PepperDash.Essentials.Core /// public interface INumericKeypad:IKeyed { + /// + /// Digit buttons 0 + /// + /// determines if the digit button command is a press or release action void Digit0(bool pressRelease); + + /// + /// Digit buttons 1 + /// + /// determines if the digit button command is a press or release action void Digit1(bool pressRelease); + + /// + /// Digit buttons 2 + /// + /// determines if the digit button command is a press or release action void Digit2(bool pressRelease); + + /// + /// Digit buttons 3 + /// + /// determines if the digit button command is a press or release action void Digit3(bool pressRelease); + + /// + /// Digit buttons 4 + /// + /// void Digit4(bool pressRelease); + + /// + /// Digit buttons 5 + /// + /// determines if the digit button command is a press or release action void Digit5(bool pressRelease); + + /// + /// Digit buttons 6 + /// + /// determines if the digit button command is a press or release action void Digit6(bool pressRelease); + + /// + /// Digit buttons 7 + /// + /// determines if the digit button command is a press or release action void Digit7(bool pressRelease); + + /// + /// Digit buttons 8 + /// + /// determines if the digit button command is a press or release action void Digit8(bool pressRelease); + + /// + /// Digit buttons 9 + /// + /// determines if the digit button command is a press or release action void Digit9(bool pressRelease); /// /// Used to hide/show the button and/or text on the left-hand keypad button /// bool HasKeypadAccessoryButton1 { get; } + + /// + /// Label for the left-hand keypad button + /// string KeypadAccessoryButton1Label { get; } + + /// + /// Left-hand keypad button action + /// + /// determines if the button command is a press or release action void KeypadAccessoryButton1(bool pressRelease); + /// + /// Used to hide/show the button and/or text on the right-hand keypad button + /// bool HasKeypadAccessoryButton2 { get; } + + /// + /// Label for the right-hand keypad button + /// string KeypadAccessoryButton2Label { get; } + + /// + /// Right-hand keypad button action + /// + /// determines if the button command is a press or release action void KeypadAccessoryButton2(bool pressRelease); } + /// + /// Defines the contract for ISetTopBoxNumericKeypad + /// public interface ISetTopBoxNumericKeypad : INumericKeypad { + /// + /// Dash button action + /// + /// determines if the button command is a press or release action void Dash(bool pressRelease); + + /// + /// Keypad Enter button action + /// + /// determines if the button command is a press or release action void KeypadEnter(bool pressRelease); } /// - /// + /// INumericExtensions class /// public static class INumericExtensions { @@ -65,9 +147,9 @@ namespace PepperDash.Essentials.Core trilist.StringInput[111].StringValue = dev.KeypadAccessoryButton2Label; } - /// - /// UnlinkButtons method - /// + /// + /// UnlinkButtons method + /// public static void UnlinkButtons(this INumericKeypad dev, BasicTriList trilist) { trilist.ClearBoolSigAction(110); diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IPasswordPrompt.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IPasswordPrompt.cs index 31e7acaf..2ee85341 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IPasswordPrompt.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IPasswordPrompt.cs @@ -19,10 +19,13 @@ namespace PepperDash.Essentials.Core /// /// Submits the password /// - /// + /// The password to submit void SubmitPassword(string password); } + /// + /// PasswordPromptEventArgs class + /// public class PasswordPromptEventArgs : EventArgs { /// @@ -45,6 +48,13 @@ namespace PepperDash.Essentials.Core /// public string Message { get; private set; } + /// + /// Constructor + /// + /// indicates if the last submitted password was incorrect + /// indicates if the login attempt failed + /// indicates if the login attempt was cancelled + /// provides a message related to the password prompt public PasswordPromptEventArgs(bool lastAttemptIncorrect, bool loginFailed, bool loginCancelled, string message) { LastAttemptWasIncorrect = lastAttemptIncorrect; diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IPower.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IPower.cs index 79c58fa2..b94a64ed 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IPower.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IPower.cs @@ -19,6 +19,9 @@ namespace PepperDash.Essentials.Core /// public interface IHasPowerControlWithFeedback : IHasPowerControl { + /// + /// Feedback indicating whether the device is powered on + /// BoolFeedback PowerIsOnFeedback { get; } } @@ -27,13 +30,24 @@ namespace PepperDash.Essentials.Core /// public interface IHasPowerControl { + /// + /// Powers the device on + /// void PowerOn(); + + /// + /// Powers the device off + /// void PowerOff(); + + /// + /// Toggles the power state of the device + /// void PowerToggle(); } /// - /// + /// IHasPowerControlExtensions class /// public static class IHasPowerControlExtensions { diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IProjectorScreenLiftControl.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IProjectorScreenLiftControl.cs index 1d5d20da..56aef09e 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IProjectorScreenLiftControl.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IProjectorScreenLiftControl.cs @@ -5,26 +5,60 @@ using Newtonsoft.Json.Converters; namespace PepperDash.Essentials.Core.DeviceTypeInterfaces { - /// - /// Defines the contract for IProjectorScreenLiftControl - /// + /// + /// Defines the contract for IProjectorScreenLiftControl + /// public interface IProjectorScreenLiftControl { + /// + /// Raises the screen/lift + /// void Raise(); + + /// + /// Lowers the screen/lift + /// void Lower(); + + /// + /// Stops the screen/lift + /// BoolFeedback IsInUpPosition { get; } + + /// + /// Gets whether the screen/lift is in the up position + /// bool InUpPosition { get; } + + /// + /// Gets whether the screen/lift is in the down position + /// event EventHandler PositionChanged; + + /// + /// The device key of the display associated with this screen/lift + /// string DisplayDeviceKey { get; } + + /// + /// The type of device + /// eScreenLiftControlType Type { get; } // screen/lift } - /// - /// Enumeration of eScreenLiftControlType values - /// + /// + /// Enumeration of eScreenLiftControlType values + /// public enum eScreenLiftControlType { + /// + /// Lift type device + /// lift, + + /// + /// Screen type device + /// screen } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ISelectableItem.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ISelectableItem.cs index 8d99b959..ff05188e 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ISelectableItem.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ISelectableItem.cs @@ -10,10 +10,20 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces /// public interface ISelectableItem : IKeyName { + /// + /// Raised when the item is updated + /// event EventHandler ItemUpdated; + /// + /// Gets or sets whether the item is selected + /// [JsonProperty("isSelected")] bool IsSelected { get; set; } + + /// + /// Selects the item + /// void Select(); } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ISelectableItems.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ISelectableItems.cs index f3d2beec..c955a56f 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ISelectableItems.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ISelectableItems.cs @@ -9,12 +9,25 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces /// public interface ISelectableItems where TValue : ISelectableItem { + /// + /// Raised when the items are updated + /// event EventHandler ItemsUpdated; + + /// + /// Raised when the current item changes + /// event EventHandler CurrentItemChanged; + /// + /// Gets or sets the collection of selectable items + /// [JsonProperty("items")] Dictionary Items { get; set; } + /// + /// Gets or sets the current selected item key + /// [JsonProperty("currentItem")] TKey CurrentItem { get; set; } @@ -24,9 +37,6 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces /// Describes a collection of items that can be selected /// /// type for the keys in the collection. Probably a string or enum - /// - /// Defines the contract for ISelectableItems - /// public interface ISelectableItems : ISelectableItems { } diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ISetTopBoxControls.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ISetTopBoxControls.cs index 646aab93..d8bf969e 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ISetTopBoxControls.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ISetTopBoxControls.cs @@ -5,9 +5,9 @@ using PepperDash.Essentials.Core.SmartObjects; namespace PepperDash.Essentials.Core { - /// - /// Defines the contract for ISetTopBoxControls - /// + /// + /// Defines the contract for ISetTopBoxControls + /// public interface ISetTopBoxControls : IChannel, IColor, IDPad, ISetTopBoxNumericKeypad, ITransport, IUiDisplayInfo { @@ -31,27 +31,51 @@ namespace PepperDash.Essentials.Core /// bool HasDpad { get; } + /// + /// TV Presets model + /// PepperDash.Essentials.Core.Presets.DevicePresetsModel TvPresets { get; } + + /// + /// LoadPresets method + /// + /// path to file that contains the presets void LoadPresets(string filePath); + /// + /// DvrList button action + /// + /// determines if the button action is a press or release void DvrList(bool pressRelease); + + /// + /// Replay button action + /// + /// determines if the button action is a press or release void Replay(bool pressRelease); } + /// + /// ISetTopBoxControlsExtensions class + /// public static class ISetTopBoxControlsExtensions { - /// - /// LinkButtons method - /// + /// + /// LinkButtons method + /// + /// The ISetTopBoxControls device + /// The BasicTriList to link buttons to public static void LinkButtons(this ISetTopBoxControls dev, BasicTriList triList) { triList.SetBoolSigAction(136, dev.DvrList); triList.SetBoolSigAction(152, dev.Replay); } - /// - /// UnlinkButtons method - /// + /// + /// UnlinkButtons method + /// + /// The ISetTopBoxControls device + /// The BasicTriList to unlink buttons from public static void UnlinkButtons(this ISetTopBoxControls dev, BasicTriList triList) { triList.ClearBoolSigAction(136); diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ITemperatureSensor.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ITemperatureSensor.cs index f77a2ef8..897855b4 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ITemperatureSensor.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ITemperatureSensor.cs @@ -17,9 +17,15 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces /// IntFeedback TemperatureFeedback { get; } - + /// + /// The temperature in Celsius format + /// BoolFeedback TemperatureInCFeedback { get; } + /// + /// Sets the temperature format to Celsius or Fahrenheit + /// + /// If true, sets the format to Celsius; otherwise, sets it to Fahrenheit. void SetTemperatureFormat(bool setToC); } } diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ITransport.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ITransport.cs index 1a8f2a2b..917a4b19 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ITransport.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ITransport.cs @@ -7,25 +7,65 @@ namespace PepperDash.Essentials.Core /// public interface ITransport { + /// + /// Play button action + /// + /// determines if the button action is a press or release void Play(bool pressRelease); + + /// + /// Pause button action + /// + /// determines if the button action is a press or release void Pause(bool pressRelease); + + /// + /// Rewind button action + /// + /// determines if the button action is a press or release void Rewind(bool pressRelease); + + /// + /// Fast Forward button action + /// + /// determines if the button action is a press or release void FFwd(bool pressRelease); + + /// + /// Chapter Minus button action + /// + /// determines if the button action is a press or release void ChapMinus(bool pressRelease); + + /// + /// Chapter Plus button action + /// + /// determines if the button action is a press or release void ChapPlus(bool pressRelease); + + /// + /// Stop button action + /// + /// determines if the button action is a press or release void Stop(bool pressRelease); + + /// + /// Record button action + /// + /// determines if the button action is a press or release void Record(bool pressRelease); } /// - /// + /// ITransportExtensions class /// public static class ITransportExtensions { /// /// Attaches to trilist joins: Play:145, Pause:146, Stop:147, ChapPlus:148, ChapMinus:149, Rewind:150, Ffwd:151, Record:154 - /// /// + /// The ITransport device + /// The BasicTriList to link buttons to public static void LinkButtons(this ITransport dev, BasicTriList triList) { triList.SetBoolSigAction(145, dev.Play); @@ -38,9 +78,11 @@ namespace PepperDash.Essentials.Core triList.SetBoolSigAction(154, dev.Record); } - /// - /// UnlinkButtons method - /// + /// + /// UnlinkButtons method + /// + /// The ITransport device + /// The BasicTriList to unlink buttons from public static void UnlinkButtons(this ITransport dev, BasicTriList triList) { triList.ClearBoolSigAction(145); diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ITvPresetsProvider.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ITvPresetsProvider.cs index 68650fa4..09b7066c 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ITvPresetsProvider.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ITvPresetsProvider.cs @@ -7,6 +7,9 @@ namespace PepperDash.Essentials.Core.DeviceTypeInterfaces /// public interface ITvPresetsProvider { + /// + /// The TV presets model + /// DevicePresetsModel TvPresets { get; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IUiDisplayInfo.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IUiDisplayInfo.cs index aa0144fe..231abf1f 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IUiDisplayInfo.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IUiDisplayInfo.cs @@ -2,11 +2,14 @@ namespace PepperDash.Essentials.Core { - /// - /// Defines the contract for IUiDisplayInfo - /// + /// + /// Defines the contract for IUiDisplayInfo + /// public interface IUiDisplayInfo : IKeyed { + /// + /// Display UI Type + /// uint DisplayUiType { get; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IWarmingCooling.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IWarmingCooling.cs index 2baf1548..e69bf35c 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IWarmingCooling.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IWarmingCooling.cs @@ -11,7 +11,14 @@ namespace PepperDash.Essentials.Core /// public interface IWarmingCooling { + /// + /// Feedback indicating whether the device is warming up + /// BoolFeedback IsWarmingUpFeedback { get; } + + /// + /// Feedback indicating whether the device is cooling down + /// BoolFeedback IsCoolingDownFeedback { get; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/eVolumeLevelUnits.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/eVolumeLevelUnits.cs index 0ebb9270..b88ea928 100644 --- a/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/eVolumeLevelUnits.cs +++ b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/eVolumeLevelUnits.cs @@ -1,10 +1,28 @@ namespace PepperDash.Essentials.Core { + /// + /// Volume level units + /// public enum eVolumeLevelUnits { + /// + /// Decibels + /// Decibels, + + /// + /// Percent + /// Percent, + + /// + /// Relative + /// Relative, + + /// + /// Absolute + /// Absolute } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Devices/AudioControlListItemBase.cs b/src/PepperDash.Essentials.Core/Devices/AudioControlListItemBase.cs index 19244469..038f80a7 100644 --- a/src/PepperDash.Essentials.Core/Devices/AudioControlListItemBase.cs +++ b/src/PepperDash.Essentials.Core/Devices/AudioControlListItemBase.cs @@ -7,15 +7,15 @@ using System.Threading.Tasks; namespace PepperDash.Essentials.Core { + /// + /// Base class for audio control list items + /// public abstract class AudioControlListItemBase { /// /// Key of the parent device in the DeviceManager /// [JsonProperty("parentDeviceKey")] - /// - /// Gets or sets the ParentDeviceKey - /// public string ParentDeviceKey { get; set; } /// diff --git a/src/PepperDash.Essentials.Core/Devices/AudioInterfaces.cs b/src/PepperDash.Essentials.Core/Devices/AudioInterfaces.cs index 99b55669..cc886636 100644 --- a/src/PepperDash.Essentials.Core/Devices/AudioInterfaces.cs +++ b/src/PepperDash.Essentials.Core/Devices/AudioInterfaces.cs @@ -14,23 +14,37 @@ namespace PepperDash.Essentials.Core /// public enum AudioChangeType { - Mute, Volume + /// + /// Mute change + /// + Mute, + + /// + /// Volume change + /// + Volume } - /// - /// Represents a AudioChangeEventArgs - /// + /// + /// Represents a AudioChangeEventArgs + /// public class AudioChangeEventArgs { - /// - /// Gets or sets the ChangeType - /// + /// + /// Gets or sets the ChangeType + /// public AudioChangeType ChangeType { get; private set; } - /// - /// Gets or sets the AudioDevice - /// + + /// + /// Gets or sets the AudioDevice + /// public IBasicVolumeControls AudioDevice { get; private set; } + /// + /// Constructor + /// + /// device that changed + /// type of change public AudioChangeEventArgs(IBasicVolumeControls device, AudioChangeType changeType) { ChangeType = changeType; diff --git a/src/PepperDash.Essentials.Core/Devices/CameraListItem.cs b/src/PepperDash.Essentials.Core/Devices/CameraListItem.cs index 9b45c728..a154c083 100644 --- a/src/PepperDash.Essentials.Core/Devices/CameraListItem.cs +++ b/src/PepperDash.Essentials.Core/Devices/CameraListItem.cs @@ -8,10 +8,10 @@ namespace PepperDash.Essentials.Core /// public class CameraListItem { - [JsonProperty("deviceKey")] /// - /// Gets or sets the DeviceKey + /// Key of the camera device /// + [JsonProperty("deviceKey")] public string DeviceKey { get; set; } /// @@ -52,9 +52,6 @@ namespace PepperDash.Essentials.Core /// A name that will override the source's name on the UI /// [JsonProperty("name")] - /// - /// Gets or sets the Name - /// public string Name { get; set; } diff --git a/src/PepperDash.Essentials.Core/Devices/CodecInterfaces.cs b/src/PepperDash.Essentials.Core/Devices/CodecInterfaces.cs index 1c2391bb..b9d8a28f 100644 --- a/src/PepperDash.Essentials.Core/Devices/CodecInterfaces.cs +++ b/src/PepperDash.Essentials.Core/Devices/CodecInterfaces.cs @@ -12,11 +12,36 @@ namespace PepperDash.Essentials.Core public interface IReceiveVolume { // Break this out into 3 interfaces + + /// + /// Sets the receive volume level + /// + /// volume level to set void SetReceiveVolume(ushort level); + + /// + /// Mutes the receive audio + /// void ReceiveMuteOn(); + + /// + /// Unmutes the receive audio + /// void ReceiveMuteOff(); + + /// + /// Toggles the receive mute state + /// void ReceiveMuteToggle(); + + /// + /// Feedback for the receive volume level + /// IntFeedback ReceiveLevelFeedback { get; } + + /// + /// Feedback for the receive mute state + /// BoolFeedback ReceiveMuteIsOnFeedback { get; } } @@ -25,11 +50,35 @@ namespace PepperDash.Essentials.Core /// public interface ITransmitVolume { + /// + /// Sets the transmit volume level + /// + /// volume level to set void SetTransmitVolume(ushort level); + + /// + /// Mutes the transmit audio + /// void TransmitMuteOn(); + + /// + /// Unmutes the transmit audio + /// void TransmitMuteOff(); + + /// + /// Toggles the transmit mute state + /// void TransmitMuteToggle(); + + /// + /// Feedback for the transmit volume level + /// IntFeedback TransmitLevelFeedback { get; } + + /// + /// Feedback for the transmit mute state + /// BoolFeedback TransmitMuteIsOnFeedback { get; } } @@ -38,9 +87,24 @@ namespace PepperDash.Essentials.Core /// public interface IPrivacy { + /// + /// Enables privacy mode + /// void PrivacyModeOn(); + + /// + /// Disables privacy mode + /// void PrivacyModeOff(); + + /// + /// Toggles privacy mode + /// void PrivacyModeToggle(); + + /// + /// Feedback for the privacy mode state + /// BoolFeedback PrivacyModeIsOnFeedback { get; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Devices/CrestronProcessor.cs b/src/PepperDash.Essentials.Core/Devices/CrestronProcessor.cs index 57d99df8..8c31d4c6 100644 --- a/src/PepperDash.Essentials.Core/Devices/CrestronProcessor.cs +++ b/src/PepperDash.Essentials.Core/Devices/CrestronProcessor.cs @@ -15,10 +15,20 @@ namespace PepperDash.Essentials.Core.Devices /// public class CrestronProcessor : Device, ISwitchedOutputCollection { + /// + /// Collection of switched outputs (relays) on the processor + /// public Dictionary SwitchedOutputs { get; private set; } + /// + /// The underlying CrestronControlSystem processor + /// public Crestron.SimplSharpPro.CrestronControlSystem Processor { get; private set; } + /// + /// Constructor + /// + /// key for the processor public CrestronProcessor(string key) : base(key) { diff --git a/src/PepperDash.Essentials.Core/Devices/DestinationListItem.cs b/src/PepperDash.Essentials.Core/Devices/DestinationListItem.cs index 053d3895..5a66c0b3 100644 --- a/src/PepperDash.Essentials.Core/Devices/DestinationListItem.cs +++ b/src/PepperDash.Essentials.Core/Devices/DestinationListItem.cs @@ -52,9 +52,6 @@ namespace PepperDash.Essentials.Core /// If set, this name will be used as the PreferredName instead of the device name. /// [JsonProperty("name")] - /// - /// Gets or sets the Name - /// public string Name { get; set; } /// diff --git a/src/PepperDash.Essentials.Core/Devices/DeviceApiBase.cs b/src/PepperDash.Essentials.Core/Devices/DeviceApiBase.cs index 34669ff5..28ac13dc 100644 --- a/src/PepperDash.Essentials.Core/Devices/DeviceApiBase.cs +++ b/src/PepperDash.Essentials.Core/Devices/DeviceApiBase.cs @@ -11,7 +11,14 @@ namespace PepperDash.Essentials.Core.Devices /// public abstract class DeviceApiBase { + /// + /// Action API dictionary + /// public Dictionary ActionApi { get; protected set; } + + /// + /// Feedback API dictionary + /// public Dictionary FeedbackApi { get; protected set; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Devices/DeviceFeedbackExtensions.cs b/src/PepperDash.Essentials.Core/Devices/DeviceFeedbackExtensions.cs index e2ef5d8d..0e7595e1 100644 --- a/src/PepperDash.Essentials.Core/Devices/DeviceFeedbackExtensions.cs +++ b/src/PepperDash.Essentials.Core/Devices/DeviceFeedbackExtensions.cs @@ -8,18 +8,18 @@ using PepperDash.Core; namespace PepperDash.Essentials.Core { + /// + /// DeviceFeedbackExtensions class + /// public static class DeviceFeedbackExtensions { /// /// Attempts to get and return a feedback property from a device by name. /// If unsuccessful, returns null. /// - /// - /// - /// - /// - /// GetFeedbackProperty method - /// + /// device to get feedback from + /// name of the feedback property + /// Feedback property if found, otherwise null public static Feedback GetFeedbackProperty(this Device device, string propertyName) { var feedback = DeviceJsonApi.GetPropertyByName(device.Key, propertyName) as Feedback; diff --git a/src/PepperDash.Essentials.Core/Devices/DeviceJsonApi.cs b/src/PepperDash.Essentials.Core/Devices/DeviceJsonApi.cs index a71ca455..c4ec2ca9 100644 --- a/src/PepperDash.Essentials.Core/Devices/DeviceJsonApi.cs +++ b/src/PepperDash.Essentials.Core/Devices/DeviceJsonApi.cs @@ -16,13 +16,10 @@ namespace PepperDash.Essentials.Core /// public class DeviceJsonApi { - /// - /// - /// - /// /// /// DoDeviceActionWithJson method /// + /// json method public static void DoDeviceActionWithJson(string json) { if (String.IsNullOrEmpty(json)) @@ -45,13 +42,10 @@ namespace PepperDash.Essentials.Core } - /// - /// - /// - /// /// /// DoDeviceAction method /// + /// action method public static void DoDeviceAction(DeviceActionWrapper action) { var key = action.DeviceKey; @@ -111,6 +105,10 @@ namespace PepperDash.Essentials.Core } } + /// + /// DoDeviceActionAsync method + /// + /// action method public static async Task DoDeviceActionAsync(DeviceActionWrapper action) { var key = action.DeviceKey; @@ -194,11 +192,8 @@ namespace PepperDash.Essentials.Core /// /// Gets the properties on a device /// - /// - /// - /// - /// GetProperties method - /// + /// The path to the device object + /// A JSON string representing the properties of the device public static string GetProperties(string deviceObjectPath) { var obj = FindObjectOnPath(deviceObjectPath); @@ -214,12 +209,9 @@ namespace PepperDash.Essentials.Core /// /// Gets a property from a device path by name /// - /// - /// - /// - /// - /// GetPropertyByName method - /// + /// The path to the device object + /// The name of the property to get + /// The value of the property public static object GetPropertyByName(string deviceObjectPath, string propertyName) { var dev = FindObjectOnPath(deviceObjectPath); @@ -243,11 +235,8 @@ namespace PepperDash.Essentials.Core /// /// Gets the methods on a device /// - /// - /// - /// - /// GetMethods method - /// + /// The path to the device object + /// A JSON string representing the methods of the device public static string GetMethods(string deviceObjectPath) { var obj = FindObjectOnPath(deviceObjectPath); @@ -263,8 +252,10 @@ namespace PepperDash.Essentials.Core } /// - /// GetApiMethods method + /// Gets the API methods on a device /// + /// The path to the device object + /// A JSON string representing the API methods of the device public static string GetApiMethods(string deviceObjectPath) { var obj = FindObjectOnPath(deviceObjectPath); @@ -284,6 +275,8 @@ namespace PepperDash.Essentials.Core /// /// FindObjectOnPath method /// + /// The path to the device object + /// The object found at the specified path public static object FindObjectOnPath(string deviceObjectPath) { var path = deviceObjectPath.Split('.'); @@ -369,11 +362,8 @@ namespace PepperDash.Essentials.Core /// /// Sets a property on an object. /// - /// - /// - /// - /// SetProperty method - /// + /// The path to the device object + /// A JSON string representing the result of setting the property public static string SetProperty(string deviceObjectPath) { throw new NotImplementedException("This could be really useful. Finish it please"); @@ -393,13 +383,21 @@ namespace PepperDash.Essentials.Core } + /// + /// Represents a DeviceActionWrapper + /// public class DeviceActionWrapper { + /// + /// Gets or sets the DeviceKey + /// public string DeviceKey { get; set; } + /// /// Gets or sets the MethodName /// public string MethodName { get; set; } + /// /// Gets or sets the Params /// @@ -413,19 +411,25 @@ namespace PepperDash.Essentials.Core { private object Parent; - [JsonIgnore] /// /// Gets or sets the PropInfo /// + [JsonIgnore] public PropertyInfo PropInfo { get; private set; } + /// /// Gets or sets the Name /// public string Name { get { return PropInfo.Name; } } + /// /// Gets or sets the Type /// public string Type { get { return PropInfo.PropertyType.Name; } } + + /// + /// Gets or sets the Value + /// public string Value { get @@ -450,12 +454,17 @@ namespace PepperDash.Essentials.Core /// Gets or sets the CanRead /// public bool CanRead { get { return PropInfo.CanRead; } } + /// /// Gets or sets the CanWrite /// public bool CanWrite { get { return PropInfo.CanWrite; } } - + /// + /// PropertyNameType constructor + /// + /// property info + /// parent object public PropertyNameType(PropertyInfo info, object parent) { PropInfo = info; @@ -468,16 +477,20 @@ namespace PepperDash.Essentials.Core /// public class MethodNameParams { - [JsonIgnore] /// /// Gets or sets the MethodInfo /// + [JsonIgnore] public MethodInfo MethodInfo { get; private set; } /// /// Gets or sets the Name /// public string Name { get { return MethodInfo.Name; } } + + /// + /// Gets or sets the Params + /// public IEnumerable Params { get @@ -487,6 +500,10 @@ namespace PepperDash.Essentials.Core } } + /// + /// MethodNameParams constructor + /// + /// method info public MethodNameParams(MethodInfo info) { MethodInfo = info; @@ -508,10 +525,10 @@ namespace PepperDash.Essentials.Core public string Type { get; set; } } - [AttributeUsage(AttributeTargets.All)] /// /// Represents a ApiAttribute /// + [AttributeUsage(AttributeTargets.All)] public class ApiAttribute : Attribute { diff --git a/src/PepperDash.Essentials.Core/Devices/DisplayUiConstants.cs b/src/PepperDash.Essentials.Core/Devices/DisplayUiConstants.cs index a42239fc..1c6ae244 100644 --- a/src/PepperDash.Essentials.Core/Devices/DisplayUiConstants.cs +++ b/src/PepperDash.Essentials.Core/Devices/DisplayUiConstants.cs @@ -13,16 +13,54 @@ namespace PepperDash.Essentials.Core /// public class DisplayUiConstants { + /// + /// TypeRadio constant + /// public const uint TypeRadio = 1; + + /// + /// TypeTv constant + /// public const uint TypeDirecTv = 9; + + /// + /// TypeBluray constant + /// public const uint TypeBluray = 13; + + /// + /// TypeStreamingDevice constant + /// public const uint TypeChromeTv = 15; + + /// + /// TypeStreamingDevice constant + /// public const uint TypeFireTv = 16; + + /// + /// TypeStreamingDevice constant + /// public const uint TypeAppleTv = 17; + + /// + /// TypeStreamingDevice constant + /// public const uint TypeRoku = 18; + + /// + /// TypeLaptop constant + /// public const uint TypeLaptop = 31; + + /// + /// TypePc constant + /// public const uint TypePc = 32; + /// + /// TypeNoControls constant + /// public const uint TypeNoControls = 49; } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Devices/EssentialsPluginDevelopmentDeviceFactory.cs b/src/PepperDash.Essentials.Core/Devices/EssentialsPluginDevelopmentDeviceFactory.cs index 62864551..8bd60124 100644 --- a/src/PepperDash.Essentials.Core/Devices/EssentialsPluginDevelopmentDeviceFactory.cs +++ b/src/PepperDash.Essentials.Core/Devices/EssentialsPluginDevelopmentDeviceFactory.cs @@ -2,6 +2,10 @@ using System.Collections.Generic; namespace PepperDash.Essentials.Core { + /// + /// EssentialsPluginDevelopmentDeviceFactory class + /// + /// public abstract class EssentialsPluginDevelopmentDeviceFactory : EssentialsDeviceFactory, IPluginDevelopmentDeviceFactory where T : EssentialsDevice { /// diff --git a/src/PepperDash.Essentials.Core/Devices/GenericIRController.cs b/src/PepperDash.Essentials.Core/Devices/GenericIRController.cs index bbb3c544..a55235e6 100644 --- a/src/PepperDash.Essentials.Core/Devices/GenericIRController.cs +++ b/src/PepperDash.Essentials.Core/Devices/GenericIRController.cs @@ -31,6 +31,12 @@ namespace PepperDash.Essentials.Core.Devices /// public string[] IrCommands {get { return _port.IrFileCommands; }} + /// + /// Constructor + /// + /// key for the device + /// name of the device + /// IR output port controller public GenericIrController(string key, string name, IrOutputPortController irPort) : base(key, name) { _port = irPort; @@ -105,9 +111,9 @@ namespace PepperDash.Essentials.Core.Devices var joinNumber = bridgeJoin.Value.Value.JoinNumber; Debug.LogMessage(LogEventLevel.Verbose, this, @"bridgeJoin: Key-'{0}' -Value.Key-'{1}' -Value.JoinNumber-'{2}' -Value.Metadata.Description-'{3}'", + Value.Key-'{1}' + Value.JoinNumber-'{2}' + Value.Metadata.Description-'{3}'", key, joinDataKey, joinNumber, @@ -172,6 +178,9 @@ Value.Metadata.Description-'{3}'", /// public class GenericIrControllerFactory : EssentialsDeviceFactory { + /// + /// Constructor + /// public GenericIrControllerFactory() { TypeNames = new List {"genericIrController"}; diff --git a/src/PepperDash.Essentials.Core/Devices/GenericMonitoredTcpDevice.cs b/src/PepperDash.Essentials.Core/Devices/GenericMonitoredTcpDevice.cs index e4a2b986..148a9cac 100644 --- a/src/PepperDash.Essentials.Core/Devices/GenericMonitoredTcpDevice.cs +++ b/src/PepperDash.Essentials.Core/Devices/GenericMonitoredTcpDevice.cs @@ -10,18 +10,28 @@ using Serilog.Events; namespace PepperDash.Essentials.Core.Devices { - /// - /// Represents a GenericCommunicationMonitoredDevice - /// + /// + /// Represents a GenericCommunicationMonitoredDevice + /// public class GenericCommunicationMonitoredDevice : Device, ICommunicationMonitor { IBasicCommunication Client; - /// - /// Gets or sets the CommunicationMonitor - /// + /// + /// Gets or sets the CommunicationMonitor + /// public StatusMonitorBase CommunicationMonitor { get; private set; } + /// + /// Constructor + /// + /// key of the device + /// name of the device + /// communication client + /// poll string + /// poll time + /// warning time + /// error time public GenericCommunicationMonitoredDevice(string key, string name, IBasicCommunication comm, string pollString, long pollTime, long warningTime, long errorTime) : base(key, name) @@ -37,6 +47,13 @@ namespace PepperDash.Essentials.Core.Devices } + /// + /// Constructor with default times + /// + /// key of the device + /// name of the device + /// communication client + /// poll string public GenericCommunicationMonitoredDevice(string key, string name, IBasicCommunication comm, string pollString) : this(key, name, comm, pollString, 30000, 120000, 300000) { diff --git a/src/PepperDash.Essentials.Core/Devices/IAttachVideoStatusExtensions.cs b/src/PepperDash.Essentials.Core/Devices/IAttachVideoStatusExtensions.cs index d92f9530..83914f6f 100644 --- a/src/PepperDash.Essentials.Core/Devices/IAttachVideoStatusExtensions.cs +++ b/src/PepperDash.Essentials.Core/Devices/IAttachVideoStatusExtensions.cs @@ -6,16 +6,16 @@ using Crestron.SimplSharp; namespace PepperDash.Essentials.Core { + /// + /// IAttachVideoStatusExtensions class + /// public static class IAttachVideoStatusExtensions { /// /// Gets the VideoStatusOutputs for the device /// - /// + /// /// Attached VideoStatusOutputs or the default if none attached - /// - /// GetVideoStatuses method - /// public static VideoStatusOutputs GetVideoStatuses(this IAttachVideoStatus attachedDev) { // See if this device is connected to a status-providing port diff --git a/src/PepperDash.Essentials.Core/Devices/IDisplayUsage.cs b/src/PepperDash.Essentials.Core/Devices/IDisplayUsage.cs index 0d74d819..6d6f8f51 100644 --- a/src/PepperDash.Essentials.Core/Devices/IDisplayUsage.cs +++ b/src/PepperDash.Essentials.Core/Devices/IDisplayUsage.cs @@ -5,6 +5,9 @@ namespace PepperDash.Essentials.Core /// public interface IDisplayUsage { + /// + /// Gets the LampHours + /// IntFeedback LampHours { get; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Devices/IDspPresets.cs b/src/PepperDash.Essentials.Core/Devices/IDspPresets.cs index 90006b3b..bfe81658 100644 --- a/src/PepperDash.Essentials.Core/Devices/IDspPresets.cs +++ b/src/PepperDash.Essentials.Core/Devices/IDspPresets.cs @@ -8,8 +8,15 @@ namespace PepperDash.Essentials.Core /// public interface IDspPresets { + /// + /// Gets the Presets + /// Dictionary Presets { get; } + /// + /// Recalls the preset by key + /// + /// key of preset to recall void RecallPreset(string key); } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Devices/IProjectorInterfaces.cs b/src/PepperDash.Essentials.Core/Devices/IProjectorInterfaces.cs index 5195592d..d6473e64 100644 --- a/src/PepperDash.Essentials.Core/Devices/IProjectorInterfaces.cs +++ b/src/PepperDash.Essentials.Core/Devices/IProjectorInterfaces.cs @@ -11,6 +11,9 @@ namespace PepperDash.Essentials.Core /// public interface IBasicVideoMute { + /// + /// Toggles the video mute + /// void VideoMuteToggle(); } @@ -19,9 +22,19 @@ namespace PepperDash.Essentials.Core /// public interface IBasicVideoMuteWithFeedback : IBasicVideoMute { + /// + /// Gets the VideoMuteIsOn feedback + /// BoolFeedback VideoMuteIsOn { get; } + /// + /// Sets the video mute on + /// void VideoMuteOn(); + + /// + /// Sets the video mute off + /// void VideoMuteOff(); } diff --git a/src/PepperDash.Essentials.Core/Devices/IReconfigurableDevice.cs b/src/PepperDash.Essentials.Core/Devices/IReconfigurableDevice.cs index 6712312d..245c0a5c 100644 --- a/src/PepperDash.Essentials.Core/Devices/IReconfigurableDevice.cs +++ b/src/PepperDash.Essentials.Core/Devices/IReconfigurableDevice.cs @@ -13,10 +13,20 @@ namespace PepperDash.Essentials.Core.Devices /// public interface IReconfigurableDevice { + /// + /// Event fired when the configuration changes + /// event EventHandler ConfigChanged; + /// + /// Gets the current DeviceConfig + /// DeviceConfig Config { get; } + /// + /// Sets the DeviceConfig + /// + /// config to set void SetConfig(DeviceConfig config); } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Devices/IUsageTracking.cs b/src/PepperDash.Essentials.Core/Devices/IUsageTracking.cs index 352e736d..7edce646 100644 --- a/src/PepperDash.Essentials.Core/Devices/IUsageTracking.cs +++ b/src/PepperDash.Essentials.Core/Devices/IUsageTracking.cs @@ -13,6 +13,9 @@ namespace PepperDash.Essentials.Core /// public interface IUsageTracking { + /// + /// Gets or sets the UsageTracker + /// UsageTracking UsageTracker { get; set; } } @@ -29,6 +32,9 @@ namespace PepperDash.Essentials.Core /// public class UsageTracking { + /// + /// Event fired when device usage ends + /// public event EventHandler DeviceUsageEnded; /// @@ -59,6 +65,10 @@ namespace PepperDash.Essentials.Core /// public Device Parent { get; private set; } + /// + /// Constructor for UsageTracking class + /// + /// The parent device public UsageTracking(Device parent) { Parent = parent; diff --git a/src/PepperDash.Essentials.Core/Devices/IrOutputPortController.cs b/src/PepperDash.Essentials.Core/Devices/IrOutputPortController.cs index 78e1a7e6..1f122735 100644 --- a/src/PepperDash.Essentials.Core/Devices/IrOutputPortController.cs +++ b/src/PepperDash.Essentials.Core/Devices/IrOutputPortController.cs @@ -26,10 +26,24 @@ namespace PepperDash.Essentials.Core uint IrPortUid; IROutputPort IrPort; + /// + /// Gets the DriverLoaded feedback + /// public BoolFeedback DriverLoaded { get; private set; } + /// + /// Gets or sets the StandardIrPulseTime + /// public ushort StandardIrPulseTime { get; set; } + + /// + /// Gets or sets the DriverFilepath + /// public string DriverFilepath { get; private set; } + + /// + /// Gets or sets the DriverIsLoaded + /// public bool DriverIsLoaded { get; private set; } /// @@ -37,9 +51,9 @@ namespace PepperDash.Essentials.Core /// public string[] IrFileCommands { get { return IrPort.AvailableStandardIRCmds(IrPortUid); } } - /// - /// Gets or sets the UseBridgeJoinMap - /// + /// + /// Gets or sets the UseBridgeJoinMap + /// public bool UseBridgeJoinMap { get; private set; } /// @@ -61,6 +75,12 @@ namespace PepperDash.Essentials.Core LoadDriver(irDriverFilepath); } + /// + /// Constructor for IrDevice base class using post activation function to get port + /// + /// key of the device + /// function to call post activation + /// config of the device public IrOutputPortController(string key, Func postActivationFunc, DeviceConfig config) : base(key) @@ -105,9 +125,9 @@ namespace PepperDash.Essentials.Core }); } - /// - /// PrintAvailableCommands method - /// + /// + /// PrintAvailableCommands method + /// public void PrintAvailableCommands() { Debug.LogMessage(LogEventLevel.Verbose, this, "Available IR Commands in IR File {0}", IrPortUid); @@ -121,10 +141,7 @@ namespace PepperDash.Essentials.Core /// /// Loads the IR driver at path /// - /// - /// - /// LoadDriver method - /// + /// path of the IR driver file public void LoadDriver(string path) { Debug.LogMessage(LogEventLevel.Verbose, this, "***Loading IR File***"); @@ -148,10 +165,12 @@ namespace PepperDash.Essentials.Core } - /// - /// PressRelease method - /// - /// + /// + /// PressRelease method + /// + /// IR command to send + /// true to press, false to release + /// public virtual void PressRelease(string command, bool state) { Debug.LogMessage(LogEventLevel.Verbose, this, "IR:'{0}'={1}", command, state); @@ -176,10 +195,12 @@ namespace PepperDash.Essentials.Core IrPort.Release(); } - /// - /// Pulse method - /// - /// + /// + /// Pulse method + /// + /// IR command to send + /// time to pulse the command + /// public virtual void Pulse(string command, ushort time) { if (IrPort == null) @@ -201,6 +222,7 @@ namespace PepperDash.Essentials.Core /// /// Notifies the console when a bad command is used. /// + /// command that was not found protected void NoIrCommandError(string command) { Debug.LogMessage(LogEventLevel.Verbose, this, "Device {0}: IR Driver {1} does not contain command {2}", diff --git a/src/PepperDash.Essentials.Core/Devices/LevelControlListItem.cs b/src/PepperDash.Essentials.Core/Devices/LevelControlListItem.cs index ea54857e..821a0c2b 100644 --- a/src/PepperDash.Essentials.Core/Devices/LevelControlListItem.cs +++ b/src/PepperDash.Essentials.Core/Devices/LevelControlListItem.cs @@ -74,9 +74,6 @@ namespace PepperDash.Essentials.Core /// [JsonProperty("type")] [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] - /// - /// Gets or sets the Type - /// public eLevelControlType Type { get; set; } diff --git a/src/PepperDash.Essentials.Core/Devices/PowerInterfaces.cs b/src/PepperDash.Essentials.Core/Devices/PowerInterfaces.cs index e09a002d..ef0173d5 100644 --- a/src/PepperDash.Essentials.Core/Devices/PowerInterfaces.cs +++ b/src/PepperDash.Essentials.Core/Devices/PowerInterfaces.cs @@ -8,12 +8,39 @@ namespace PepperDash.Essentials.Core /// public interface IHasBatteryStats : IKeyName { + /// + /// Gets the BatteryPercentage + /// int BatteryPercentage { get; } + + /// + /// Gets the BatteryCautionThresholdPercentage + /// int BatteryCautionThresholdPercentage { get; } + + /// + /// Gets the BatteryWarningThresholdPercentage + /// int BatteryWarningThresholdPercentage { get; } + + /// + /// Gets the BatteryIsWarningFeedback + /// BoolFeedback BatteryIsWarningFeedback { get; } + + /// + /// Gets the BatteryIsCautionFeedback + /// BoolFeedback BatteryIsCautionFeedback { get; } + + /// + /// Gets the BatteryIsOkFeedback + /// BoolFeedback BatteryIsOkFeedback { get; } + + /// + /// Gets the BatteryPercentageFeedback + /// IntFeedback BatteryPercentageFeedback { get; } } @@ -22,6 +49,9 @@ namespace PepperDash.Essentials.Core /// public interface IHasBatteryCharging : IHasBatteryStats { + /// + /// Gets the BatteryIsCharging + /// BoolFeedback BatteryIsCharging { get; } } @@ -30,19 +60,55 @@ namespace PepperDash.Essentials.Core /// public interface IHasBatteries : IKeyName { + /// + /// Collection of batteries + /// ReadOnlyDictionary Batteries { get; } } + /// + /// Defines the contract for IHasBatteryStatsExtended + /// public interface IHasBatteryStatsExtended : IHasBatteryStats { + /// + /// Gets the InputVoltage in millivolts + /// int InputVoltage { get; } + + /// + /// Gets the OutputVoltage in millivolts + /// int OutputVoltage { get; } + + /// + /// Gets the InputCurrent in milliamps + /// int InptuCurrent { get; } + + /// + /// Gets the OutputCurrent in milliamps + /// int OutputCurrent { get; } + /// + /// Gets the InputVoltageFeedback + /// IntFeedback InputVoltageFeedback { get; } + + /// + /// Gets the OutputVoltageFeedback + /// IntFeedback OutputVoltageFeedback { get; } + + /// + /// Gets the InputCurrentFeedback + /// IntFeedback InputCurrentFeedback { get; } + + /// + /// Gets the OutputCurrentFeedback + /// IntFeedback OutputCurrentFeedback { get; } } diff --git a/src/PepperDash.Essentials.Core/Devices/PresentationDeviceType.cs b/src/PepperDash.Essentials.Core/Devices/PresentationDeviceType.cs index 56367e53..44474832 100644 --- a/src/PepperDash.Essentials.Core/Devices/PresentationDeviceType.cs +++ b/src/PepperDash.Essentials.Core/Devices/PresentationDeviceType.cs @@ -14,6 +14,34 @@ namespace PepperDash.Essentials.Core /// public enum PresentationSourceType { - None, Dvd, Laptop, PC, SetTopBox, VCR + /// + /// No source type assigned + /// + None, + + /// + /// DVD source type + /// + Dvd, + + /// + /// Document Camera source type + /// + Laptop, + + /// + /// PC source type + /// + PC, + + /// + /// Set Top Box source type + /// + SetTopBox, + + /// + /// VCR source type + /// + VCR } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Devices/PresetListItem.cs b/src/PepperDash.Essentials.Core/Devices/PresetListItem.cs index 04a1aeaa..625dcec9 100644 --- a/src/PepperDash.Essentials.Core/Devices/PresetListItem.cs +++ b/src/PepperDash.Essentials.Core/Devices/PresetListItem.cs @@ -14,6 +14,9 @@ namespace PepperDash.Essentials.Core /// public class PresetListItem : AudioControlListItemBase { + /// + /// Gets the preset associated with this list item + /// [JsonIgnore] public IKeyName Preset { diff --git a/src/PepperDash.Essentials.Core/Devices/ReconfigurableDevice.cs b/src/PepperDash.Essentials.Core/Devices/ReconfigurableDevice.cs index 3f83640f..ccb74a39 100644 --- a/src/PepperDash.Essentials.Core/Devices/ReconfigurableDevice.cs +++ b/src/PepperDash.Essentials.Core/Devices/ReconfigurableDevice.cs @@ -19,10 +19,20 @@ namespace PepperDash.Essentials.Core.Devices /// public abstract class ReconfigurableDevice : EssentialsDevice, IReconfigurableDevice { + /// + /// Event fired when the configuration changes + /// public event EventHandler ConfigChanged; + /// + /// Gets the current DeviceConfig + /// public DeviceConfig Config { get; private set; } + /// + /// Constructor + /// + /// config of the device protected ReconfigurableDevice(DeviceConfig config) : base(config.Key) { @@ -64,19 +74,33 @@ namespace PepperDash.Essentials.Core.Devices /// /// Used by the extending class to allow for any custom actions to be taken (tell the ConfigWriter to write config, etc) /// - /// + /// config of the device protected virtual void CustomSetConfig(DeviceConfig config) { ConfigWriter.UpdateDeviceConfig(config); } } + /// + /// A ReconfigurableDevice that is also bridgeable + /// public abstract class ReconfigurableBridgableDevice : ReconfigurableDevice, IBridgeAdvanced { + /// + /// Constructor + /// + /// config of the device protected ReconfigurableBridgableDevice(DeviceConfig config) : base(config) { } + /// + /// LinkToApi method + /// + /// trilist to link + /// the join to start at + /// key to the join map + /// the bridge to use public abstract void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge); } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Devices/SmartObjectBaseTypes.cs b/src/PepperDash.Essentials.Core/Devices/SmartObjectBaseTypes.cs index 48020690..55e70de4 100644 --- a/src/PepperDash.Essentials.Core/Devices/SmartObjectBaseTypes.cs +++ b/src/PepperDash.Essentials.Core/Devices/SmartObjectBaseTypes.cs @@ -6,9 +6,19 @@ namespace PepperDash.Essentials.Core /// public class SmartObjectJoinOffsets { + /// + /// Dpad Join Offset + /// public const ushort Dpad = 1; + + /// + /// Numpad Join Offset + /// public const ushort Numpad = 2; + /// + /// PresetList Join Offset + /// public const ushort PresetList = 6; } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Devices/VolumeDeviceChangeEventArgs.cs b/src/PepperDash.Essentials.Core/Devices/VolumeDeviceChangeEventArgs.cs index 441af0d6..ae2895db 100644 --- a/src/PepperDash.Essentials.Core/Devices/VolumeDeviceChangeEventArgs.cs +++ b/src/PepperDash.Essentials.Core/Devices/VolumeDeviceChangeEventArgs.cs @@ -14,10 +14,27 @@ namespace PepperDash.Essentials.Core /// public class VolumeDeviceChangeEventArgs : EventArgs { + /// + /// The old device + /// public IBasicVolumeControls OldDev { get; private set; } + + /// + /// The new device + /// public IBasicVolumeControls NewDev { get; private set; } + + /// + /// The type of change + /// public ChangeType Type { get; private set; } + /// + /// Constructor + /// + /// the old device + /// the new device + /// the type of change public VolumeDeviceChangeEventArgs(IBasicVolumeControls oldDev, IBasicVolumeControls newDev, ChangeType type) { OldDev = oldDev; @@ -31,6 +48,14 @@ namespace PepperDash.Essentials.Core /// public enum ChangeType { - WillChange, DidChange + /// + /// Will change + /// + WillChange, + + /// + /// Did change + /// + DidChange } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Ethernet/EthernetStatistics.cs b/src/PepperDash.Essentials.Core/Ethernet/EthernetStatistics.cs index cbdd0617..0f5c2863 100644 --- a/src/PepperDash.Essentials.Core/Ethernet/EthernetStatistics.cs +++ b/src/PepperDash.Essentials.Core/Ethernet/EthernetStatistics.cs @@ -8,24 +8,48 @@ using PepperDash.Essentials.Core; namespace PepperDash.Essentials.Core.Ethernet { + /// + /// Ethernet settings feedbacks + /// public static class EthernetSettings { + /// + /// Link active feedback + /// public static readonly BoolFeedback LinkActive = new BoolFeedback("LinkActive", () => true); + + /// + /// DHCP active feedback + /// public static readonly BoolFeedback DhcpActive = new BoolFeedback("DhcpActive", () => CrestronEthernetHelper.GetEthernetParameter( CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_CURRENT_DHCP_STATE, 0) == "ON"); - + /// + /// Hostname feedback + /// public static readonly StringFeedback Hostname = new StringFeedback("Hostname", () => CrestronEthernetHelper.GetEthernetParameter( CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_HOSTNAME, 0)); + + /// + /// IP Address feedback + /// public static readonly StringFeedback IpAddress0 = new StringFeedback("IpAddress0", () => CrestronEthernetHelper.GetEthernetParameter( CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_CURRENT_IP_ADDRESS, 0)); + + /// + /// Subnet Mask feedback + /// public static readonly StringFeedback SubnetMask0 = new StringFeedback("SubnetMask0", () => CrestronEthernetHelper.GetEthernetParameter( CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_CURRENT_IP_MASK, 0)); + + /// + /// Default Gateway feedback + /// public static readonly StringFeedback DefaultGateway0 = new StringFeedback("DefaultGateway0", () => CrestronEthernetHelper.GetEthernetParameter( CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_CURRENT_ROUTER, 0)); diff --git a/src/PepperDash.Essentials.Core/Extensions/JsonExtensions.cs b/src/PepperDash.Essentials.Core/Extensions/JsonExtensions.cs index 43a84443..74697525 100644 --- a/src/PepperDash.Essentials.Core/Extensions/JsonExtensions.cs +++ b/src/PepperDash.Essentials.Core/Extensions/JsonExtensions.cs @@ -10,11 +10,17 @@ using Newtonsoft.Json.Linq; namespace PepperDash.Essentials.Core { + /// + /// JsonExtensions class + /// public static class JsonExtensions { /// /// FindTokens method /// + /// token for the container + /// name of the token to find + /// list of matching tokens public static List FindTokens(this JToken containerToken, string name) { List matches = new List(); diff --git a/src/PepperDash.Essentials.Core/Extensions/StringExtensions.cs b/src/PepperDash.Essentials.Core/Extensions/StringExtensions.cs index 2efa3c18..9dbb6244 100644 --- a/src/PepperDash.Essentials.Core/Extensions/StringExtensions.cs +++ b/src/PepperDash.Essentials.Core/Extensions/StringExtensions.cs @@ -7,6 +7,9 @@ using Crestron.SimplSharp; namespace PepperDash.Essentials.Core { + /// + /// StringExtensions class + /// public static class StringExtensions { /// @@ -14,9 +17,6 @@ namespace PepperDash.Essentials.Core /// /// string input /// null if the string is emtpy, otherwise returns the string - /// - /// NullIfEmpty method - /// public static string NullIfEmpty(this string s) { return string.IsNullOrEmpty(s) ? null : s; @@ -27,9 +27,6 @@ namespace PepperDash.Essentials.Core /// /// string input /// null if the string is wempty or made of only whitespace characters, otherwise returns the string - /// - /// NullIfWhiteSpace method - /// public static string NullIfWhiteSpace(this string s) { return string.IsNullOrEmpty(s.Trim()) ? null : s; @@ -41,9 +38,6 @@ namespace PepperDash.Essentials.Core /// input string /// string to replace with if input string is empty or whitespace /// returns newString if s is null, emtpy, or made of whitespace characters, otherwise returns s - /// - /// ReplaceIfNullOrEmpty method - /// public static string ReplaceIfNullOrEmpty(this string s, string newString) { return string.IsNullOrEmpty(s) ? newString : s; @@ -56,9 +50,6 @@ namespace PepperDash.Essentials.Core /// String to check in Source String /// Comparison parameters /// true of string contains "toCheck" - /// - /// Contains method - /// public static bool Contains(this string source, string toCheck, StringComparison comp) { if (string.IsNullOrEmpty(source)) return false; @@ -70,9 +61,6 @@ namespace PepperDash.Essentials.Core /// /// String to Trim /// Trimmed String - /// - /// TrimAll method - /// public static string TrimAll(this string source) { return string.IsNullOrEmpty(source) ? string.Empty : source.TrimStart().TrimEnd(); @@ -84,9 +72,6 @@ namespace PepperDash.Essentials.Core /// String to Trim /// Char Array to trim from string /// Trimmed String - /// - /// TrimAll method - /// public static string TrimAll(this string source, char[] chars) { return string.IsNullOrEmpty(source) ? string.Empty : source.TrimStart(chars).TrimEnd(chars); diff --git a/src/PepperDash.Essentials.Core/Factory/ProcessorExtensionDeviceFactory.cs b/src/PepperDash.Essentials.Core/Factory/ProcessorExtensionDeviceFactory.cs index 02bf1bcd..6336795c 100644 --- a/src/PepperDash.Essentials.Core/Factory/ProcessorExtensionDeviceFactory.cs +++ b/src/PepperDash.Essentials.Core/Factory/ProcessorExtensionDeviceFactory.cs @@ -15,6 +15,9 @@ namespace PepperDash.Essentials.Core /// public class ProcessorExtensionDeviceFactory { + /// + /// Constructor + /// public ProcessorExtensionDeviceFactory() { var assy = Assembly.GetExecutingAssembly(); PluginLoader.SetEssentialsAssembly(assy.GetName().Name, assy); @@ -50,7 +53,8 @@ namespace PepperDash.Essentials.Core /// /// Adds a plugin factory method /// - /// + /// name fo extension to add + /// method to add /// public static void AddFactoryForType(string extensionName, Func method) { @@ -58,6 +62,13 @@ namespace PepperDash.Essentials.Core ProcessorExtensionDeviceFactory.ProcessorExtensionFactoryMethods.Add(extensionName, new DeviceFactoryWrapper() { FactoryMethod = method }); } + /// + /// Adds a plugin factory method with type and description + /// + /// name of extension to add + /// description of extension to add + /// type of extension to add + /// method to add public static void AddFactoryForType(string extensionName, string description, Type Type, Func method) { //Debug.LogMessage(LogEventLevel.Debug, "Adding factory method for type '{0}'", typeName); diff --git a/src/PepperDash.Essentials.Core/Factory/ReadyEventArgs.cs b/src/PepperDash.Essentials.Core/Factory/ReadyEventArgs.cs index 1b917690..544ef5cc 100644 --- a/src/PepperDash.Essentials.Core/Factory/ReadyEventArgs.cs +++ b/src/PepperDash.Essentials.Core/Factory/ReadyEventArgs.cs @@ -17,6 +17,10 @@ namespace PepperDash.Essentials.Core /// public bool IsReady { get; set; } + /// + /// Constructor + /// + /// indicates if the object is ready public IsReadyEventArgs(bool data) { IsReady = data; @@ -28,7 +32,14 @@ namespace PepperDash.Essentials.Core /// public interface IHasReady { + /// + /// Fires when the IsReady property changes + /// event EventHandler IsReadyEvent; + + /// + /// indicates whether the object is ready + /// bool IsReady { get; } } } diff --git a/src/PepperDash.Essentials.Core/Feedbacks/BoolFeedback.cs b/src/PepperDash.Essentials.Core/Feedbacks/BoolFeedback.cs index eb3abbb4..ea222b7f 100644 --- a/src/PepperDash.Essentials.Core/Feedbacks/BoolFeedback.cs +++ b/src/PepperDash.Essentials.Core/Feedbacks/BoolFeedback.cs @@ -63,6 +63,10 @@ namespace PepperDash.Essentials.Core ValueFunc = valueFunc; } + /// + /// Sets the ValueFunc + /// + /// New function to set as the ValueFunc public void SetValueFunc(Func newFunc) { ValueFunc = newFunc; @@ -153,6 +157,10 @@ namespace PepperDash.Essentials.Core LinkedCrestronFeedbacks.Remove(feedback); } + /// + /// ToString override + /// + /// public override string ToString() { return (InTestMode ? "TEST -- " : "") + BoolValue.ToString(); diff --git a/src/PepperDash.Essentials.Core/Feedbacks/BoolFeedbackOneShot.cs b/src/PepperDash.Essentials.Core/Feedbacks/BoolFeedbackOneShot.cs index 7dca3eaf..6b0b39b8 100644 --- a/src/PepperDash.Essentials.Core/Feedbacks/BoolFeedbackOneShot.cs +++ b/src/PepperDash.Essentials.Core/Feedbacks/BoolFeedbackOneShot.cs @@ -48,12 +48,8 @@ namespace PepperDash.Essentials.Core } /// - /// Starts the + /// Start method /// - /// - /// - /// Start method - /// public void Start() { if (Timer == null) diff --git a/src/PepperDash.Essentials.Core/Feedbacks/BoolFeedbackPulseExtender.cs b/src/PepperDash.Essentials.Core/Feedbacks/BoolFeedbackPulseExtender.cs index 53a5e559..3a9dccde 100644 --- a/src/PepperDash.Essentials.Core/Feedbacks/BoolFeedbackPulseExtender.cs +++ b/src/PepperDash.Essentials.Core/Feedbacks/BoolFeedbackPulseExtender.cs @@ -12,7 +12,14 @@ namespace PepperDash.Essentials.Core /// public class BoolFeedbackPulseExtender { + /// + /// Gets or sets the TimeoutMs + /// public uint TimeoutMs { get; set; } + + /// + /// Gets the Feedback + /// public BoolFeedback Feedback { get; private set; } CTimer Timer; diff --git a/src/PepperDash.Essentials.Core/Feedbacks/BoolOutputLogicals.cs b/src/PepperDash.Essentials.Core/Feedbacks/BoolOutputLogicals.cs index b4562904..901b80dd 100644 --- a/src/PepperDash.Essentials.Core/Feedbacks/BoolOutputLogicals.cs +++ b/src/PepperDash.Essentials.Core/Feedbacks/BoolOutputLogicals.cs @@ -8,7 +8,9 @@ using Crestron.SimplSharpPro; namespace PepperDash.Essentials.Core { - + /// + /// Abstract base class for BoolOutputLogicals + /// public abstract class BoolFeedbackLogic { /// @@ -21,13 +23,23 @@ namespace PepperDash.Essentials.Core /// protected List OutputsIn = new List(); + /// + /// Gets or sets the ComputedValue + /// protected bool ComputedValue; + /// + /// Constructor + /// protected BoolFeedbackLogic() { Output = new BoolFeedback(() => ComputedValue); } + /// + /// AddOutputIn method + /// + /// feedback to add public void AddOutputIn(BoolFeedback output) { // Don't double up outputs @@ -38,9 +50,10 @@ namespace PepperDash.Essentials.Core Evaluate(); } - /// - /// AddOutputsIn method - /// + /// + /// AddOutputsIn method + /// + /// feedbacks to add public void AddOutputsIn(List outputs) { foreach (var o in outputs.Where(o => !OutputsIn.Contains(o))) @@ -51,9 +64,10 @@ namespace PepperDash.Essentials.Core Evaluate(); } - /// - /// RemoveOutputIn method - /// + /// + /// RemoveOutputIn method + /// + /// feedback to remove public void RemoveOutputIn(BoolFeedback output) { // Don't double up outputs @@ -64,9 +78,10 @@ namespace PepperDash.Essentials.Core Evaluate(); } - /// - /// RemoveOutputsIn method - /// + /// + /// RemoveOutputsIn method + /// + /// feedbacks to remove public void RemoveOutputsIn(List outputs) { foreach (var o in outputs) @@ -77,20 +92,28 @@ namespace PepperDash.Essentials.Core Evaluate(); } - /// - /// ClearOutputs method - /// + /// + /// ClearOutputs method + /// public void ClearOutputs() { OutputsIn.Clear(); Evaluate(); } + /// + /// AnyInput_OutputChange event handler + /// + /// + /// void AnyInput_OutputChange(object sender, EventArgs e) { Evaluate(); } + /// + /// Evaluate method + /// protected abstract void Evaluate(); } @@ -99,6 +122,9 @@ namespace PepperDash.Essentials.Core /// public class BoolFeedbackAnd : BoolFeedbackLogic { + /// + /// Evaluate method + /// protected override void Evaluate() { var prevValue = ComputedValue; @@ -112,11 +138,14 @@ namespace PepperDash.Essentials.Core } } - /// - /// Represents a BoolFeedbackOr - /// + /// + /// Represents a BoolFeedbackOr + /// public class BoolFeedbackOr : BoolFeedbackLogic { + /// + /// Evaluate method + /// protected override void Evaluate() { var prevValue = ComputedValue; @@ -130,19 +159,26 @@ namespace PepperDash.Essentials.Core } } - /// - /// Represents a BoolFeedbackLinq - /// + /// + /// Represents a BoolFeedbackLinq + /// public class BoolFeedbackLinq : BoolFeedbackLogic { readonly Func, bool> _predicate; + /// + /// Constructor + /// + /// public BoolFeedbackLinq(Func, bool> predicate) : base() { _predicate = predicate; } + /// + /// Evaluate method + /// protected override void Evaluate() { var prevValue = ComputedValue; diff --git a/src/PepperDash.Essentials.Core/Feedbacks/FeedbackBase.cs b/src/PepperDash.Essentials.Core/Feedbacks/FeedbackBase.cs index 723d22a6..0c756ace 100644 --- a/src/PepperDash.Essentials.Core/Feedbacks/FeedbackBase.cs +++ b/src/PepperDash.Essentials.Core/Feedbacks/FeedbackBase.cs @@ -102,12 +102,19 @@ namespace PepperDash.Essentials.Core if (OutputChange != null) OutputChange(this, new FeedbackEventArgs(value)); } + /// + /// Helper method that fires event. Use this intstead of calling OutputChange + /// + /// value to seed eventArgs protected void OnOutputChange(int value) { if (OutputChange != null) OutputChange(this, new FeedbackEventArgs(value)); } - + /// + /// Helper method that fires event. Use this intstead of calling OutputChange + /// + /// value to seed eventArgs protected void OnOutputChange(string value) { if (OutputChange != null) OutputChange(this, new FeedbackEventArgs(value)); diff --git a/src/PepperDash.Essentials.Core/Feedbacks/FeedbackEventArgs.cs b/src/PepperDash.Essentials.Core/Feedbacks/FeedbackEventArgs.cs index d2182245..e22e9366 100644 --- a/src/PepperDash.Essentials.Core/Feedbacks/FeedbackEventArgs.cs +++ b/src/PepperDash.Essentials.Core/Feedbacks/FeedbackEventArgs.cs @@ -15,10 +15,15 @@ namespace PepperDash.Essentials.Core /// Gets or sets the BoolValue /// public bool BoolValue { get; private set; } + /// /// Gets or sets the IntValue /// public int IntValue { get; private set; } + + /// + /// Gets or sets the UShortValue + /// public ushort UShortValue { get @@ -26,27 +31,41 @@ namespace PepperDash.Essentials.Core return (ushort)IntValue; } } + /// /// Gets or sets the StringValue /// public string StringValue { get; private set; } + /// /// Gets or sets the Type /// public eFeedbackEventType Type { get; private set; } + /// + /// Constructor for BoolValue + /// + /// value to set public FeedbackEventArgs(bool value) { BoolValue = value; Type = eFeedbackEventType.TypeBool; } + /// + /// Constructor for IntValue + /// + /// value to set public FeedbackEventArgs(int value) { IntValue = value; Type = eFeedbackEventType.TypeInt; } + /// + /// Constructor for StringValue + /// + /// value to set public FeedbackEventArgs(string value) { StringValue = value; @@ -59,8 +78,19 @@ namespace PepperDash.Essentials.Core /// public enum eFeedbackEventType { + /// + /// Boolean type feedback event + /// TypeBool, + + /// + /// Integer type feedback event + /// TypeInt, + + /// + /// String type feedback event + /// TypeString } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Feedbacks/IntFeedback.cs b/src/PepperDash.Essentials.Core/Feedbacks/IntFeedback.cs index ee23e310..4dd0424b 100644 --- a/src/PepperDash.Essentials.Core/Feedbacks/IntFeedback.cs +++ b/src/PepperDash.Essentials.Core/Feedbacks/IntFeedback.cs @@ -64,6 +64,10 @@ namespace PepperDash.Essentials.Core ValueFunc = valueFunc; } + /// + /// Sets the ValueFunc + /// + /// function to set public void SetValueFunc(Func newFunc) { ValueFunc = newFunc; diff --git a/src/PepperDash.Essentials.Core/Feedbacks/SerialFeedback.cs b/src/PepperDash.Essentials.Core/Feedbacks/SerialFeedback.cs index b26e23e6..1bde5a08 100644 --- a/src/PepperDash.Essentials.Core/Feedbacks/SerialFeedback.cs +++ b/src/PepperDash.Essentials.Core/Feedbacks/SerialFeedback.cs @@ -13,6 +13,9 @@ namespace PepperDash.Essentials.Core /// public class SerialFeedback : Feedback { + /// + /// Gets the SerialValue + /// public override string SerialValue { get { return _SerialValue; } } string _SerialValue; @@ -25,11 +28,18 @@ namespace PepperDash.Essentials.Core List LinkedInputSigs = new List(); + /// + /// Constructor + /// [Obsolete("use constructor with Key parameter. This constructor will be removed in a future version")] public SerialFeedback() { } + /// + /// Constructor with Key parameter + /// + /// Key to find this Feedback public SerialFeedback(string key) : base(key) { diff --git a/src/PepperDash.Essentials.Core/Feedbacks/StringFeedback.cs b/src/PepperDash.Essentials.Core/Feedbacks/StringFeedback.cs index f7d594c4..4c419903 100644 --- a/src/PepperDash.Essentials.Core/Feedbacks/StringFeedback.cs +++ b/src/PepperDash.Essentials.Core/Feedbacks/StringFeedback.cs @@ -59,6 +59,10 @@ namespace PepperDash.Essentials.Core ValueFunc = valueFunc; } + /// + /// Sets the ValueFunc + /// + /// function to set public void SetValueFunc(Func newFunc) { ValueFunc = newFunc; diff --git a/src/PepperDash.Essentials.Core/File/FileIO.cs b/src/PepperDash.Essentials.Core/File/FileIO.cs index 0c41522b..df1c0750 100644 --- a/src/PepperDash.Essentials.Core/File/FileIO.cs +++ b/src/PepperDash.Essentials.Core/File/FileIO.cs @@ -10,14 +10,23 @@ using Serilog.Events; namespace PepperDash.Essentials.Core { + /// + /// Static class for FileIO operations + /// public static class FileIO { static CCriticalSection fileLock = new CCriticalSection(); - /// - /// Delegate for GotFileEventHandler - /// + /// + /// Delegate for GotFileEventHandler + /// + /// + /// public delegate void GotFileEventHandler(object sender, FileEventArgs e); + + /// + /// Event for GotFileEvent + /// public static event GotFileEventHandler GotFileEvent; /// @@ -297,6 +306,10 @@ namespace PepperDash.Essentials.Core /// public class FileEventArgs { + /// + /// Constructor + /// + /// public FileEventArgs(string data) { Data = data; } /// /// Gets or sets the Data diff --git a/src/PepperDash.Essentials.Core/Fusion/FusionProcessorQueries.cs b/src/PepperDash.Essentials.Core/Fusion/FusionProcessorQueries.cs index 930483fb..86ed62f3 100644 --- a/src/PepperDash.Essentials.Core/Fusion/FusionProcessorQueries.cs +++ b/src/PepperDash.Essentials.Core/Fusion/FusionProcessorQueries.cs @@ -15,6 +15,10 @@ namespace PepperDash.Essentials.Core.Fusion { //public static Dictionary Programs { get; private set; } + /// + /// Gets the processor program registry + /// + /// public static Dictionary GetProcessorProgReg() { var programs = new Dictionary(); diff --git a/src/PepperDash.Essentials.Core/Fusion/FusionRviDataClasses.cs b/src/PepperDash.Essentials.Core/Fusion/FusionRviDataClasses.cs index da83d9d7..cef4926f 100644 --- a/src/PepperDash.Essentials.Core/Fusion/FusionRviDataClasses.cs +++ b/src/PepperDash.Essentials.Core/Fusion/FusionRviDataClasses.cs @@ -17,18 +17,47 @@ namespace PepperDash.Essentials.Core.Fusion /// public class FusionRoomGuids { + /// + /// Gets or sets the RoomName + /// public string RoomName { get; set; } + + /// + /// Gets or sets the IpId + /// public uint IpId { get; set; } + + /// + /// Gets or sets the RoomGuid + /// public string RoomGuid { get; set; } + + /// + /// Gets or sets the OccupancyAsset + /// public FusionOccupancySensorAsset OccupancyAsset { get; set; } + + /// + /// Gets or sets the StaticAssets + /// public Dictionary StaticAssets { get; set; } + /// + /// FusionRoomGuids constructor + /// public FusionRoomGuids() { StaticAssets = new Dictionary(); OccupancyAsset = new FusionOccupancySensorAsset(); } + /// + /// FusionRoomGuids constructor + /// + /// name of the fusion room + /// ipID of the fusion room + /// room GUID + /// dictionary of assets public FusionRoomGuids(string roomName, uint ipId, string roomGuid, Dictionary staticAssets) { RoomName = roomName; @@ -39,6 +68,14 @@ namespace PepperDash.Essentials.Core.Fusion OccupancyAsset = new FusionOccupancySensorAsset(); } + /// + /// FusionRoomGuids constructor + /// + /// name of the fusion room + /// ipID of the fusion room + /// room GUID + /// dictionary of assets + /// occupancy asset public FusionRoomGuids(string roomName, uint ipId, string roomGuid, Dictionary staticAssets, FusionOccupancySensorAsset occAsset) { RoomName = roomName; @@ -143,10 +180,17 @@ namespace PepperDash.Essentials.Core.Fusion /// public string InstanceId { get; set; } + /// + /// Default constructor + /// public FusionOccupancySensorAsset() { } + /// + /// FusionOccupancySensorAsset constructor + /// + /// asset type public FusionOccupancySensorAsset(eAssetType type) { Type = type; @@ -177,11 +221,21 @@ namespace PepperDash.Essentials.Core.Fusion /// public string InstanceId { get;set; } + /// + /// Default constructor + /// public FusionAsset() { } + /// + /// FusionAsset constructor + /// + /// slot number of asset + /// name of the asset + /// type of the asset + /// instance ID of the asset public FusionAsset(uint slotNum, string assetName, string type, string instanceId) { SlotNumber = slotNum; @@ -210,6 +264,9 @@ namespace PepperDash.Essentials.Core.Fusion /// public List Meetings { get; set; } + /// + /// RoomSchedule constructor + /// public RoomSchedule() { Meetings = new List(); @@ -224,6 +281,9 @@ namespace PepperDash.Essentials.Core.Fusion /// public class LocalTimeRequest { + /// + /// Gets or sets the RequestID + /// public string RequestID { get; set; } } @@ -238,13 +298,30 @@ namespace PepperDash.Essentials.Core.Fusion /// Gets or sets the RequestID /// public string RequestID { get; set; } + //[XmlElement(ElementName = "RoomID")] + /// + /// Gets or sets the RoomID + /// public string RoomID { get; set; } + //[XmlElement(ElementName = "Start")] + /// + /// Gets or sets the Start + /// public DateTime Start { get; set; } + //[XmlElement(ElementName = "HourSpan")] + /// + /// Gets or sets the HourSpan + /// public double HourSpan { get; set; } + /// + /// RequestSchedule constructor + /// + /// id of the request + /// id of the room public RequestSchedule(string requestID, string roomID) { RequestID = requestID; @@ -282,6 +359,12 @@ namespace PepperDash.Essentials.Core.Fusion /// public List Parameters { get; set; } + /// + /// RequestAction constructor + /// + /// id of the room + /// id of the action + /// list of parameters public RequestAction(string roomID, string actionID, List parameters) { RoomID = roomID; @@ -301,11 +384,13 @@ namespace PepperDash.Essentials.Core.Fusion /// Gets or sets the RequestID /// public string RequestID { get; set; } + //[XmlElement(ElementName = "ActionID")] /// /// Gets or sets the ActionID /// public string ActionID { get; set; } + //[XmlElement(ElementName = "Parameters")] /// /// Gets or sets the Parameters @@ -324,6 +409,7 @@ namespace PepperDash.Essentials.Core.Fusion /// Gets or sets the ID /// public string ID { get; set; } + //[XmlAttribute(AttributeName = "Value")] /// /// Gets or sets the Value @@ -345,14 +431,32 @@ namespace PepperDash.Essentials.Core.Fusion public class ScheduleResponse { //[XmlElement(ElementName = "RequestID")] + /// + /// Gets or sets the RequestID + /// public string RequestID { get; set; } + //[XmlElement(ElementName = "RoomID")] + /// + /// Gets or sets the RoomID + /// public string RoomID { get; set; } + //[XmlElement(ElementName = "RoomName")] + /// + /// Gets or sets the RoomName + /// public string RoomName { get; set; } + //[XmlElement("Event")] + /// + /// Gets or sets the Events + /// public List Events { get; set; } + /// + /// ScheduleResponse constructor + /// public ScheduleResponse() { Events = new List(); diff --git a/src/PepperDash.Essentials.Core/Global/Global.cs b/src/PepperDash.Essentials.Core/Global/Global.cs index 95773858..37d4472d 100644 --- a/src/PepperDash.Essentials.Core/Global/Global.cs +++ b/src/PepperDash.Essentials.Core/Global/Global.cs @@ -22,6 +22,9 @@ using Serilog.Events; namespace PepperDash.Essentials.Core { + /// + /// Global static class for Essentials + /// public static class Global { /// @@ -34,6 +37,9 @@ namespace PepperDash.Essentials.Core /// public static eDevicePlatform Platform { get { return CrestronEnvironment.DevicePlatform; } } + /// + /// Gets the collection of Ethernet Adapter Info + /// public static Dictionary EthernetAdapterInfoCollection { get; private set; } /// @@ -47,6 +53,9 @@ namespace PepperDash.Essentials.Core public static eCrestronSeries ProcessorSeries { get { return CrestronEnvironment.ProgramCompatibility; } } // TODO: consider making this configurable later + /// + /// The CultureInfo for formatting + /// public static IFormatProvider Culture = CultureInfo.CreateSpecificCulture("en-US"); /// @@ -182,6 +191,13 @@ namespace PepperDash.Essentials.Core AssemblyVersion = assemblyVersion; } + /// + /// Checks to see if the running version is in the list of development versions. If so, checks to see if it meets the minimum version requirement. + /// If not in the list, returns false. For beta versions (0.xx.yy), will always return true. + /// + /// list of development versions + /// minimum version + /// public static bool IsRunningDevelopmentVersion(List developmentVersions, string minimumVersion) { if (Regex.Match(AssemblyVersion, @"^(\d*).(\d*).(\d*).*").Groups[1].Value == "0") diff --git a/src/PepperDash.Essentials.Core/Global/JobTimer.cs b/src/PepperDash.Essentials.Core/Global/JobTimer.cs index 6a6fd683..55814368 100644 --- a/src/PepperDash.Essentials.Core/Global/JobTimer.cs +++ b/src/PepperDash.Essentials.Core/Global/JobTimer.cs @@ -6,6 +6,9 @@ using Crestron.SimplSharp; namespace PepperDash.Essentials.Core { + /// + /// Represents a JobTimer + /// public static class JobTimer { static CTimer MinuteTimer; @@ -13,25 +16,18 @@ namespace PepperDash.Essentials.Core static List Items = new List(); /// - /// - /// - /// - /// - /// AddAction method - /// + /// AddAction method + /// + /// action to add public static void AddAction(Action act) { } /// - /// + /// AddJobTimerItem method /// - /// - /// - /// - /// AddJobTimerItem method - /// + /// JobTimerItem to add public static void AddJobTimerItem(JobTimerItem item) { var existing = Items.FirstOrDefault(i => i.Key == item.Key); @@ -62,25 +58,61 @@ namespace PepperDash.Essentials.Core /// public class JobTimerItem { - public string Key { get; private set; } - public Action JobAction { get; private set; } - public eJobTimerCycleTypes CycleType { get; private set; } /// - /// + /// Key property + /// + public string Key { get; private set; } + + /// + /// JobAction property + /// + public Action JobAction { get; private set; } + + /// + /// CycleType property + /// + public eJobTimerCycleTypes CycleType { get; private set; } + + /// + /// RunNextAt property /// public DateTime RunNextAt { get; set; } + /// + /// Constructor + /// + /// item key + /// cycle type + /// action to run public JobTimerItem(string key, eJobTimerCycleTypes cycle, Action act) { } } + /// + /// JobTimerCycleTypes enum + /// public enum eJobTimerCycleTypes { + /// + /// RunEveryDay property + /// RunEveryDay, + + /// + /// RunEveryHour property + /// RunEveryHour, + + /// + /// RunEveryHalfHour property + /// RunEveryHalfHour, + + /// + /// RunEveryMinute property + /// RunEveryMinute } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Global/Scheduler.cs b/src/PepperDash.Essentials.Core/Global/Scheduler.cs index aee40cff..d3641ffc 100644 --- a/src/PepperDash.Essentials.Core/Global/Scheduler.cs +++ b/src/PepperDash.Essentials.Core/Global/Scheduler.cs @@ -138,6 +138,11 @@ Recurrence Days: {evt.Value.Recurrence.RecurrenceDays} EventGroups.Remove(eventGroup.Name); } + /// + /// Gets the event group by key + /// + /// key of the event group + /// public static ScheduledEventGroup GetEventGroup(string key) { ScheduledEventGroup returnValue; @@ -146,6 +151,9 @@ Recurrence Days: {evt.Value.Recurrence.RecurrenceDays} } } + /// + /// SchedulerUtilities class + /// public static class SchedulerUtilities { /// diff --git a/src/PepperDash.Essentials.Core/InUseTracking/IInUseTracking.cs b/src/PepperDash.Essentials.Core/InUseTracking/IInUseTracking.cs index 97a7c7f6..59ea87b3 100644 --- a/src/PepperDash.Essentials.Core/InUseTracking/IInUseTracking.cs +++ b/src/PepperDash.Essentials.Core/InUseTracking/IInUseTracking.cs @@ -11,6 +11,9 @@ namespace PepperDash.Essentials.Core /// public interface IInUseTracking { + /// + /// Gets the InUseTracker + /// InUseTracking InUseTracker { get; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/InUseTracking/InUseTracking.cs b/src/PepperDash.Essentials.Core/InUseTracking/InUseTracking.cs index 177b1c22..c0fcdbf6 100644 --- a/src/PepperDash.Essentials.Core/InUseTracking/InUseTracking.cs +++ b/src/PepperDash.Essentials.Core/InUseTracking/InUseTracking.cs @@ -28,6 +28,9 @@ namespace PepperDash.Essentials.Core /// public IntFeedback InUseCountFeedback { get; private set; } + /// + /// Constructor + /// public InUseTracking() { InUseFeedback = new BoolFeedback(() => _Users.Count > 0); @@ -39,9 +42,7 @@ namespace PepperDash.Essentials.Core /// multiple times, provided that the label is different /// /// A label to identify the instance of the user. Treated like a "role", etc. - /// - /// AddUser method - /// + /// The object to add public void AddUser(object objectToAdd, string label) { // check if an exact object/label pair exists and ignore if so. No double-registers. @@ -56,9 +57,11 @@ namespace PepperDash.Essentials.Core InUseCountFeedback.FireUpdate(); } - /// - /// RemoveUser method - /// + /// + /// RemoveUser method + /// + /// The label of the user to remove + /// The object to remove public void RemoveUser(object objectToRemove, string label) { // Find the user object if exists and remove it @@ -73,14 +76,26 @@ namespace PepperDash.Essentials.Core } } - /// - /// Represents a InUseTrackingObject - /// + /// + /// Represents a InUseTrackingObject + /// public class InUseTrackingObject { + /// + /// The label of the user + /// public string Label { get; private set; } + + /// + /// The user object + /// public object User { get; private set; } + /// + /// Constructor + /// + /// user using the object + /// label for the object public InUseTrackingObject(object user, string label) { User = user; diff --git a/src/PepperDash.Essentials.Core/JoinMaps/JoinMapBase.cs b/src/PepperDash.Essentials.Core/JoinMaps/JoinMapBase.cs index 01f71098..d2e7d036 100644 --- a/src/PepperDash.Essentials.Core/JoinMaps/JoinMapBase.cs +++ b/src/PepperDash.Essentials.Core/JoinMaps/JoinMapBase.cs @@ -17,6 +17,9 @@ using Serilog.Events; namespace PepperDash.Essentials.Core { + /// + /// JoinMapHelper class + /// public static class JoinMapHelper { /// @@ -93,6 +96,9 @@ namespace PepperDash.Essentials.Core /// public abstract class JoinMapBaseAdvanced { + /// + /// The join offset + /// protected uint JoinOffset; /// @@ -100,6 +106,10 @@ namespace PepperDash.Essentials.Core /// public Dictionary Joins { get; private set; } + /// + /// Constructor + /// + /// join start offset protected JoinMapBaseAdvanced(uint joinStart) { Joins = new Dictionary(); @@ -107,11 +117,20 @@ namespace PepperDash.Essentials.Core JoinOffset = joinStart - 1; } + /// + /// Constructor + /// + /// join start offset + /// type of joinstart protected JoinMapBaseAdvanced(uint joinStart, Type type):this(joinStart) { AddJoins(type); } + /// + /// AddJoins method + /// + /// type of join to add protected void AddJoins(Type type) { var fields = @@ -303,18 +322,11 @@ namespace PepperDash.Essentials.Core PrintJoinMapInfo(); } - /// - /// Returns the join span for the join with the specified key - /// - /// - /// - - - /// - /// Returns the join span for the join with the specified key - /// - /// - /// + // /// + // /// Returns the join span for the join with the specified key + // /// + // /// + // /// //public uint GetJoinSpanForKey(string key) //{ // return Joins.ContainsKey(key) ? Joins[key].JoinSpan : 0; @@ -328,28 +340,86 @@ namespace PepperDash.Essentials.Core [Flags] public enum eJoinCapabilities { + /// + /// No capabilities + /// None = 0, + + /// + /// To SIMPL + /// ToSIMPL = 1, + + /// + /// From SIMPL + /// FromSIMPL = 2, + + /// + /// To and From SIMPL + /// ToFromSIMPL = ToSIMPL | FromSIMPL, + + /// + /// To Fusion + /// ToFusion = 4, + + /// + /// From Fusion + /// FromFusion = 8, + + /// + /// To and From Fusion + /// ToFromFusion = ToFusion | FromFusion, } - [Flags] /// /// Enumeration of eJoinType values /// + [Flags] public enum eJoinType { + /// + /// No join type + /// None = 0, + + /// + /// Digital join + /// Digital = 1, + + /// + /// Analog join + /// Analog = 2, + + /// + /// Serial join + /// Serial = 4, + + /// + /// Digital and Analog join + /// DigitalAnalog = Digital | Analog, + + /// + /// Digital and Serial join + /// DigitalSerial = Digital | Serial, + + /// + /// Analog and Serial join + /// AnalogSerial = Analog | Serial, + + /// + /// Digital, Analog and Serial join + /// DigitalAnalogSerial = Digital | Analog | Serial, } @@ -364,29 +434,23 @@ namespace PepperDash.Essentials.Core /// [JsonProperty("description")] public string Description { get { return _description; } set { _description = value; } } - /// - /// Signal type(s) - /// - [JsonProperty("joinType")] + /// /// Gets or sets the JoinType /// + [JsonProperty("joinType")] public eJoinType JoinType { get; set; } - /// - /// Indicates whether the join is read and/or write - /// - [JsonProperty("joinCapabilities")] + /// /// Gets or sets the JoinCapabilities /// + [JsonProperty("joinCapabilities")] public eJoinCapabilities JoinCapabilities { get; set; } - /// - /// Indicates a set of valid values (particularly if this translates to an enum - /// - [JsonProperty("validValues")] + /// /// Gets or sets the ValidValues /// + [JsonProperty("validValues")] public string[] ValidValues { get; set; } } @@ -401,18 +465,17 @@ namespace PepperDash.Essentials.Core /// [JsonProperty("joinNumber")] public uint JoinNumber { get; set; } + /// /// Join range span. If join indicates the start of a range of joins, this indicated the maximum number of joins in the range /// [JsonProperty("joinSpan")] public uint JoinSpan { get; set; } - /// - /// Fusion Attribute Name (optional) - /// - [JsonProperty("attributeName")] + /// /// Gets or sets the AttributeName /// + [JsonProperty("attributeName")] public string AttributeName { get; set; } } @@ -424,18 +487,34 @@ namespace PepperDash.Essentials.Core private uint _joinOffset; private JoinData _data; + + /// + /// Gets or sets the JoinMetadata + /// public JoinMetadata Metadata { get; set; } + /// /// To store some future information as you please /// public object UserObject { get; private set; } + /// + /// Constructor + /// + /// + /// public JoinDataComplete(JoinData data, JoinMetadata metadata) { _data = data; Metadata = metadata; } + /// + /// GetMarkdownFormattedData method + /// + /// formatter to use + /// length of the description + /// public string GetMarkdownFormattedData(string stringFormatter, int descriptionLen) { @@ -498,9 +577,6 @@ namespace PepperDash.Essentials.Core /// Sets the join offset value /// /// - /// - /// SetJoinOffset method - /// public void SetJoinOffset(uint joinOffset) { _joinOffset = joinOffset; @@ -515,11 +591,17 @@ namespace PepperDash.Essentials.Core set { _data.JoinNumber = value; } } + /// + /// The join span + /// public uint JoinSpan { get { return _data.JoinSpan; } } + /// + /// The attribute name + /// public string AttributeName { get { return _data.AttributeName; } @@ -551,20 +633,27 @@ namespace PepperDash.Essentials.Core - [AttributeUsage(AttributeTargets.All)] /// /// Represents a JoinNameAttribute /// + [AttributeUsage(AttributeTargets.All)] public class JoinNameAttribute : Attribute { private string _Name; + /// + /// Constructor + /// + /// name of the attribute public JoinNameAttribute(string name) { Debug.LogMessage(LogEventLevel.Verbose, "Setting Attribute Name: {0}",null, name); _Name = name; } + /// + /// Gets the Name + /// public string Name { get { return _Name; } diff --git a/src/PepperDash.Essentials.Core/License/EssentialsLicenseManager.cs b/src/PepperDash.Essentials.Core/License/EssentialsLicenseManager.cs index f8500996..ded7f699 100644 --- a/src/PepperDash.Essentials.Core/License/EssentialsLicenseManager.cs +++ b/src/PepperDash.Essentials.Core/License/EssentialsLicenseManager.cs @@ -13,21 +13,29 @@ using Serilog.Events; namespace PepperDash.Essentials.License { + /// + /// Abstract base class for License Managers + /// public abstract class LicenseManager { - /// - /// Gets or sets the LicenseIsValid - /// + /// + /// Gets or sets the LicenseIsValid + /// public BoolFeedback LicenseIsValid { get; protected set; } - /// - /// Gets or sets the LicenseMessage - /// + + /// + /// Gets or sets the LicenseMessage + /// public StringFeedback LicenseMessage { get; protected set; } - /// - /// Gets or sets the LicenseLog - /// + + /// + /// Gets or sets the LicenseLog + /// public StringFeedback LicenseLog { get; protected set; } + /// + /// Constructor + /// protected LicenseManager() { CrestronConsole.AddNewConsoleCommand( @@ -36,12 +44,15 @@ namespace PepperDash.Essentials.License ConsoleAccessLevelEnum.AccessOperator); } + /// + /// Gets the status string for console command + /// protected abstract string GetStatusString(); } - /// - /// Represents a MockEssentialsLicenseManager - /// + /// + /// Represents a MockEssentialsLicenseManager + /// public class MockEssentialsLicenseManager : LicenseManager { /// @@ -91,6 +102,10 @@ namespace PepperDash.Essentials.License SetIsValid(isValid); } + /// + /// Gets the status string for console command + /// + /// license status valid or invalid protected override string GetStatusString() { return string.Format("License Status: {0}", IsValid ? "Valid" : "Not Valid"); diff --git a/src/PepperDash.Essentials.Core/Lighting/Lighting Interfaces.cs b/src/PepperDash.Essentials.Core/Lighting/Lighting Interfaces.cs index de581681..642ca6f8 100644 --- a/src/PepperDash.Essentials.Core/Lighting/Lighting Interfaces.cs +++ b/src/PepperDash.Essentials.Core/Lighting/Lighting Interfaces.cs @@ -8,12 +8,25 @@ namespace PepperDash.Essentials.Core.Lighting /// public interface ILightingScenes { + /// + /// Fires when the lighting scene changes + /// event EventHandler LightingSceneChange; + /// + /// Gets the list of LightingScenes + /// List LightingScenes { get; } + /// + /// Selects the given LightingScene + /// + /// scene to select void SelectScene(LightingScene scene); + /// + /// Gets the currently selected LightingScene + /// LightingScene CurrentLightingScene { get; } } @@ -23,6 +36,9 @@ namespace PepperDash.Essentials.Core.Lighting /// public interface ILightingScenesDynamic : ILightingScenes { + /// + /// Fires when the lighting scenes are updated + /// event EventHandler LightingScenesUpdated; } @@ -31,8 +47,19 @@ namespace PepperDash.Essentials.Core.Lighting /// public interface ILightingMasterRaiseLower { + /// + /// Raises the master level + /// void MasterRaise(); + + /// + /// Lowers the master level + /// void MasterLower(); + + /// + /// Stops raising or lowering the master level + /// void MasterRaiseLowerStop(); } @@ -41,11 +68,30 @@ namespace PepperDash.Essentials.Core.Lighting /// public interface ILightingLoad { + /// + /// Sets the load level + /// + /// level to set void SetLoadLevel(int level); + + /// + /// Raises the load level + /// void Raise(); + + /// + /// Lowers the load level + /// void Lower(); + /// + /// feedback of the current load level + /// IntFeedback LoadLevelFeedback { get; } + + /// + /// feedback of whether the load is on + /// BoolFeedback LoadIsOnFeedback { get; } } @@ -59,6 +105,10 @@ namespace PepperDash.Essentials.Core.Lighting /// public LightingScene CurrentLightingScene { get; private set; } + /// + /// Constructor for LightingSceneChangeEventArgs + /// + /// The lighting scene that changed public LightingSceneChangeEventArgs(LightingScene scene) { CurrentLightingScene = scene; diff --git a/src/PepperDash.Essentials.Core/Lighting/LightingScene.cs b/src/PepperDash.Essentials.Core/Lighting/LightingScene.cs index 788dbb35..15afb8c1 100644 --- a/src/PepperDash.Essentials.Core/Lighting/LightingScene.cs +++ b/src/PepperDash.Essentials.Core/Lighting/LightingScene.cs @@ -10,17 +10,23 @@ namespace PepperDash.Essentials.Core.Lighting /// public class LightingScene { - [JsonProperty("name", NullValueHandling = NullValueHandling.Ignore)] /// /// Gets or sets the Name /// + [JsonProperty("name", NullValueHandling = NullValueHandling.Ignore)] public string Name { get; set; } - [JsonProperty("id", NullValueHandling = NullValueHandling.Ignore)] + /// /// Gets or sets the ID /// + [JsonProperty("id", NullValueHandling = NullValueHandling.Ignore)] public string ID { get; set; } + bool _IsActive; + + /// + /// Gets or sets whether the scene is active + /// [JsonProperty("isActive", NullValueHandling = NullValueHandling.Ignore)] public bool IsActive { @@ -35,18 +41,22 @@ namespace PepperDash.Essentials.Core.Lighting } } - [JsonProperty("sortOrder", NullValueHandling = NullValueHandling.Ignore)] /// /// Gets or sets the SortOrder /// + [JsonProperty("sortOrder", NullValueHandling = NullValueHandling.Ignore)] public int SortOrder { get; set; } - [JsonIgnore] + /// /// Gets or sets the IsActiveFeedback /// + [JsonIgnore] public BoolFeedback IsActiveFeedback { get; set; } + /// + /// Constructor for LightingScene + /// public LightingScene() { IsActiveFeedback = new BoolFeedback(new Func(() => IsActive)); diff --git a/src/PepperDash.Essentials.Core/Microphone Privacy/MicrophonePrivacyController.cs b/src/PepperDash.Essentials.Core/Microphone Privacy/MicrophonePrivacyController.cs index 203d75ed..a15e0dc4 100644 --- a/src/PepperDash.Essentials.Core/Microphone Privacy/MicrophonePrivacyController.cs +++ b/src/PepperDash.Essentials.Core/Microphone Privacy/MicrophonePrivacyController.cs @@ -23,6 +23,9 @@ namespace PepperDash.Essentials.Core.Privacy bool initialized; + /// + /// Gets or sets whether LED control is enabled + /// public bool EnableLeds { get @@ -69,6 +72,11 @@ namespace PepperDash.Essentials.Core.Privacy /// public IPrivacy PrivacyDevice { get; private set; } + /// + /// Constructor for MicrophonePrivacyController + /// + /// key of the controller device + /// configuration for the controller device public MicrophonePrivacyController(string key, MicrophonePrivacyControllerConfig config) : base(key) { @@ -264,6 +272,9 @@ namespace PepperDash.Essentials.Core.Privacy /// public class MicrophonePrivacyControllerFactory : EssentialsDeviceFactory { + /// + /// Constructor for MicrophonePrivacyControllerFactory + /// public MicrophonePrivacyControllerFactory() { TypeNames = new List() { "microphoneprivacycontroller" }; diff --git a/src/PepperDash.Essentials.Core/Monitoring/CrestronGenericBaseCommunicationMonitor.cs b/src/PepperDash.Essentials.Core/Monitoring/CrestronGenericBaseCommunicationMonitor.cs index b10be947..dc9406a3 100644 --- a/src/PepperDash.Essentials.Core/Monitoring/CrestronGenericBaseCommunicationMonitor.cs +++ b/src/PepperDash.Essentials.Core/Monitoring/CrestronGenericBaseCommunicationMonitor.cs @@ -20,6 +20,13 @@ namespace PepperDash.Essentials.Core { GenericBase Device; + /// + /// Constructor for CrestronGenericBaseCommunicationMonitor + /// + /// parent device + /// device to monitor + /// time before warning status + /// time before error status public CrestronGenericBaseCommunicationMonitor(IKeyed parent, GenericBase device, long warningTime, long errorTime) : base(parent, warningTime, errorTime) { diff --git a/src/PepperDash.Essentials.Core/Monitoring/GenericCommunicationMonitor.cs b/src/PepperDash.Essentials.Core/Monitoring/GenericCommunicationMonitor.cs index eca013c5..34f074d9 100644 --- a/src/PepperDash.Essentials.Core/Monitoring/GenericCommunicationMonitor.cs +++ b/src/PepperDash.Essentials.Core/Monitoring/GenericCommunicationMonitor.cs @@ -12,6 +12,9 @@ namespace PepperDash.Essentials.Core /// public class GenericCommunicationMonitor : StatusMonitorBase { + /// + /// Gets the Client being monitored + /// public IBasicCommunication Client { get; private set; } /// @@ -281,17 +284,29 @@ namespace PepperDash.Essentials.Core } } - /// - /// Represents a CommunicationMonitorConfig - /// + /// + /// Represents a CommunicationMonitorConfig + /// public class CommunicationMonitorConfig { - /// - /// Gets or sets the PollInterval - /// + /// + /// Gets or sets the PollInterval + /// public int PollInterval { get; set; } + + /// + /// Gets or sets the TimeToWarning + /// public int TimeToWarning { get; set; } + + /// + /// Gets or sets the TimeToError + /// public int TimeToError { get; set; } + + /// + /// Gets or sets the PollString + /// public string PollString { get; set; } /// diff --git a/src/PepperDash.Essentials.Core/Monitoring/Interfaces.cs b/src/PepperDash.Essentials.Core/Monitoring/Interfaces.cs index a4d8d2ae..4a3303fe 100644 --- a/src/PepperDash.Essentials.Core/Monitoring/Interfaces.cs +++ b/src/PepperDash.Essentials.Core/Monitoring/Interfaces.cs @@ -11,12 +11,39 @@ namespace PepperDash.Essentials.Core /// public interface IStatusMonitor { + /// + /// Gets the Parent + /// IKeyed Parent { get; } + + /// + /// Fires when the status changes + /// event EventHandler StatusChange; + + /// + /// Gets the Status + /// MonitorStatus Status { get; } + + /// + /// Gets the Message + /// string Message { get; } + + /// + /// Gets or sets the IsOnlineFeedback + /// BoolFeedback IsOnlineFeedback { get; set; } + + /// + /// Start method + /// void Start(); + + /// + /// Stop method + /// void Stop(); } @@ -26,6 +53,9 @@ namespace PepperDash.Essentials.Core /// public interface ICommunicationMonitor { + /// + /// Gets the CommunicationMonitor + /// StatusMonitorBase CommunicationMonitor { get; } } @@ -34,29 +64,57 @@ namespace PepperDash.Essentials.Core /// public enum MonitorStatus { + /// + /// Status Unknown + /// StatusUnknown = 0, - IsOk = 1, - InWarning = 2, + + /// + /// Is Ok + /// + IsOk = 1, + + /// + /// In Warning + /// + InWarning = 2, + + /// + /// In Error + /// InError = 3 } + /// + /// Represents a MonitorStatusChangeEventArgs + /// public class MonitorStatusChangeEventArgs : EventArgs { - /// - /// Gets or sets the Status - /// + /// + /// Gets or sets the Status + /// public MonitorStatus Status { get; private set; } - /// - /// Gets or sets the Message - /// + + /// + /// Gets or sets the Message + /// public string Message { get; private set; } + /// + /// Constructor for MonitorStatusChangeEventArgs + /// + /// monitor status public MonitorStatusChangeEventArgs(MonitorStatus status) { Status = status; Message = status == MonitorStatus.IsOk ? "" : status.ToString(); } + /// + /// Constructor for MonitorStatusChangeEventArgs + /// + /// monitor status + /// status message public MonitorStatusChangeEventArgs(MonitorStatus status, string message) { Status = status; diff --git a/src/PepperDash.Essentials.Core/Monitoring/StatusMonitorBase.cs b/src/PepperDash.Essentials.Core/Monitoring/StatusMonitorBase.cs index 1934f945..7f44fa0f 100644 --- a/src/PepperDash.Essentials.Core/Monitoring/StatusMonitorBase.cs +++ b/src/PepperDash.Essentials.Core/Monitoring/StatusMonitorBase.cs @@ -13,8 +13,14 @@ using PepperDash.Core; namespace PepperDash.Essentials.Core { + /// + /// Base class for status monitors + /// public abstract class StatusMonitorBase : IStatusMonitor, IKeyName { + /// + /// Event fired when status changes + /// public event EventHandler StatusChange; /// @@ -27,15 +33,24 @@ namespace PepperDash.Essentials.Core /// public string Name { get { return "Comm. monitor"; } } - /// - /// Gets or sets the Parent - /// + /// + /// Gets or sets the Parent + /// public IKeyed Parent { get; private set; } + /// + /// Bool feedback for online status + /// public BoolFeedback IsOnlineFeedback { get; set; } + /// + /// Indicates whether the monitored device is online + /// public bool IsOnline; + /// + /// Current monitor status + /// public MonitorStatus Status { get { return _Status; } @@ -51,6 +66,9 @@ namespace PepperDash.Essentials.Core } MonitorStatus _Status; + /// + /// Current status message + /// public string Message { get { return _Message; } @@ -69,6 +87,12 @@ namespace PepperDash.Essentials.Core CTimer WarningTimer; CTimer ErrorTimer; + /// + /// Constructor + /// + /// parent device + /// time in milliseconds before warning status + /// time in milliseconds before error status public StatusMonitorBase(IKeyed parent, long warningTime, long errorTime) { Parent = parent; @@ -83,9 +107,20 @@ namespace PepperDash.Essentials.Core ErrorTime = errorTime; } + /// + /// Starts the monitor + /// public abstract void Start(); + + /// + /// Stops the monitor + /// public abstract void Stop(); + /// + /// Fires the StatusChange event + /// + /// monitor status protected void OnStatusChange(MonitorStatus status) { if (_Status == MonitorStatus.IsOk) @@ -98,6 +133,11 @@ namespace PepperDash.Essentials.Core handler(this, new MonitorStatusChangeEventArgs(status)); } + /// + /// Fires the StatusChange event with message + /// + /// monitor status + /// status message protected void OnStatusChange(MonitorStatus status, string message) { if (_Status == MonitorStatus.IsOk) @@ -110,12 +150,18 @@ namespace PepperDash.Essentials.Core handler(this, new MonitorStatusChangeEventArgs(status, message)); } + /// + /// Starts the error timers + /// protected void StartErrorTimers() { if (WarningTimer == null) WarningTimer = new CTimer(o => { Status = MonitorStatus.InWarning; }, WarningTime); if (ErrorTimer == null) ErrorTimer = new CTimer(o => { Status = MonitorStatus.InError; }, ErrorTime); } + /// + /// Stops the error timers + /// protected void StopErrorTimers() { if (WarningTimer != null) WarningTimer.Stop(); @@ -124,6 +170,9 @@ namespace PepperDash.Essentials.Core ErrorTimer = null; } + /// + /// Resets the error timers + /// protected void ResetErrorTimers() { if(WarningTimer != null) diff --git a/src/PepperDash.Essentials.Core/Monitoring/StatusMonitorCollection.cs b/src/PepperDash.Essentials.Core/Monitoring/StatusMonitorCollection.cs index be7fbf68..58aba6a1 100644 --- a/src/PepperDash.Essentials.Core/Monitoring/StatusMonitorCollection.cs +++ b/src/PepperDash.Essentials.Core/Monitoring/StatusMonitorCollection.cs @@ -14,41 +14,51 @@ using PepperDash.Core; namespace PepperDash.Essentials.Core { /// - /// + /// Collection class for multiple status monitors /// public class StatusMonitorCollection : IStatusMonitor { + /// + /// Gets or sets the Parent + /// public IKeyed Parent { get; private set; } List Monitors = new List(); #region IStatusMonitor Members + /// + /// Event fired when status changes + /// public event EventHandler StatusChange; - /// - /// Gets or sets the Status - /// + /// + /// Gets or sets the Status + /// public MonitorStatus Status { get; protected set; } - /// - /// Gets or sets the Message - /// + /// + /// Gets or sets the Message + /// public string Message { get; private set; } - /// - /// Gets or sets the IsOnlineFeedback - /// + /// + /// Gets or sets the IsOnlineFeedback + /// public BoolFeedback IsOnlineFeedback { get; set; } + /// + /// Constructor + /// + /// parent device public StatusMonitorCollection(IKeyed parent) { Parent = parent; } - /// - /// Start method - /// + /// + /// Start method + /// public void Start() { foreach (var mon in Monitors) @@ -145,7 +155,11 @@ namespace PepperDash.Essentials.Core Monitors.Add(monitor); } - + /// + /// Fires the StatusChange event + /// + /// monitor status + /// status message protected void OnStatusChange(MonitorStatus status, string message) { var handler = StatusChange; diff --git a/src/PepperDash.Essentials.Core/Monitoring/SystemMonitorController.cs b/src/PepperDash.Essentials.Core/Monitoring/SystemMonitorController.cs index a353a072..61e70117 100644 --- a/src/PepperDash.Essentials.Core/Monitoring/SystemMonitorController.cs +++ b/src/PepperDash.Essentials.Core/Monitoring/SystemMonitorController.cs @@ -26,15 +26,26 @@ namespace PepperDash.Essentials.Core.Monitoring private string _uptime; private string _lastStart; + /// + /// Event fired when any SystemMonitor property changes + /// public event EventHandler SystemMonitorPropertiesChanged; + /// + /// Gets or sets the ProgramStatusFeedbackCollection + /// public Dictionary ProgramStatusFeedbackCollection; + + /// + /// Gets or sets the EthernetStatusFeedbackCollection + /// public Dictionary EthernetStatusFeedbackCollection; /// /// Gets or sets the TimeZoneFeedback /// public IntFeedback TimeZoneFeedback { get; protected set; } + /// /// Gets or sets the TimeZoneTextFeedback /// @@ -44,14 +55,17 @@ namespace PepperDash.Essentials.Core.Monitoring /// Gets or sets the IoControllerVersionFeedback /// public StringFeedback IoControllerVersionFeedback { get; protected set; } + /// /// Gets or sets the SnmpVersionFeedback /// public StringFeedback SnmpVersionFeedback { get; protected set; } + /// /// Gets or sets the BaCnetAppVersionFeedback /// public StringFeedback BaCnetAppVersionFeedback { get; protected set; } + /// /// Gets or sets the ControllerVersionFeedback /// @@ -62,6 +76,7 @@ namespace PepperDash.Essentials.Core.Monitoring /// Gets or sets the SerialNumberFeedback /// public StringFeedback SerialNumberFeedback { get; protected set; } + /// /// Gets or sets the ModelFeedback /// @@ -71,30 +86,34 @@ namespace PepperDash.Essentials.Core.Monitoring /// Gets or sets the UptimeFeedback /// public StringFeedback UptimeFeedback { get; set; } + /// /// Gets or sets the LastStartFeedback /// public StringFeedback LastStartFeedback { get; set; } - /// - /// Gets or sets the IsApplianceFeedback - /// + /// + /// Gets or sets the IsApplianceFeedback + /// public BoolFeedback IsApplianceFeedback { get; protected set; } private bool _isApplianceFb { get { return CrestronEnvironment.DevicePlatform == eDevicePlatform.Appliance; } } - /// - /// Gets or sets the IsServerFeedback - /// + /// + /// Gets or sets the IsServerFeedback + /// public BoolFeedback IsServerFeedback { get; protected set; } private bool _isServerFb { get { return CrestronEnvironment.DevicePlatform == eDevicePlatform.Server; } } - + /// + /// Constructor + /// + /// device key public SystemMonitorController(string key) : base(key) { @@ -464,55 +483,71 @@ namespace PepperDash.Essentials.Core.Monitoring OnSystemMonitorPropertiesChanged(); } + /// + /// Represents an EthernetStatusFeedbacks + /// public class EthernetStatusFeedbacks { /// /// Gets or sets the HostNameFeedback /// public StringFeedback HostNameFeedback { get; protected set; } + /// /// Gets or sets the DnsServerFeedback /// public StringFeedback DnsServerFeedback { get; protected set; } + /// /// Gets or sets the DomainFeedback /// public StringFeedback DomainFeedback { get; protected set; } + /// /// Gets or sets the MacAddressFeedback /// public StringFeedback MacAddressFeedback { get; protected set; } + /// /// Gets or sets the DhcpStatusFeedback /// public StringFeedback DhcpStatusFeedback { get; protected set; } + /// /// Gets or sets the CurrentIpAddressFeedback /// public StringFeedback CurrentIpAddressFeedback { get; protected set; } + /// /// Gets or sets the CurrentSubnetMaskFeedback /// public StringFeedback CurrentSubnetMaskFeedback { get; protected set; } + /// /// Gets or sets the CurrentDefaultGatewayFeedback /// public StringFeedback CurrentDefaultGatewayFeedback { get; protected set; } - + /// /// Gets or sets the StaticIpAddressFeedback /// public StringFeedback StaticIpAddressFeedback { get; protected set; } + /// /// Gets or sets the StaticSubnetMaskFeedback /// public StringFeedback StaticSubnetMaskFeedback { get; protected set; } + /// /// Gets or sets the StaticDefaultGatewayFeedback /// public StringFeedback StaticDefaultGatewayFeedback { get; protected set; } + /// + /// Constructor + /// + /// index of the ethernet addapter public EthernetStatusFeedbacks(short adapterIndex) { Debug.LogMessage(LogEventLevel.Verbose, "Ethernet Information for interface {0}", adapterIndex); @@ -621,6 +656,9 @@ namespace PepperDash.Essentials.Core.Monitoring /// public class ProgramStatusFeedbacks { + /// + /// Event fired when ProgramInfo changes + /// public event EventHandler ProgramInfoChanged; /// @@ -637,14 +675,17 @@ namespace PepperDash.Essentials.Core.Monitoring /// Gets or sets the ProgramStartedFeedback /// public BoolFeedback ProgramStartedFeedback; + /// /// Gets or sets the ProgramStoppedFeedback /// public BoolFeedback ProgramStoppedFeedback; + /// /// Gets or sets the ProgramRegisteredFeedback /// public BoolFeedback ProgramRegisteredFeedback; + /// /// Gets or sets the ProgramUnregisteredFeedback /// @@ -654,24 +695,32 @@ namespace PepperDash.Essentials.Core.Monitoring /// Gets or sets the ProgramNameFeedback /// public StringFeedback ProgramNameFeedback; + /// /// Gets or sets the ProgramCompileTimeFeedback /// public StringFeedback ProgramCompileTimeFeedback; + /// /// Gets or sets the CrestronDataBaseVersionFeedback /// public StringFeedback CrestronDataBaseVersionFeedback; + // SIMPL windows version /// /// Gets or sets the EnvironmentVersionFeedback /// public StringFeedback EnvironmentVersionFeedback; + /// /// Gets or sets the AggregatedProgramInfoFeedback /// public StringFeedback AggregatedProgramInfoFeedback; + /// + /// Constructor + /// + /// program to get status about public ProgramStatusFeedbacks(Program program) { ProgramInfo = new ProgramInfo(program.Number); @@ -863,38 +912,47 @@ namespace PepperDash.Essentials.Core.Monitoring { // Shared properties + /// + /// Gets the ProgramNumber + /// [JsonProperty("programNumber")] public uint ProgramNumber { get; private set; } + /// + /// Gets or sets the OperatingState + /// [JsonConverter(typeof (StringEnumConverter))] [JsonProperty("operatingState")] public eProgramOperatingState OperatingState { get; set; } - [JsonConverter(typeof (StringEnumConverter))] - [JsonProperty("registrationState")] /// /// Gets or sets the RegistrationState /// + [JsonConverter(typeof (StringEnumConverter))] + [JsonProperty("registrationState")] public eProgramRegistrationState RegistrationState { get; set; } - [JsonProperty("programFile")] /// /// Gets or sets the ProgramFile /// + [JsonProperty("programFile")] public string ProgramFile { get; set; } - [JsonProperty("friendlyName")] /// /// Gets or sets the FriendlyName /// + [JsonProperty("friendlyName")] public string FriendlyName { get; set; } - [JsonProperty("compilerRevision")] /// /// Gets or sets the CompilerRevision /// + [JsonProperty("compilerRevision")] public string CompilerRevision { get; set; } + /// + /// Gets the CompilerRevisionInfo + /// [JsonIgnore] public Version CompilerRevisionInfo { @@ -904,69 +962,75 @@ namespace PepperDash.Essentials.Core.Monitoring } } - [JsonProperty("compileTime")] /// /// Gets or sets the CompileTime /// + [JsonProperty("compileTime")] public string CompileTime { get; set; } - [JsonProperty("include4Dat")] /// /// Gets or sets the Include4Dat /// + [JsonProperty("include4Dat")] public string Include4Dat { get; set; } // SIMPL Windows properties - [JsonProperty("systemName")] + /// /// Gets or sets the SystemName /// + [JsonProperty("systemName")] public string SystemName { get; set; } - [JsonProperty("crestronDb")] /// /// Gets or sets the CrestronDb /// + [JsonProperty("crestronDb")] public string CrestronDb { get; set; } - [JsonProperty("environment")] /// /// Gets or sets the Environment /// + [JsonProperty("environment")] public string Environment { get; set; } - [JsonProperty("programmer")] /// /// Gets or sets the Programmer /// + [JsonProperty("programmer")] public string Programmer { get; set; } // SSP Properties - [JsonProperty("applicationName")] + /// /// Gets or sets the ApplicationName /// + [JsonProperty("applicationName")] public string ApplicationName { get; set; } - [JsonProperty("programTool")] /// /// Gets or sets the ProgramTool /// + [JsonProperty("programTool")] public string ProgramTool { get; set; } - [JsonProperty("minFirmwareVersion")] /// /// Gets or sets the MinFirmwareVersion /// + [JsonProperty("minFirmwareVersion")] public string MinFirmwareVersion { get; set; } - [JsonProperty("plugInVersion")] /// /// Gets or sets the PlugInVersion /// + [JsonProperty("plugInVersion")] public string PlugInVersion { get; set; } + /// + /// Constructor + /// + /// program slot to get info about public ProgramInfo(uint number) { ProgramNumber = number; @@ -999,6 +1063,10 @@ namespace PepperDash.Essentials.Core.Monitoring /// public ProgramInfo ProgramInfo; + /// + /// Constructor + /// + /// program info public ProgramInfoEventArgs(ProgramInfo progInfo) { ProgramInfo = progInfo; diff --git a/src/PepperDash.Essentials.Core/PartitionSensor/EssentialsPartitionController.cs b/src/PepperDash.Essentials.Core/PartitionSensor/EssentialsPartitionController.cs index f2043dbc..ee20a22a 100644 --- a/src/PepperDash.Essentials.Core/PartitionSensor/EssentialsPartitionController.cs +++ b/src/PepperDash.Essentials.Core/PartitionSensor/EssentialsPartitionController.cs @@ -14,10 +14,16 @@ namespace PepperDash.Essentials.Core { private IPartitionStateProvider _partitionSensor; + /// + /// Indicates whether the controller is in Auto mode or Manual mode + /// public bool IsInAutoMode { get; private set; } private bool _partitionPresent; + /// + /// Gets or sets the PartitionPresent state + /// public bool PartitionPresent { get @@ -45,6 +51,14 @@ namespace PepperDash.Essentials.Core } } + /// + /// Constructor + /// + /// key for the partition controller + /// name of the partition controller + /// partition state provider sensor + /// whether to default to manual mode + /// list of adjacent room keys public EssentialsPartitionController(string key, string name, IPartitionStateProvider sensor, bool defaultToManualMode, List adjacentRoomKeys) { Key = key; diff --git a/src/PepperDash.Essentials.Core/PartitionSensor/IPartitionStateProvider.cs b/src/PepperDash.Essentials.Core/PartitionSensor/IPartitionStateProvider.cs index f41a3f35..5bf40345 100644 --- a/src/PepperDash.Essentials.Core/PartitionSensor/IPartitionStateProvider.cs +++ b/src/PepperDash.Essentials.Core/PartitionSensor/IPartitionStateProvider.cs @@ -9,9 +9,15 @@ namespace PepperDash.Essentials.Core /// public interface IPartitionStateProvider : IKeyName { + /// + /// Feedback indicating whether the partition is present + /// [JsonIgnore] BoolFeedback PartitionPresentFeedback { get; } + /// + /// Indicates whether the partition is present + /// [JsonProperty("partitionPresent")] bool PartitionPresent { get; } } @@ -21,20 +27,41 @@ namespace PepperDash.Essentials.Core /// public interface IPartitionController : IPartitionStateProvider { + /// + /// List of adjacent room keys + /// [JsonProperty("adjacentRoomKeys")] List AdjacentRoomKeys { get; } + /// + /// Indicates whether the controller is in Auto mode or Manual mode + /// [JsonProperty("isInAutoMode")] bool IsInAutoMode { get; } + /// + /// Sets the PartitionPresent state + /// void SetPartitionStatePresent(); + /// + /// Sets the PartitionPresent state to not present + /// void SetPartitionStateNotPresent(); + /// + /// Toggles the PartitionPresent state + /// void ToggglePartitionState(); + /// + /// Sets the controller to Manual mode + /// void SetManualMode(); + /// + /// Sets the controller to Auto mode + /// void SetAutoMode(); } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Plugins/PluginLoader.cs b/src/PepperDash.Essentials.Core/Plugins/PluginLoader.cs index a1dd9413..2f195ba9 100644 --- a/src/PepperDash.Essentials.Core/Plugins/PluginLoader.cs +++ b/src/PepperDash.Essentials.Core/Plugins/PluginLoader.cs @@ -174,9 +174,6 @@ namespace PepperDash.Essentials /// /// /// - /// - /// GetAssemblyVersion method - /// public static string GetAssemblyVersion(Assembly assembly) { var ver = assembly.GetCustomAttributes(typeof(AssemblyInformationalVersionAttribute), false); @@ -198,11 +195,8 @@ namespace PepperDash.Essentials /// /// Checks if the filename matches an already loaded assembly file's name /// - /// + /// name of loaded assembly /// True if file already matches loaded assembly file. - /// - /// CheckIfAssemblyLoaded method - /// public static bool CheckIfAssemblyLoaded(string name) { Debug.LogMessage(LogEventLevel.Verbose, "Checking if assembly: {0} is loaded...", name); @@ -238,9 +232,6 @@ namespace PepperDash.Essentials /// Used by console command to report the currently loaded assemblies and versions /// /// - /// - /// ReportAssemblyVersions method - /// public static void ReportAssemblyVersions(string command) { CrestronConsole.ConsoleCommandResponse("Essentials Version: {0}" + CrestronEnvironment.NewLine, Global.AssemblyVersion); @@ -257,6 +248,7 @@ namespace PepperDash.Essentials // CrestronConsole.ConsoleCommandResponse("{0} Version: {1}" + CrestronEnvironment.NewLine, assembly.Name, assembly.Version); //} } + /// /// Moves any .dll assemblies not already loaded from the plugins folder to loadedPlugins folder /// diff --git a/src/PepperDash.Essentials.Core/Presets/DevicePresets.cs b/src/PepperDash.Essentials.Core/Presets/DevicePresets.cs index 81612e92..253a19e1 100644 --- a/src/PepperDash.Essentials.Core/Presets/DevicePresets.cs +++ b/src/PepperDash.Essentials.Core/Presets/DevicePresets.cs @@ -19,8 +19,17 @@ namespace PepperDash.Essentials.Core.Presets /// public class DevicePresetsModel : Device { + /// + /// Delegate for preset recalled event + /// + /// device that recalled a preset + /// channel that was recalled public delegate void PresetRecalledCallback(ISetTopBoxNumericKeypad device, string channel); + /// + /// Delegate for presets saved event + /// + /// list of presets that were saved public delegate void PresetsSavedCallback(List presets); private readonly CCriticalSection _fileOps = new CCriticalSection(); @@ -37,6 +46,12 @@ namespace PepperDash.Essentials.Core.Presets private Action _enterFunction; private string _filePath; + /// + /// Constructor + /// + /// key for the device + /// set top box device + /// file name for presets public DevicePresetsModel(string key, ISetTopBoxNumericKeypad setTopBox, string fileName) : this(key, fileName) { @@ -71,6 +86,11 @@ namespace PepperDash.Essentials.Core.Presets _enterFunction = setTopBox.KeypadEnter; } + /// + /// Constructor + /// + /// key for the device + /// file name for presets public DevicePresetsModel(string key, string fileName) : base(key) { PulseTime = 150; @@ -88,17 +108,26 @@ namespace PepperDash.Essentials.Core.Presets _initSuccess = true; } + /// + /// Event fired when a preset is recalled + /// public event PresetRecalledCallback PresetRecalled; + + /// + /// Event fired when presets are saved + /// public event PresetsSavedCallback PresetsSaved; /// /// Gets or sets the PulseTime /// public int PulseTime { get; set; } + /// /// Gets or sets the DigitSpacingMs /// public int DigitSpacingMs { get; set; } + /// /// Gets or sets the PresetsAreLoaded /// @@ -109,6 +138,9 @@ namespace PepperDash.Essentials.Core.Presets /// public List PresetsList { get; private set; } + /// + /// Gets the Count of presets + /// public int Count { get { return PresetsList != null ? PresetsList.Count : 0; } @@ -118,18 +150,25 @@ namespace PepperDash.Essentials.Core.Presets /// Gets or sets the UseLocalImageStorage /// public bool UseLocalImageStorage { get; set; } + /// /// Gets or sets the ImagesLocalHostPrefix /// public string ImagesLocalHostPrefix { get; set; } + /// /// Gets or sets the ImagesPathPrefix /// public string ImagesPathPrefix { get; set; } + /// /// Gets or sets the ListPathPrefix /// public string ListPathPrefix { get; set; } + + /// + /// Event fired when presets are loaded + /// public event EventHandler PresetsLoaded; diff --git a/src/PepperDash.Essentials.Core/Presets/DevicePresetsView.cs b/src/PepperDash.Essentials.Core/Presets/DevicePresetsView.cs index 07fba078..42761de7 100644 --- a/src/PepperDash.Essentials.Core/Presets/DevicePresetsView.cs +++ b/src/PepperDash.Essentials.Core/Presets/DevicePresetsView.cs @@ -8,33 +8,42 @@ using Crestron.SimplSharpPro.DeviceSupport; namespace PepperDash.Essentials.Core.Presets { - /// - /// Represents a DevicePresetsView - /// + /// + /// Represents a DevicePresetsView + /// public class DevicePresetsView { - /// - /// Gets or sets the ShowNumbers - /// + /// + /// Gets or sets the ShowNumbers + /// public bool ShowNumbers { get; set; } - /// - /// Gets or sets the ShowName - /// + + /// + /// Gets or sets the ShowName + /// public bool ShowName { get; set; } - /// - /// Gets or sets the ShowIcon - /// + + /// + /// Gets or sets the ShowIcon + /// public bool ShowIcon { get; set; } /// /// Gets or sets the SRL /// public SubpageReferenceList SRL { get; private set; } - /// - /// Gets or sets the Model - /// + + /// + /// Gets or sets the Model + /// public DevicePresetsModel Model { get; private set; } + /// + /// Constructor + /// + /// trilst + /// device presets model + /// public DevicePresetsView(BasicTriListWithSmartObject tl, DevicePresetsModel model) { if (model == null) @@ -50,9 +59,9 @@ namespace PepperDash.Essentials.Core.Presets Model.PresetsLoaded += new EventHandler(Model_PresetsLoaded); } - /// - /// Attach method - /// + /// + /// Attach method + /// public void Attach() { if (Model.PresetsAreLoaded) @@ -67,9 +76,9 @@ namespace PepperDash.Essentials.Core.Presets } } - /// - /// Detach method - /// + /// + /// Detach method + /// public void Detach() { SRL.Clear(); diff --git a/src/PepperDash.Essentials.Core/Presets/PresetBase.cs b/src/PepperDash.Essentials.Core/Presets/PresetBase.cs index 3e42dd66..84af0bb9 100644 --- a/src/PepperDash.Essentials.Core/Presets/PresetBase.cs +++ b/src/PepperDash.Essentials.Core/Presets/PresetBase.cs @@ -15,36 +15,37 @@ namespace PepperDash.Essentials.Core.Presets /// public class PresetBase { - [JsonProperty("id")] /// /// Gets or sets the ID /// + [JsonProperty("id")] public int ID { get; set; } - /// - /// Used to store the name of the preset - /// - [JsonProperty("description")] + /// /// Gets or sets the Description /// + [JsonProperty("description")] public string Description { get; set; } + /// - /// Indicates if the preset is defined(stored) in the codec + /// Gets or sets Defined /// [JsonProperty("defined")] - /// - /// Gets or sets the Defined - /// public bool Defined { get; set; } - /// - /// Indicates if the preset has the capability to be defined - /// - [JsonProperty("isDefinable")] + /// /// Gets or sets the IsDefinable /// + [JsonProperty("isDefinable")] public bool IsDefinable { get; set; } + /// + /// Constructor + /// + /// id of the preset + /// description of the preset + /// whether the preset is defined + /// whether the preset is definable public PresetBase(int id, string description, bool def, bool isDef) { ID = id; diff --git a/src/PepperDash.Essentials.Core/Presets/PresetChannel.cs b/src/PepperDash.Essentials.Core/Presets/PresetChannel.cs index b3b885eb..8fd15105 100644 --- a/src/PepperDash.Essentials.Core/Presets/PresetChannel.cs +++ b/src/PepperDash.Essentials.Core/Presets/PresetChannel.cs @@ -15,40 +15,40 @@ namespace PepperDash.Essentials.Core.Presets public class PresetChannel { + /// + /// Gets or sets the Name + /// [JsonProperty(Required = Required.Always,PropertyName = "name")] - /// - /// Gets or sets the Name - /// public string Name { get; set; } + /// + /// Gets or sets the IconUrl + /// [JsonProperty(Required = Required.Always, PropertyName = "iconUrl")] - /// - /// Gets or sets the IconUrl - /// public string IconUrl { get; set; } + /// + /// Gets or sets the Channel + /// [JsonProperty(Required = Required.Always, PropertyName = "channel")] - /// - /// Gets or sets the Channel - /// public string Channel { get; set; } } - /// - /// Represents a PresetsList - /// + /// + /// Represents a PresetsList + /// public class PresetsList { + /// + /// Gets or sets the Name + /// [JsonProperty(Required=Required.Always,PropertyName = "name")] - /// - /// Gets or sets the Name - /// public string Name { get; set; } + /// + /// Gets or sets the Channels + /// [JsonProperty(Required = Required.Always, PropertyName = "channels")] - /// - /// Gets or sets the Channels - /// public List Channels { get; set; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Presets/PresetsListSubpageReferenceListItem.cs b/src/PepperDash.Essentials.Core/Presets/PresetsListSubpageReferenceListItem.cs index 826098d1..f7bfa3bd 100644 --- a/src/PepperDash.Essentials.Core/Presets/PresetsListSubpageReferenceListItem.cs +++ b/src/PepperDash.Essentials.Core/Presets/PresetsListSubpageReferenceListItem.cs @@ -20,6 +20,13 @@ namespace PepperDash.Essentials.Core.Presets DevicePresetsView View; PresetChannel Channel; + /// + /// Constructor + /// + /// preset channel + /// index of the preset + /// owner of the subpage reference list item + /// device presets view public PresetsListSubpageReferenceListItem(PresetChannel chan, uint index, SubpageReferenceList owner, DevicePresetsView view) : base(index, owner) @@ -30,10 +37,10 @@ namespace PepperDash.Essentials.Core.Presets Refresh(); } - /// - /// Clear method - /// - /// + /// + /// Clear method + /// + /// public override void Clear() { Owner.GetBoolFeedbackSig(Index, 1).UserObject = null; @@ -42,10 +49,10 @@ namespace PepperDash.Essentials.Core.Presets Owner.StringInputSig(Index, 3).StringValue = ""; } - /// - /// Refresh method - /// - /// + /// + /// Refresh method + /// + /// public override void Refresh() { var name = View.ShowName ? Channel.Name : ""; diff --git a/src/PepperDash.Essentials.Core/Queues/GenericQueue.cs b/src/PepperDash.Essentials.Core/Queues/GenericQueue.cs index ab1b53e0..af76f10f 100644 --- a/src/PepperDash.Essentials.Core/Queues/GenericQueue.cs +++ b/src/PepperDash.Essentials.Core/Queues/GenericQueue.cs @@ -14,8 +14,20 @@ namespace PepperDash.Essentials.Core.Queues public class GenericQueue : IQueue { private readonly string _key; + + /// + /// The internal queue + /// protected readonly ConcurrentQueue _queue; + + /// + /// The worker thread + /// protected readonly Thread _worker; + + /// + /// The wait handle for the queue + /// protected readonly CEvent _waitHandle = new CEvent(); private bool _delayEnabled; @@ -256,6 +268,9 @@ namespace PepperDash.Essentials.Core.Queues Disposed = true; } + /// + /// Finalizer + /// ~GenericQueue() { Dispose(true); diff --git a/src/PepperDash.Essentials.Core/Queues/IQueue.cs b/src/PepperDash.Essentials.Core/Queues/IQueue.cs index 502fd0ef..a8cbbf6a 100644 --- a/src/PepperDash.Essentials.Core/Queues/IQueue.cs +++ b/src/PepperDash.Essentials.Core/Queues/IQueue.cs @@ -8,7 +8,15 @@ namespace PepperDash.Essentials.Core.Queues /// public interface IQueue : IKeyed, IDisposable where T : class { + /// + /// Enqueues an item + /// + /// item to be queued void Enqueue(T item); + + /// + /// gets the disposed status of the queue + /// bool Disposed { get; } } } diff --git a/src/PepperDash.Essentials.Core/Queues/IQueueMessage.cs b/src/PepperDash.Essentials.Core/Queues/IQueueMessage.cs index 72463da8..2a050a3b 100644 --- a/src/PepperDash.Essentials.Core/Queues/IQueueMessage.cs +++ b/src/PepperDash.Essentials.Core/Queues/IQueueMessage.cs @@ -7,6 +7,9 @@ namespace PepperDash.Essentials.Core.Queues /// public interface IQueueMessage { + /// + /// Dispatches the message + /// void Dispatch(); } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Queues/StringResponseProcessor.cs b/src/PepperDash.Essentials.Core/Queues/StringResponseProcessor.cs index 2f03a9d4..207fd597 100644 --- a/src/PepperDash.Essentials.Core/Queues/StringResponseProcessor.cs +++ b/src/PepperDash.Essentials.Core/Queues/StringResponseProcessor.cs @@ -4,6 +4,9 @@ using PepperDash.Core; namespace PepperDash.Essentials.Core.Queues { + /// + /// Processes string responses from a communication port or gather using a queue to ensure thread safety + /// public sealed class StringResponseProcessor : IKeyed, IDisposable { private readonly Action _processStringAction; @@ -98,6 +101,9 @@ namespace PepperDash.Essentials.Core.Queues /// public bool Disposed { get; private set; } + /// + /// Finalizer + /// ~StringResponseProcessor() { Dispose(false); diff --git a/src/PepperDash.Essentials.Core/Ramps and Increments/ActionIncrementer.cs b/src/PepperDash.Essentials.Core/Ramps and Increments/ActionIncrementer.cs index 630aa4e9..544e7d94 100644 --- a/src/PepperDash.Essentials.Core/Ramps and Increments/ActionIncrementer.cs +++ b/src/PepperDash.Essentials.Core/Ramps and Increments/ActionIncrementer.cs @@ -15,10 +15,29 @@ namespace PepperDash.Essentials.Core /// public class ActionIncrementer { + /// + /// The amount to change the value by each increment + /// public int ChangeAmount { get; set; } + + /// + /// The maximum value for the incrementer + /// public int MaxValue { get; set; } + + /// + /// The minimum value for the incrementer + /// public int MinValue { get; set; } + + /// + /// The delay before repeating starts + /// public uint RepeatDelay { get; set; } + + /// + /// The time between repeats + /// public uint RepeatTime { get; set; } Action SetAction; diff --git a/src/PepperDash.Essentials.Core/Ramps and Increments/UshortSigIncrementer.cs b/src/PepperDash.Essentials.Core/Ramps and Increments/UshortSigIncrementer.cs index b516d17a..02c40f69 100644 --- a/src/PepperDash.Essentials.Core/Ramps and Increments/UshortSigIncrementer.cs +++ b/src/PepperDash.Essentials.Core/Ramps and Increments/UshortSigIncrementer.cs @@ -16,14 +16,44 @@ namespace PepperDash.Essentials.Core public class UshortSigIncrementer { UShortInputSig TheSig; + + /// + /// The amount to change the value by each increment + /// public ushort ChangeAmount { get; set; } + + /// + /// The maximum value for the incrementer + /// public int MaxValue { get; set; } + + /// + /// The minimum value for the incrementer + /// public int MinValue { get; set; } + + /// + /// The delay before repeating starts + /// public uint RepeatDelay { get; set; } + + /// + /// The time between repeats + /// public uint RepeatTime { get; set; } + bool SignedMode; CTimer Timer; + /// + /// Constructor + /// + /// the signal toi be incremented + /// the amount to increment by + /// the minimum value of the signal + /// the maximum value of the signal + /// the delay before repeating starts + /// the time between repeats public UshortSigIncrementer(UShortInputSig sig, ushort changeAmount, int minValue, int maxValue, uint repeatDelay, uint repeatTime) { TheSig = sig; diff --git a/src/PepperDash.Essentials.Core/Room/Behaviours/RoomOnToDefaultSourceWhenOccupied.cs b/src/PepperDash.Essentials.Core/Room/Behaviours/RoomOnToDefaultSourceWhenOccupied.cs index d6f3c503..601c3559 100644 --- a/src/PepperDash.Essentials.Core/Room/Behaviours/RoomOnToDefaultSourceWhenOccupied.cs +++ b/src/PepperDash.Essentials.Core/Room/Behaviours/RoomOnToDefaultSourceWhenOccupied.cs @@ -25,8 +25,14 @@ namespace PepperDash.Essentials.Core { RoomOnToDefaultSourceWhenOccupiedConfig PropertiesConfig; + /// + /// Gets or sets the FeatureEnabled + /// public bool FeatureEnabled { get; private set; } + /// + /// Gets or sets the FeatureEnabledTime + /// public DateTime FeatureEnabledTime { get; private set; } ScheduledEvent FeatureEnableEvent; @@ -51,6 +57,10 @@ namespace PepperDash.Essentials.Core private Fusion.IEssentialsRoomFusionController FusionRoom; + /// + /// Constructor for RoomOnToDefaultSourceWhenOccupied + /// + /// config of the device public RoomOnToDefaultSourceWhenOccupied(DeviceConfig config) : base (config) { @@ -152,7 +162,10 @@ namespace PepperDash.Essentials.Core Debug.LogMessage(LogEventLevel.Debug, this, "Unable to get room from Device Manager with key: {0}", PropertiesConfig.RoomKey); } - + /// + /// CustomSetConfig method + /// + /// config of the device protected override void CustomSetConfig(DeviceConfig config) { var newPropertiesConfig = JsonConvert.DeserializeObject(config.Properties.ToString()); @@ -367,7 +380,8 @@ namespace PepperDash.Essentials.Core /// /// Checks existing event to see if it matches the execution time /// - /// + /// event we are checking + /// time we are checking against /// bool CheckExistingEventTimeForMatch(ScheduledEvent existingEvent, DateTime newTime) { @@ -520,70 +534,70 @@ namespace PepperDash.Essentials.Core /// public class RoomOnToDefaultSourceWhenOccupiedConfig { - [JsonProperty("roomKey")] /// /// Gets or sets the RoomKey /// + [JsonProperty("roomKey")] public string RoomKey { get; set; } - [JsonProperty("enableRoomOnWhenOccupied")] /// /// Gets or sets the EnableRoomOnWhenOccupied /// + [JsonProperty("enableRoomOnWhenOccupied")] public bool EnableRoomOnWhenOccupied { get; set; } - [JsonProperty("occupancyStartTime")] /// /// Gets or sets the OccupancyStartTime /// + [JsonProperty("occupancyStartTime")] public string OccupancyStartTime { get; set; } - [JsonProperty("occupancyEndTime")] /// /// Gets or sets the OccupancyEndTime /// + [JsonProperty("occupancyEndTime")] public string OccupancyEndTime { get; set; } - [JsonProperty("enableSunday")] /// /// Gets or sets the EnableSunday /// + [JsonProperty("enableSunday")] public bool EnableSunday { get; set; } - [JsonProperty("enableMonday")] /// /// Gets or sets the EnableMonday /// + [JsonProperty("enableMonday")] public bool EnableMonday { get; set; } - [JsonProperty("enableTuesday")] /// /// Gets or sets the EnableTuesday /// + [JsonProperty("enableWednesday")] public bool EnableTuesday { get; set; } - [JsonProperty("enableWednesday")] /// /// Gets or sets the EnableWednesday /// + [JsonProperty("enableWednesday")] public bool EnableWednesday { get; set; } - [JsonProperty("enableThursday")] /// /// Gets or sets the EnableThursday /// + [JsonProperty("enableThursday")] public bool EnableThursday { get; set; } - [JsonProperty("enableFriday")] /// /// Gets or sets the EnableFriday /// + [JsonProperty("enableFriday")] public bool EnableFriday { get; set; } - [JsonProperty("enableSaturday")] /// /// Gets or sets the EnableSaturday /// + [JsonProperty("enableSaturday")] public bool EnableSaturday { get; set; } } @@ -592,6 +606,9 @@ namespace PepperDash.Essentials.Core /// public class RoomOnToDefaultSourceWhenOccupiedFactory : EssentialsDeviceFactory { + /// + /// Constructor for RoomOnToDefaultSourceWhenOccupiedFactory + /// public RoomOnToDefaultSourceWhenOccupiedFactory() { TypeNames = new List() { "roomonwhenoccupancydetectedfeature" }; diff --git a/src/PepperDash.Essentials.Core/Room/Combining/RoomCombinationScenario.cs b/src/PepperDash.Essentials.Core/Room/Combining/RoomCombinationScenario.cs index aa0bdcaa..040251ee 100644 --- a/src/PepperDash.Essentials.Core/Room/Combining/RoomCombinationScenario.cs +++ b/src/PepperDash.Essentials.Core/Room/Combining/RoomCombinationScenario.cs @@ -53,6 +53,9 @@ namespace PepperDash.Essentials.Core private bool _isActive; + /// + /// Gets or sets IsActive + /// [JsonProperty("isActive")] public bool IsActive { @@ -69,16 +72,20 @@ namespace PepperDash.Essentials.Core } } - [JsonIgnore] /// /// Gets or sets the IsActiveFeedback /// + [JsonIgnore] public BoolFeedback IsActiveFeedback { get; private set; } private List activationActions; private List deactivationActions; + /// + /// Constructor for RoomCombinationScenario + /// + /// config of the room combine scenario public RoomCombinationScenario(RoomCombinationScenarioConfig config) { Key = config.Key; @@ -98,6 +105,10 @@ namespace PepperDash.Essentials.Core IsActiveFeedback = new BoolFeedback(() => _isActive); } + /// + /// Activates the scenario + /// + /// public async Task Activate() { this.LogInformation("Activating Scenario {name} with {activationActionCount} action(s) defined", Name, activationActions.Count); @@ -116,6 +127,10 @@ namespace PepperDash.Essentials.Core IsActive = true; } + /// + /// Deactivates the scenario + /// + /// public async Task Deactivate() { this.LogInformation("Deactivating Scenario {name} with {deactivationActionCount} action(s) defined", Name, deactivationActions.Count); diff --git a/src/PepperDash.Essentials.Core/Room/Config/EssentialsHuddleVtc1PropertiesConfig.cs b/src/PepperDash.Essentials.Core/Room/Config/EssentialsHuddleVtc1PropertiesConfig.cs index 72286cec..c41ed3c2 100644 --- a/src/PepperDash.Essentials.Core/Room/Config/EssentialsHuddleVtc1PropertiesConfig.cs +++ b/src/PepperDash.Essentials.Core/Room/Config/EssentialsHuddleVtc1PropertiesConfig.cs @@ -4,16 +4,16 @@ using Newtonsoft.Json; namespace PepperDash.Essentials.Room.Config { - /// - /// Represents a EssentialsHuddleVtc1PropertiesConfig - /// - public class EssentialsHuddleVtc1PropertiesConfig : EssentialsConferenceRoomPropertiesConfig - { - [JsonProperty("defaultDisplayKey")] /// - /// Gets or sets the DefaultDisplayKey + /// Represents a EssentialsHuddleVtc1PropertiesConfig /// - public string DefaultDisplayKey { get; set; } + public class EssentialsHuddleVtc1PropertiesConfig : EssentialsConferenceRoomPropertiesConfig + { + /// + /// Gets or sets the DefaultDisplayKey + /// + [JsonProperty("defaultDisplayKey")] + public string DefaultDisplayKey { get; set; } - } + } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Room/Config/EssentialsNDisplayRoomPropertiesConfig.cs b/src/PepperDash.Essentials.Core/Room/Config/EssentialsNDisplayRoomPropertiesConfig.cs index 0d5670a9..f65864b8 100644 --- a/src/PepperDash.Essentials.Core/Room/Config/EssentialsNDisplayRoomPropertiesConfig.cs +++ b/src/PepperDash.Essentials.Core/Room/Config/EssentialsNDisplayRoomPropertiesConfig.cs @@ -11,13 +11,27 @@ namespace PepperDash.Essentials.Room.Config /// public class EssentialsNDisplayRoomPropertiesConfig : EssentialsConferenceRoomPropertiesConfig { + /// + /// Gets or sets the DefaultAudioBehavior + /// [JsonProperty("defaultAudioBehavior")] public string DefaultAudioBehavior { get; set; } + + /// + /// Gets or sets the DefaultVideoBehavior + /// [JsonProperty("defaultVideoBehavior")] public string DefaultVideoBehavior { get; set; } + + /// + /// Gets or sets the Displays + /// [JsonProperty("displays")] public Dictionary Displays { get; set; } + /// + /// Constructor + /// public EssentialsNDisplayRoomPropertiesConfig() { Displays = new Dictionary(); @@ -34,6 +48,7 @@ namespace PepperDash.Essentials.Room.Config /// Gets or sets the Key /// public string Key { get; set; } + /// /// Gets or sets the Name /// diff --git a/src/PepperDash.Essentials.Core/Room/Config/EssentialsPresentationPropertiesConfig.cs b/src/PepperDash.Essentials.Core/Room/Config/EssentialsPresentationPropertiesConfig.cs index 74a8813e..8bd47197 100644 --- a/src/PepperDash.Essentials.Core/Room/Config/EssentialsPresentationPropertiesConfig.cs +++ b/src/PepperDash.Essentials.Core/Room/Config/EssentialsPresentationPropertiesConfig.cs @@ -11,15 +11,35 @@ namespace PepperDash.Essentials.Room.Config /// Gets or sets the DefaultAudioBehavior /// public string DefaultAudioBehavior { get; set; } + /// /// Gets or sets the DefaultAudioKey /// public string DefaultAudioKey { get; set; } + + /// + /// Gets or sets the DefaultVideoBehavior + /// public string DefaultVideoBehavior { get; set; } + + /// + /// Gets or sets the DisplayKeys + /// public List DisplayKeys { get; set; } + + /// + /// Gets or sets the SourceListKey + /// public string SourceListKey { get; set; } + + /// + /// Gets or sets a value indicating whether the room has a DSP + /// public bool HasDsp { get; set; } + /// + /// Constructor + /// public EssentialsPresentationRoomPropertiesConfig() { DisplayKeys = new List(); diff --git a/src/PepperDash.Essentials.Core/Room/Config/EssentialsRoomConfig.cs b/src/PepperDash.Essentials.Core/Room/Config/EssentialsRoomConfig.cs index 8de477f3..7de2405a 100644 --- a/src/PepperDash.Essentials.Core/Room/Config/EssentialsRoomConfig.cs +++ b/src/PepperDash.Essentials.Core/Room/Config/EssentialsRoomConfig.cs @@ -285,7 +285,6 @@ namespace PepperDash.Essentials.Room.Config /// /// Gets or sets the SourceListKey /// - /// [JsonProperty("sourceListKey")] public string SourceListKey { get; set; } /// diff --git a/src/PepperDash.Essentials.Core/Room/Config/EssentialsRoomEmergencyConfig.cs b/src/PepperDash.Essentials.Core/Room/Config/EssentialsRoomEmergencyConfig.cs index ff5b0e5a..349f44b8 100644 --- a/src/PepperDash.Essentials.Core/Room/Config/EssentialsRoomEmergencyConfig.cs +++ b/src/PepperDash.Essentials.Core/Room/Config/EssentialsRoomEmergencyConfig.cs @@ -25,11 +25,15 @@ /// contact,versiport /// public string Type { get; set; } + /// /// Input number if contact /// public int Number { get; set; } + /// + /// TriggerOnClose indicates if the trigger is on close + /// public bool TriggerOnClose { get; set; } } diff --git a/src/PepperDash.Essentials.Core/Room/Config/EssentialsRoomScheduledEventsConfig.cs b/src/PepperDash.Essentials.Core/Room/Config/EssentialsRoomScheduledEventsConfig.cs index bb1ec94d..d7cb0514 100644 --- a/src/PepperDash.Essentials.Core/Room/Config/EssentialsRoomScheduledEventsConfig.cs +++ b/src/PepperDash.Essentials.Core/Room/Config/EssentialsRoomScheduledEventsConfig.cs @@ -13,10 +13,10 @@ namespace PepperDash.Essentials.Room.Config /// public class EssentialsRoomScheduledEventsConfig { - [JsonProperty("scheduledEvents")] /// /// Gets or sets the ScheduledEvents /// + [JsonProperty("scheduledEvents")] public List ScheduledEvents; } @@ -25,49 +25,52 @@ namespace PepperDash.Essentials.Room.Config /// public class ScheduledEventConfig { - [JsonProperty("key")] /// /// Gets or sets the Key /// + [JsonProperty("key")] public string Key; - [JsonProperty("name")] /// /// Gets or sets the Name /// + [JsonProperty("name")] public string Name; + /// + /// Gets or sets the Days + /// [JsonProperty("days")] public ScheduledEventCommon.eWeekDays Days; - [JsonProperty("time")] /// /// Gets or sets the Time /// + [JsonProperty("time")] public string Time; - [JsonProperty("actions")] /// /// Gets or sets the Actions /// + [JsonProperty("actions")] public List Actions; - [JsonProperty("persistent")] /// /// Gets or sets the Persistent /// + [JsonProperty("persistent")] public bool Persistent; - [JsonProperty("acknowledgeable")] /// /// Gets or sets the Acknowledgeable /// + [JsonProperty("acknowledgeable")] public bool Acknowledgeable; - [JsonProperty("enable")] /// /// Gets or sets the Enable /// + [JsonProperty("enable")] public bool Enable; } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Room/Config/EssentialsTechRoomConfig.cs b/src/PepperDash.Essentials.Core/Room/Config/EssentialsTechRoomConfig.cs index bca77725..dfc3d7a6 100644 --- a/src/PepperDash.Essentials.Core/Room/Config/EssentialsTechRoomConfig.cs +++ b/src/PepperDash.Essentials.Core/Room/Config/EssentialsTechRoomConfig.cs @@ -14,9 +14,6 @@ namespace PepperDash.Essentials.Room.Config /// The key of the dummy device used to enable routing /// [JsonProperty("dummySourceKey")] - /// - /// Gets or sets the DummySourceKey - /// public string DummySourceKey { get; set; } /// @@ -26,7 +23,7 @@ namespace PepperDash.Essentials.Room.Config public List Displays { get; set; } /// - /// The keys of the tuners assinged to this room + /// The keys of the tuners assigned to this room /// [JsonProperty("tuners")] public List Tuners { get; set; } @@ -49,19 +46,16 @@ namespace PepperDash.Essentials.Room.Config [JsonProperty("presetsFileName")] public string PresetsFileName { get; set; } - [JsonProperty("scheduledEvents")] /// /// Gets or sets the ScheduledEvents /// + [JsonProperty("scheduledEvents")] public List ScheduledEvents { get; set; } /// /// Indicates that the room is the primary when true /// [JsonProperty("isPrimary")] - /// - /// Gets or sets the IsPrimary - /// public bool IsPrimary { get; set; } /// @@ -70,21 +64,21 @@ namespace PepperDash.Essentials.Room.Config [JsonProperty("mirroredTuners")] public Dictionary MirroredTuners { get; set; } - [JsonProperty("helpMessage")] /// /// Gets or sets the HelpMessage /// + [JsonProperty("helpMessage")] public string HelpMessage { get; set; } - /// - /// Indicates the room - /// - [JsonProperty("isTvPresetsProvider")] /// /// Gets or sets the IsTvPresetsProvider /// + [JsonProperty("isTvPresetsProvider")] public bool IsTvPresetsProvider; + /// + /// Constructor + /// public EssentialsTechRoomConfig() { Displays = new List(); diff --git a/src/PepperDash.Essentials.Core/Room/Config/EssentialsVolumeLevelConfig.cs b/src/PepperDash.Essentials.Core/Room/Config/EssentialsVolumeLevelConfig.cs index 4e3d502f..51172130 100644 --- a/src/PepperDash.Essentials.Core/Room/Config/EssentialsVolumeLevelConfig.cs +++ b/src/PepperDash.Essentials.Core/Room/Config/EssentialsVolumeLevelConfig.cs @@ -12,8 +12,20 @@ namespace PepperDash.Essentials.Room.Config /// Gets or sets the Master /// public EssentialsVolumeLevelConfig Master { get; set; } + + /// + /// Gets or sets the Program + /// public EssentialsVolumeLevelConfig Program { get; set; } + + /// + /// Gets or sets the AudioCallRx + /// public EssentialsVolumeLevelConfig AudioCallRx { get; set; } + + /// + /// Gets or sets the AudioCallTx + /// public EssentialsVolumeLevelConfig AudioCallTx { get; set; } } diff --git a/src/PepperDash.Essentials.Core/Room/Config/SimplRoomPropertiesConfig.cs b/src/PepperDash.Essentials.Core/Room/Config/SimplRoomPropertiesConfig.cs index b37335b9..59628aed 100644 --- a/src/PepperDash.Essentials.Core/Room/Config/SimplRoomPropertiesConfig.cs +++ b/src/PepperDash.Essentials.Core/Room/Config/SimplRoomPropertiesConfig.cs @@ -8,42 +8,46 @@ namespace PepperDash.Essentials.Room.Config /// public class SimplRoomPropertiesConfig : EssentialsHuddleVtc1PropertiesConfig { + /// + /// Gets or sets the RoomPhoneNumber + /// [JsonProperty("roomPhoneNumber")] - /// - /// Gets or sets the RoomPhoneNumber - /// public string RoomPhoneNumber { get; set; } + + /// + /// Gets or sets the RoomURI + /// [JsonProperty("roomURI")] - /// - /// Gets or sets the RoomURI - /// public string RoomURI { get; set; } + + /// + /// Gets or sets the SpeedDials + /// [JsonProperty("speedDials")] - /// - /// Gets or sets the SpeedDials - /// public List SpeedDials { get; set; } + + /// + /// Gets or sets the VolumeSliderNames + /// [JsonProperty("volumeSliderNames")] - /// - /// Gets or sets the VolumeSliderNames - /// public List VolumeSliderNames { get; set; } } - /// - /// Represents a SimplSpeedDial - /// + /// + /// Represents a SimplSpeedDial + /// public class SimplSpeedDial { + /// + /// Gets or sets the Name + /// [JsonProperty("name")] - /// - /// Gets or sets the Name - /// public string Name { get; set; } + + /// + /// Gets or sets the Number + /// [JsonProperty("number")] - /// - /// Gets or sets the Number - /// public string Number { get; set; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Room/EsentialsRoomEmergencyContactClosure.cs b/src/PepperDash.Essentials.Core/Room/EsentialsRoomEmergencyContactClosure.cs index 3a354813..6582bac3 100644 --- a/src/PepperDash.Essentials.Core/Room/EsentialsRoomEmergencyContactClosure.cs +++ b/src/PepperDash.Essentials.Core/Room/EsentialsRoomEmergencyContactClosure.cs @@ -9,6 +9,9 @@ namespace PepperDash.Essentials.Core /// public class EssentialsRoomEmergencyContactClosure : EssentialsRoomEmergencyBase, IEssentialsRoomEmergency { + /// + /// Event fired when emergency state changes + /// public event EventHandler EmergencyStateChange; IEssentialsRoom Room; @@ -20,6 +23,12 @@ namespace PepperDash.Essentials.Core /// public bool InEmergency { get; private set; } + /// + /// Constructor for EssentialsRoomEmergencyContactClosure + /// + /// device key + /// emergency device config + /// the room associated with this emergency contact closure public EssentialsRoomEmergencyContactClosure(string key, EssentialsRoomEmergencyConfig config, IEssentialsRoom room) : base(key) { @@ -95,8 +104,14 @@ namespace PepperDash.Essentials.Core /// public interface IEssentialsRoomEmergency { + /// + /// Event fired when emergency state changes + /// event EventHandler EmergencyStateChange; + /// + /// Gets or sets the InEmergency + /// bool InEmergency { get; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Room/EssentialsRoomBase.cs b/src/PepperDash.Essentials.Core/Room/EssentialsRoomBase.cs index 38e4456e..13ba9d66 100644 --- a/src/PepperDash.Essentials.Core/Room/EssentialsRoomBase.cs +++ b/src/PepperDash.Essentials.Core/Room/EssentialsRoomBase.cs @@ -29,7 +29,14 @@ namespace PepperDash.Essentials.Core /// public event EventHandler RoomOccupancyIsSet; + /// + /// Gets or sets the IsWarmingUpFeedback + /// public BoolFeedback IsWarmingUpFeedback { get; private set; } + + /// + /// Gets or sets the IsCoolingDownFeedback + /// public BoolFeedback IsCoolingDownFeedback { get; private set; } /// @@ -37,10 +44,19 @@ namespace PepperDash.Essentials.Core /// public IOccupancyStatusProvider RoomOccupancy { get; protected set; } + /// + /// Gets or sets the OccupancyStatusProviderIsRemote + /// public bool OccupancyStatusProviderIsRemote { get; private set; } + /// + /// Gets or sets the EnvironmentalControlDevices + /// public List EnvironmentalControlDevices { get; protected set; } + /// + /// Indicates if the room has any environmental control devices + /// public bool HasEnvironmentalControlDevices { get @@ -49,7 +65,14 @@ namespace PepperDash.Essentials.Core } } + /// + /// Gets or sets the IsWarmingFeedbackFunc + /// protected abstract Func IsWarmingFeedbackFunc { get; } + + /// + /// Gets or sets the IsCoolingFeedbackFunc + /// protected abstract Func IsCoolingFeedbackFunc { get; } /// @@ -62,6 +85,9 @@ namespace PepperDash.Essentials.Core /// public IMobileControlRoomMessenger MobileControlRoomBridge { get; private set; } + /// + /// The config name of the default source list + /// protected const string _defaultListKey = "default"; /// @@ -69,6 +95,10 @@ namespace PepperDash.Essentials.Core /// /// private string _sourceListKey; + + /// + /// Gets or sets the SourceListKey + /// public string SourceListKey { get { @@ -91,6 +121,10 @@ namespace PepperDash.Essentials.Core } private string _destinationListKey; + + /// + /// Gets or sets the DestinationListKey + /// public string DestinationListKey { get @@ -114,6 +148,10 @@ namespace PepperDash.Essentials.Core } private string _audioControlPointListKey; + + /// + /// Gets or sets the AudioControlPointListKey + /// public string AudioControlPointListKey { get @@ -137,6 +175,10 @@ namespace PepperDash.Essentials.Core } private string _cameraListKey; + + /// + /// Gets or sets the CameraListKey + /// public string CameraListKey { get @@ -165,16 +207,33 @@ namespace PepperDash.Essentials.Core public SecondsCountdownTimer ShutdownPromptTimer { get; private set; } /// - /// + /// Gets or sets the ShutdownPromptSeconds /// public int ShutdownPromptSeconds { get; set; } + + /// + /// Gets or sets the ShutdownVacancySeconds + /// public int ShutdownVacancySeconds { get; set; } + + /// + /// Gets or sets the ShutdownType + /// public eShutdownType ShutdownType { get; private set; } + /// + /// Gets or sets the Emergency + /// public EssentialsRoomEmergencyBase Emergency { get; set; } + /// + /// Gets or sets the MicrophonePrivacy + /// public Core.Privacy.MicrophonePrivacyController MicrophonePrivacy { get; set; } + /// + /// Gets or sets the LogoUrlLightBkgnd + /// public string LogoUrlLightBkgnd { get; set; } /// @@ -182,6 +241,9 @@ namespace PepperDash.Essentials.Core /// public string LogoUrlDarkBkgnd { get; set; } + /// + /// Gets or sets the RoomVacancyShutdownTimer + /// protected SecondsCountdownTimer RoomVacancyShutdownTimer { get; private set; } /// @@ -204,6 +266,9 @@ namespace PepperDash.Essentials.Core /// protected abstract Func OnFeedbackFunc { get; } + /// + /// Gets or sets the SavedVolumeLevels + /// protected Dictionary SavedVolumeLevels = new Dictionary(); /// @@ -211,7 +276,10 @@ namespace PepperDash.Essentials.Core /// public bool ZeroVolumeWhenSwtichingVolumeDevices { get; private set; } - + /// + /// Constructor for EssentialsRoomBase + /// + /// config of the device public EssentialsRoomBase(DeviceConfig config) : base(config) { @@ -283,6 +351,10 @@ namespace PepperDash.Essentials.Core } } + /// + /// Sets the DestinationListKey property to the passed in value or the default if no value passed in + /// + /// key of the destination list object protected void SetDestinationListKey(string destinationListKey) { if (!string.IsNullOrEmpty(destinationListKey)) @@ -396,6 +468,7 @@ namespace PepperDash.Essentials.Core /// Sets the object to be used as the IOccupancyStatusProvider for the room. Can be an Occupancy Aggregator or a specific device /// /// + /// public void SetRoomOccupancy(IOccupancyStatusProvider statusProvider, int timeoutMinutes) { if (statusProvider == null) @@ -479,16 +552,45 @@ namespace PepperDash.Essentials.Core /// public enum eShutdownType { + /// + /// No shutdown in progress + /// None = 0, + + /// + /// Manual shutdown initiated + /// External, + + /// + /// Vacancy based shutdown + /// Manual, + + /// + /// Shutdown due to room vacancy + /// Vacancy } + /// + /// Enumeration of eVacancyMode values + /// public enum eVacancyMode { + /// + /// No vacancy detected + /// None = 0, + + /// + /// InInitialVacancy - countdown to warning + /// InInitialVacancy, + + /// + /// InShutdownWarning - countdown to shutdown + /// InShutdownWarning } @@ -497,15 +599,36 @@ namespace PepperDash.Essentials.Core /// public enum eWarmingCoolingMode { + /// + /// None + /// None, + + /// + /// Warming + /// Warming, + + /// + /// Cooling + /// Cooling } + /// + /// Base class for room emergency implementations + /// public abstract class EssentialsRoomEmergencyBase : IKeyed { + /// + /// Key of the room + /// public string Key { get; private set; } + /// + /// Constructor for EssentialsRoomEmergencyBase + /// + /// key of the room public EssentialsRoomEmergencyBase(string key) { Key = key; diff --git a/src/PepperDash.Essentials.Core/Room/IEssentialsRoom.cs b/src/PepperDash.Essentials.Core/Room/IEssentialsRoom.cs index d452c0b9..3ebe28c4 100644 --- a/src/PepperDash.Essentials.Core/Room/IEssentialsRoom.cs +++ b/src/PepperDash.Essentials.Core/Room/IEssentialsRoom.cs @@ -17,34 +17,95 @@ namespace PepperDash.Essentials.Core /// public interface IEssentialsRoom : IKeyName, IReconfigurableDevice, IRunDefaultPresentRoute, IEnvironmentalControls { + /// + /// Gets the PowerFeedback + /// BoolFeedback OnFeedback { get; } + /// + /// Gets the IsOccupiedFeedback + /// BoolFeedback IsWarmingUpFeedback { get; } + + /// + /// Gets the IsCoolingDownFeedback + /// BoolFeedback IsCoolingDownFeedback { get; } + /// + /// Gets a value indicating whether mobile control is enabled for this room + /// bool IsMobileControlEnabled { get; } + + /// + /// Gets the MobileControlRoomBridge + /// IMobileControlRoomMessenger MobileControlRoomBridge { get; } + /// + /// Gets the SourceListKey + /// string SourceListKey { get; } + /// + /// Gets the DestinationListKey + /// string DestinationListKey { get; } + /// + /// Gets the AudioControlPointListKey + /// string AudioControlPointListKey { get; } + /// + /// Gets the CameraListKey + /// string CameraListKey { get; } + /// + /// Gets the ShutdownPromptTimer + /// SecondsCountdownTimer ShutdownPromptTimer { get; } + + /// + /// Gets the ShutdownVacancyTimer + /// int ShutdownPromptSeconds { get; } + + /// + /// Gets the ShutdownVacancySeconds + /// int ShutdownVacancySeconds { get; } + + /// + /// Gets the ShutdownType + /// eShutdownType ShutdownType { get; } + /// + /// Gets the LogoUrlLightBkgnd + /// string LogoUrlLightBkgnd { get; } + + /// + /// Gets the LogoUrlDarkBkgnd + /// string LogoUrlDarkBkgnd { get; } + /// + /// Starts the shutdown process + /// + /// type of shutdown event void StartShutdown(eShutdownType type); + /// + /// Shuts down the room + /// void Shutdown(); + /// + /// Powers on the room to either the default source or the last source used + /// void PowerOnToDefaultOrLastSource(); } diff --git a/src/PepperDash.Essentials.Core/Room/IRoomEventSchedule.cs b/src/PepperDash.Essentials.Core/Room/IRoomEventSchedule.cs index 0ddb61fc..a42ea505 100644 --- a/src/PepperDash.Essentials.Core/Room/IRoomEventSchedule.cs +++ b/src/PepperDash.Essentials.Core/Room/IRoomEventSchedule.cs @@ -9,10 +9,21 @@ namespace PepperDash.Essentials.Core /// public interface IRoomEventSchedule { + /// + /// Adds or updates a scheduled event + /// + /// void AddOrUpdateScheduledEvent(ScheduledEventConfig eventConfig); + /// + /// Removes a scheduled event by its key + /// + /// List GetScheduledEvents(); + /// + /// Removes a scheduled event by its key + /// event EventHandler ScheduledEventsChanged; } diff --git a/src/PepperDash.Essentials.Core/Room/Interfaces.cs b/src/PepperDash.Essentials.Core/Room/Interfaces.cs index bffb80a3..0d2f0850 100644 --- a/src/PepperDash.Essentials.Core/Room/Interfaces.cs +++ b/src/PepperDash.Essentials.Core/Room/Interfaces.cs @@ -11,6 +11,9 @@ namespace PepperDash.Essentials.Core /// public interface IHasInCallFeedback { + /// + /// Gets the InCallFeedback + /// BoolFeedback InCallFeedback { get; } } @@ -19,6 +22,9 @@ namespace PepperDash.Essentials.Core /// public interface IHasDefaultDisplay { + /// + /// Gets the DefaultDisplay + /// IRoutingSink DefaultDisplay { get; } } @@ -28,6 +34,9 @@ namespace PepperDash.Essentials.Core [Obsolete("Will be removed in a future version")] public interface IHasMultipleDisplays { + /// + /// Gets the Displays dictionary + /// Dictionary Displays { get; } } @@ -36,8 +45,19 @@ namespace PepperDash.Essentials.Core /// public interface IRunRouteAction { + /// + /// Runs a route action + /// + /// + /// void RunRouteAction(string routeKey, string sourceListKey); + /// + /// Runs a route action with a success callback + /// + /// + /// + /// void RunRouteAction(string routeKey, string sourceListKey, Action successCallback); } @@ -46,6 +66,12 @@ namespace PepperDash.Essentials.Core /// public interface IRunDirectRouteAction { + /// + /// Runs a direct route + /// + /// + /// + /// void RunDirectRoute(string sourceKey, string destinationKey, eRoutingSignalType type = eRoutingSignalType.AudioVideo); } @@ -54,8 +80,14 @@ namespace PepperDash.Essentials.Core /// public interface IHasMatrixRouting { + /// + /// Gets the MatrixRoutingDeviceKey + /// string MatrixRoutingDeviceKey { get; } + /// + /// Gets the EndpointKeys + /// List EndpointKeys { get; } } @@ -64,6 +96,9 @@ namespace PepperDash.Essentials.Core /// public interface IHasRoutingEndpoints { + /// + /// Gets the EndpointKeys + /// List EndpointKeys { get; } } @@ -72,10 +107,21 @@ namespace PepperDash.Essentials.Core /// public interface IShutdownPromptTimer { + /// + /// Gets the ShutdownPromptTimer + /// SecondsCountdownTimer ShutdownPromptTimer { get; } + /// + /// Gets the ShutdownPromptSeconds + /// + /// number of seconds to set void SetShutdownPromptSeconds(int seconds); + /// + /// Starts the shutdown process + /// + /// type of shutdown event void StartShutdown(eShutdownType type); } @@ -84,14 +130,32 @@ namespace PepperDash.Essentials.Core /// public interface ITechPassword { + /// + /// Event fired when tech password validation result is available + /// event EventHandler TechPasswordValidateResult; + /// + /// Event fired when tech password is changed + /// event EventHandler TechPasswordChanged; + /// + /// Gets the TechPasswordLength + /// int TechPasswordLength { get; } + /// + /// Validates the tech password + /// + /// The tech password to validate void ValidateTechPassword(string password); + /// + /// Sets the tech password + /// + /// The current tech password + /// The new tech password to set void SetTechPassword(string oldPassword, string newPassword); } @@ -105,6 +169,10 @@ namespace PepperDash.Essentials.Core /// public bool IsValid { get; private set; } + /// + /// Constructor for TechPasswordEventArgs + /// + /// public TechPasswordEventArgs(bool isValid) { IsValid = isValid; @@ -116,6 +184,10 @@ namespace PepperDash.Essentials.Core /// public interface IRunDefaultPresentRoute { + /// + /// Runs the default present route + /// + /// bool RunDefaultPresentRoute(); } @@ -124,6 +196,10 @@ namespace PepperDash.Essentials.Core /// public interface IRunDefaultCallRoute : IRunDefaultPresentRoute { + /// + /// Runs the default call route + /// + /// bool RunDefaultCallRoute(); } @@ -132,24 +208,59 @@ namespace PepperDash.Essentials.Core /// public interface IEnvironmentalControls { + /// + /// Gets the EnvironmentalControlDevices + /// List EnvironmentalControlDevices { get; } + /// + /// Gets a value indicating whether the room has environmental control devices + /// bool HasEnvironmentalControlDevices { get; } } + /// + /// Defines the contract for IRoomOccupancy + /// public interface IRoomOccupancy : IKeyed { + /// + /// Gets the RoomOccupancy + /// IOccupancyStatusProvider RoomOccupancy { get; } + + /// + /// Gets a value indicating whether the OccupancyStatusProviderIsRemote + /// bool OccupancyStatusProviderIsRemote { get; } + /// + /// Sets the room occupancy + /// + /// + /// void SetRoomOccupancy(IOccupancyStatusProvider statusProvider, int timeoutMinutes); + /// + /// Called when the room has been vacated for the timeout period + /// + /// void RoomVacatedForTimeoutPeriod(object o); + /// + /// Starts the room vacancy timer + /// + /// vacancy mode void StartRoomVacancyTimer(eVacancyMode mode); + /// + /// Gets the VacancyMode + /// eVacancyMode VacancyMode { get; } + /// + /// Event fired when room occupancy is set + /// event EventHandler RoomOccupancyIsSet; } @@ -158,6 +269,9 @@ namespace PepperDash.Essentials.Core /// public interface IEmergency { + /// + /// Gets the Emergency + /// EssentialsRoomEmergencyBase Emergency { get; } } @@ -166,6 +280,9 @@ namespace PepperDash.Essentials.Core /// public interface IMicrophonePrivacy { + /// + /// Gets the MicrophonePrivacy + /// Core.Privacy.MicrophonePrivacyController MicrophonePrivacy { get; } } @@ -174,6 +291,9 @@ namespace PepperDash.Essentials.Core /// public interface IHasAccessoryDevices : IKeyName { + /// + /// Gets the AccessoryDeviceKeys + /// List AccessoryDeviceKeys { get; } } @@ -182,6 +302,9 @@ namespace PepperDash.Essentials.Core /// public interface IHasCiscoNavigatorTouchpanel { + /// + /// Gets the CiscoNavigatorTouchpanelKey + /// string CiscoNavigatorTouchpanelKey { get; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Room/Room.cs b/src/PepperDash.Essentials.Core/Room/Room.cs index 5ff03d26..d9c51c9d 100644 --- a/src/PepperDash.Essentials.Core/Room/Room.cs +++ b/src/PepperDash.Essentials.Core/Room/Room.cs @@ -12,33 +12,54 @@ namespace PepperDash.Essentials.Core { //*************************************************************************************************** + /// + /// Abstract base class for Room + /// public abstract class Room : Device, IHasFeedback { + /// + /// Gets or sets the RoomIsOnFeedback + /// public abstract BoolFeedback RoomIsOnFeedback { get; protected set; } + + /// + /// Gets or sets the IsCoolingDownFeedback + /// public abstract BoolFeedback IsCoolingDownFeedback { get; protected set; } + + /// + /// Gets or sets the IsWarmingUpFeedback + /// public abstract BoolFeedback IsWarmingUpFeedback { get; protected set; } // In concrete classes, these should be computed from the relevant devices - /// - /// Gets or sets the CooldownTime - /// - /// + /// + /// Gets or sets the CooldownTime + /// + /// public virtual uint CooldownTime { get { return 10000; } } - /// - /// Gets or sets the WarmupTime - /// - /// + + /// + /// Gets or sets the WarmupTime + /// + /// public virtual uint WarmupTime { get { return 5000; } } - /// - /// Gets or sets the Description - /// + /// + /// Gets or sets the Description + /// public string Description { get; set; } - /// - /// Gets or sets the HelpMessage - /// + + /// + /// Gets or sets the HelpMessage + /// public string HelpMessage { get; set; } + /// + /// Room Constructor + /// + /// room key + /// room name public Room(string key, string name) : base(key, name) { @@ -59,6 +80,9 @@ namespace PepperDash.Essentials.Core #region IDeviceWithOutputs Members + /// + /// Gets the Feedbacks + /// public virtual FeedbackCollection Feedbacks { get diff --git a/src/PepperDash.Essentials.Core/Room/iOccupancyStatusProvider.cs b/src/PepperDash.Essentials.Core/Room/iOccupancyStatusProvider.cs index 3ac3c606..8ea858ee 100644 --- a/src/PepperDash.Essentials.Core/Room/iOccupancyStatusProvider.cs +++ b/src/PepperDash.Essentials.Core/Room/iOccupancyStatusProvider.cs @@ -13,6 +13,9 @@ namespace PepperDash.Essentials.Core /// public interface IOccupancyStatusProvider { + /// + /// Gets the RoomIsOccupiedFeedback + /// BoolFeedback RoomIsOccupiedFeedback { get; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Routing/Extensions.cs b/src/PepperDash.Essentials.Core/Routing/Extensions.cs index 5d09176f..3797f5e2 100644 --- a/src/PepperDash.Essentials.Core/Routing/Extensions.cs +++ b/src/PepperDash.Essentials.Core/Routing/Extensions.cs @@ -326,6 +326,8 @@ namespace PepperDash.Essentials.Core /// This recursive function should not be called with AudioVideo /// Just an informational counter /// The RouteDescriptor being populated as the route is discovered + /// The RoutingOutputPort to use for the route + /// The specific source output port to use (optional) /// true if source is hit private static bool GetRouteToSource(this IRoutingInputs destination, IRoutingOutputs source, RoutingOutputPort outputPortToUse, List alreadyCheckedDevices, diff --git a/src/PepperDash.Essentials.Core/Routing/IInputSync.cs b/src/PepperDash.Essentials.Core/Routing/IInputSync.cs index a4bc25ba..50f2b5fb 100644 --- a/src/PepperDash.Essentials.Core/Routing/IInputSync.cs +++ b/src/PepperDash.Essentials.Core/Routing/IInputSync.cs @@ -12,8 +12,14 @@ namespace PepperDash.Essentials.Core.Routing /// public interface IVideoSync : IKeyed { + /// + /// Gets whether or not video sync is detected + /// bool VideoSyncDetected { get; } + /// + /// Event raised when video sync changes + /// event EventHandler VideoSyncChanged; } } diff --git a/src/PepperDash.Essentials.Core/Routing/IMatrixRouting.cs b/src/PepperDash.Essentials.Core/Routing/IMatrixRouting.cs index a262e3df..d12e704e 100644 --- a/src/PepperDash.Essentials.Core/Routing/IMatrixRouting.cs +++ b/src/PepperDash.Essentials.Core/Routing/IMatrixRouting.cs @@ -7,9 +7,22 @@ namespace PepperDash.Essentials.Core.Routing /// public interface IMatrixRouting { + /// + /// Gets the input slots + /// Dictionary InputSlots { get; } + + /// + /// Gets the output slots + /// Dictionary OutputSlots { get; } + /// + /// Routes the specified input slot to the specified output slot for the specified signal type + /// + /// key of the input slot + /// key of the output slot + /// signal type void Route(string inputSlotKey, string outputSlotKey, eRoutingSignalType type); } } diff --git a/src/PepperDash.Essentials.Core/Routing/IRmcRouting.cs b/src/PepperDash.Essentials.Core/Routing/IRmcRouting.cs index ec5fe2c4..f2837350 100644 --- a/src/PepperDash.Essentials.Core/Routing/IRmcRouting.cs +++ b/src/PepperDash.Essentials.Core/Routing/IRmcRouting.cs @@ -5,6 +5,9 @@ /// public interface IRmcRouting : IRoutingNumeric { + /// + /// Feedback for the current Audio/Video source as a number + /// IntFeedback AudioVideoSourceNumericFeedback { get; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Routing/IRouting.cs b/src/PepperDash.Essentials.Core/Routing/IRouting.cs index e3231858..64bcd7a5 100644 --- a/src/PepperDash.Essentials.Core/Routing/IRouting.cs +++ b/src/PepperDash.Essentials.Core/Routing/IRouting.cs @@ -11,6 +11,12 @@ namespace PepperDash.Essentials.Core /// public interface IRouting : IRoutingInputsOutputs { + /// + /// Executes a switch on the device + /// + /// input selector + /// output selector + /// type of signal void ExecuteSwitch(object inputSelector, object outputSelector, eRoutingSignalType signalType); } diff --git a/src/PepperDash.Essentials.Core/Routing/IRoutingFeedback.cs b/src/PepperDash.Essentials.Core/Routing/IRoutingFeedback.cs index a76f571b..253ab8ee 100644 --- a/src/PepperDash.Essentials.Core/Routing/IRoutingFeedback.cs +++ b/src/PepperDash.Essentials.Core/Routing/IRoutingFeedback.cs @@ -10,6 +10,9 @@ namespace PepperDash.Essentials.Core /// public interface IRoutingFeedback : IKeyName { + /// + /// Event raised when a numeric switch changes + /// event EventHandler NumericSwitchChange; //void OnSwitchChange(RoutingNumericEventArgs e); } diff --git a/src/PepperDash.Essentials.Core/Routing/IRoutingHasVideoInputSyncFeedbacks.cs b/src/PepperDash.Essentials.Core/Routing/IRoutingHasVideoInputSyncFeedbacks.cs index 9d344ce9..a2b4c54e 100644 --- a/src/PepperDash.Essentials.Core/Routing/IRoutingHasVideoInputSyncFeedbacks.cs +++ b/src/PepperDash.Essentials.Core/Routing/IRoutingHasVideoInputSyncFeedbacks.cs @@ -17,6 +17,9 @@ namespace PepperDash.Essentials.Core /// public interface IRoutingHasVideoInputSyncFeedbacks { + /// + /// Video Input Sync Feedbacks + /// FeedbackCollection VideoInputSyncFeedbacks { get; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Routing/IRoutingInputSlot.cs b/src/PepperDash.Essentials.Core/Routing/IRoutingInputSlot.cs index 94eddd26..f620f8bf 100644 --- a/src/PepperDash.Essentials.Core/Routing/IRoutingInputSlot.cs +++ b/src/PepperDash.Essentials.Core/Routing/IRoutingInputSlot.cs @@ -5,6 +5,9 @@ /// public interface IRoutingInputSlot: IRoutingSlot, IOnline, IVideoSync { + /// + /// Gets the Tx device key + /// string TxDeviceKey { get; } } } diff --git a/src/PepperDash.Essentials.Core/Routing/IRoutingInputs.cs b/src/PepperDash.Essentials.Core/Routing/IRoutingInputs.cs index 102cf5f9..9543bb54 100644 --- a/src/PepperDash.Essentials.Core/Routing/IRoutingInputs.cs +++ b/src/PepperDash.Essentials.Core/Routing/IRoutingInputs.cs @@ -8,6 +8,9 @@ namespace PepperDash.Essentials.Core /// public interface IRoutingInputs : IKeyed { + /// + /// Collection of Input Ports + /// RoutingPortCollection InputPorts { get; } } diff --git a/src/PepperDash.Essentials.Core/Routing/IRoutingNumeric.cs b/src/PepperDash.Essentials.Core/Routing/IRoutingNumeric.cs index ff7e6cd7..cd91daa0 100644 --- a/src/PepperDash.Essentials.Core/Routing/IRoutingNumeric.cs +++ b/src/PepperDash.Essentials.Core/Routing/IRoutingNumeric.cs @@ -5,6 +5,12 @@ /// public interface IRoutingNumeric : IRouting { + /// + /// Executes a numeric switch on the device + /// + /// input selector + /// output selector + /// type of signal void ExecuteNumericSwitch(ushort input, ushort output, eRoutingSignalType type); } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Routing/IRoutingOutputSlot.cs b/src/PepperDash.Essentials.Core/Routing/IRoutingOutputSlot.cs index 0d590684..266e0724 100644 --- a/src/PepperDash.Essentials.Core/Routing/IRoutingOutputSlot.cs +++ b/src/PepperDash.Essentials.Core/Routing/IRoutingOutputSlot.cs @@ -8,10 +8,19 @@ namespace PepperDash.Essentials.Core.Routing /// public interface IRoutingOutputSlot : IRoutingSlot { + /// + /// Event raised when output slot changes + /// event EventHandler OutputSlotChanged; + /// + /// Gets the Rx device key + /// string RxDeviceKey { get; } + /// + /// Gets the current routes + /// Dictionary CurrentRoutes { get; } } } diff --git a/src/PepperDash.Essentials.Core/Routing/IRoutingOutputs.cs b/src/PepperDash.Essentials.Core/Routing/IRoutingOutputs.cs index dbfc2916..c26e7b70 100644 --- a/src/PepperDash.Essentials.Core/Routing/IRoutingOutputs.cs +++ b/src/PepperDash.Essentials.Core/Routing/IRoutingOutputs.cs @@ -9,6 +9,9 @@ namespace PepperDash.Essentials.Core /// public interface IRoutingOutputs : IKeyed { + /// + /// Collection of Output Ports + /// RoutingPortCollection OutputPorts { get; } } diff --git a/src/PepperDash.Essentials.Core/Routing/IRoutingSinkWithSwitching.cs b/src/PepperDash.Essentials.Core/Routing/IRoutingSinkWithSwitching.cs index 773e036e..5c202914 100644 --- a/src/PepperDash.Essentials.Core/Routing/IRoutingSinkWithSwitching.cs +++ b/src/PepperDash.Essentials.Core/Routing/IRoutingSinkWithSwitching.cs @@ -12,6 +12,10 @@ namespace PepperDash.Essentials.Core /// public interface IRoutingSinkWithSwitching : IRoutingSink { + /// + /// Executes a switch on the device + /// + /// input selector void ExecuteSwitch(object inputSelector); } @@ -20,6 +24,9 @@ namespace PepperDash.Essentials.Core /// public interface IRoutingSinkWithSwitchingWithInputPort:IRoutingSinkWithSwitching, IRoutingSinkWithInputPort { + /// + /// Event raised when the input changes + /// event InputChangedEventHandler InputChanged; } diff --git a/src/PepperDash.Essentials.Core/Routing/IRoutingSlot.cs b/src/PepperDash.Essentials.Core/Routing/IRoutingSlot.cs index b6922862..2e8c544f 100644 --- a/src/PepperDash.Essentials.Core/Routing/IRoutingSlot.cs +++ b/src/PepperDash.Essentials.Core/Routing/IRoutingSlot.cs @@ -12,8 +12,14 @@ namespace PepperDash.Essentials.Core.Routing /// public interface IRoutingSlot:IKeyName { + /// + /// Gets the slot number + /// int SlotNumber { get; } + /// + /// Gets the supported signal types + /// eRoutingSignalType SupportedSignalTypes { get; } } } diff --git a/src/PepperDash.Essentials.Core/Routing/RouteDescriptorCollection.cs b/src/PepperDash.Essentials.Core/Routing/RouteDescriptorCollection.cs index f389f719..483ea22a 100644 --- a/src/PepperDash.Essentials.Core/Routing/RouteDescriptorCollection.cs +++ b/src/PepperDash.Essentials.Core/Routing/RouteDescriptorCollection.cs @@ -11,6 +11,9 @@ namespace PepperDash.Essentials.Core /// public class RouteDescriptorCollection { + /// + /// DefaultCollection static property + /// public static RouteDescriptorCollection DefaultCollection { get @@ -57,6 +60,12 @@ namespace PepperDash.Essentials.Core return RouteDescriptors.FirstOrDefault(rd => rd.Destination == destination); } + /// + /// Gets the RouteDescriptor for a destination and input port key. Returns null if no matching RouteDescriptor exists. + /// + /// + /// + /// public RouteDescriptor GetRouteDescriptorForDestinationAndInputPort(IRoutingInputs destination, string inputPortKey) { Debug.LogMessage(LogEventLevel.Information, "Getting route descriptor for '{destination}':'{inputPortKey}'", destination?.Key ?? null, string.IsNullOrEmpty(inputPortKey) ? "auto" : inputPortKey); diff --git a/src/PepperDash.Essentials.Core/Routing/RoutingInputPort.cs b/src/PepperDash.Essentials.Core/Routing/RoutingInputPort.cs index 08876121..4e50f689 100644 --- a/src/PepperDash.Essentials.Core/Routing/RoutingInputPort.cs +++ b/src/PepperDash.Essentials.Core/Routing/RoutingInputPort.cs @@ -21,6 +21,9 @@ namespace PepperDash.Essentials.Core /// An object used to refer to this port in the IRouting device's ExecuteSwitch method. /// May be string, number, whatever /// The IRoutingInputs object this lives on + /// key of the port + /// type of the routing signal + /// connection type of the port public RoutingInputPort(string key, eRoutingSignalType type, eRoutingPortConnectionType connType, object selector, IRoutingInputs parent) : this (key, type, connType, selector, parent, false) @@ -32,6 +35,12 @@ namespace PepperDash.Essentials.Core /// the ports that link a DM card to a DM matrix bus /// /// true for internal ports + /// key of the port + /// type of the routing signal + /// connection type of the port + /// An object used to refer to this port in the IRouting device's ExecuteSwitch method. + /// May be string, number, whatever + /// The IRoutingInputs object this lives on public RoutingInputPort(string key, eRoutingSignalType type, eRoutingPortConnectionType connType, object selector, IRoutingInputs parent, bool isInternal) : base(key, type, connType, selector, isInternal) diff --git a/src/PepperDash.Essentials.Core/Routing/eRoutingPortConnectionType.cs b/src/PepperDash.Essentials.Core/Routing/eRoutingPortConnectionType.cs index 41e8c81b..9245dd48 100644 --- a/src/PepperDash.Essentials.Core/Routing/eRoutingPortConnectionType.cs +++ b/src/PepperDash.Essentials.Core/Routing/eRoutingPortConnectionType.cs @@ -5,7 +5,99 @@ /// public enum eRoutingPortConnectionType { - None, BackplaneOnly, DisplayPort, Dvi, Hdmi, Rgb, Vga, LineAudio, DigitalAudio, Sdi, - Composite, Component, DmCat, DmMmFiber, DmSmFiber, Speaker, Streaming, UsbC, HdBaseT + /// + /// No connection type + /// + None, + + /// + /// Backplane only connection + /// + BackplaneOnly, + + /// + /// Connection via cable + /// + DisplayPort, + + /// + /// DVI connection + /// + Dvi, + + /// + /// HDMI connection + /// + Hdmi, + + /// + /// RGB connection + /// + Rgb, + + /// + /// VGA connection + /// + Vga, + + /// + /// Line audio connection + /// + LineAudio, + + /// + /// Digital audio connection + /// + DigitalAudio, + + /// + /// SDI connection + /// + Sdi, + + /// + /// Composite connection + /// + Composite, + + /// + /// Component connection + /// + Component, + + /// + /// DM CAT connection + /// + DmCat, + + /// + /// DM MM Fiber connection + /// + DmMmFiber, + + /// + /// DM SM Fiber connection + /// + DmSmFiber, + + /// + /// Speaker connection + /// + Speaker, + + /// + /// Microphone connection + /// + Streaming, + + /// + /// USB-C connection + /// + UsbC, + + /// + /// HDBaseT connection + /// + HdBaseT } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Routing/eRoutingSignalType.cs b/src/PepperDash.Essentials.Core/Routing/eRoutingSignalType.cs index bab815fc..9fce9c5b 100644 --- a/src/PepperDash.Essentials.Core/Routing/eRoutingSignalType.cs +++ b/src/PepperDash.Essentials.Core/Routing/eRoutingSignalType.cs @@ -3,17 +3,40 @@ namespace PepperDash.Essentials.Core { - [Flags] /// /// Enumeration of eRoutingSignalType values /// + [Flags] public enum eRoutingSignalType { + /// + /// Audio signal type + /// Audio = 1, + + /// + /// Video signal type + /// Video = 2, + + /// + /// AudioVideo signal type + /// AudioVideo = Audio | Video, + + /// + /// Control signal type + /// UsbOutput = 8, + + /// + /// Control signal type + /// UsbInput = 16, + + /// + /// Secondary audio signal type + /// SecondaryAudio = 32 } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Secrets/CrestronGlobalSecretsProvider.cs b/src/PepperDash.Essentials.Core/Secrets/CrestronGlobalSecretsProvider.cs index 83d0a0a8..45983b0c 100644 --- a/src/PepperDash.Essentials.Core/Secrets/CrestronGlobalSecretsProvider.cs +++ b/src/PepperDash.Essentials.Core/Secrets/CrestronGlobalSecretsProvider.cs @@ -22,6 +22,10 @@ namespace PepperDash.Essentials.Core /// public string Description { get; private set; } + /// + /// Constructor for CrestronGlobalSecretsProvider + /// + /// The key for the secret provider public CrestronGlobalSecretsProvider(string key) { Key = key; diff --git a/src/PepperDash.Essentials.Core/Secrets/CrestronLocalSecretsProvider.cs b/src/PepperDash.Essentials.Core/Secrets/CrestronLocalSecretsProvider.cs index a20d832e..31a1faa3 100644 --- a/src/PepperDash.Essentials.Core/Secrets/CrestronLocalSecretsProvider.cs +++ b/src/PepperDash.Essentials.Core/Secrets/CrestronLocalSecretsProvider.cs @@ -23,7 +23,10 @@ namespace PepperDash.Essentials.Core /// public string Description { get; private set; } - + /// + /// Constructor for CrestronLocalSecretsProvider + /// + /// The key for the secret provider public CrestronLocalSecretsProvider(string key) { Key = key; diff --git a/src/PepperDash.Essentials.Core/Secrets/CrestronSecret.cs b/src/PepperDash.Essentials.Core/Secrets/CrestronSecret.cs index 27fbcdad..5a606453 100644 --- a/src/PepperDash.Essentials.Core/Secrets/CrestronSecret.cs +++ b/src/PepperDash.Essentials.Core/Secrets/CrestronSecret.cs @@ -11,11 +11,27 @@ namespace PepperDash.Essentials.Core /// public class CrestronSecret : ISecret { + /// + /// Gets the Provider + /// public ISecretProvider Provider { get; private set; } + + /// + /// Gets the Key + /// public string Key { get; private set; } + /// + /// Gets the Value + /// public object Value { get; private set; } + /// + /// Constructor for CrestronSecret + /// + /// key for the secret + /// value of the secret + /// provider of the secret public CrestronSecret(string key, string value, ISecretProvider provider) { Key = key; diff --git a/src/PepperDash.Essentials.Core/Secrets/SecretsManager.cs b/src/PepperDash.Essentials.Core/Secrets/SecretsManager.cs index 6a08f0e2..382f5d55 100644 --- a/src/PepperDash.Essentials.Core/Secrets/SecretsManager.cs +++ b/src/PepperDash.Essentials.Core/Secrets/SecretsManager.cs @@ -7,8 +7,14 @@ using Serilog.Events; namespace PepperDash.Essentials.Core { + /// + /// SecretsManager static class + /// public static class SecretsManager { + /// + /// Gets the Secrets dictionary + /// public static Dictionary Secrets { get; private set; } /// diff --git a/src/PepperDash.Essentials.Core/Secrets/SecretsPropertiesConfig.cs b/src/PepperDash.Essentials.Core/Secrets/SecretsPropertiesConfig.cs index f092d5d3..a5a76074 100644 --- a/src/PepperDash.Essentials.Core/Secrets/SecretsPropertiesConfig.cs +++ b/src/PepperDash.Essentials.Core/Secrets/SecretsPropertiesConfig.cs @@ -14,8 +14,15 @@ namespace PepperDash.Essentials.Core /// public class SecretsPropertiesConfig { + /// + /// Gets or sets the Provider + /// [JsonProperty("provider")] public string Provider { get; set; } + + /// + /// Gets or sets the Key + /// [JsonProperty("key")] public string Key { get; set; } } diff --git a/src/PepperDash.Essentials.Core/Shades/Shade Interfaces.cs b/src/PepperDash.Essentials.Core/Shades/Shade Interfaces.cs index 728a5187..2fb5ffd7 100644 --- a/src/PepperDash.Essentials.Core/Shades/Shade Interfaces.cs +++ b/src/PepperDash.Essentials.Core/Shades/Shade Interfaces.cs @@ -8,6 +8,9 @@ namespace PepperDash.Essentials.Core.Shades /// public interface IShades { + /// + /// List of shades controlled by this device + /// List Shades { get; } } @@ -16,17 +19,47 @@ namespace PepperDash.Essentials.Core.Shades /// public interface IShadesOpenCloseStop { + /// + /// Opens the shade + /// void Open(); + + /// + /// Closes the shade + /// void Close(); + + /// + /// Stops the shade + /// void Stop(); } + /// + /// Requirements for a device that implements Open/Close/Stop shade control with presets + /// public interface IShadesOpenClosePreset : IShadesOpenCloseStop { + /// + /// Recalls the preset + /// + /// preset number to recall void RecallPreset(uint presetNumber); + + /// + /// Saves the preset + /// + /// preset number to save void SavePreset(uint presetNumber); + + /// + /// Label for the preset button + /// string StopOrPresetButtonLabel { get; } + /// + /// Event raised when a preset is recalled + /// event EventHandler PresetSaved; } @@ -36,7 +69,14 @@ namespace PepperDash.Essentials.Core.Shades /// public interface IShadesRaiseLowerFeedback { + /// + /// Feedback to indicate if the shade is lowering + /// BoolFeedback ShadeIsLoweringFeedback { get; } + + /// + /// Feedback to indicate if the shade is raising + /// BoolFeedback ShadeIsRaisingFeedback { get; } } @@ -45,7 +85,14 @@ namespace PepperDash.Essentials.Core.Shades /// public interface IShadesOpenClosedFeedback: IShadesOpenCloseStop { + /// + /// Feedback to indicate if the shade is open + /// BoolFeedback ShadeIsOpenFeedback { get; } + + /// + /// Feedback to indicate if the shade is closed + /// BoolFeedback ShadeIsClosedFeedback { get; } } @@ -54,8 +101,19 @@ namespace PepperDash.Essentials.Core.Shades /// public interface IShadesStopOrMove { + /// + /// Raises the shade or stops it if it's already moving + /// void OpenOrStop(); + + /// + /// Lowers the shade or stops it if it's already moving + /// void CloseOrStop(); + + /// + /// Opens, closes, or stops the shade depending on current state + /// void OpenCloseOrStop(); } @@ -64,6 +122,9 @@ namespace PepperDash.Essentials.Core.Shades /// public interface IShadesStopFeedback : IShadesOpenCloseStop { + /// + /// Feedback to indicate if the shade is stopped + /// BoolFeedback IsStoppedFeedback { get; } } @@ -72,6 +133,10 @@ namespace PepperDash.Essentials.Core.Shades /// public interface IShadesPosition { + /// + /// Gets the current position of the shade + /// + /// value of the position to set void SetPosition(ushort value); } @@ -80,18 +145,31 @@ namespace PepperDash.Essentials.Core.Shades /// public interface IShadesFeedback: IShadesPosition, IShadesStopFeedback { + /// + /// Feedback to indicate the current position of the shade + /// IntFeedback PositionFeedback { get; } } /// - /// + /// Feedback for scenes /// public interface ISceneFeedback { + /// + /// Runs the scene + /// void Run(); + + /// + /// Feedback to indicate if all shades are at the scene position + /// BoolFeedback AllAreAtSceneFeedback { get; } } + /// + /// Combines basic shade interfaces for Crestron Basic shades + /// public interface ICrestronBasicShade : IShadesOpenClosedFeedback, IShadesStopOrMove, IShadesFeedback, IShadesRaiseLowerFeedback { diff --git a/src/PepperDash.Essentials.Core/Shades/ShadeBase.cs b/src/PepperDash.Essentials.Core/Shades/ShadeBase.cs index c44abac6..ce5de98d 100644 --- a/src/PepperDash.Essentials.Core/Shades/ShadeBase.cs +++ b/src/PepperDash.Essentials.Core/Shades/ShadeBase.cs @@ -9,10 +9,17 @@ using PepperDash.Essentials.Core.CrestronIO; namespace PepperDash.Essentials.Core.Shades { - + /// + /// Base class for shades + /// [Obsolete("Please use PepperDash.Essentials.Devices.Common, this will be removed in 2.1")] public abstract class ShadeBase : EssentialsDevice, IShadesOpenCloseStop { + /// + /// Constructor + /// + /// key of the shade device + /// name of the shade device public ShadeBase(string key, string name) : base(key, name) { @@ -21,8 +28,19 @@ namespace PepperDash.Essentials.Core.Shades #region iShadesOpenClose Members + /// + /// Opens the shade + /// public abstract void Open(); + + /// + /// Stops the shade + /// public abstract void Stop(); + + /// + /// Closes the shade + /// public abstract void Close(); #endregion diff --git a/src/PepperDash.Essentials.Core/SigHelper.cs b/src/PepperDash.Essentials.Core/SigHelper.cs index fb14df78..df1ad605 100644 --- a/src/PepperDash.Essentials.Core/SigHelper.cs +++ b/src/PepperDash.Essentials.Core/SigHelper.cs @@ -17,7 +17,8 @@ namespace PepperDash.Essentials.Core /// /// Runs action when Sig is pressed /// - /// + /// signal pressed + /// action to run public static void Pressed(Sig sig, Action act) { if (sig.BoolValue) act(); } /// diff --git a/src/PepperDash.Essentials.Core/SmartObjects/SmartObjectDPad.cs b/src/PepperDash.Essentials.Core/SmartObjects/SmartObjectDPad.cs index 436f00b4..605b2344 100644 --- a/src/PepperDash.Essentials.Core/SmartObjects/SmartObjectDPad.cs +++ b/src/PepperDash.Essentials.Core/SmartObjects/SmartObjectDPad.cs @@ -13,27 +13,36 @@ namespace PepperDash.Essentials.Core.SmartObjects /// public class SmartObjectDPad : SmartObjectHelperBase { - /// - /// Gets or sets the SigUp - /// + /// + /// Gets or sets the SigUp + /// public BoolOutputSig SigUp { get { return GetBoolOutputNamed("Up"); } } - /// - /// Gets or sets the SigDown - /// + + /// + /// Gets or sets the SigDown + /// public BoolOutputSig SigDown { get { return GetBoolOutputNamed("Down"); } } - /// - /// Gets or sets the SigLeft - /// + + /// + /// Gets or sets the SigLeft + /// public BoolOutputSig SigLeft { get { return GetBoolOutputNamed("Left"); } } - /// - /// Gets or sets the SigRight - /// + + /// + /// Gets or sets the SigRight + /// public BoolOutputSig SigRight { get { return GetBoolOutputNamed("Right"); } } - /// - /// Gets or sets the SigCenter - /// + + /// + /// Gets or sets the SigCenter + /// public BoolOutputSig SigCenter { get { return GetBoolOutputNamed("Center"); } } + /// + /// Constructor + /// + /// smart object + /// use user object handler if true public SmartObjectDPad(SmartObject so, bool useUserObjectHandler) : base(so, useUserObjectHandler) { diff --git a/src/PepperDash.Essentials.Core/SmartObjects/SmartObjectDynamicList.cs b/src/PepperDash.Essentials.Core/SmartObjects/SmartObjectDynamicList.cs index 2080a07e..fdf7dc04 100644 --- a/src/PepperDash.Essentials.Core/SmartObjects/SmartObjectDynamicList.cs +++ b/src/PepperDash.Essentials.Core/SmartObjects/SmartObjectDynamicList.cs @@ -17,14 +17,24 @@ namespace PepperDash.Essentials.Core.SmartObjects /// public class SmartObjectDynamicList : SmartObjectHelperBase { + /// + /// Sig name for Scroll To Item + /// public const string SigNameScrollToItem = "Scroll To Item"; + + /// + /// Sig name for Set Number of Items + /// public const string SigNameSetNumberOfItems = "Set Number of Items"; - /// - /// Gets or sets the NameSigOffset - /// + /// + /// Gets or sets the NameSigOffset + /// public uint NameSigOffset { get; private set; } + /// + /// Gets or sets the Count + /// public ushort Count { get @@ -34,9 +44,9 @@ namespace PepperDash.Essentials.Core.SmartObjects set { SmartObject.UShortInput[SigNameSetNumberOfItems].UShortValue = value; } } - /// - /// Gets or sets the MaxCount - /// + /// + /// Gets or sets the MaxCount + /// public int MaxCount { get; private set; } /// @@ -62,9 +72,9 @@ namespace PepperDash.Essentials.Core.SmartObjects } } - /// - /// SetItem method - /// + /// + /// SetItem method + /// public void SetItem(uint index, string mainText, string iconName, Action action) { SetItemMainText(index, mainText); @@ -83,9 +93,9 @@ namespace PepperDash.Essentials.Core.SmartObjects //} } - /// - /// SetItemMainText method - /// + /// + /// SetItemMainText method + /// public void SetItemMainText(uint index, string text) { if (index > MaxCount) return; @@ -93,27 +103,27 @@ namespace PepperDash.Essentials.Core.SmartObjects (SmartObject.Device as BasicTriList).StringInput[NameSigOffset + index].StringValue = text; } - /// - /// SetItemIcon method - /// + /// + /// SetItemIcon method + /// public void SetItemIcon(uint index, string iconName) { if (index > MaxCount) return; SmartObject.StringInput[string.Format("Set Item {0} Icon Serial", index)].StringValue = iconName; } - /// - /// SetItemButtonAction method - /// + /// + /// SetItemButtonAction method + /// public void SetItemButtonAction(uint index, Action action) { if (index > MaxCount) return; SmartObject.BooleanOutput[string.Format("Item {0} Pressed", index)].UserObject = action; } - /// - /// SetFeedback method - /// + /// + /// SetFeedback method + /// public void SetFeedback(uint index, bool interlocked) { if (interlocked) @@ -121,9 +131,9 @@ namespace PepperDash.Essentials.Core.SmartObjects SmartObject.BooleanInput[string.Format("Item {0} Selected", index)].BoolValue = true; } - /// - /// ClearFeedbacks method - /// + /// + /// ClearFeedbacks method + /// public void ClearFeedbacks() { for(int i = 1; i<= Count; i++) diff --git a/src/PepperDash.Essentials.Core/SmartObjects/SmartObjectHelperBase.cs b/src/PepperDash.Essentials.Core/SmartObjects/SmartObjectHelperBase.cs index 031259b0..a86687aa 100644 --- a/src/PepperDash.Essentials.Core/SmartObjects/SmartObjectHelperBase.cs +++ b/src/PepperDash.Essentials.Core/SmartObjects/SmartObjectHelperBase.cs @@ -11,21 +11,26 @@ using Serilog.Events; namespace PepperDash.Essentials.Core.SmartObjects { - /// - /// Represents a SmartObjectHelperBase - /// + /// + /// Represents a SmartObjectHelperBase + /// public class SmartObjectHelperBase { - /// - /// Gets or sets the SmartObject - /// + /// + /// Gets or sets the SmartObject + /// public SmartObject SmartObject { get; private set; } - /// - /// Gets or sets the Validated - /// + /// + /// Gets or sets the Validated + /// public bool Validated { get; protected set; } + /// + /// Constructor + /// + /// smart object + /// use the user object hadnler if true public SmartObjectHelperBase(SmartObject so, bool useUserObjectHandler) { SmartObject = so; @@ -37,6 +42,9 @@ namespace PepperDash.Essentials.Core.SmartObjects } } + /// + /// Destructor + /// ~SmartObjectHelperBase() { SmartObject.SigChange -= this.SmartObject_SigChange; @@ -47,9 +55,6 @@ namespace PepperDash.Essentials.Core.SmartObjects /// /// /// - /// - /// GetBoolOutputNamed method - /// public BoolOutputSig GetBoolOutputNamed(string name) { if (SmartObject.BooleanOutput.Contains(name)) diff --git a/src/PepperDash.Essentials.Core/SmartObjects/SmartObjectNumeric.cs b/src/PepperDash.Essentials.Core/SmartObjects/SmartObjectNumeric.cs index 493fd213..2b6e06b8 100644 --- a/src/PepperDash.Essentials.Core/SmartObjects/SmartObjectNumeric.cs +++ b/src/PepperDash.Essentials.Core/SmartObjects/SmartObjectNumeric.cs @@ -8,52 +8,90 @@ using Crestron.SimplSharpPro.DeviceSupport; namespace PepperDash.Essentials.Core.SmartObjects { - /// - /// Represents a SmartObjectNumeric - /// + /// + /// Represents a SmartObjectNumeric + /// public class SmartObjectNumeric : SmartObjectHelperBase - { - /// - /// Gets or sets the Misc1SigName - /// - public string Misc1SigName { get; set; } - /// - /// Gets or sets the Misc2SigName - /// - public string Misc2SigName { get; set; } + { + /// + /// Gets or sets the Misc1SigName + /// + public string Misc1SigName { get; set; } - public BoolOutputSig Digit1 { get { return GetBoolOutputNamed("1"); } } - public BoolOutputSig Digit2 { get { return GetBoolOutputNamed("2"); } } - public BoolOutputSig Digit3 { get { return GetBoolOutputNamed("3"); } } - public BoolOutputSig Digit4 { get { return GetBoolOutputNamed("4"); } } - /// - /// Gets or sets the Digit5 - /// - public BoolOutputSig Digit5 { get { return GetBoolOutputNamed("5"); } } - public BoolOutputSig Digit6 { get { return GetBoolOutputNamed("6"); } } - public BoolOutputSig Digit7 { get { return GetBoolOutputNamed("7"); } } - public BoolOutputSig Digit8 { get { return GetBoolOutputNamed("8"); } } - /// - /// Gets or sets the Digit9 - /// - public BoolOutputSig Digit9 { get { return GetBoolOutputNamed("9"); } } - /// - /// Gets or sets the Digit0 - /// - public BoolOutputSig Digit0 { get { return GetBoolOutputNamed("0"); } } - /// - /// Gets or sets the Misc1 - /// - public BoolOutputSig Misc1 { get { return GetBoolOutputNamed(Misc1SigName); } } - /// - /// Gets or sets the Misc2 - /// - public BoolOutputSig Misc2 { get { return GetBoolOutputNamed(Misc2SigName); } } + /// + /// Gets or sets the Misc2SigName + /// + public string Misc2SigName { get; set; } - public SmartObjectNumeric(SmartObject so, bool useUserObjectHandler) : base(so, useUserObjectHandler) - { - Misc1SigName = "Misc_1"; - Misc2SigName = "Misc_2"; - } - } + /// + /// Gets or sets the Digit1 + /// + public BoolOutputSig Digit1 { get { return GetBoolOutputNamed("1"); } } + + /// + /// Gets or sets the Digit2 + /// + public BoolOutputSig Digit2 { get { return GetBoolOutputNamed("2"); } } + + /// + /// Gets or sets the Digit3 + /// + public BoolOutputSig Digit3 { get { return GetBoolOutputNamed("3"); } } + + /// + /// Gets or sets the Digit4 + /// + public BoolOutputSig Digit4 { get { return GetBoolOutputNamed("4"); } } + + /// + /// Gets or sets the Digit5 + /// + public BoolOutputSig Digit5 { get { return GetBoolOutputNamed("5"); } } + + /// + /// Gets or sets the Digit6 + /// + public BoolOutputSig Digit6 { get { return GetBoolOutputNamed("6"); } } + + /// + /// Gets or sets the Digit7 + /// + public BoolOutputSig Digit7 { get { return GetBoolOutputNamed("7"); } } + + /// + /// Gets or sets the Digit8 + /// + public BoolOutputSig Digit8 { get { return GetBoolOutputNamed("8"); } } + + /// + /// Gets or sets the Digit9 + /// + public BoolOutputSig Digit9 { get { return GetBoolOutputNamed("9"); } } + + /// + /// Gets or sets the Digit0 + /// + public BoolOutputSig Digit0 { get { return GetBoolOutputNamed("0"); } } + + /// + /// Gets or sets the Misc1 + /// + public BoolOutputSig Misc1 { get { return GetBoolOutputNamed(Misc1SigName); } } + + /// + /// Gets or sets the Misc2 + /// + public BoolOutputSig Misc2 { get { return GetBoolOutputNamed(Misc2SigName); } } + + /// + /// Constructor + /// + /// smart object + /// use user handler if true + public SmartObjectNumeric(SmartObject so, bool useUserObjectHandler) : base(so, useUserObjectHandler) + { + Misc1SigName = "Misc_1"; + Misc2SigName = "Misc_2"; + } + } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/SmartObjects/SubpageReferencList/SubpageReferenceList.cs b/src/PepperDash.Essentials.Core/SmartObjects/SubpageReferencList/SubpageReferenceList.cs index e82c3a63..4ed42d49 100644 --- a/src/PepperDash.Essentials.Core/SmartObjects/SubpageReferencList/SubpageReferenceList.cs +++ b/src/PepperDash.Essentials.Core/SmartObjects/SubpageReferencList/SubpageReferenceList.cs @@ -30,35 +30,60 @@ namespace PepperDash.Essentials.Core /// public class SubpageReferenceList { - + /// + /// Gets or sets the Count + /// public ushort Count { get { return SetNumberOfItemsSig.UShortValue; } set { SetNumberOfItemsSig.UShortValue = value; } } + + /// + /// Gets or sets the MaxDefinedItems + /// public ushort MaxDefinedItems { get; private set; } /// /// Gets or sets the ScrollToItemSig /// public UShortInputSig ScrollToItemSig { get; private set; } + UShortInputSig SetNumberOfItemsSig; + /// /// Gets or sets the BoolIncrement /// public uint BoolIncrement { get; protected set; } + /// /// Gets or sets the UShortIncrement /// public uint UShortIncrement { get; protected set; } + /// /// Gets or sets the StringIncrement /// public uint StringIncrement { get; protected set; } + /// + /// Gets or sets the SRL + /// protected readonly SmartObject SRL; + + /// + /// Gets the list of items in the SRL + /// protected readonly List Items = new List(); + /// + /// Constructor + /// + /// trilist for the smart object + /// smart object ID + /// + /// + /// public SubpageReferenceList(BasicTriListWithSmartObject triList, uint smartObjectId, uint boolIncrement, uint ushortIncrement, uint stringIncrement) { diff --git a/src/PepperDash.Essentials.Core/SmartObjects/SubpageReferencList/SubpageReferenceListItem.cs b/src/PepperDash.Essentials.Core/SmartObjects/SubpageReferencList/SubpageReferenceListItem.cs index 4e979a69..e29d0894 100644 --- a/src/PepperDash.Essentials.Core/SmartObjects/SubpageReferencList/SubpageReferenceListItem.cs +++ b/src/PepperDash.Essentials.Core/SmartObjects/SubpageReferencList/SubpageReferenceListItem.cs @@ -17,8 +17,17 @@ namespace PepperDash.Essentials.Core /// The list that this lives in /// protected SubpageReferenceList Owner; + + /// + /// The index of this item + /// protected uint Index; + /// + /// Constructor + /// + /// index of the item + /// owner of the item public SubpageReferenceListItem(uint index, SubpageReferenceList owner) { Index = index; diff --git a/src/PepperDash.Essentials.Core/Timers/CountdownTimer.cs b/src/PepperDash.Essentials.Core/Timers/CountdownTimer.cs index c00eb014..24ff6a1a 100644 --- a/src/PepperDash.Essentials.Core/Timers/CountdownTimer.cs +++ b/src/PepperDash.Essentials.Core/Timers/CountdownTimer.cs @@ -14,8 +14,19 @@ namespace PepperDash.Essentials.Core /// public class SecondsCountdownTimer: IKeyed { + /// + /// Event fired when the timer starts + /// public event EventHandler HasStarted; + + /// + /// Event fired when the timer finishes + /// public event EventHandler HasFinished; + + /// + /// Event fired when the timer is cancelled + /// public event EventHandler WasCancelled; /// @@ -33,6 +44,7 @@ namespace PepperDash.Essentials.Core /// Gets or sets the PercentFeedback /// public IntFeedback PercentFeedback { get; private set; } + /// /// Gets or sets the TimeRemainingFeedback /// diff --git a/src/PepperDash.Essentials.Core/Timers/RetriggerableTimer.cs b/src/PepperDash.Essentials.Core/Timers/RetriggerableTimer.cs index ee734489..f06ba3cd 100644 --- a/src/PepperDash.Essentials.Core/Timers/RetriggerableTimer.cs +++ b/src/PepperDash.Essentials.Core/Timers/RetriggerableTimer.cs @@ -27,6 +27,11 @@ namespace PepperDash.Essentials.Core.Timers private CTimer _timer; private long _timerIntervalMs; + /// + /// Constructor + /// + /// key of the timer + /// configuration for the timer public RetriggerableTimer(string key, DeviceConfig config) : base(key, config.Name) { @@ -98,7 +103,7 @@ namespace PepperDash.Essentials.Core.Timers /// /// Executes the Elapsed action from confing when the timer elapses /// - /// + /// action to be executed private void TimerElapsedCallback(object action) { Debug.LogMessage(LogEventLevel.Debug, this, "Timer Elapsed. Executing Action"); @@ -144,15 +149,27 @@ namespace PepperDash.Essentials.Core.Timers /// public class RetriggerableTimerPropertiesConfig { + /// + /// Start the timer on device activation + /// [JsonProperty("startTimerOnActivation")] public bool StartTimerOnActivation { get; set; } + /// + /// Timer interval in milliseconds + /// [JsonProperty("timerIntervalMs")] public long TimerIntervalMs { get; set; } + /// + /// Events and their associated actions + /// [JsonProperty("events")] public Dictionary Events { get; set; } + /// + /// Constructor + /// public RetriggerableTimerPropertiesConfig() { Events = new Dictionary(); @@ -164,7 +181,14 @@ namespace PepperDash.Essentials.Core.Timers /// public enum eRetriggerableTimerEvents { + /// + /// Elapsed event + /// Elapsed, + + /// + /// Stopped event + /// Stopped, } @@ -173,11 +197,19 @@ namespace PepperDash.Essentials.Core.Timers /// public class RetriggerableTimerFactory : EssentialsDeviceFactory { + /// + /// Constructor + /// public RetriggerableTimerFactory() { TypeNames = new List() { "retriggerabletimer" }; } + /// + /// BuildDevice method + /// + /// device config + /// public override EssentialsDevice BuildDevice(DeviceConfig dc) { Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new RetriggerableTimer Device"); diff --git a/src/PepperDash.Essentials.Core/Touchpanels/CrestronTouchpanelPropertiesConfig.cs b/src/PepperDash.Essentials.Core/Touchpanels/CrestronTouchpanelPropertiesConfig.cs index 1358b1b9..2cc9ab9a 100644 --- a/src/PepperDash.Essentials.Core/Touchpanels/CrestronTouchpanelPropertiesConfig.cs +++ b/src/PepperDash.Essentials.Core/Touchpanels/CrestronTouchpanelPropertiesConfig.cs @@ -7,72 +7,93 @@ namespace PepperDash.Essentials.Core /// public class CrestronTouchpanelPropertiesConfig { - [JsonProperty("control")] /// /// Gets or sets the ControlProperties /// + [JsonProperty("control")] public EssentialsControlPropertiesConfig ControlProperties { get; set; } - [JsonProperty("ipId", NullValueHandling = NullValueHandling.Ignore)] /// /// Gets or sets the IpId /// + [JsonProperty("ipId", NullValueHandling = NullValueHandling.Ignore)] public string IpId { get; set; } - [JsonProperty("defaultRoomKey", NullValueHandling = NullValueHandling.Ignore)] /// /// Gets or sets the DefaultRoomKey /// + [JsonProperty("defaultRoomKey", NullValueHandling = NullValueHandling.Ignore)] public string DefaultRoomKey { get; set; } - [JsonProperty("roomListKey", NullValueHandling = NullValueHandling.Ignore)] /// /// Gets or sets the RoomListKey /// + [JsonProperty("roomListKey", NullValueHandling = NullValueHandling.Ignore)] public string RoomListKey { get; set; } - [JsonProperty("sgdFile", NullValueHandling = NullValueHandling.Ignore)] /// /// Gets or sets the SgdFile /// + [JsonProperty("sgdFile", NullValueHandling = NullValueHandling.Ignore)] public string SgdFile { get; set; } - [JsonProperty("projectName", NullValueHandling = NullValueHandling.Ignore)] /// /// Gets or sets the ProjectName /// + [JsonProperty("projectName", NullValueHandling = NullValueHandling.Ignore)] public string ProjectName { get; set; } + /// + /// Gets or sets the ShowVolumeGauge + /// [JsonProperty("showVolumeGauge", NullValueHandling = NullValueHandling.Ignore)] public bool? ShowVolumeGauge { get; set; } + /// + /// Gets or sets the UsesSplashPage + /// [JsonProperty("usesSplashPage", NullValueHandling = NullValueHandling.Ignore)] public bool? UsesSplashPage { get; set; } + /// + /// Gets or sets the ShowDate + /// [JsonProperty("showDate", NullValueHandling = NullValueHandling.Ignore)] public bool? ShowDate { get; set; } + /// + /// Gets or sets the ShowTime + /// [JsonProperty("showTime", NullValueHandling = NullValueHandling.Ignore)] public bool? ShowTime { get; set; } - [JsonProperty("setup", NullValueHandling = NullValueHandling.Ignore)] /// /// Gets or sets the Setup /// + [JsonProperty("setup", NullValueHandling = NullValueHandling.Ignore)] public UiSetupPropertiesConfig Setup { get; set; } - [JsonProperty("headerStyle", NullValueHandling = NullValueHandling.Ignore)] /// /// Gets or sets the HeaderStyle /// + [JsonProperty("headerStyle", NullValueHandling = NullValueHandling.Ignore)] public string HeaderStyle { get; set; } + /// + /// Gets or sets the IncludeInFusionRoomHealth + /// [JsonProperty("includeInFusionRoomHealth", NullValueHandling = NullValueHandling.Ignore)] public bool? IncludeInFusionRoomHealth { get; set; } + /// + /// Gets or sets the ScreenSaverTimeoutMin + /// [JsonProperty("screenSaverTimeoutMin", NullValueHandling = NullValueHandling.Ignore)] public uint? ScreenSaverTimeoutMin { get; set; } + /// + /// Gets or sets the ScreenSaverMovePositionIntervalMs + /// [JsonProperty("screenSaverMovePositionIntervalMs", NullValueHandling = NullValueHandling.Ignore)] public uint? ScreenSaverMovePositionIntervalMs { get; set; } @@ -84,8 +105,15 @@ namespace PepperDash.Essentials.Core [JsonProperty("sourcesOverflowCount", NullValueHandling = NullValueHandling.Ignore)] public int? SourcesOverflowCount { get; set; } + /// + /// Constructor + /// public CrestronTouchpanelPropertiesConfig() : this(false) { } + /// + /// Constructor + /// + /// set values to default if true public CrestronTouchpanelPropertiesConfig(bool setDefaultValues = false) { if(!setDefaultValues) { return; } @@ -112,6 +140,9 @@ namespace PepperDash.Essentials.Core /// public class UiSetupPropertiesConfig { + /// + /// Gets or sets the IsVisible + /// [JsonProperty("isVisible", NullValueHandling = NullValueHandling.Ignore)] public bool IsVisible { get; set; } } diff --git a/src/PepperDash.Essentials.Core/Touchpanels/Interfaces.cs b/src/PepperDash.Essentials.Core/Touchpanels/Interfaces.cs index 6f59aba1..0e74ed93 100644 --- a/src/PepperDash.Essentials.Core/Touchpanels/Interfaces.cs +++ b/src/PepperDash.Essentials.Core/Touchpanels/Interfaces.cs @@ -12,6 +12,9 @@ namespace PepperDash.Essentials.Core /// public interface IHasBasicTriListWithSmartObject { + /// + /// Gets the Panel + /// BasicTriListWithSmartObject Panel { get; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Touchpanels/Keyboards/HabaneroKeyboardController.cs b/src/PepperDash.Essentials.Core/Touchpanels/Keyboards/HabaneroKeyboardController.cs index b45ea649..89346ae7 100644 --- a/src/PepperDash.Essentials.Core/Touchpanels/Keyboards/HabaneroKeyboardController.cs +++ b/src/PepperDash.Essentials.Core/Touchpanels/Keyboards/HabaneroKeyboardController.cs @@ -27,8 +27,14 @@ namespace PepperDash.Essentials.Core.Touchpanels.Keyboards /// public StringFeedback OutputFeedback { get; private set; } + /// + /// Gets or sets the IsVisible + /// public bool IsVisible { get; private set; } + /// + /// Gets or sets the DotComButtonString + /// public string DotComButtonString { get; set; } /// @@ -441,21 +447,33 @@ namespace PepperDash.Essentials.Core.Touchpanels.Keyboards } /// - /// + /// Event args for keyboard key presses /// public class KeyboardControllerPressEventArgs : EventArgs { + /// + /// Gets or sets the Text + /// public string Text { get; private set; } + /// /// Gets or sets the SpecialKey /// public KeyboardSpecialKey SpecialKey { get; private set; } + /// + /// Constructor + /// + /// public KeyboardControllerPressEventArgs(string text) { Text = text; } + /// + /// Constructor + /// + /// special keyboard key public KeyboardControllerPressEventArgs(KeyboardSpecialKey key) { SpecialKey = key; @@ -467,6 +485,29 @@ namespace PepperDash.Essentials.Core.Touchpanels.Keyboards /// public enum KeyboardSpecialKey { - None = 0, Backspace, Clear, GoButton, SecondaryButton + /// + /// None + /// + None = 0, + + /// + /// Backspace + /// + Backspace, + + /// + /// Clear + /// + Clear, + + /// + /// GoButton + /// + GoButton, + + /// + /// SecondaryButton + /// + SecondaryButton } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Touchpanels/ModalDialog.cs b/src/PepperDash.Essentials.Core/Touchpanels/ModalDialog.cs index e094aebb..e3545cd0 100644 --- a/src/PepperDash.Essentials.Core/Touchpanels/ModalDialog.cs +++ b/src/PepperDash.Essentials.Core/Touchpanels/ModalDialog.cs @@ -113,8 +113,13 @@ namespace PepperDash.Essentials.Core /// Shows the dialog /// /// Number of buttons to show. 0, 1, 2 - /// The amount of time to show the dialog. Use 0 for no timeout. - /// If the progress bar gauge needs to count down instead of up + /// Title text + /// Icon name + /// Message text + /// Button 1 text + /// Button 2 text + /// True to show the gauge + /// True to show the cancel "X" button /// The action to run when the dialog is dismissed. Parameter will be 1 or 2 if button pressed, or 0 if dialog times out /// True when modal is created. public bool PresentModalDialog(uint numberOfButtons, string title, string iconName, diff --git a/src/PepperDash.Essentials.Core/Touchpanels/Mpc3Touchpanel.cs b/src/PepperDash.Essentials.Core/Touchpanels/Mpc3Touchpanel.cs index fa20ca84..92764f22 100644 --- a/src/PepperDash.Essentials.Core/Touchpanels/Mpc3Touchpanel.cs +++ b/src/PepperDash.Essentials.Core/Touchpanels/Mpc3Touchpanel.cs @@ -19,6 +19,13 @@ namespace PepperDash.Essentials.Core.Touchpanels readonly Dictionary _buttons; + /// + /// Constructor + /// + /// device key + /// device name + /// control system processor + /// dictionary of keypad buttons public Mpc3TouchpanelController(string key, string name, CrestronControlSystem processor, Dictionary buttons) : base(key, name) { @@ -348,12 +355,21 @@ namespace PepperDash.Essentials.Core.Touchpanels /// public class KeypadButton { + /// + /// Gets or sets the EventTypes + /// [JsonProperty("eventTypes")] public Dictionary EventTypes { get; set; } + /// + /// Gets or sets the Feedback + /// [JsonProperty("feedback")] public KeypadButtonFeedback Feedback { get; set; } + /// + /// Constructor + /// public KeypadButton() { EventTypes = new Dictionary(); @@ -361,17 +377,20 @@ namespace PepperDash.Essentials.Core.Touchpanels } } - /// - /// Represents a KeypadButtonFeedback - /// + /// + /// Represents a KeypadButtonFeedback + /// public class KeypadButtonFeedback { + /// + /// Gets or sets the DeviceKey + /// [JsonProperty("deviceKey")] - /// - /// Gets or sets the DeviceKey - /// public string DeviceKey { get; set; } + /// + /// Gets or sets the FeedbackName + /// [JsonProperty("feedbackName")] public string FeedbackName { get; set; } } diff --git a/src/PepperDash.Essentials.Core/Touchpanels/TriListExtensions.cs b/src/PepperDash.Essentials.Core/Touchpanels/TriListExtensions.cs index 232dff33..2d026dbb 100644 --- a/src/PepperDash.Essentials.Core/Touchpanels/TriListExtensions.cs +++ b/src/PepperDash.Essentials.Core/Touchpanels/TriListExtensions.cs @@ -44,6 +44,13 @@ namespace PepperDash.Essentials.Core return tl.BooleanOutput[sigNum].SetBoolSigAction(a); } + /// + /// Attaches a void Action to a TriList's output sig's UserObject, to be run on press + /// + /// trilist + /// number of the signal + /// action to run when the signal is true (pressed) + /// public static BoolOutputSig SetSigTrueAction(this BasicTriList tl, uint sigNum, Action a) { return tl.BooleanOutput[sigNum].SetBoolSigAction(b => { if(b) a(); }); @@ -53,9 +60,6 @@ namespace PepperDash.Essentials.Core /// Attaches a void Action to a TriList's output sig's UserObject, to be run on release /// /// The sig - /// - /// SetSigFalseAction method - /// public static BoolOutputSig SetSigFalseAction(this BasicTriList tl, uint sigNum, Action a) { return tl.BooleanOutput[sigNum].SetBoolSigAction(b => { if (!b) a(); }); @@ -143,43 +147,35 @@ namespace PepperDash.Essentials.Core } /// - /// - /// + /// SetUShortSigAction method + /// /// /// /// The Sig - /// - /// SetUShortSigAction method - /// - public static UShortOutputSig SetUShortSigAction(this UShortOutputSig sig, Action a) + public static UShortOutputSig SetUShortSigAction(this UShortOutputSig sig, Action a) { sig.UserObject = a; return sig; } + /// - /// + /// SetUShortSigAction method /// /// /// /// /// - /// - /// SetUShortSigAction method - /// public static UShortOutputSig SetUShortSigAction(this BasicTriList tl, uint sigNum, Action a) { return tl.UShortOutput[sigNum].SetUShortSigAction(a); } /// - /// + /// SetStringSigAction method /// /// /// /// - /// - /// SetStringSigAction method - /// public static StringOutputSig SetStringSigAction(this StringOutputSig sig, Action a) { sig.UserObject = a; @@ -187,50 +183,50 @@ namespace PepperDash.Essentials.Core } /// - /// + /// SetStringSigAction method /// /// /// /// /// - /// - /// SetStringSigAction method - /// public static StringOutputSig SetStringSigAction(this BasicTriList tl, uint sigNum, Action a) { return tl.StringOutput[sigNum].SetStringSigAction(a); } /// - /// + /// ClearSigAction method /// /// /// - /// - /// ClearSigAction method - /// public static Sig ClearSigAction(this Sig sig) { sig.UserObject = null; return sig; } + /// + /// ClearBoolSigAction method + /// + /// trilist + /// signal number to clear + /// public static BoolOutputSig ClearBoolSigAction(this BasicTriList tl, uint sigNum) { return ClearSigAction(tl.BooleanOutput[sigNum]) as BoolOutputSig; } - /// - /// ClearUShortSigAction method - /// + /// + /// ClearUShortSigAction method + /// public static UShortOutputSig ClearUShortSigAction(this BasicTriList tl, uint sigNum) { return ClearSigAction(tl.UShortOutput[sigNum]) as UShortOutputSig; } - /// - /// ClearStringSigAction method - /// + /// + /// ClearStringSigAction method + /// public static StringOutputSig ClearStringSigAction(this BasicTriList tl, uint sigNum) { return ClearSigAction(tl.StringOutput[sigNum]) as StringOutputSig; @@ -270,9 +266,6 @@ namespace PepperDash.Essentials.Core /// /// /// - /// - /// PulseBool method - /// public static void PulseBool(this BasicTriList tl, uint sigNum) { tl.BooleanInput[sigNum].Pulse(); @@ -284,9 +277,6 @@ namespace PepperDash.Essentials.Core /// /// /// - /// - /// PulseBool method - /// public static void PulseBool(this BasicTriList tl, uint sigNum, int ms) { tl.BooleanInput[sigNum].Pulse(ms); @@ -308,6 +298,13 @@ namespace PepperDash.Essentials.Core tl.StringInput[sigNum].StringValue = value; } + /// + /// Helper method to set the value of a string Sig on TriList with encoding + /// + /// trilist + /// signal number to set + /// string value to set + /// string encoding to use public static void SetString(this BasicTriList tl, uint sigNum, string value, eStringEncoding encoding) { tl.StringInput[sigNum].StringEncoding = encoding; @@ -320,9 +317,6 @@ namespace PepperDash.Essentials.Core /// /// /// - /// - /// GetBool method - /// public static bool GetBool(this BasicTriList tl, uint sigNum) { return tl.BooleanOutput[sigNum].BoolValue; @@ -334,9 +328,6 @@ namespace PepperDash.Essentials.Core /// /// /// - /// - /// GetUshort method - /// public static ushort GetUshort(this BasicTriList tl, uint sigNum) { return tl.UShortOutput[sigNum].UShortValue; @@ -348,9 +339,6 @@ namespace PepperDash.Essentials.Core /// /// /// - /// - /// GetString method - /// public static string GetString(this BasicTriList tl, uint sigNum) { return tl.StringOutput[sigNum].StringValue; diff --git a/src/PepperDash.Essentials.Core/TriListBridges/HandlerBridge.cs b/src/PepperDash.Essentials.Core/TriListBridges/HandlerBridge.cs index 7e887f5b..13676e2d 100644 --- a/src/PepperDash.Essentials.Core/TriListBridges/HandlerBridge.cs +++ b/src/PepperDash.Essentials.Core/TriListBridges/HandlerBridge.cs @@ -9,6 +9,9 @@ using Crestron.SimplSharpPro.DeviceSupport; namespace PepperDash.Essentials.Core { + /// + /// Abstract base class for TriList handler bridges + /// public abstract class HandlerBridge { /// diff --git a/src/PepperDash.Essentials.Core/UI PageManagers/BlurayPageManager.cs b/src/PepperDash.Essentials.Core/UI PageManagers/BlurayPageManager.cs index a18d8b6e..d14058bd 100644 --- a/src/PepperDash.Essentials.Core/UI PageManagers/BlurayPageManager.cs +++ b/src/PepperDash.Essentials.Core/UI PageManagers/BlurayPageManager.cs @@ -10,6 +10,11 @@ namespace PepperDash.Essentials.Core.PageManagers { IDiscPlayerControls Player; + /// + /// Constructor + /// + /// player controls object + /// trilist object public DiscPlayerMediumPageManager(IDiscPlayerControls player, BasicTriListWithSmartObject trilist) : base(player.DisplayUiType) { @@ -17,10 +22,10 @@ namespace PepperDash.Essentials.Core.PageManagers TriList = trilist; } - /// - /// Show method - /// - /// + /// + /// Show method + /// + /// public override void Show() { uint offset = GetOffsetJoin(); @@ -40,10 +45,10 @@ namespace PepperDash.Essentials.Core.PageManagers } } - /// - /// Hide method - /// - /// + /// + /// Hide method + /// + /// public override void Hide() { TriList.BooleanInput[BackingPageJoin].BoolValue = false; diff --git a/src/PepperDash.Essentials.Core/UI PageManagers/PageManager.cs b/src/PepperDash.Essentials.Core/UI PageManagers/PageManager.cs index a6f8761f..ed5f0fff 100644 --- a/src/PepperDash.Essentials.Core/UI PageManagers/PageManager.cs +++ b/src/PepperDash.Essentials.Core/UI PageManagers/PageManager.cs @@ -10,10 +10,19 @@ namespace PepperDash.Essentials.Core.PageManagers /// public abstract class PageManager { + /// + /// ActiveJoins list + /// protected List ActiveJoins = new List(); + /// + /// Show method + /// public abstract void Show(); + /// + /// Hide method + /// public abstract void Hide(); /// @@ -21,9 +30,6 @@ namespace PepperDash.Essentials.Core.PageManagers /// /// 1 through 49, as defined in some constants somewhere! /// - /// - /// GetOffsetJoin method - /// public uint GetOffsetJoin(uint deviceType) { return 10000 + (deviceType * 100); @@ -38,30 +44,40 @@ namespace PepperDash.Essentials.Core.PageManagers BasicTriList TriList; uint BackingPageJoin; + /// + /// Constructor + /// + /// device + /// trilist object public DefaultPageManager(IUiDisplayInfo device, BasicTriList trilist) { TriList = trilist; BackingPageJoin = GetOffsetJoin(device.DisplayUiType) + 1; } + /// + /// Constructor + /// + /// back page join + /// trilist object public DefaultPageManager(uint join, BasicTriList trilist) { TriList = trilist; BackingPageJoin = join; } - /// - /// Show method - /// - /// + /// + /// Show method + /// + /// public override void Show() { TriList.BooleanInput[BackingPageJoin].BoolValue = true; } - /// - /// Hide method - /// + /// + /// Hide method + /// public override void Hide() { TriList.BooleanInput[BackingPageJoin].BoolValue = false; @@ -73,17 +89,44 @@ namespace PepperDash.Essentials.Core.PageManagers /// public abstract class MediumLeftSwitchablePageManager : PageManager { + /// + /// TriList object + /// protected BasicTriListWithSmartObject TriList; + + /// + /// Left subpage join + /// protected uint LeftSubpageJoin; + + /// + /// Backing page join + /// protected uint BackingPageJoin; + + /// + /// All left subpages + /// protected uint[] AllLeftSubpages; + + /// + /// Display UI Type + /// protected uint DisplayUiType; + /// + /// Constructor + /// + /// UI type protected MediumLeftSwitchablePageManager(uint displayUiType) { DisplayUiType = displayUiType; } + /// + /// Interlock left subpage + /// + /// protected void InterlockLeftSubpage(uint join) { join = join + GetOffsetJoin(); @@ -92,12 +135,19 @@ namespace PepperDash.Essentials.Core.PageManagers LeftSubpageJoin = join; } + /// + /// Clear left interlock + /// protected void ClearLeftInterlock() { foreach (var p in AllLeftSubpages) TriList.BooleanInput[GetOffsetJoin() + p].BoolValue = false; } + /// + /// Get offset join + /// + /// protected uint GetOffsetJoin() { return GetOffsetJoin(DisplayUiType); diff --git a/src/PepperDash.Essentials.Core/UI PageManagers/SetTopBoxThreePanelPageManager.cs b/src/PepperDash.Essentials.Core/UI PageManagers/SetTopBoxThreePanelPageManager.cs index 7c78464e..338f47dc 100644 --- a/src/PepperDash.Essentials.Core/UI PageManagers/SetTopBoxThreePanelPageManager.cs +++ b/src/PepperDash.Essentials.Core/UI PageManagers/SetTopBoxThreePanelPageManager.cs @@ -9,16 +9,19 @@ using Serilog.Events; namespace PepperDash.Essentials.Core.PageManagers { - /// - /// Represents a ThreePanelPlusOnePageManager - /// + /// + /// Represents a ThreePanelPlusOnePageManager + /// public class ThreePanelPlusOnePageManager : PageManager { + /// + /// The trilist + /// protected BasicTriListWithSmartObject TriList; - /// - /// Gets or sets the Position5TabsId - /// + /// + /// Gets or sets the Position5TabsId + /// public uint Position5TabsId { get; set; } /// @@ -32,12 +35,12 @@ namespace PepperDash.Essentials.Core.PageManagers protected uint[] FixedVisibilityJoins; /// - /// + /// Gets or sets the current visible item in position 5 /// protected uint CurrentVisiblePosition5Item; /// - /// + /// Constructor /// /// public ThreePanelPlusOnePageManager(BasicTriListWithSmartObject trilist) @@ -85,10 +88,10 @@ namespace PepperDash.Essentials.Core.PageManagers (uo as Action)(args.Sig.BoolValue); } - /// - /// Hide method - /// - /// + /// + /// Hide method + /// + /// public override void Hide() { var fixedSigs = FixedVisibilityJoins.Select(u => TriList.BooleanInput[u]).ToList(); @@ -119,25 +122,27 @@ namespace PepperDash.Essentials.Core.PageManagers - /// - /// Represents a SetTopBoxThreePanelPageManager - /// + /// + /// Represents a SetTopBoxThreePanelPageManager + /// public class SetTopBoxThreePanelPageManager : ThreePanelPlusOnePageManager { ISetTopBoxControls SetTopBox; DevicePresetsView PresetsView; - /// - /// Gets or sets the DpadSmartObjectId - /// + /// + /// Gets or sets the DpadSmartObjectId + /// public uint DpadSmartObjectId { get; set; } - /// - /// Gets or sets the NumberPadSmartObjectId - /// + + /// + /// Gets or sets the NumberPadSmartObjectId + /// public uint NumberPadSmartObjectId { get; set; } - /// - /// Gets or sets the PresetsSmartObjectId - /// + + /// + /// Gets or sets the PresetsSmartObjectId + /// public uint PresetsSmartObjectId { get; set; } /// @@ -198,10 +203,10 @@ namespace PepperDash.Essentials.Core.PageManagers } } - /// - /// Show method - /// - /// + /// + /// Show method + /// + /// public override void Show() { if(PresetsView != null) @@ -209,10 +214,10 @@ namespace PepperDash.Essentials.Core.PageManagers base.Show(); } - /// - /// Hide method - /// - /// + /// + /// Hide method + /// + /// public override void Hide() { if (PresetsView != null) diff --git a/src/PepperDash.Essentials.Core/UI PageManagers/SetTopBoxTwoPanelPageManager.cs b/src/PepperDash.Essentials.Core/UI PageManagers/SetTopBoxTwoPanelPageManager.cs index 73465e57..0e5b520a 100644 --- a/src/PepperDash.Essentials.Core/UI PageManagers/SetTopBoxTwoPanelPageManager.cs +++ b/src/PepperDash.Essentials.Core/UI PageManagers/SetTopBoxTwoPanelPageManager.cs @@ -4,14 +4,19 @@ using PepperDash.Essentials.Core.Presets; namespace PepperDash.Essentials.Core.PageManagers { - /// - /// Represents a SetTopBoxMediumPageManager - /// + /// + /// Represents a SetTopBoxMediumPageManager + /// public class SetTopBoxMediumPageManager : MediumLeftSwitchablePageManager { ISetTopBoxControls SetTopBox; DevicePresetsView PresetsView; + /// + /// Constructor + /// + /// set top box controls device + /// trilist device public SetTopBoxMediumPageManager(ISetTopBoxControls stb, BasicTriListWithSmartObject trilist) : base(stb.DisplayUiType) { @@ -21,10 +26,10 @@ namespace PepperDash.Essentials.Core.PageManagers PresetsView = new DevicePresetsView(trilist, stb.TvPresets); } - /// - /// Show method - /// - /// + /// + /// Show method + /// + /// public override void Show() { if(PresetsView != null) @@ -54,10 +59,10 @@ namespace PepperDash.Essentials.Core.PageManagers } } - /// - /// Hide method - /// - /// + /// + /// Hide method + /// + /// public override void Hide() { TriList.BooleanInput[BackingPageJoin].BoolValue = false; diff --git a/src/PepperDash.Essentials.Core/UI PageManagers/SinglePageManager.cs b/src/PepperDash.Essentials.Core/UI PageManagers/SinglePageManager.cs index 4438e89d..3eb0cf80 100644 --- a/src/PepperDash.Essentials.Core/UI PageManagers/SinglePageManager.cs +++ b/src/PepperDash.Essentials.Core/UI PageManagers/SinglePageManager.cs @@ -4,32 +4,37 @@ using PepperDash.Essentials.Core; namespace PepperDash.Essentials.Core.PageManagers { - /// - /// Represents a SinglePageManager - /// + /// + /// Represents a SinglePageManager + /// public class SinglePageManager : PageManager { BasicTriList TriList; uint BackingPageJoin; + /// + /// Constructor + /// + /// join for thepage + /// trilist public SinglePageManager(uint pageJoin, BasicTriList trilist) { TriList = trilist; BackingPageJoin = pageJoin; } - /// - /// Show method - /// - /// + /// + /// Show method + /// + /// public override void Show() { TriList.BooleanInput[BackingPageJoin].BoolValue = true; } - /// - /// Hide method - /// + /// + /// Hide method + /// public override void Hide() { TriList.BooleanInput[BackingPageJoin].BoolValue = false; diff --git a/src/PepperDash.Essentials.Core/Utilities/ActionSequence.cs b/src/PepperDash.Essentials.Core/Utilities/ActionSequence.cs index cc83f171..22c9297c 100644 --- a/src/PepperDash.Essentials.Core/Utilities/ActionSequence.cs +++ b/src/PepperDash.Essentials.Core/Utilities/ActionSequence.cs @@ -30,6 +30,11 @@ namespace PepperDash.Essentials.Core.Utilities private bool _allowActionsToExecute; + /// + /// Constructor + /// + /// + /// public ActionSequence(string key, DeviceConfig config) : base(key, config.Name) { @@ -126,9 +131,15 @@ namespace PepperDash.Essentials.Core.Utilities /// public class ActionSequencePropertiesConfig { + /// + /// Gets or sets the ActionSequence + /// [JsonProperty("actionSequence")] public List ActionSequence { get; set; } + /// + /// Constructor + /// public ActionSequencePropertiesConfig() { ActionSequence = new List(); @@ -140,10 +151,10 @@ namespace PepperDash.Essentials.Core.Utilities /// public class SequencedDeviceActionWrapper : DeviceActionWrapper { - [JsonProperty("delayMs")] /// /// Gets or sets the DelayMs /// + [JsonProperty("delayMs")] public int DelayMs { get; set; } } @@ -152,11 +163,19 @@ namespace PepperDash.Essentials.Core.Utilities /// public class ActionSequenceFactory : EssentialsDeviceFactory { + /// + /// Constructor + /// public ActionSequenceFactory() { TypeNames = new List() { "actionsequence" }; } + /// + /// BuildDevice method + /// + /// device config + /// public override EssentialsDevice BuildDevice(DeviceConfig dc) { Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new ActionSequence Device"); diff --git a/src/PepperDash.Essentials.Core/VideoStatus/VideoStatusOutputs.cs b/src/PepperDash.Essentials.Core/VideoStatus/VideoStatusOutputs.cs index 9a929234..b5151f79 100644 --- a/src/PepperDash.Essentials.Core/VideoStatus/VideoStatusOutputs.cs +++ b/src/PepperDash.Essentials.Core/VideoStatus/VideoStatusOutputs.cs @@ -14,12 +14,34 @@ namespace PepperDash.Essentials.Core /// public class VideoStatusFuncsWrapper { + /// + /// Gets or sets the HasVideoStatusFunc + /// public Func HasVideoStatusFunc { get; set; } + + /// + /// Gets or sets the HdcpActiveFeedbackFunc + /// public Func HdcpActiveFeedbackFunc { get; set; } + + /// + /// Gets or sets the HdcpStateFeedbackFunc + /// public Func HdcpStateFeedbackFunc { get; set; } + + /// + /// Gets or sets the VideoResolutionFeedbackFunc + /// public Func VideoResolutionFeedbackFunc { get; set; } + + /// + /// Gets or sets the VideoSyncFeedbackFunc + /// public Func VideoSyncFeedbackFunc { get; set; } + /// + /// Constructor + /// public VideoStatusFuncsWrapper() { HasVideoStatusFunc = () => true; @@ -30,32 +52,50 @@ namespace PepperDash.Essentials.Core } } - /// - /// Represents a VideoStatusOutputs - /// + /// + /// Represents a VideoStatusOutputs + /// public class VideoStatusOutputs { - /// - /// Gets or sets the HasVideoStatusFeedback - /// + /// + /// Gets or sets the HasVideoStatusFeedback + /// public BoolFeedback HasVideoStatusFeedback { get; private set; } - /// - /// Gets or sets the HdcpActiveFeedback - /// + + /// + /// Gets or sets the HdcpActiveFeedback + /// public BoolFeedback HdcpActiveFeedback { get; private set; } + + /// + /// Gets or sets the HdcpStateFeedback + /// public StringFeedback HdcpStateFeedback { get; private set; } + + /// + /// Gets or sets the VideoResolutionFeedback + /// public StringFeedback VideoResolutionFeedback { get; private set; } + + /// + /// Gets or sets the VideoSyncFeedback + /// public BoolFeedback VideoSyncFeedback { get; private set; } - /// - /// Gets or sets the NoStatus - /// + /// + /// Gets or sets the NoStatus + /// public static VideoStatusOutputs NoStatus { get { return _Default; } } + static VideoStatusOutputs _Default = new VideoStatusOutputs(new VideoStatusFuncsWrapper { HasVideoStatusFunc = () => false }); + /// + /// Constructor + /// + /// public VideoStatusOutputs(VideoStatusFuncsWrapper funcs) { HasVideoStatusFeedback = new BoolFeedback("HasVideoStatusFeedback", funcs.HasVideoStatusFunc); @@ -66,9 +106,9 @@ namespace PepperDash.Essentials.Core VideoSyncFeedback = new BoolFeedback("VideoSyncFeedback", funcs.VideoSyncFeedbackFunc); } - /// - /// FireAll method - /// + /// + /// FireAll method + /// public void FireAll() { HasVideoStatusFeedback.FireUpdate(); @@ -78,9 +118,9 @@ namespace PepperDash.Essentials.Core VideoSyncFeedback.FireUpdate(); } - /// - /// ToList method - /// + /// + /// ToList method + /// public List ToList() { return new List @@ -94,9 +134,9 @@ namespace PepperDash.Essentials.Core } } - /// - /// Wraps up the common video statuses exposed on a video input port - /// + // /// + // /// Wraps up the common video statuses exposed on a video input port + // /// //public class BasicVideoStatus : IBasicVideoStatus //{ // public event VideoStatusChangeHandler VideoStatusChange; diff --git a/src/PepperDash.Essentials.Core/Web/EssentialsWebApiFactory.cs b/src/PepperDash.Essentials.Core/Web/EssentialsWebApiFactory.cs index 49a7eb80..16abd349 100644 --- a/src/PepperDash.Essentials.Core/Web/EssentialsWebApiFactory.cs +++ b/src/PepperDash.Essentials.Core/Web/EssentialsWebApiFactory.cs @@ -10,15 +10,18 @@ namespace PepperDash.Essentials.Core.Web /// public class EssentialsWebApiFactory : EssentialsDeviceFactory { + /// + /// Constructor + /// public EssentialsWebApiFactory() { TypeNames = new List { "EssentialsWebApi" }; } - /// - /// BuildDevice method - /// - /// + /// + /// BuildDevice method + /// + /// public override EssentialsDevice BuildDevice(DeviceConfig dc) { Debug.LogMessage(LogEventLevel.Debug, "Factory Attempting to create new Essentials Web API Server"); diff --git a/src/PepperDash.Essentials.Core/Web/EssentialsWebApiHelpers.cs b/src/PepperDash.Essentials.Core/Web/EssentialsWebApiHelpers.cs index b9411a35..75f90189 100644 --- a/src/PepperDash.Essentials.Core/Web/EssentialsWebApiHelpers.cs +++ b/src/PepperDash.Essentials.Core/Web/EssentialsWebApiHelpers.cs @@ -7,11 +7,14 @@ using PepperDash.Core; namespace PepperDash.Essentials.Core.Web { + /// + /// EssentialsWebApiHelpers class + /// public static class EssentialsWebApiHelpers { - /// - /// GetRequestBody method - /// + /// + /// GetRequestBody method + /// public static string GetRequestBody(this HttpCwsRequest request) { var bytes = new byte[request.ContentLength]; @@ -21,9 +24,9 @@ namespace PepperDash.Essentials.Core.Web return Encoding.UTF8.GetString(bytes, 0, bytes.Length); } - /// - /// MapToAssemblyObject method - /// + /// + /// MapToAssemblyObject method + /// public static object MapToAssemblyObject(LoadedAssembly assembly) { return new @@ -33,9 +36,9 @@ namespace PepperDash.Essentials.Core.Web }; } - /// - /// MapToDeviceListObject method - /// + /// + /// MapToDeviceListObject method + /// public static object MapToDeviceListObject(IKeyed device) { return new @@ -47,9 +50,9 @@ namespace PepperDash.Essentials.Core.Web }; } - /// - /// MapJoinToObject method - /// + /// + /// MapJoinToObject method + /// public static object MapJoinToObject(string key, JoinMapBaseAdvanced join) { var kp = new KeyValuePair(key, join); @@ -57,9 +60,9 @@ namespace PepperDash.Essentials.Core.Web return MapJoinToObject(kp); } - /// - /// MapJoinToObject method - /// + /// + /// MapJoinToObject method + /// public static object MapJoinToObject(KeyValuePair join) { return new @@ -69,9 +72,9 @@ namespace PepperDash.Essentials.Core.Web }; } - /// - /// MapJoinDataCompleteToObject method - /// + /// + /// MapJoinDataCompleteToObject method + /// public static object MapJoinDataCompleteToObject(KeyValuePair joinData) { return new @@ -85,9 +88,9 @@ namespace PepperDash.Essentials.Core.Web }; } - /// - /// MapDeviceTypeToObject method - /// + /// + /// MapDeviceTypeToObject method + /// public static object MapDeviceTypeToObject(string key, DeviceFactoryWrapper device) { var kp = new KeyValuePair(key, device); @@ -95,9 +98,9 @@ namespace PepperDash.Essentials.Core.Web return MapDeviceTypeToObject(kp); } - /// - /// MapDeviceTypeToObject method - /// + /// + /// MapDeviceTypeToObject method + /// public static object MapDeviceTypeToObject(KeyValuePair device) { return new diff --git a/src/PepperDash.Essentials.Core/Web/EssentialsWebApiPropertiesConfig.cs b/src/PepperDash.Essentials.Core/Web/EssentialsWebApiPropertiesConfig.cs index c20aa07a..9c00fd93 100644 --- a/src/PepperDash.Essentials.Core/Web/EssentialsWebApiPropertiesConfig.cs +++ b/src/PepperDash.Essentials.Core/Web/EssentialsWebApiPropertiesConfig.cs @@ -2,15 +2,15 @@ namespace PepperDash.Essentials.Core.Web { - /// - /// Represents a EssentialsWebApiPropertiesConfig - /// + /// + /// Represents a EssentialsWebApiPropertiesConfig + /// public class EssentialsWebApiPropertiesConfig { + /// + /// Gets or sets the BasePath + /// [JsonProperty("basePath")] - /// - /// Gets or sets the BasePath - /// public string BasePath { get; set; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Web/RequestHandlers/AppDebugRequestHandler.cs b/src/PepperDash.Essentials.Core/Web/RequestHandlers/AppDebugRequestHandler.cs index ac95525e..3d3302cc 100644 --- a/src/PepperDash.Essentials.Core/Web/RequestHandlers/AppDebugRequestHandler.cs +++ b/src/PepperDash.Essentials.Core/Web/RequestHandlers/AppDebugRequestHandler.cs @@ -80,16 +80,16 @@ namespace PepperDash.Essentials.Core.Web.RequestHandlers } } - /// - /// Represents a AppDebug - /// + /// + /// Represents a AppDebug + /// public class AppDebug { - [JsonProperty("minimumLevel", NullValueHandling = NullValueHandling.Ignore)] - [JsonConverter(typeof(StringEnumConverter))] /// /// Gets or sets the MinimumLevel /// + [JsonProperty("minimumLevel", NullValueHandling = NullValueHandling.Ignore)] + [JsonConverter(typeof(StringEnumConverter))] public LogEventLevel MinimumLevel { get; set; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Web/RequestHandlers/DebugSessionRequestHandler.cs b/src/PepperDash.Essentials.Core/Web/RequestHandlers/DebugSessionRequestHandler.cs index e7d0c69c..01e38834 100644 --- a/src/PepperDash.Essentials.Core/Web/RequestHandlers/DebugSessionRequestHandler.cs +++ b/src/PepperDash.Essentials.Core/Web/RequestHandlers/DebugSessionRequestHandler.cs @@ -18,6 +18,9 @@ namespace PepperDash.Essentials.Core.Web.RequestHandlers /// public class DebugSessionRequestHandler : WebApiBaseRequestHandler { + /// + /// Constructor + /// public DebugSessionRequestHandler() : base(true) { diff --git a/src/PepperDash.Essentials.Core/Web/RequestHandlers/DoNotLoadConfigOnNextBootRequestHandler.cs b/src/PepperDash.Essentials.Core/Web/RequestHandlers/DoNotLoadConfigOnNextBootRequestHandler.cs index 5c17e342..593ce4e7 100644 --- a/src/PepperDash.Essentials.Core/Web/RequestHandlers/DoNotLoadConfigOnNextBootRequestHandler.cs +++ b/src/PepperDash.Essentials.Core/Web/RequestHandlers/DoNotLoadConfigOnNextBootRequestHandler.cs @@ -5,9 +5,9 @@ using PepperDash.Core.Web.RequestHandlers; namespace PepperDash.Essentials.Core.Web.RequestHandlers { - /// - /// Represents a DoNotLoadConfigOnNextBootRequestHandler - /// + /// + /// Represents a DoNotLoadConfigOnNextBootRequestHandler + /// public class DoNotLoadConfigOnNextBootRequestHandler : WebApiBaseRequestHandler { /// @@ -79,15 +79,15 @@ namespace PepperDash.Essentials.Core.Web.RequestHandlers } } - /// - /// Represents a Data - /// + /// + /// Represents a Data + /// public class Data { + /// + /// Gets or sets the DoNotLoadConfigOnNextBoot + /// [JsonProperty("doNotLoadConfigOnNextBoot", NullValueHandling = NullValueHandling.Ignore)] - /// - /// Gets or sets the DoNotLoadConfigOnNextBoot - /// public bool DoNotLoadConfigOnNextBoot { get; set; } } } \ No newline at end of file diff --git a/src/PepperDash.Essentials.Core/Web/RequestHandlers/GetRoutesHandler.cs b/src/PepperDash.Essentials.Core/Web/RequestHandlers/GetRoutesHandler.cs index cc450e11..bd264a7a 100644 --- a/src/PepperDash.Essentials.Core/Web/RequestHandlers/GetRoutesHandler.cs +++ b/src/PepperDash.Essentials.Core/Web/RequestHandlers/GetRoutesHandler.cs @@ -13,11 +13,20 @@ namespace PepperDash.Essentials.Core.Web.RequestHandlers private HttpCwsRouteCollection routeCollection; private string basePath; + /// + /// Constructor + /// + /// + /// public GetRoutesHandler(HttpCwsRouteCollection routeCollection, string basePath) { this.routeCollection = routeCollection; this.basePath = basePath; } + /// + /// Handles GET method requests + /// + /// protected override void HandleGet(HttpCwsContext context) { var currentIp = CrestronEthernetHelper.GetEthernetParameter( @@ -49,16 +58,16 @@ namespace PepperDash.Essentials.Core.Web.RequestHandlers /// public class RoutesResponseObject { - [JsonProperty("url")] /// /// Gets or sets the Url /// + [JsonProperty("url")] public string Url { set; get; } - [JsonProperty("routes")] /// /// Gets or sets the Routes /// + [JsonProperty("routes")] public HttpCwsRouteCollection Routes { get; set; } } } diff --git a/src/PepperDash.Essentials.Core/Web/RequestHandlers/GetRoutingPortsHandler.cs b/src/PepperDash.Essentials.Core/Web/RequestHandlers/GetRoutingPortsHandler.cs index f11e6dd2..8cee7e9e 100644 --- a/src/PepperDash.Essentials.Core/Web/RequestHandlers/GetRoutingPortsHandler.cs +++ b/src/PepperDash.Essentials.Core/Web/RequestHandlers/GetRoutingPortsHandler.cs @@ -12,8 +12,15 @@ namespace PepperDash.Essentials.Core.Web.RequestHandlers /// public class GetRoutingPortsHandler : WebApiBaseRequestHandler { + /// + /// Constructor + /// public GetRoutingPortsHandler() : base(true) { } + /// + /// Handles the GET request + /// + /// protected override void HandleGet(HttpCwsContext context) { var routeData = context.Request.RouteData; @@ -63,17 +70,18 @@ namespace PepperDash.Essentials.Core.Web.RequestHandlers } } - internal class ReturnValue { - [JsonProperty("inputPorts", NullValueHandling = NullValueHandling.Ignore)] + internal class ReturnValue + { /// /// Gets or sets the InputPorts /// + [JsonProperty("inputPorts", NullValueHandling = NullValueHandling.Ignore)] public List InputPorts { get; set; } - [JsonProperty("outputPorts", NullValueHandling = NullValueHandling.Ignore)] /// /// Gets or sets the OutputPorts /// + [JsonProperty("outputPorts", NullValueHandling = NullValueHandling.Ignore)] public List OutputPorts { get; set; } } } diff --git a/src/PepperDash.Essentials.Core/Web/RequestHandlers/GetTieLinesRequestHandler.cs b/src/PepperDash.Essentials.Core/Web/RequestHandlers/GetTieLinesRequestHandler.cs index bc6fb623..f7088cb2 100644 --- a/src/PepperDash.Essentials.Core/Web/RequestHandlers/GetTieLinesRequestHandler.cs +++ b/src/PepperDash.Essentials.Core/Web/RequestHandlers/GetTieLinesRequestHandler.cs @@ -11,8 +11,15 @@ namespace PepperDash.Essentials.Core.Web.RequestHandlers /// public class GetTieLinesRequestHandler : WebApiBaseRequestHandler { + /// + /// Constructor + /// public GetTieLinesRequestHandler() : base(true) { } + /// + /// Handles the GET request + /// + /// protected override void HandleGet(HttpCwsContext context) { var tieLineString = JsonConvert.SerializeObject(TieLineCollection.Default.Select((tl) => new diff --git a/src/PepperDash.Essentials.Core/Web/RequestHandlers/SetDeviceStreamDebugRequestHandler.cs b/src/PepperDash.Essentials.Core/Web/RequestHandlers/SetDeviceStreamDebugRequestHandler.cs index 7c6aea26..dd4f416f 100644 --- a/src/PepperDash.Essentials.Core/Web/RequestHandlers/SetDeviceStreamDebugRequestHandler.cs +++ b/src/PepperDash.Essentials.Core/Web/RequestHandlers/SetDeviceStreamDebugRequestHandler.cs @@ -195,26 +195,32 @@ namespace PepperDash.Essentials.Core.Web.RequestHandlers } + /// + /// Configuration class for SetDeviceStreamDebugRequestHandler + /// public class SetDeviceStreamDebugConfig { - [JsonProperty("deviceKey", NullValueHandling = NullValueHandling.Include)] /// /// Gets or sets the DeviceKey /// + [JsonProperty("deviceKey", NullValueHandling = NullValueHandling.Include)] public string DeviceKey { get; set; } - [JsonProperty("setting", NullValueHandling = NullValueHandling.Include)] /// /// Gets or sets the Setting /// + [JsonProperty("setting", NullValueHandling = NullValueHandling.Include)] public string Setting { get; set; } - [JsonProperty("timeout")] /// /// Gets or sets the Timeout /// + [JsonProperty("timeout")] public int Timeout { get; set; } + /// + /// Constructor + /// public SetDeviceStreamDebugConfig() { DeviceKey = null; diff --git a/src/PepperDash.Essentials.Devices.Common/Cameras/Interfaces/CameraSelectedEventArgs.cs b/src/PepperDash.Essentials.Devices.Common/Cameras/Interfaces/CameraSelectedEventArgs.cs index bb2a85a2..b96a9b3f 100644 --- a/src/PepperDash.Essentials.Devices.Common/Cameras/Interfaces/CameraSelectedEventArgs.cs +++ b/src/PepperDash.Essentials.Devices.Common/Cameras/Interfaces/CameraSelectedEventArgs.cs @@ -12,6 +12,7 @@ namespace PepperDash.Essentials.Devices.Common.Cameras [Obsolete("Use CameraSelectedEventArgs instead. This class will be removed in a future version")] public class CameraSelectedEventArgs : EventArgs { + /// /// Gets or sets the SelectedCamera /// public CameraBase SelectedCamera { get; private set; }