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/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/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/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