diff --git a/Pepperdash Core/Pepperdash Core/Comm/GenericSecureTcpIpServer.cs b/Pepperdash Core/Pepperdash Core/Comm/GenericSecureTcpIpServer.cs
index 13b3cef..cff8361 100644
--- a/Pepperdash Core/Pepperdash Core/Comm/GenericSecureTcpIpServer.cs
+++ b/Pepperdash Core/Pepperdash Core/Comm/GenericSecureTcpIpServer.cs
@@ -167,7 +167,9 @@ namespace PepperDash.Core
{
get { return (ushort)(IsListening ? 1 : 0); }
}
-
+ ///
+ /// Max number of clients this server will allow for connection. Crestron max is 64. This number should be less than 65
+ ///
public ushort MaxClients { get; set; } // should be set by parameter in SIMPL+ in the MAIN method, Should not ever need to be configurable
///
/// Number of clients currently connected.
diff --git a/Pepperdash Core/Pepperdash Core/Comm/GenericTcpIpClient.cs b/Pepperdash Core/Pepperdash Core/Comm/GenericTcpIpClient.cs
index 65c428f..a313b95 100644
--- a/Pepperdash Core/Pepperdash Core/Comm/GenericTcpIpClient.cs
+++ b/Pepperdash Core/Pepperdash Core/Comm/GenericTcpIpClient.cs
@@ -352,7 +352,6 @@ namespace PepperDash.Core
}
}
-
public class TcpSshPropertiesConfig
{
[JsonProperty(Required = Required.Always)]
diff --git a/Pepperdash Core/Pepperdash Core/Comm/TcpClientConfigObject.cs b/Pepperdash Core/Pepperdash Core/Comm/TcpClientConfigObject.cs
index c0c7f45..3e34aa6 100644
--- a/Pepperdash Core/Pepperdash Core/Comm/TcpClientConfigObject.cs
+++ b/Pepperdash Core/Pepperdash Core/Comm/TcpClientConfigObject.cs
@@ -8,14 +8,40 @@ using Newtonsoft.Json;
namespace PepperDash_Core.Comm
{
+ ///
+ /// Client config object for TCP client with server that inherits from TcpSshPropertiesConfig and adds properties for shared key and heartbeat
+ ///
public class TcpClientConfigObject : TcpSshPropertiesConfig
{
+ ///
+ /// Bool value for secure. Currently not implemented in TCP sockets as they are not dynamic
+ ///
public bool Secure { get; set; }
+ ///
+ /// Require a shared key that both server and client negotiate. If negotiation fails server disconnects the client
+ ///
public bool SharedKeyRequired { get; set; }
+
+ ///
+ /// The shared key that must match on the server and client
+ ///
public string SharedKey { get; set; }
+ ///
+ /// Require a heartbeat on the client/server connection that will cause the server/client to disconnect if the heartbeat is not received.
+ /// heartbeats do not raise received events.
+ ///
public bool HeartbeatRequired { get; set; }
+ ///
+ /// The interval in seconds for the heartbeat from the client. If not received client is disconnected
+ ///
public ushort HeartbeatRequiredIntervalInSeconds { get; set; }
+ ///
+ /// HeartbeatString that will be checked against the message received. defaults to heartbeat if no string is provided.
+ ///
public string HeartbeatStringToMatch { get; set; }
+ ///
+ /// Receive Queue size must be greater than 20 or defaults to 20
+ ///
public int ReceiveQueueSize { get; set; }
}
}
\ No newline at end of file
diff --git a/Pepperdash Core/Pepperdash Core/Comm/TcpServerConfigObject.cs b/Pepperdash Core/Pepperdash Core/Comm/TcpServerConfigObject.cs
index af455f4..785851b 100644
--- a/Pepperdash Core/Pepperdash Core/Comm/TcpServerConfigObject.cs
+++ b/Pepperdash Core/Pepperdash Core/Comm/TcpServerConfigObject.cs
@@ -6,18 +6,55 @@ using Crestron.SimplSharp;
namespace PepperDash.Core
{
+ ///
+ /// Tcp Server Config object with properties for a tcp server with shared key and heartbeat capabilities
+ ///
public class TcpServerConfigObject
{
+ ///
+ /// Uique key
+ ///
public string Key { get; set; }
+ ///
+ /// Max Clients that the server will allow to connect.
+ ///
public ushort MaxClients { get; set; }
+ ///
+ /// Bool value for secure. Currently not implemented in TCP sockets as they are not dynamic
+ ///
public bool Secure { get; set; }
+ ///
+ /// Port for the server to listen on
+ ///
public int Port { get; set; }
+ ///
+ /// Require a shared key that both server and client negotiate. If negotiation fails server disconnects the client
+ ///
public bool SharedKeyRequired { get; set; }
+ ///
+ /// The shared key that must match on the server and client
+ ///
public string SharedKey { get; set; }
+ ///
+ /// Require a heartbeat on the client/server connection that will cause the server/client to disconnect if the heartbeat is not received.
+ /// heartbeats do not raise received events.
+ ///
public bool HeartbeatRequired { get; set; }
+ ///
+ /// The interval in seconds for the heartbeat from the client. If not received client is disconnected
+ ///
public ushort HeartbeatRequiredIntervalInSeconds { get; set; }
+ ///
+ /// HeartbeatString that will be checked against the message received. defaults to heartbeat if no string is provided.
+ ///
public string HeartbeatStringToMatch { get; set; }
+ ///
+ /// Client buffer size. See Crestron help. defaults to 2000 if not greater than 2000
+ ///
public int BufferSize { get; set; }
+ ///
+ /// Receive Queue size must be greater than 20 or defaults to 20
+ ///
public int ReceiveQueueSize { get; set; }
}
}
\ No newline at end of file
diff --git a/Pepperdash Core/Pepperdash Core/Comm/eControlMethods.cs b/Pepperdash Core/Pepperdash Core/Comm/eControlMethods.cs
index d4a2028..5a7a6ea 100644
--- a/Pepperdash Core/Pepperdash Core/Comm/eControlMethods.cs
+++ b/Pepperdash Core/Pepperdash Core/Comm/eControlMethods.cs
@@ -6,6 +6,9 @@ using Crestron.SimplSharp;
namespace PepperDash.Core
{
+ ///
+ /// Crestron Control Methods for a comm object
+ ///
public enum eControlMethod
{
None = 0, Com, IpId, IpidTcp, IR, Ssh, Tcpip, Telnet, Cresnet, Cec, Udp
diff --git a/Pepperdash Core/Pepperdash Core/CoreInterfaces.cs b/Pepperdash Core/Pepperdash Core/CoreInterfaces.cs
index 195d6e2..3a5df42 100644
--- a/Pepperdash Core/Pepperdash Core/CoreInterfaces.cs
+++ b/Pepperdash Core/Pepperdash Core/CoreInterfaces.cs
@@ -6,13 +6,25 @@ using Crestron.SimplSharp;
namespace PepperDash.Core
{
+ ///
+ /// Unique key interface to require a unique key for the class
+ ///
public interface IKeyed
{
+ ///
+ /// Unique Key
+ ///
string Key { get; }
}
+ ///
+ /// Named Keyed device interface. Forces the devie to have a Unique Key and a name.
+ ///
public interface IKeyName : IKeyed
{
+ ///
+ /// Isn't it obvious :)
+ ///
string Name { get; }
}
}
\ No newline at end of file
diff --git a/Pepperdash Core/Pepperdash Core/Device.cs b/Pepperdash Core/Pepperdash Core/Device.cs
index 7132f94..62dc6b1 100644
--- a/Pepperdash Core/Pepperdash Core/Device.cs
+++ b/Pepperdash Core/Pepperdash Core/Device.cs
@@ -10,8 +10,17 @@ namespace PepperDash.Core
///
public class Device : IKeyName
{
+ ///
+ /// Unique Key
+ ///
public string Key { get; protected set; }
- public string Name { get; protected set; }
+ ///
+ /// Name of the devie
+ ///
+ public string Name { get; protected set; }
+ ///
+ ///
+ ///
public bool Enabled { get; protected set; }
/////
diff --git a/Pepperdash Core/Pepperdash Core/JsonToSimpl/EventArgs and Constants.cs b/Pepperdash Core/Pepperdash Core/JsonToSimpl/EventArgs and Constants.cs
index e6e13a5..d2e7e8e 100644
--- a/Pepperdash Core/Pepperdash Core/JsonToSimpl/EventArgs and Constants.cs
+++ b/Pepperdash Core/Pepperdash Core/JsonToSimpl/EventArgs and Constants.cs
@@ -6,6 +6,9 @@ using Crestron.SimplSharp;
namespace PepperDash.Core.JsonToSimpl
{
+ ///
+ /// Constants for Simpl modules
+ ///
public class JsonToSimplConstants
{
public const ushort JsonIsValidBoolChange = 2;
diff --git a/Pepperdash Core/Pepperdash Core/Network/DiscoveryThings.cs b/Pepperdash Core/Pepperdash Core/Network/DiscoveryThings.cs
index 72f2285..973c03a 100644
--- a/Pepperdash Core/Pepperdash Core/Network/DiscoveryThings.cs
+++ b/Pepperdash Core/Pepperdash Core/Network/DiscoveryThings.cs
@@ -6,10 +6,14 @@ using Crestron.SimplSharp;
namespace PepperDash.Core
{
-
+ ///
+ /// Not in use
+ ///
public static class NetworkComm
{
-
+ ///
+ /// Not in use
+ ///
static NetworkComm()
{
}
diff --git a/Pepperdash Core/Pepperdash Core/PepperDash_Core.csproj b/Pepperdash Core/Pepperdash Core/PepperDash_Core.csproj
index c0a4f03..0aeb953 100644
--- a/Pepperdash Core/Pepperdash Core/PepperDash_Core.csproj
+++ b/Pepperdash Core/Pepperdash Core/PepperDash_Core.csproj
@@ -31,6 +31,7 @@
512
true
true
+ bin\PepperDash_Core.xml
.allowedReferenceRelatedFileExtensions