diff --git a/Pepperdash Core/Pepperdash Core.suo b/Pepperdash Core/Pepperdash Core.suo index 88da250..634ed88 100644 Binary files a/Pepperdash Core/Pepperdash Core.suo and b/Pepperdash Core/Pepperdash Core.suo differ diff --git a/Pepperdash Core/Pepperdash Core/Comm/CommunicationGather.cs b/Pepperdash Core/Pepperdash Core/Comm/CommunicationGather.cs index 4984338..7ba0246 100644 --- a/Pepperdash Core/Pepperdash Core/Comm/CommunicationGather.cs +++ b/Pepperdash Core/Pepperdash Core/Comm/CommunicationGather.cs @@ -92,6 +92,13 @@ namespace PepperDash.Core var handler = LineReceived; if (handler != null) { + if (Debug.Level >= 2) + { + var output = Regex.Replace(args.Text, + @"\p{Cc}", + a => string.Format("[{0:X2}]", (byte)a.Value[0])); + Debug.Console(2, Port, "RX: '{0}]", output); + } ReceiveBuffer.Append(args.Text); var str = ReceiveBuffer.ToString(); var lines = str.Split(Delimiter); @@ -123,7 +130,13 @@ namespace PepperDash.Core { // Receive buffer should either be empty or not contain the delimiter // If the line does not have a delimiter, append the - + if (Debug.Level >= 2) + { + var output = Regex.Replace(args.Text, + @"\p{Cc}", + a => string.Format("[{0:X2}]", (byte)a.Value[0])); + Debug.Console(2, Port, "RX: '{0}]", output); + } ReceiveBuffer.Append(args.Text); var str = ReceiveBuffer.ToString(); var lines = Regex.Split(str, StringDelimiter); diff --git a/Pepperdash Core/Pepperdash Core/Comm/FINISH CommStatic.cs b/Pepperdash Core/Pepperdash Core/Comm/FINISH CommStatic.cs new file mode 100644 index 0000000..70f105e --- /dev/null +++ b/Pepperdash Core/Pepperdash Core/Comm/FINISH CommStatic.cs @@ -0,0 +1,104 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Crestron.SimplSharp; + +namespace PepperDash.Core +{ + /// + /// Background class that manages debug features for sockets + /// + public static class CommStatic + { + static List Sockets = new List(); + + /// + /// Sets up the backing class. Adds console commands for S#Pro programs + /// + static CommStatic() + { + if (CrestronEnvironment.RuntimeEnvironment == eRuntimeEnvironment.SimplSharpPro) + { + CrestronConsole.AddNewConsoleCommand(SocketCommand, "socket", "socket commands: list, send, connect, disco", + ConsoleAccessLevelEnum.AccessOperator); + } + } + + static void SocketCommand(string s) + { + // 0 1 2 + //socket command number/key/all param + //socket list + //socket send 4 ver -v\n + + if (string.IsNullOrEmpty(s)) + return; + var tokens = s.Split(' '); + if (tokens.Length == 0) + return; + var command = tokens[0].ToLower(); + if(command == "connect") + { + + } + else if(command == "disco") + { + + } + else if(command =="list") + { + CrestronConsole.ConsoleCommandResponse("{0} sockets", Sockets.Count); + if(Sockets.Count == 0) + return; + // get the longest key name, for formatting + var longestLength = Sockets.Aggregate("", + (max, cur) => max.Length > cur.Key.Length ? max : cur.Key).Length; + for(int i = 0; i < Sockets.Count; i++) + { + var sock = Sockets[i]; + CrestronConsole.ConsoleCommandResponse("{0} {1} {2} {3}", + i, sock.Key, GetSocketType(sock), sock.ClientStatus); + } + } + else if(command == "send") + { + + } + } + + /// + /// Helper for socket list, to show types + /// + static string GetSocketType(ISocketStatus sock) + { + if (sock is GenericSshClient) + return "SSH"; + else if (sock is GenericTcpIpClient) + return "TCP-IP"; + else + return "?"; + } + + + /// + /// + /// + /// + public static void AddSocket(ISocketStatus socket) + { + if(!Sockets.Contains(socket)) + Sockets.Add(socket); + } + + /// + /// + /// + /// + public static void RemoveSocket(ISocketStatus socket) + { + if (Sockets.Contains(socket)) + Sockets.Remove(socket); + } + } +} \ No newline at end of file diff --git a/Pepperdash Core/Pepperdash Core/PepperDash_Core.csproj b/Pepperdash Core/Pepperdash Core/PepperDash_Core.csproj index 78b82da..af07934 100644 --- a/Pepperdash Core/Pepperdash Core/PepperDash_Core.csproj +++ b/Pepperdash Core/Pepperdash Core/PepperDash_Core.csproj @@ -63,6 +63,7 @@ + diff --git a/Pepperdash Core/Pepperdash Core/PepperDash_Core.projectinfo b/Pepperdash Core/Pepperdash Core/PepperDash_Core.projectinfo index b6af2c8..a59aaca 100644 Binary files a/Pepperdash Core/Pepperdash Core/PepperDash_Core.projectinfo and b/Pepperdash Core/Pepperdash Core/PepperDash_Core.projectinfo differ diff --git a/Pepperdash Core/Pepperdash Core/SIMPLSharpLogs/(2017-01-05 15-16-49).log b/Pepperdash Core/Pepperdash Core/SIMPLSharpLogs/(2017-01-05 15-16-49).log new file mode 100644 index 0000000..b027552 --- /dev/null +++ b/Pepperdash Core/Pepperdash Core/SIMPLSharpLogs/(2017-01-05 15-16-49).log @@ -0,0 +1,3 @@ +1/5/2017 3:16:49 PM, Info: Initializing SIMPLSharp Services... +1/5/2017 3:16:49 PM, Info: ProjectInfo successfully initialized. +1/5/2017 4:00:40 PM, Info: Terminating SIMPLSharp Services diff --git a/Pepperdash Core/Pepperdash Core/SIMPLSharpLogs/(2017-01-06 07-51-29).log b/Pepperdash Core/Pepperdash Core/SIMPLSharpLogs/(2017-01-06 07-51-29).log new file mode 100644 index 0000000..cf6c86b --- /dev/null +++ b/Pepperdash Core/Pepperdash Core/SIMPLSharpLogs/(2017-01-06 07-51-29).log @@ -0,0 +1,45 @@ +1/6/2017 7:51:29 AM, Info: Initializing SIMPLSharp Services... +1/6/2017 7:51:29 AM, Info: ProjectInfo successfully initialized. +1/6/2017 7:56:04 AM, Info: Saving project information... +1/6/2017 7:56:04 AM, Info: Saving project information... +1/6/2017 8:01:04 AM, Info: Saving project information... +1/6/2017 8:01:04 AM, Info: Saving project information... +1/6/2017 8:06:04 AM, Info: Saving project information... +1/6/2017 8:06:04 AM, Info: Saving project information... +1/6/2017 8:11:04 AM, Info: Saving project information... +1/6/2017 8:11:04 AM, Info: Saving project information... +1/6/2017 8:16:04 AM, Info: Saving project information... +1/6/2017 8:16:04 AM, Info: Saving project information... +1/6/2017 8:21:04 AM, Info: Saving project information... +1/6/2017 8:21:04 AM, Info: Saving project information... +1/6/2017 8:26:04 AM, Info: Saving project information... +1/6/2017 8:26:04 AM, Info: Saving project information... +1/6/2017 8:31:04 AM, Info: Saving project information... +1/6/2017 8:31:04 AM, Info: Saving project information... +1/6/2017 8:36:04 AM, Info: Saving project information... +1/6/2017 8:36:04 AM, Info: Saving project information... +1/6/2017 8:41:04 AM, Info: Saving project information... +1/6/2017 8:41:04 AM, Info: Saving project information... +1/6/2017 8:42:25 AM, Info: Saving project information... +1/6/2017 8:42:25 AM, Info: Saving project information... +1/6/2017 8:42:25 AM, Info: Saving project information... +1/6/2017 8:42:25 AM, Info: Saving project information... +1/6/2017 8:42:37 AM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\pepperdash-simplsharp-core\Pepperdash Core\Pepperdash Core\bin\PepperDash_Core.dll... +1/6/2017 8:42:38 AM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\pepperdash-simplsharp-core\Pepperdash Core\Pepperdash Core\bin\PepperDash_Core.dll +1/6/2017 8:42:38 AM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\pepperdash-simplsharp-core\Pepperdash Core\Pepperdash Core\bin\PepperDash_Core.clz... +1/6/2017 8:42:38 AM, Info: Saving project information... +1/6/2017 8:43:40 AM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\pepperdash-simplsharp-core\Pepperdash Core\Pepperdash Core\bin\PepperDash_Core.dll... +1/6/2017 8:43:41 AM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\pepperdash-simplsharp-core\Pepperdash Core\Pepperdash Core\bin\PepperDash_Core.dll +1/6/2017 8:43:41 AM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\pepperdash-simplsharp-core\Pepperdash Core\Pepperdash Core\bin\PepperDash_Core.clz... +1/6/2017 8:43:41 AM, Info: Saving project information... +1/6/2017 8:51:04 AM, Info: Saving project information... +1/6/2017 8:51:04 AM, Info: Saving project information... +1/6/2017 8:53:45 AM, Info: Saving project information... +1/6/2017 8:53:45 AM, Info: Saving project information... +1/6/2017 8:53:45 AM, Info: Saving project information... +1/6/2017 8:53:45 AM, Info: Saving project information... +1/6/2017 8:53:46 AM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\pepperdash-simplsharp-core\Pepperdash Core\Pepperdash Core\bin\PepperDash_Core.dll... +1/6/2017 8:53:46 AM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\pepperdash-simplsharp-core\Pepperdash Core\Pepperdash Core\bin\PepperDash_Core.dll +1/6/2017 8:53:46 AM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\pepperdash-simplsharp-core\Pepperdash Core\Pepperdash Core\bin\PepperDash_Core.clz... +1/6/2017 8:53:47 AM, Info: Saving project information... +1/6/2017 12:09:25 PM, Info: Terminating SIMPLSharp Services diff --git a/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.clz b/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.clz index 6d65179..48b384a 100644 Binary files a/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.clz and b/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.clz differ diff --git a/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.config b/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.config index f19580e..33b2991 100644 --- a/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.config +++ b/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.config @@ -10,8 +10,8 @@ - 1/4/2017 2:31:43 PM - 1.0.6213.26151 + 1/6/2017 8:53:46 AM + 1.0.6215.16012 Crestron.SIMPLSharp, Version=2.0.48.0, Culture=neutral, PublicKeyToken=812d080f93e2de10 diff --git a/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.dll b/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.dll index ba68cd1..d4d7cf9 100644 Binary files a/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.dll and b/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.dll differ diff --git a/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.pdb b/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.pdb index 2f65b59..5a830bf 100644 Binary files a/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.pdb and b/Pepperdash Core/Pepperdash Core/bin/PepperDash_Core.pdb differ diff --git a/Pepperdash Core/Pepperdash Core/bin/manifest.info b/Pepperdash Core/Pepperdash Core/bin/manifest.info index 01d88af..838d531 100644 --- a/Pepperdash Core/Pepperdash Core/bin/manifest.info +++ b/Pepperdash Core/Pepperdash Core/bin/manifest.info @@ -1,4 +1,4 @@ -MainAssembly=PepperDash_Core.dll:e116822f63c3419f6399d53e084bd358 +MainAssembly=PepperDash_Core.dll:5310f2702bb23a35bd60cde6a14b55ba MainAssemblyMinFirmwareVersion=1.007.0017 MainAssemblyResource=SimplSharpData.dat:315526abf906cded47fb0c7510266a7e ü diff --git a/Pepperdash Core/Pepperdash Core/bin/manifest.ser b/Pepperdash Core/Pepperdash Core/bin/manifest.ser index e89f716..6d339d9 100644 Binary files a/Pepperdash Core/Pepperdash Core/bin/manifest.ser and b/Pepperdash Core/Pepperdash Core/bin/manifest.ser differ diff --git a/Pepperdash Core/Pepperdash Core/obj/Debug/PepperDash_Core.dll b/Pepperdash Core/Pepperdash Core/obj/Debug/PepperDash_Core.dll index 769f0bd..f1c5960 100644 Binary files a/Pepperdash Core/Pepperdash Core/obj/Debug/PepperDash_Core.dll and b/Pepperdash Core/Pepperdash Core/obj/Debug/PepperDash_Core.dll differ diff --git a/Pepperdash Core/Pepperdash Core/obj/Debug/PepperDash_Core.pdb b/Pepperdash Core/Pepperdash Core/obj/Debug/PepperDash_Core.pdb index 9cf3040..a1dfec6 100644 Binary files a/Pepperdash Core/Pepperdash Core/obj/Debug/PepperDash_Core.pdb and b/Pepperdash Core/Pepperdash Core/obj/Debug/PepperDash_Core.pdb differ