├── .gitignore ├── README.md ├── SimplSharpNetUtils.sln ├── SimplSharpNetUtils.suo └── SimplSharpNetUtils ├── HTTPGetter.cs ├── HTTPRequest.cs ├── Properties ├── AssemblyInfo.cs └── ControlSystem.cfg ├── SimplPlus ├── SimplPlusNetUtils HTTPClient.ush ├── SimplPlusNetUtils HTTPClient.usp ├── SimplPlusNetUtils HttpFileGetter.ush ├── SimplPlusNetUtils HttpFileGetter.usp ├── SimplPlusNetUtils TCPClient.ush ├── SimplPlusNetUtils TCPClient.usp ├── SimplPlusNetUtilsTest.lpz ├── SimplPlusNetUtilsTest.smw ├── SimplPlusNetUtilsTest_compiled.zip └── SimplSharpNetUtils.clz ├── SimplSharpNetUtils.csproj ├── String_Pacer.cs ├── TCPSocket.cs └── bin ├── SimplSharpHelperInterface.dll ├── SimplSharpNetUtils.clz ├── SimplSharpNetUtils.config ├── SimplSharpNetUtils.dll ├── manifest.info └── manifest.ser /.gitignore: -------------------------------------------------------------------------------- 1 | *.pdb 2 | *.ASV 3 | *.sm2 4 | *.sig 5 | SimplSharpNetUtils/SimplPlus/SPlsWork/ 6 | SimplSharpNetUtils/obj/ 7 | 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | SimplSharpNetUtils 2 | ================== 3 | 4 | A common set of networking utilities for Crestron's Simpl#. 5 | 6 | 7 | -------------------------------------------------------------------------------- /SimplSharpNetUtils.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 10.00 3 | # Visual Studio 2008 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimplSharpNetUtils", "SimplSharpNetUtils\SimplSharpNetUtils.csproj", "{4E3DFCAE-53F8-4104-877B-EC64E8A96488}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Any CPU = Debug|Any CPU 9 | Release|Any CPU = Release|Any CPU 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {4E3DFCAE-53F8-4104-877B-EC64E8A96488}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 13 | {4E3DFCAE-53F8-4104-877B-EC64E8A96488}.Debug|Any CPU.Build.0 = Debug|Any CPU 14 | {4E3DFCAE-53F8-4104-877B-EC64E8A96488}.Release|Any CPU.ActiveCfg = Release|Any CPU 15 | {4E3DFCAE-53F8-4104-877B-EC64E8A96488}.Release|Any CPU.Build.0 = Release|Any CPU 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /SimplSharpNetUtils.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevinCook/SimplSharpNetUtils/219e87b9e6cd030c905c22c94d457e8a379d4b51/SimplSharpNetUtils.suo -------------------------------------------------------------------------------- /SimplSharpNetUtils/HTTPGetter.cs: -------------------------------------------------------------------------------- 1 | /* HTTPGetter.cs 2 | * 3 | * Copy a file via HTTP to a local directory 4 | * 5 | */ 6 | 7 | 8 | using System; 9 | using System.Collections.Generic; 10 | using System.Linq; 11 | using System.Text; 12 | using Crestron.SimplSharp; 13 | using Crestron.SimplSharp.CrestronIO; 14 | using Crestron.SimplSharp.Net.Http; 15 | 16 | namespace SimplSharpNetUtils 17 | { 18 | public class HttpGetter 19 | { 20 | String _ErrorMsg = "No Error"; 21 | 22 | public String ErrorMsg 23 | { 24 | get { return _ErrorMsg; } 25 | } 26 | 27 | public HttpGetter() { } 28 | 29 | private void checkPath(String filename) 30 | { 31 | String dir = Path.GetDirectoryName(filename); 32 | if (!Directory.Exists(dir)) 33 | Directory.Create(dir); 34 | } 35 | 36 | public uint Fetch(String url, String filename) 37 | { 38 | uint sz; 39 | 40 | try 41 | { 42 | checkPath(filename); 43 | HttpClient client = new HttpClient(); 44 | int result = client.FgetFile(url, filename); 45 | if (result != 0) 46 | { 47 | _ErrorMsg = "Transfer failed - " + result.ToString(); 48 | return 0; 49 | } 50 | } 51 | catch (Exception e) 52 | { 53 | _ErrorMsg = e.Message; 54 | return 0; 55 | } 56 | 57 | _ErrorMsg = "No Error"; 58 | 59 | FileInfo fi = new FileInfo(filename); 60 | sz = (uint)fi.Length; 61 | 62 | fi = null; 63 | 64 | return sz; 65 | } 66 | } 67 | } -------------------------------------------------------------------------------- /SimplSharpNetUtils/HTTPRequest.cs: -------------------------------------------------------------------------------- 1 | /* HTTPRequest.cs 2 | * 3 | * Handle a simple HTTPRequest. This is a bridge between SimplSharp and Simpl+ 4 | * 5 | * Note that a username/password can be supplied. 6 | * 7 | */ 8 | 9 | using System; 10 | using System.Collections.Generic; 11 | using System.Linq; 12 | using System.Text; 13 | using Crestron.SimplSharp; 14 | using Crestron.SimplSharp.Net; 15 | using Crestron.SimplSharp.Net.Http; 16 | 17 | namespace SimplSharpNetUtils 18 | { 19 | public class HTTPRequest 20 | { 21 | public String URL; 22 | public int Port = 80; 23 | public String User = ""; 24 | public String Password = ""; 25 | 26 | public delegate void errorHandler(SimplSharpString errMsg); 27 | public errorHandler OnError { get; set; } 28 | 29 | public delegate void responseHandler(SimplSharpString errMsg); 30 | public responseHandler OnResponse { get; set; } 31 | 32 | public int DoIt() 33 | { 34 | HttpClient client = new HttpClient(); 35 | HttpClientRequest req = new HttpClientRequest(); 36 | HttpClientResponse resp; 37 | 38 | try 39 | { 40 | client.KeepAlive = false; 41 | client.Port = Port; 42 | if (User.Length > 0) 43 | { 44 | client.UserName = User; 45 | client.Password = Password; 46 | } 47 | else 48 | { 49 | client.UserName = ""; 50 | client.Password = ""; 51 | } 52 | req.Url.Parse(URL); 53 | resp = client.Dispatch(req); 54 | 55 | if (OnResponse != null) 56 | OnResponse(new SimplSharpString(resp.ContentString)); 57 | } 58 | catch (Exception e) 59 | { 60 | if (OnError != null) 61 | OnError(new SimplSharpString(e.ToString() + "\n\r" + e.StackTrace)); 62 | 63 | return -1; 64 | } 65 | 66 | 67 | return 0; 68 | } 69 | } 70 | } -------------------------------------------------------------------------------- /SimplSharpNetUtils/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | 3 | [assembly: AssemblyTitle("SimplSharpNetUtils")] 4 | [assembly: AssemblyCompany("")] 5 | [assembly: AssemblyProduct("SimplSharpNetUtils")] 6 | [assembly: AssemblyCopyright("Copyright © 2014")] 7 | [assembly: AssemblyVersion("1.0.0.*")] 8 | 9 | -------------------------------------------------------------------------------- /SimplSharpNetUtils/Properties/ControlSystem.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevinCook/SimplSharpNetUtils/219e87b9e6cd030c905c22c94d457e8a379d4b51/SimplSharpNetUtils/Properties/ControlSystem.cfg -------------------------------------------------------------------------------- /SimplSharpNetUtils/SimplPlus/SimplPlusNetUtils HTTPClient.ush: -------------------------------------------------------------------------------- 1 | [BEGIN] 2 | Version=1 3 | [END] 4 | [BEGIN] 5 | ObjTp=FSgntr 6 | Sgntr=UserSPlus 7 | RelVrs=1 8 | IntStrVrs=1 9 | SPlusVrs=4.02.26 10 | CrossCplrVrs=1.3 11 | [END] 12 | [BEGIN] 13 | ObjTp=Hd 14 | [END] 15 | [BEGIN] 16 | ObjTp=Symbol 17 | Exclusions=1,19,20,21,88,89,167,168,179,213,214,215,216,217,225,226,248,249,266,267,310,362,378,380,405,407,408,409,478,522,537,554,586,590,611,624,718,756,767,830,841,842,854,883,955,1032,1062,1079,1128,1129,1134,1140,1157,1158,1195,1199,1220,1221,1222,1223,1299,1348,1349,1439,1472,1473,1499,1746,1803,1975,2229,2354,2514,2523,2532,2706,2707,3235,3236,3427,3454,3567,3568,3601,3602,3708,3902,3903,3912,3918,3925,3926,4206,4207, 18 | Exclusions_CDS=5 19 | Inclusions_CDS=6 20 | Name=SimplPlusNetUtils HTTPClient 21 | SmplCName=SimplPlusNetUtils HTTPClient.usp 22 | Code=1 23 | SysRev5=4.000 24 | SMWRev=3.00.00 25 | InputCue1=[~UNUSED~] 26 | InputSigType1=Digital 27 | InputCue2=[~UNUSED~] 28 | InputSigType2=Digital 29 | InputCue3=[~UNUSED~] 30 | InputSigType3=Digital 31 | InputCue4=[~UNUSED~] 32 | InputSigType4=Digital 33 | OutputCue1=[~UNUSED~] 34 | OutputSigType1=Digital 35 | OutputCue2=[~UNUSED~] 36 | OutputSigType2=Digital 37 | OutputCue3=[~UNUSED~] 38 | OutputSigType3=Digital 39 | OutputCue4=[~UNUSED~] 40 | OutputSigType4=Digital 41 | OutputCue5=ERR 42 | OutputSigType5=Digital 43 | InputList2Cue1=URL$ 44 | InputList2SigType1=Serial 45 | OutputList2Cue1=ERR_MSG$ 46 | OutputList2SigType1=Serial 47 | OutputList2Cue2=RX$ 48 | OutputList2SigType2=Serial 49 | ParamCue1=[Reference Name] 50 | ParamCue2=Port 51 | ParamSigType2=Constant 52 | ParamCue3=Address 53 | ParamSigType3=String 54 | ParamCue4=Username 55 | ParamSigType4=String 56 | ParamCue5=Password 57 | ParamSigType5=String 58 | MinVariableInputs=4 59 | MaxVariableInputs=4 60 | MinVariableInputsList2=1 61 | MaxVariableInputsList2=1 62 | MinVariableOutputs=5 63 | MaxVariableOutputs=5 64 | MinVariableOutputsList2=2 65 | MaxVariableOutputsList2=2 66 | MinVariableParams=4 67 | MaxVariableParams=4 68 | Expand=expand_separately 69 | Expand2=expand_separately 70 | ProgramTree=Logic 71 | SymbolTree=32 72 | Hint= 73 | PdfHelp= 74 | HelpID= 75 | Render=4 76 | Smpl-C=16 77 | CompilerCode=-48 78 | CompilerParamCode=27 79 | CompilerParamCode5=14 80 | NumFixedParams=1 81 | Pp1=1 82 | Pp2=2 83 | Pp3=3 84 | Pp4=4 85 | Pp5=5 86 | MPp=5 87 | NVStorage=10 88 | ParamSigType1=String 89 | SmplCInputCue1=o# 90 | SmplCOutputCue1=i# 91 | SmplCInputList2Cue1=an# 92 | SmplCOutputList2Cue1=ai# 93 | SPlus2CompiledName=S2_SimplPlusNetUtils_HTTPClient 94 | SymJam=NonExclusive 95 | FileName=SimplPlusNetUtils HTTPClient.ush 96 | SIMPLPlusModuleEncoding=0 97 | clz1=SIMPLSharpNetUtils 98 | [END] 99 | [BEGIN] 100 | ObjTp=Dp 101 | H=1 102 | Tp=1 103 | NoS=False 104 | [END] 105 | [BEGIN] 106 | ObjTp=Dp 107 | H=2 108 | Tp=1 109 | HD=False 110 | Sgn=0 111 | Lng=False 112 | NF=63 113 | NoS=True 114 | DNF=1 115 | VVS=0 116 | [END] 117 | [BEGIN] 118 | ObjTp=Dp 119 | H=3 120 | Tp=1 121 | HD=False 122 | NoS=False 123 | VVS=0 124 | [END] 125 | [BEGIN] 126 | ObjTp=Dp 127 | H=4 128 | Tp=1 129 | HD=False 130 | NoS=False 131 | VVS=0 132 | [END] 133 | [BEGIN] 134 | ObjTp=Dp 135 | H=5 136 | Tp=1 137 | HD=False 138 | NoS=False 139 | VVS=0 140 | [END] 141 | -------------------------------------------------------------------------------- /SimplSharpNetUtils/SimplPlus/SimplPlusNetUtils HTTPClient.usp: -------------------------------------------------------------------------------- 1 | /******************************************************************************************* 2 | SIMPL+ Module Information 3 | *******************************************************************************************/ 4 | /* 5 | Dealer Name: 6 | System Name: 7 | System Number: 8 | Programmer: 9 | Comments: 10 | */ 11 | 12 | /******************************************************************************************* 13 | Compiler Directives 14 | *******************************************************************************************/ 15 | #DEFAULT_VOLATILE 16 | #ENABLE_STACK_CHECKING 17 | #ENABLE_TRACE 18 | 19 | INTEGER_PARAMETER Port; 20 | 21 | DIGITAL_INPUT _SKIP_; DIGITAL_OUTPUT _SKIP_; 22 | DIGITAL_INPUT _SKIP_; DIGITAL_OUTPUT _SKIP_; 23 | DIGITAL_INPUT _SKIP_; DIGITAL_OUTPUT _SKIP_; 24 | DIGITAL_INPUT _SKIP_; DIGITAL_OUTPUT _SKIP_; 25 | 26 | 27 | STRING_PARAMETER Address[64]; 28 | STRING_PARAMETER Username[16]; 29 | STRING_PARAMETER Password[16]; 30 | 31 | STRING_INPUT URL$[1024]; 32 | STRING_OUTPUT ERR_MSG$; 33 | STRING_OUTPUT RX$; 34 | DIGITAL_OUTPUT ERR; 35 | 36 | #USER_SIMPLSHARP_LIBRARY "SIMPLSharpNetUtils" 37 | 38 | STRING Address_Cache[64]; 39 | 40 | 41 | HTTPRequest Client; 42 | 43 | Callback Function MyOnReceive(String s) 44 | { 45 | TRACE("On Rx$"); 46 | RX$ = s; 47 | } 48 | 49 | Callback Function MyOnError(String s) 50 | { 51 | Err_msg$ = s; 52 | pulse(10,Err); 53 | } 54 | 55 | Change URL$ 56 | { 57 | Client.Password = Password; 58 | Client.User = Username; 59 | Client.Port = Port; 60 | Client.URL = "http://"+Address+":"+itoa(Port)+"/"+URL$; 61 | Client.DoIt(); 62 | } 63 | 64 | Function Init() 65 | { 66 | RegisterDelegate(Client,OnResponse,MyOnReceive); 67 | RegisterDelegate(Client,OnError,MyOnError); 68 | } 69 | 70 | Function Main() 71 | { 72 | WaitForInitializationComplete(); 73 | Init(); 74 | } 75 | -------------------------------------------------------------------------------- /SimplSharpNetUtils/SimplPlus/SimplPlusNetUtils HttpFileGetter.ush: -------------------------------------------------------------------------------- 1 | [BEGIN] 2 | Version=1 3 | [END] 4 | [BEGIN] 5 | ObjTp=FSgntr 6 | Sgntr=UserSPlus 7 | RelVrs=1 8 | IntStrVrs=1 9 | SPlusVrs=4.02.26 10 | CrossCplrVrs=1.3 11 | [END] 12 | [BEGIN] 13 | ObjTp=Hd 14 | [END] 15 | [BEGIN] 16 | ObjTp=Symbol 17 | Exclusions=1,19,20,21,88,89,167,168,179,213,214,215,216,217,225,226,248,249,266,267,310,362,378,380,405,407,408,409,478,522,537,554,586,590,611,624,718,756,767,830,841,842,854,883,955,1032,1062,1079,1128,1129,1134,1140,1157,1158,1195,1199,1220,1221,1222,1223,1299,1348,1349,1439,1472,1473,1499,1746,1803,1975,2229,2354,2514,2523,2532,2706,2707,3235,3236,3427,3454,3567,3568,3601,3602,3708,3902,3903,3912,3918,3925,3926,4206,4207, 18 | Exclusions_CDS=5 19 | Inclusions_CDS=6 20 | Name=SimplPlusNetUtils HttpFileGetter 21 | SmplCName=SimplPlusNetUtils HttpFileGetter.usp 22 | Code=1 23 | SysRev5=4.000 24 | SMWRev=3.00.00 25 | InputCue1=[~UNUSED~] 26 | InputSigType1=Digital 27 | InputCue2=[~UNUSED~] 28 | InputSigType2=Digital 29 | InputCue3=[~UNUSED~] 30 | InputSigType3=Digital 31 | OutputCue1=[~UNUSED~] 32 | OutputSigType1=Digital 33 | OutputCue2=[~UNUSED~] 34 | OutputSigType2=Digital 35 | OutputCue3=[~UNUSED~] 36 | OutputSigType3=Digital 37 | OutputCue4=READY 38 | OutputSigType4=Digital 39 | InputList2Cue1=GRAB_FILE 40 | InputList2SigType1=Serial 41 | InputList2Cue2=SERVER_OVERRIDE 42 | InputList2SigType2=Serial 43 | OutputList2Cue1=FileLen 44 | OutputList2SigType1=Analog 45 | ParamCue1=[Reference Name] 46 | ParamCue2=HTTP_IP 47 | ParamSigType2=String 48 | ParamCue3=HTTP_PORT 49 | ParamSigType3=Constant 50 | ParamCue4=CACHE_FILE$ 51 | ParamSigType4=String 52 | MinVariableInputs=3 53 | MaxVariableInputs=3 54 | MinVariableInputsList2=2 55 | MaxVariableInputsList2=2 56 | MinVariableOutputs=4 57 | MaxVariableOutputs=4 58 | MinVariableOutputsList2=1 59 | MaxVariableOutputsList2=1 60 | MinVariableParams=3 61 | MaxVariableParams=3 62 | Expand=expand_separately 63 | Expand2=expand_separately 64 | ProgramTree=Logic 65 | SymbolTree=32 66 | Hint= 67 | PdfHelp= 68 | HelpID= 69 | Render=4 70 | Smpl-C=16 71 | CompilerCode=-48 72 | CompilerParamCode=27 73 | CompilerParamCode5=14 74 | NumFixedParams=1 75 | Pp1=1 76 | Pp2=2 77 | Pp3=3 78 | Pp4=4 79 | MPp=4 80 | NVStorage=10 81 | ParamSigType1=String 82 | SmplCInputCue1=o# 83 | SmplCOutputCue1=i# 84 | SmplCInputList2Cue1=an# 85 | SmplCOutputList2Cue1=ai# 86 | SPlus2CompiledName=S2_SimplPlusNetUtils_HttpFileGetter 87 | SymJam=NonExclusive 88 | FileName=SimplPlusNetUtils HttpFileGetter.ush 89 | SIMPLPlusModuleEncoding=0 90 | clz1=SIMPLSharpNetUtils 91 | [END] 92 | [BEGIN] 93 | ObjTp=Dp 94 | H=1 95 | Tp=1 96 | NoS=False 97 | [END] 98 | [BEGIN] 99 | ObjTp=Dp 100 | H=2 101 | Tp=1 102 | HD=True 103 | DV=0.0.0.0 104 | NoS=False 105 | VVS=0 106 | [END] 107 | [BEGIN] 108 | ObjTp=Dp 109 | H=3 110 | Tp=1 111 | HD=True 112 | DV=8080d 113 | Sgn=0 114 | Lng=False 115 | NF=63 116 | NoS=True 117 | DNF=1 118 | VVS=0 119 | [END] 120 | [BEGIN] 121 | ObjTp=Dp 122 | H=4 123 | Tp=1 124 | HD=True 125 | DV=\\NVRAM\\temp.txt 126 | NoS=False 127 | VVS=0 128 | [END] 129 | -------------------------------------------------------------------------------- /SimplSharpNetUtils/SimplPlus/SimplPlusNetUtils HttpFileGetter.usp: -------------------------------------------------------------------------------- 1 | /******************************************************************************************* 2 | SIMPL+ Module Information 3 | *******************************************************************************************/ 4 | /* 5 | Dealer Name: 6 | System Name: 7 | System Number: 8 | Programmer: 9 | Comments: 10 | */ 11 | 12 | /******************************************************************************************* 13 | Compiler Directives 14 | *******************************************************************************************/ 15 | #DEFAULT_VOLATILE 16 | #ENABLE_STACK_CHECKING 17 | #ENABLE_TRACE 18 | 19 | #USER_SIMPLSHARP_LIBRARY "SIMPLSharpNetUtils" 20 | 21 | STRING_PARAMETER HTTP_IP[16]; 22 | INTEGER_PARAMETER HTTP_PORT; 23 | STRING_PARAMETER CACHE_FILE$[64]; 24 | 25 | #BEGIN_PARAMETER_PROPERTIES HTTP_IP 26 | propDefaultValue = "0.0.0.0"; 27 | #END_PARAMETER_PROPERTIES 28 | 29 | #BEGIN_PARAMETER_PROPERTIES HTTP_PORT 30 | propDefaultValue = 8080d; 31 | #END_PARAMETER_PROPERTIES 32 | 33 | #BEGIN_PARAMETER_PROPERTIES CACHE_FILE$ 34 | propDefaultValue = "\\NVRAM\\temp.txt"; 35 | #END_PARAMETER_PROPERTIES 36 | 37 | DIGITAL_INPUT _SKIP_; DIGITAL_OUTPUT _SKIP_; 38 | DIGITAL_INPUT _SKIP_; DIGITAL_OUTPUT _SKIP_; 39 | DIGITAL_INPUT _SKIP_; DIGITAL_OUTPUT _SKIP_; 40 | 41 | 42 | STRING_INPUT GRAB_FILE[256]; 43 | STRING_INPUT SERVER_OVERRIDE[16]; 44 | DIGITAL_OUTPUT READY; 45 | ANALOG_OUTPUT FileLen; 46 | 47 | String ServerIP$[32]; 48 | 49 | CHANGE GRAB_FILE 50 | { 51 | Long_Integer sz; 52 | String URL[64]; 53 | HttpGetter Getter; 54 | 55 | READY = 0; 56 | 57 | URL = ServerIP$+":"+itoa(HTTP_PORT)+"/"+GRAB_FILE; 58 | 59 | sz = Getter.Fetch(URL,CACHE_FILE$); 60 | 61 | if (sz>0) 62 | { 63 | FileLen = sz; 64 | READY = 1; 65 | } 66 | else 67 | { 68 | FileLen = 0; 69 | TRACE("%s",Getter.ErrorMsg); 70 | } 71 | } 72 | 73 | CHANGE SERVER_OVERRIDE 74 | { 75 | ServerIP$ = SERVER_OVERRIDE; 76 | } 77 | 78 | Function Main() 79 | { 80 | ServerIP$ = HTTP_IP; 81 | } 82 | -------------------------------------------------------------------------------- /SimplSharpNetUtils/SimplPlus/SimplPlusNetUtils TCPClient.ush: -------------------------------------------------------------------------------- 1 | [BEGIN] 2 | Version=1 3 | [END] 4 | [BEGIN] 5 | ObjTp=FSgntr 6 | Sgntr=UserSPlus 7 | RelVrs=1 8 | IntStrVrs=1 9 | SPlusVrs=4.02.26 10 | CrossCplrVrs=1.3 11 | [END] 12 | [BEGIN] 13 | ObjTp=Hd 14 | [END] 15 | [BEGIN] 16 | ObjTp=Symbol 17 | Exclusions=1,19,20,21,88,89,167,168,179,213,214,215,216,217,225,226,248,249,266,267,310,362,378,380,405,407,408,409,478,522,537,554,586,590,611,624,718,756,767,830,841,842,854,883,955,1032,1062,1079,1128,1129,1134,1140,1157,1158,1195,1199,1220,1221,1222,1223,1299,1348,1349,1439,1472,1473,1499,1746,1803,1975,2229,2354,2514,2523,2532,2706,2707,3235,3236,3427,3454,3567,3568,3601,3602,3708,3902,3903,3912,3918,3925,3926,4206,4207, 18 | Exclusions_CDS=5 19 | Inclusions_CDS=6 20 | Name=SimplPlusNetUtils TCPClient 21 | SmplCName=SimplPlusNetUtils TCPClient.usp 22 | Code=1 23 | SysRev5=4.000 24 | SMWRev=3.00.00 25 | InputCue1=[~UNUSED~] 26 | InputSigType1=Digital 27 | InputCue2=[~UNUSED~] 28 | InputSigType2=Digital 29 | InputCue3=[~UNUSED~] 30 | InputSigType3=Digital 31 | InputCue4=DEBUG 32 | InputSigType4=Digital 33 | InputCue5=[~UNUSED~] 34 | InputSigType5=Digital 35 | InputCue6=Connect 36 | InputSigType6=Digital 37 | InputCue7=FilterVTs 38 | InputSigType7=Digital 39 | InputCue8=[~UNUSED~] 40 | InputSigType8=Digital 41 | OutputCue1=[~UNUSED~] 42 | OutputSigType1=Digital 43 | OutputCue2=[~UNUSED~] 44 | OutputSigType2=Digital 45 | OutputCue3=[~UNUSED~] 46 | OutputSigType3=Digital 47 | OutputCue4=[~UNUSED~] 48 | OutputSigType4=Digital 49 | OutputCue5=[~UNUSED~] 50 | OutputSigType5=Digital 51 | OutputCue6=Connected 52 | OutputSigType6=Digital 53 | OutputCue7=[~UNUSED~] 54 | OutputSigType7=Digital 55 | OutputCue8=[~UNUSED~] 56 | OutputSigType8=Digital 57 | InputList2Cue1=Address 58 | InputList2SigType1=Serial 59 | InputList2Cue2=[~UNUSED~] 60 | InputList2SigType2=Serial 61 | InputList2Cue3=TX$ 62 | InputList2SigType3=Serial 63 | OutputList2Cue1=[~UNUSED~] 64 | OutputList2SigType1=Serial 65 | OutputList2Cue2=[~UNUSED~] 66 | OutputList2SigType2=Serial 67 | OutputList2Cue3=RX$ 68 | OutputList2SigType3=Serial 69 | ParamCue1=[Reference Name] 70 | ParamCue2=Port 71 | ParamSigType2=Constant 72 | ParamCue3=RX_Buffer_Sz 73 | ParamSigType3=Constant 74 | MinVariableInputs=8 75 | MaxVariableInputs=8 76 | MinVariableInputsList2=3 77 | MaxVariableInputsList2=3 78 | MinVariableOutputs=8 79 | MaxVariableOutputs=8 80 | MinVariableOutputsList2=3 81 | MaxVariableOutputsList2=3 82 | MinVariableParams=2 83 | MaxVariableParams=2 84 | Expand=expand_separately 85 | Expand2=expand_separately 86 | ProgramTree=Logic 87 | SymbolTree=32 88 | Hint= 89 | PdfHelp= 90 | HelpID= 91 | Render=4 92 | Smpl-C=16 93 | CompilerCode=-48 94 | CompilerParamCode=27 95 | CompilerParamCode5=14 96 | NumFixedParams=1 97 | Pp1=1 98 | Pp2=2 99 | Pp3=3 100 | MPp=3 101 | NVStorage=10 102 | ParamSigType1=String 103 | SmplCInputCue1=o# 104 | SmplCOutputCue1=i# 105 | SmplCInputList2Cue1=an# 106 | SmplCOutputList2Cue1=ai# 107 | SPlus2CompiledName=S2_SimplPlusNetUtils_TCPClient 108 | SymJam=NonExclusive 109 | FileName=SimplPlusNetUtils TCPClient.ush 110 | SIMPLPlusModuleEncoding=0 111 | clz1=SIMPLSharpNetUtils 112 | [END] 113 | [BEGIN] 114 | ObjTp=Dp 115 | H=1 116 | Tp=1 117 | NoS=False 118 | [END] 119 | [BEGIN] 120 | ObjTp=Dp 121 | H=2 122 | Tp=1 123 | HD=True 124 | DV=24d 125 | Sgn=0 126 | Lng=False 127 | NF=1 128 | NoS=True 129 | DNF=1 130 | VVS=1 131 | LR=1d 132 | HR=65535d 133 | [END] 134 | [BEGIN] 135 | ObjTp=Dp 136 | H=3 137 | Tp=1 138 | HD=True 139 | DV=200d 140 | Sgn=0 141 | Lng=False 142 | NF=1 143 | NoS=True 144 | DNF=1 145 | VVS=1 146 | LR=16d 147 | HR=1024d 148 | [END] 149 | -------------------------------------------------------------------------------- /SimplSharpNetUtils/SimplPlus/SimplPlusNetUtils TCPClient.usp: -------------------------------------------------------------------------------- 1 | /******************************************************************************************* 2 | SIMPL+ Module Information 3 | *******************************************************************************************/ 4 | /* 5 | Dealer Name: 6 | System Name: 7 | System Number: 8 | Programmer: 9 | Comments: 10 | */ 11 | 12 | /******************************************************************************************* 13 | Compiler Directives 14 | *******************************************************************************************/ 15 | #DEFAULT_VOLATILE 16 | #ENABLE_STACK_CHECKING 17 | #ENABLE_TRACE 18 | 19 | INTEGER_PARAMETER Port; 20 | INTEGER_PARAMETER RX_Buffer_Sz; 21 | 22 | 23 | DIGITAL_INPUT _SKIP_; DIGITAL_OUTPUT _SKIP_; 24 | DIGITAL_INPUT _SKIP_; DIGITAL_OUTPUT _SKIP_; 25 | DIGITAL_INPUT _SKIP_; DIGITAL_OUTPUT _SKIP_; 26 | DIGITAL_INPUT DEBUG; DIGITAL_OUTPUT _SKIP_; 27 | DIGITAL_INPUT _SKIP_; DIGITAL_OUTPUT _SKIP_; 28 | 29 | DIGITAL_INPUT Connect; DIGITAL_OUTPUT Connected; 30 | DIGITAL_INPUT FilterVTs; DIGITAL_OUTPUT _SKIP_; 31 | 32 | DIGITAL_INPUT _SKIP_; DIGITAL_OUTPUT _SKIP_; 33 | 34 | STRING_INPUT Address[64]; STRING_OUTPUT _SKIP_; 35 | STRING_INPUT _SKIP_; STRING_OUTPUT _SKIP_; 36 | STRING_INPUT TX$[1024]; STRING_OUTPUT RX$; 37 | 38 | 39 | #USER_SIMPLSHARP_LIBRARY "SIMPLSharpNetUtils" 40 | 41 | 42 | #BEGIN_PARAMETER_PROPERTIES Port 43 | propValidUnits=unitDecimal; 44 | propBounds=1d,65535d; 45 | propDefaultValue=24d; 46 | #END_PARAMETER_PROPERTIES 47 | 48 | #BEGIN_PARAMETER_PROPERTIES RX_BUFFER_SZ 49 | propValidUnits=unitDecimal; 50 | propBounds=16d,1024d; 51 | propDefaultValue=200d; 52 | #END_PARAMETER_PROPERTIES 53 | 54 | 55 | STRING Address_Cache[64]; 56 | 57 | TCPSocket Client; 58 | 59 | Change Address 60 | { 61 | Address_Cache = Address; 62 | } 63 | 64 | PUSH Connect 65 | { 66 | Client.Connect(Address_Cache,Port,RX_BUFFER_SZ); 67 | } 68 | 69 | Release Connect 70 | { 71 | Client.Disconnect(); 72 | } 73 | 74 | Callback Function MyOnConnect() 75 | { 76 | Connected = 1; 77 | TRACE("On Connect\n"); 78 | } 79 | 80 | Callback Function MyOnDisconnect() 81 | { 82 | Connected = 0; 83 | TRACE("On Disconnect\n"); 84 | } 85 | 86 | Callback Function MyOnReceive(String s) 87 | { 88 | RX$ = s; 89 | } 90 | 91 | Change TX$ 92 | { 93 | Client.Send(TX$); 94 | } 95 | 96 | Change FilterVTs 97 | { 98 | Client.FilterVtCmds = FilterVTs; 99 | } 100 | 101 | Change DEBUG 102 | { 103 | // Client.Debug = DEBUG; 104 | } 105 | 106 | Function Init() 107 | { 108 | RegisterDelegate(Client,OnConnect,MyOnConnect); 109 | RegisterDelegate(Client,OnDisconnect,MyOnDisconnect); 110 | RegisterDelegate(Client,OnRx,MyOnReceive); 111 | } 112 | 113 | Function Main() 114 | { 115 | WaitForInitializationComplete(); 116 | Init(); 117 | } 118 | 119 | 120 | 121 | -------------------------------------------------------------------------------- /SimplSharpNetUtils/SimplPlus/SimplPlusNetUtilsTest.lpz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevinCook/SimplSharpNetUtils/219e87b9e6cd030c905c22c94d457e8a379d4b51/SimplSharpNetUtils/SimplPlus/SimplPlusNetUtilsTest.lpz -------------------------------------------------------------------------------- /SimplSharpNetUtils/SimplPlus/SimplPlusNetUtilsTest.smw: -------------------------------------------------------------------------------- 1 | [ 2 | Version=1 3 | ] 4 | [ 5 | ObjTp=FSgntr 6 | Sgntr=SimplWindow 7 | RelVrs=4.02.50 8 | IntStrVrs=2 9 | MinSMWVrs=3.00.00 10 | MinTIOVrs=206 11 | SavedBy=SMW4.02.38 12 | ] 13 | [ 14 | ObjTp=Hd 15 | CnC=1766 16 | CnH=2 17 | S0Nd=1 18 | S1Nd=2 19 | SLNd=3 20 | PrNm=SimplPlusNetUtilsTest.smw 21 | DbVr=46.05.002.00 22 | DvcDbVr=58.02.001.00 23 | CltNm=SimplNetUtilsTest 24 | SmVr=899 25 | DvVr=899 26 | TpN1=1 27 | TpN2=2 28 | TpN3=3 29 | TpN4=4 30 | TpN5=5 31 | APg=1 32 | FltTmp=1 33 | FpCS=0 34 | EnType=0 35 | ZeroOnIoOk=0 36 | PIT=NetUtilsTest 37 | SGMethod=1 38 | ] 39 | [ 40 | ObjTp=Dv 41 | Nm=MC3. 42 | H=2 43 | PrH=1 44 | DvC=1766 45 | ObjVer=3 46 | Ad=00 47 | RelStat=Release 48 | ProdLine=3-Series 49 | DbH=1 50 | mC=13 51 | C1=3 52 | C2=259 53 | C3=515 54 | C4=625 55 | C5=631 56 | C6=637 57 | C7=643 58 | C8=650 59 | C9=684 60 | C10=688 61 | C11=689 62 | C12=698 63 | C13=699 64 | ] 65 | [ 66 | ObjTp=Dv 67 | Nm=Fixed 68 | H=3 69 | PrH=2 70 | ObjVer=1 71 | SlC=2 72 | DvF=Sl 73 | Ad=01 74 | mC=1 75 | C1=4 76 | ] 77 | [ 78 | ObjTp=Dv 79 | Nm=C2I-MC3CNET-1 80 | H=4 81 | PrH=3 82 | DvC=1752 83 | ObjVer=1 84 | SlC=2 85 | Ad=01 86 | SmH=6 87 | RelStat=Release 88 | mC=254 89 | C1=5 90 | C2=6 91 | C3=7 92 | C4=8 93 | C5=9 94 | C6=10 95 | C7=11 96 | C8=12 97 | C9=13 98 | C10=14 99 | C11=15 100 | C12=16 101 | C13=17 102 | C14=18 103 | C15=19 104 | C16=20 105 | C17=21 106 | C18=22 107 | C19=23 108 | C20=24 109 | C21=25 110 | C22=26 111 | C23=27 112 | C24=28 113 | C25=29 114 | C26=30 115 | C27=31 116 | C28=32 117 | C29=33 118 | C30=34 119 | C31=35 120 | C32=36 121 | C33=37 122 | C34=38 123 | C35=39 124 | C36=40 125 | C37=41 126 | C38=42 127 | C39=43 128 | C40=44 129 | C41=45 130 | C42=46 131 | C43=47 132 | C44=48 133 | C45=49 134 | C46=50 135 | C47=51 136 | C48=52 137 | C49=53 138 | C50=54 139 | C51=55 140 | C52=56 141 | C53=57 142 | C54=58 143 | C55=59 144 | C56=60 145 | C57=61 146 | C58=62 147 | C59=63 148 | C60=64 149 | C61=65 150 | C62=66 151 | C63=67 152 | C64=68 153 | C65=69 154 | C66=70 155 | C67=71 156 | C68=72 157 | C69=73 158 | C70=74 159 | C71=75 160 | C72=76 161 | C73=77 162 | C74=78 163 | C75=79 164 | C76=80 165 | C77=81 166 | C78=82 167 | C79=83 168 | C80=84 169 | C81=85 170 | C82=86 171 | C83=87 172 | C84=88 173 | C85=89 174 | C86=90 175 | C87=91 176 | C88=92 177 | C89=93 178 | C90=94 179 | C91=95 180 | C92=96 181 | C93=97 182 | C94=98 183 | C95=99 184 | C96=100 185 | C97=101 186 | C98=102 187 | C99=103 188 | C100=104 189 | C101=105 190 | C102=106 191 | C103=107 192 | C104=108 193 | C105=109 194 | C106=110 195 | C107=111 196 | C108=112 197 | C109=113 198 | C110=114 199 | C111=115 200 | C112=116 201 | C113=117 202 | C114=118 203 | C115=119 204 | C116=120 205 | C117=121 206 | C118=122 207 | C119=123 208 | C120=124 209 | C121=125 210 | C122=126 211 | C123=127 212 | C124=128 213 | C125=129 214 | C126=130 215 | C127=131 216 | C128=132 217 | C129=133 218 | C130=134 219 | C131=135 220 | C132=136 221 | C133=137 222 | C134=138 223 | C135=139 224 | C136=140 225 | C137=141 226 | C138=142 227 | C139=143 228 | C140=144 229 | C141=145 230 | C142=146 231 | C143=147 232 | C144=148 233 | C145=149 234 | C146=150 235 | C147=151 236 | C148=152 237 | C149=153 238 | C150=154 239 | C151=155 240 | C152=156 241 | C153=157 242 | C154=158 243 | C155=159 244 | C156=160 245 | C157=161 246 | C158=162 247 | C159=163 248 | C160=164 249 | C161=165 250 | C162=166 251 | C163=167 252 | C164=168 253 | C165=169 254 | C166=170 255 | C167=171 256 | C168=172 257 | C169=173 258 | C170=174 259 | C171=175 260 | C172=176 261 | C173=177 262 | C174=178 263 | C175=179 264 | C176=180 265 | C177=181 266 | C178=182 267 | C179=183 268 | C180=184 269 | C181=185 270 | C182=186 271 | C183=187 272 | C184=188 273 | C185=189 274 | C186=190 275 | C187=191 276 | C188=192 277 | C189=193 278 | C190=194 279 | C191=195 280 | C192=196 281 | C193=197 282 | C194=198 283 | C195=199 284 | C196=200 285 | C197=201 286 | C198=202 287 | C199=203 288 | C200=204 289 | C201=205 290 | C202=206 291 | C203=207 292 | C204=208 293 | C205=209 294 | C206=210 295 | C207=211 296 | C208=212 297 | C209=213 298 | C210=214 299 | C211=215 300 | C212=216 301 | C213=217 302 | C214=218 303 | C215=219 304 | C216=220 305 | C217=221 306 | C218=222 307 | C219=223 308 | C220=224 309 | C221=225 310 | C222=226 311 | C223=227 312 | C224=228 313 | C225=229 314 | C226=230 315 | C227=231 316 | C228=232 317 | C229=233 318 | C230=234 319 | C231=235 320 | C232=236 321 | C233=237 322 | C234=238 323 | C235=239 324 | C236=240 325 | C237=241 326 | C238=242 327 | C239=243 328 | C240=244 329 | C241=245 330 | C242=246 331 | C243=247 332 | C244=248 333 | C245=249 334 | C246=250 335 | C247=251 336 | C248=252 337 | C249=253 338 | C250=254 339 | C251=255 340 | C252=256 341 | C253=257 342 | C254=258 343 | ] 344 | [ 345 | ObjTp=Dv 346 | Nm=PowerSlot 347 | H=5 348 | PrH=4 349 | ObjVer=1 350 | SlC=30 351 | DvF=Sl 352 | SlF=Ex 353 | Ad=None 354 | ] 355 | [ 356 | ObjTp=Dv 357 | Nm=Not_Used 358 | H=6 359 | PrH=4 360 | ObjVer=1 361 | SlC=17 362 | DvF=Sl 363 | Ad=02 364 | ] 365 | [ 366 | ObjTp=Dv 367 | Nm=P3Cresnet 368 | H=7.258 369 | PrH=4 370 | ObjVer=1 371 | SlC=228 372 | DvF=Sl 373 | Ad=03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F,30,31,32,33,34,35,36,37,38,39,3A,3B,3C,3D,3E,3F,40,41,42,43,44,45,46,47,48,49,4A,4B,4C,4D,4E,4F,50,51,52,53,54,55,56,57,58,59,5A,5B,5C,5D,5E,5F,60,61,62,63,64,65,66,67,68,69,6A,6B,6C,6D,6E,6F,70,71,72,73,74,75,76,77,78,79,7A,7B,7C,7D,7E,7F,80,81,82,83,84,85,86,87,88,89,8A,8B,8C,8D,8E,8F,90,91,92,93,94,95,96,97,98,99,9A,9B,9C,9D,9E,9F,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,BA,BB,BC,BD,BE,BF,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CC,CD,CE,CF,D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,DA,DB,DC,DD,DE,DF,E0,E1,E2,E3,E4,E5,E6,E7,E8,E9,EA,EB,EC,ED,EE,EF,F0,F1,F2,F3,F4,F5,F6,F7,F8,F9,FA,FB,FC,FD,FE 374 | ] 375 | [ 376 | ObjTp=Dv 377 | Nm=Fixed 378 | H=259 379 | PrH=2 380 | ObjVer=1 381 | SlC=2 382 | DvF=Sl 383 | Ad=02 384 | mC=1 385 | C1=260 386 | ] 387 | [ 388 | ObjTp=Dv 389 | Nm=C2I-MC3ENET-1 390 | H=260 391 | PrH=259 392 | DvC=1753 393 | ObjVer=1 394 | SlC=2 395 | Ad=02 396 | SmH=7 397 | RelStat=Release 398 | mC=254 399 | C1=261 400 | C2=262 401 | C3=263 402 | C4=264 403 | C5=265 404 | C6=266 405 | C7=267 406 | C8=268 407 | C9=269 408 | C10=270 409 | C11=271 410 | C12=272 411 | C13=273 412 | C14=274 413 | C15=275 414 | C16=276 415 | C17=277 416 | C18=278 417 | C19=279 418 | C20=280 419 | C21=281 420 | C22=282 421 | C23=283 422 | C24=284 423 | C25=285 424 | C26=286 425 | C27=287 426 | C28=288 427 | C29=289 428 | C30=290 429 | C31=291 430 | C32=292 431 | C33=293 432 | C34=294 433 | C35=295 434 | C36=296 435 | C37=297 436 | C38=298 437 | C39=299 438 | C40=300 439 | C41=301 440 | C42=302 441 | C43=303 442 | C44=304 443 | C45=305 444 | C46=306 445 | C47=307 446 | C48=308 447 | C49=309 448 | C50=310 449 | C51=311 450 | C52=312 451 | C53=313 452 | C54=314 453 | C55=315 454 | C56=316 455 | C57=317 456 | C58=318 457 | C59=319 458 | C60=320 459 | C61=321 460 | C62=322 461 | C63=323 462 | C64=324 463 | C65=325 464 | C66=326 465 | C67=327 466 | C68=328 467 | C69=329 468 | C70=330 469 | C71=331 470 | C72=332 471 | C73=333 472 | C74=334 473 | C75=335 474 | C76=336 475 | C77=337 476 | C78=338 477 | C79=339 478 | C80=340 479 | C81=341 480 | C82=342 481 | C83=343 482 | C84=344 483 | C85=345 484 | C86=346 485 | C87=347 486 | C88=348 487 | C89=349 488 | C90=350 489 | C91=351 490 | C92=352 491 | C93=353 492 | C94=354 493 | C95=355 494 | C96=356 495 | C97=357 496 | C98=358 497 | C99=359 498 | C100=360 499 | C101=361 500 | C102=362 501 | C103=363 502 | C104=364 503 | C105=365 504 | C106=366 505 | C107=367 506 | C108=368 507 | C109=369 508 | C110=370 509 | C111=371 510 | C112=372 511 | C113=373 512 | C114=374 513 | C115=375 514 | C116=376 515 | C117=377 516 | C118=378 517 | C119=379 518 | C120=380 519 | C121=381 520 | C122=382 521 | C123=383 522 | C124=384 523 | C125=385 524 | C126=386 525 | C127=387 526 | C128=388 527 | C129=389 528 | C130=390 529 | C131=391 530 | C132=392 531 | C133=393 532 | C134=394 533 | C135=395 534 | C136=396 535 | C137=397 536 | C138=398 537 | C139=399 538 | C140=400 539 | C141=401 540 | C142=402 541 | C143=403 542 | C144=404 543 | C145=405 544 | C146=406 545 | C147=407 546 | C148=408 547 | C149=409 548 | C150=410 549 | C151=411 550 | C152=412 551 | C153=413 552 | C154=414 553 | C155=415 554 | C156=416 555 | C157=417 556 | C158=418 557 | C159=419 558 | C160=420 559 | C161=421 560 | C162=422 561 | C163=423 562 | C164=424 563 | C165=425 564 | C166=426 565 | C167=427 566 | C168=428 567 | C169=429 568 | C170=430 569 | C171=431 570 | C172=432 571 | C173=433 572 | C174=434 573 | C175=435 574 | C176=436 575 | C177=437 576 | C178=438 577 | C179=439 578 | C180=440 579 | C181=441 580 | C182=442 581 | C183=443 582 | C184=444 583 | C185=445 584 | C186=446 585 | C187=447 586 | C188=448 587 | C189=449 588 | C190=450 589 | C191=451 590 | C192=452 591 | C193=453 592 | C194=454 593 | C195=455 594 | C196=456 595 | C197=457 596 | C198=458 597 | C199=459 598 | C200=460 599 | C201=461 600 | C202=462 601 | C203=463 602 | C204=464 603 | C205=465 604 | C206=466 605 | C207=467 606 | C208=468 607 | C209=469 608 | C210=470 609 | C211=471 610 | C212=472 611 | C213=473 612 | C214=474 613 | C215=475 614 | C216=476 615 | C217=477 616 | C218=478 617 | C219=479 618 | C220=480 619 | C221=481 620 | C222=482 621 | C223=483 622 | C224=484 623 | C225=485 624 | C226=486 625 | C227=487 626 | C228=488 627 | C229=489 628 | C230=490 629 | C231=491 630 | C232=492 631 | C233=493 632 | C234=494 633 | C235=495 634 | C236=496 635 | C237=497 636 | C238=498 637 | C239=499 638 | C240=500 639 | C241=501 640 | C242=502 641 | C243=503 642 | C244=504 643 | C245=505 644 | C246=506 645 | C247=507 646 | C248=508 647 | C249=509 648 | C250=510 649 | C251=511 650 | C252=512 651 | C253=513 652 | C254=514 653 | ] 654 | [ 655 | ObjTp=Dv 656 | Nm=Not_Used 657 | H=261.262 658 | PrH=260 659 | ObjVer=1 660 | SlC=17 661 | DvF=Sl 662 | Ad=01,02 663 | ] 664 | [ 665 | ObjTp=Dv 666 | Nm=MC3Ethernet 667 | H=263.514 668 | PrH=260 669 | ObjVer=1 670 | SlC=229 671 | DvF=Sl 672 | Ad=03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F,30,31,32,33,34,35,36,37,38,39,3A,3B,3C,3D,3E,3F,40,41,42,43,44,45,46,47,48,49,4A,4B,4C,4D,4E,4F,50,51,52,53,54,55,56,57,58,59,5A,5B,5C,5D,5E,5F,60,61,62,63,64,65,66,67,68,69,6A,6B,6C,6D,6E,6F,70,71,72,73,74,75,76,77,78,79,7A,7B,7C,7D,7E,7F,80,81,82,83,84,85,86,87,88,89,8A,8B,8C,8D,8E,8F,90,91,92,93,94,95,96,97,98,99,9A,9B,9C,9D,9E,9F,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,BA,BB,BC,BD,BE,BF,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CC,CD,CE,CF,D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,DA,DB,DC,DD,DE,DF,E0,E1,E2,E3,E4,E5,E6,E7,E8,E9,EA,EB,EC,ED,EE,EF,F0,F1,F2,F3,F4,F5,F6,F7,F8,F9,FA,FB,FC,FD,FE 673 | ] 674 | [ 675 | ObjTp=Dv 676 | Nm=Fixed 677 | H=515 678 | PrH=2 679 | ObjVer=1 680 | SlC=2 681 | DvF=Sl 682 | Ad=03 683 | mC=1 684 | C1=516 685 | ] 686 | [ 687 | ObjTp=Dv 688 | Nm=C2I-MC3RFGW-EX 689 | H=516 690 | PrH=515 691 | DvC=1754 692 | ObjVer=1 693 | SlC=2 694 | Ad=03 695 | SmH=8 696 | RelStat=Release 697 | mC=108 698 | C1=517 699 | C2=518 700 | C3=519 701 | C4=520 702 | C5=521 703 | C6=522 704 | C7=523 705 | C8=524 706 | C9=525 707 | C10=526 708 | C11=527 709 | C12=528 710 | C13=529 711 | C14=530 712 | C15=531 713 | C16=532 714 | C17=533 715 | C18=534 716 | C19=535 717 | C20=536 718 | C21=537 719 | C22=538 720 | C23=539 721 | C24=540 722 | C25=541 723 | C26=542 724 | C27=543 725 | C28=544 726 | C29=545 727 | C30=546 728 | C31=547 729 | C32=548 730 | C33=549 731 | C34=550 732 | C35=551 733 | C36=552 734 | C37=553 735 | C38=554 736 | C39=555 737 | C40=556 738 | C41=557 739 | C42=558 740 | C43=559 741 | C44=560 742 | C45=561 743 | C46=562 744 | C47=563 745 | C48=564 746 | C49=565 747 | C50=566 748 | C51=567 749 | C52=568 750 | C53=569 751 | C54=570 752 | C55=571 753 | C56=572 754 | C57=573 755 | C58=574 756 | C59=575 757 | C60=576 758 | C61=577 759 | C62=578 760 | C63=579 761 | C64=580 762 | C65=581 763 | C66=582 764 | C67=583 765 | C68=584 766 | C69=585 767 | C70=586 768 | C71=587 769 | C72=588 770 | C73=589 771 | C74=590 772 | C75=591 773 | C76=592 774 | C77=593 775 | C78=594 776 | C79=595 777 | C80=596 778 | C81=597 779 | C82=598 780 | C83=599 781 | C84=600 782 | C85=601 783 | C86=602 784 | C87=603 785 | C88=604 786 | C89=605 787 | C90=606 788 | C91=607 789 | C92=608 790 | C93=609 791 | C94=610 792 | C95=611 793 | C96=612 794 | C97=613 795 | C98=614 796 | C99=615 797 | C100=616 798 | C101=617 799 | C102=618 800 | C103=619 801 | C104=620 802 | C105=621 803 | C106=622 804 | C107=623 805 | C108=624 806 | ] 807 | [ 808 | ObjTp=Dv 809 | Nm=Not_Used 810 | H=517.518 811 | PrH=516 812 | ObjVer=1 813 | SlC=17 814 | DvF=Sl 815 | Ad=01,02 816 | ] 817 | [ 818 | ObjTp=Dv 819 | Nm=CEN-RFGWEX-Slot 820 | H=519.524,531.624 821 | PrH=516 822 | ObjVer=1 823 | SlC=291 824 | DvF=Sl 825 | Ad=03,04,05,06,07,08,0F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F,30,31,32,33,34,35,36,37,38,39,3A,3B,3C,3D,3E,3F,40,41,42,43,44,45,46,47,48,49,4A,4B,4C,4D,4E,4F,50,51,52,53,54,55,56,57,58,59,5A,5B,5C,5D,5E,5F,60,61,62,63,64,65,66,67,68,69,6A,6B,6C 826 | ] 827 | [ 828 | ObjTp=Dv 829 | Nm=CEN-RFGWEX-MTX3-Slot 830 | H=525.530 831 | PrH=516 832 | ObjVer=1 833 | SlC=306 834 | DvF=Sl 835 | Ad=09,0A,0B,0C,0D,0E 836 | ] 837 | [ 838 | ObjTp=Dv 839 | Nm=Fixed 840 | H=625 841 | PrH=2 842 | ObjVer=1 843 | SlC=2 844 | DvF=Sl 845 | Ad=04 846 | mC=1 847 | C1=626 848 | ] 849 | [ 850 | ObjTp=Dv 851 | Nm=C2I-MC3-COM2-232 852 | H=626 853 | PrH=625 854 | DvC=1755 855 | ObjVer=1 856 | SlC=2 857 | Ad=04 858 | SmH=9 859 | RelStat=Release 860 | mC=2 861 | C1=627 862 | C2=629 863 | ] 864 | [ 865 | ObjTp=Dv 866 | Nm=MC3COM232_Port 867 | H=627 868 | PrH=626 869 | ObjVer=1 870 | SlC=231 871 | DvF=Sl 872 | Ad=01 873 | mC=1 874 | C1=628 875 | ] 876 | [ 877 | ObjTp=Dv 878 | Nm=MC3 Two-way serial driver 879 | H=628 880 | PrH=627 881 | DvC=1756 882 | ObjVer=1 883 | SlC=231 884 | Ad=01 885 | SmH=10 886 | RelStat=Release 887 | ProdLine=3-Series 888 | CmH=1 889 | ] 890 | [ 891 | ObjTp=Dv 892 | Nm=MC3COM232_Port 893 | H=629 894 | PrH=626 895 | ObjVer=1 896 | SlC=231 897 | DvF=Sl 898 | Ad=02 899 | mC=1 900 | C1=630 901 | ] 902 | [ 903 | ObjTp=Dv 904 | Nm=MC3 Two-way serial driver 905 | H=630 906 | PrH=629 907 | DvC=1756 908 | ObjVer=1 909 | SlC=231 910 | Ad=02 911 | SmH=11 912 | RelStat=Release 913 | ProdLine=3-Series 914 | CmH=2 915 | ] 916 | [ 917 | ObjTp=Dv 918 | Nm=Fixed 919 | H=631 920 | PrH=2 921 | ObjVer=1 922 | SlC=2 923 | DvF=Sl 924 | Ad=05 925 | mC=1 926 | C1=632 927 | ] 928 | [ 929 | ObjTp=Dv 930 | Nm=C2I-MC3-RY2 931 | H=632 932 | PrH=631 933 | DvC=1760 934 | ObjVer=1 935 | SlC=2 936 | Ad=05 937 | SmH=12 938 | RelStat=Release 939 | mC=2 940 | C1=633 941 | C2=635 942 | ] 943 | [ 944 | ObjTp=Dv 945 | Nm=LoPwrRlySlot 946 | H=633 947 | PrH=632 948 | ObjVer=1 949 | SlC=9 950 | DvF=Sl 951 | Ad=01 952 | mC=1 953 | C1=634 954 | ] 955 | [ 956 | ObjTp=Dv 957 | Nm=Relay 958 | H=634 959 | PrH=633 960 | DvC=7 961 | ObjVer=1 962 | SlC=9 963 | Ad=01 964 | RelStat=Release 965 | ProdLine=General Purpose IO 966 | ] 967 | [ 968 | ObjTp=Dv 969 | Nm=LoPwrRlySlot 970 | H=635 971 | PrH=632 972 | ObjVer=1 973 | SlC=9 974 | DvF=Sl 975 | Ad=02 976 | mC=1 977 | C1=636 978 | ] 979 | [ 980 | ObjTp=Dv 981 | Nm=Relay 982 | H=636 983 | PrH=635 984 | DvC=7 985 | ObjVer=1 986 | SlC=9 987 | Ad=02 988 | RelStat=Release 989 | ProdLine=General Purpose IO 990 | ] 991 | [ 992 | ObjTp=Dv 993 | Nm=Fixed 994 | H=637 995 | PrH=2 996 | ObjVer=1 997 | SlC=2 998 | DvF=Sl 999 | Ad=06 1000 | mC=1 1001 | C1=638 1002 | ] 1003 | [ 1004 | ObjTp=Dv 1005 | Nm=C2I-MC3-DI2 1006 | H=638 1007 | PrH=637 1008 | DvC=1761 1009 | ObjVer=1 1010 | SlC=2 1011 | Ad=06 1012 | SmH=13 1013 | RelStat=Release 1014 | mC=2 1015 | C1=639 1016 | C2=641 1017 | ] 1018 | [ 1019 | ObjTp=Dv 1020 | Nm=DigInSlot 1021 | H=639 1022 | PrH=638 1023 | ObjVer=1 1024 | SlC=57 1025 | DvF=Sl 1026 | Ad=01 1027 | mC=1 1028 | C1=640 1029 | ] 1030 | [ 1031 | ObjTp=Dv 1032 | Nm=DI-Port 1033 | H=640 1034 | PrH=639 1035 | DvC=1227 1036 | ObjVer=1 1037 | SlC=57 1038 | Ad=01 1039 | RelStat=Release 1040 | ] 1041 | [ 1042 | ObjTp=Dv 1043 | Nm=DigInSlot 1044 | H=641 1045 | PrH=638 1046 | ObjVer=1 1047 | SlC=57 1048 | DvF=Sl 1049 | Ad=02 1050 | mC=1 1051 | C1=642 1052 | ] 1053 | [ 1054 | ObjTp=Dv 1055 | Nm=DI-Port 1056 | H=642 1057 | PrH=641 1058 | DvC=1227 1059 | ObjVer=1 1060 | SlC=57 1061 | Ad=02 1062 | RelStat=Release 1063 | ] 1064 | [ 1065 | ObjTp=Dv 1066 | Nm=Fixed 1067 | H=643 1068 | PrH=2 1069 | ObjVer=1 1070 | SlC=2 1071 | DvF=Sl 1072 | Ad=07 1073 | mC=1 1074 | C1=644 1075 | ] 1076 | [ 1077 | ObjTp=Dv 1078 | Nm=C2I-MC3-IR5 1079 | H=644 1080 | PrH=643 1081 | DvC=1757 1082 | ObjVer=1 1083 | SlC=2 1084 | Ad=07 1085 | SmH=14 1086 | RelStat=Release 1087 | mC=5 1088 | C1=645 1089 | C2=646 1090 | C3=647 1091 | C4=648 1092 | C5=649 1093 | ] 1094 | [ 1095 | ObjTp=Dv 1096 | Nm=MC3IR_Port 1097 | H=645.649 1098 | PrH=644 1099 | ObjVer=1 1100 | SlC=230 1101 | DvF=Sl 1102 | SlF=Ex 1103 | Ad=01,02,03,04,05 1104 | ] 1105 | [ 1106 | ObjTp=Dv 1107 | Nm=Fixed 1108 | H=650 1109 | PrH=2 1110 | ObjVer=1 1111 | SlC=2 1112 | DvF=Sl 1113 | Ad=08 1114 | mC=1 1115 | C1=651 1116 | ] 1117 | [ 1118 | ObjTp=Dv 1119 | Nm=C2I-MC3-IR-INPUT 1120 | H=651 1121 | PrH=650 1122 | DvC=1759 1123 | ObjVer=1 1124 | SlC=2 1125 | Ad=08 1126 | SmH=15 1127 | RelStat=Release 1128 | mC=32 1129 | C1=652 1130 | C2=653 1131 | C3=654 1132 | C4=655 1133 | C5=656 1134 | C6=657 1135 | C7=658 1136 | C8=659 1137 | C9=660 1138 | C10=661 1139 | C11=662 1140 | C12=663 1141 | C13=664 1142 | C14=665 1143 | C15=666 1144 | C16=667 1145 | C17=668 1146 | C18=669 1147 | C19=670 1148 | C20=671 1149 | C21=672 1150 | C22=673 1151 | C23=674 1152 | C24=675 1153 | C25=676 1154 | C26=677 1155 | C27=678 1156 | C28=679 1157 | C29=680 1158 | C30=681 1159 | C31=682 1160 | C32=683 1161 | ] 1162 | [ 1163 | ObjTp=Dv 1164 | Nm=CNXRMIRD_Port 1165 | H=652.683 1166 | PrH=651 1167 | ObjVer=1 1168 | SlC=89 1169 | DvF=Sl 1170 | Ad=00,01,02,03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F 1171 | ] 1172 | [ 1173 | ObjTp=Dv 1174 | Nm=Fixed 1175 | H=684 1176 | PrH=2 1177 | ObjVer=1 1178 | SlC=2 1179 | DvF=Sl 1180 | Ad=09 1181 | mC=1 1182 | C1=685 1183 | ] 1184 | [ 1185 | ObjTp=Dv 1186 | Nm=C2I-MC3-AUDIO 1187 | H=685 1188 | PrH=684 1189 | DvC=1762 1190 | ObjVer=1 1191 | SlC=2 1192 | Ad=09 1193 | SmH=16 1194 | RelStat=Release 1195 | mC=1 1196 | C1=686 1197 | ] 1198 | [ 1199 | ObjTp=Dv 1200 | Nm=Fixed 1201 | H=686 1202 | PrH=685 1203 | ObjVer=1 1204 | SlC=2 1205 | DvF=Sl 1206 | Ad=01 1207 | mC=1 1208 | C1=687 1209 | ] 1210 | [ 1211 | ObjTp=Dv 1212 | Nm=C2I-MC3-AUDIO-OUT 1213 | H=687 1214 | PrH=686 1215 | DvC=2351 1216 | ObjVer=1 1217 | SlC=2 1218 | Ad=01 1219 | SmH=17 1220 | RelStat=Release 1221 | ] 1222 | [ 1223 | ObjTp=Dv 1224 | Nm=C2I-MC3-OSD_Slot 1225 | H=688 1226 | PrH=2 1227 | ObjVer=1 1228 | SlC=312 1229 | DvF=Sl 1230 | Ad=10 1231 | ] 1232 | [ 1233 | ObjTp=Dv 1234 | Nm=Fixed 1235 | H=689 1236 | PrH=2 1237 | ObjVer=1 1238 | SlC=2 1239 | DvF=Sl 1240 | Ad=11 1241 | mC=1 1242 | C1=690 1243 | ] 1244 | [ 1245 | ObjTp=Dv 1246 | Nm=C2I-MC3-SYSTEMMONITOR 1247 | H=690 1248 | PrH=689 1249 | DvC=1764 1250 | ObjVer=2 1251 | SlC=2 1252 | Ad=11 1253 | SmH=18 1254 | RelStat=Release 1255 | mC=4 1256 | C1=691 1257 | C2=693 1258 | C3=695 1259 | C4=696 1260 | ] 1261 | [ 1262 | ObjTp=Dv 1263 | Nm=Fixed 1264 | H=691 1265 | PrH=690 1266 | ObjVer=1 1267 | SlC=2 1268 | DvF=Sl 1269 | Ad=01 1270 | mC=1 1271 | C1=692 1272 | ] 1273 | [ 1274 | ObjTp=Dv 1275 | Nm=C2I-MC3-SYSTEMCONTROL 1276 | H=692 1277 | PrH=691 1278 | DvC=2680 1279 | ObjVer=1 1280 | SlC=2 1281 | Ad=01 1282 | SmH=19 1283 | RelStat=Release 1284 | ] 1285 | [ 1286 | ObjTp=Dv 1287 | Nm=Fixed 1288 | H=693 1289 | PrH=690 1290 | ObjVer=1 1291 | SlC=2 1292 | DvF=Sl 1293 | Ad=02 1294 | mC=1 1295 | C1=694 1296 | ] 1297 | [ 1298 | ObjTp=Dv 1299 | Nm=C2I-MC3-SYSTEMINFORMATION 1300 | H=694 1301 | PrH=693 1302 | DvC=2681 1303 | ObjVer=1 1304 | SlC=2 1305 | Ad=02 1306 | SmH=20 1307 | RelStat=Release 1308 | ] 1309 | [ 1310 | ObjTp=Dv 1311 | Nm=NotUsed 1312 | H=695 1313 | PrH=690 1314 | ObjVer=1 1315 | SlC=15 1316 | DvF=Sl 1317 | Ad=03 1318 | ] 1319 | [ 1320 | ObjTp=Dv 1321 | Nm=Fixed 1322 | H=696 1323 | PrH=690 1324 | ObjVer=1 1325 | SlC=2 1326 | DvF=Sl 1327 | Ad=04 1328 | mC=1 1329 | C1=697 1330 | ] 1331 | [ 1332 | ObjTp=Dv 1333 | Nm=C2I-MC3-USERPROGINIT 1334 | H=697 1335 | PrH=696 1336 | DvC=3794 1337 | ObjVer=1 1338 | SlC=2 1339 | Ad=04 1340 | SmH=21 1341 | RelStat=Release 1342 | ] 1343 | [ 1344 | ObjTp=Dv 1345 | Nm=C2I-3SRS-SNMP_Slot 1346 | H=698 1347 | PrH=2 1348 | ObjVer=1 1349 | SlC=393 1350 | DvF=Sl 1351 | Ad=12 1352 | ] 1353 | [ 1354 | ObjTp=Dv 1355 | Nm=C2I-3SRS-BACnet_Slot 1356 | H=699 1357 | PrH=2 1358 | ObjVer=1 1359 | SlC=396 1360 | DvF=Sl 1361 | Ad=13 1362 | ] 1363 | [ 1364 | ObjTp=Cm 1365 | H=1 1366 | DvH=628 1367 | Ptl=(RS232) 1368 | Tis=1 1369 | BRt=9600 1370 | Pty=N 1371 | SBt=1 1372 | DBt=8 1373 | hHs=(None) 1374 | sHs=(None) 1375 | ] 1376 | [ 1377 | ObjTp=Cm 1378 | H=2 1379 | DvH=630 1380 | Ptl=(RS232) 1381 | Tis=1 1382 | BRt=9600 1383 | Pty=N 1384 | SBt=1 1385 | DBt=8 1386 | hHs=(None) 1387 | sHs=(None) 1388 | ] 1389 | [ 1390 | ObjTp=Db 1391 | H=1 1392 | DvH=2 1393 | Whc=3 1394 | Mnf=Crestron 1395 | Mdl=MC3. 1396 | ] 1397 | [ 1398 | ObjTp=FP 1399 | ] 1400 | [ 1401 | ObjTp=Bk 1402 | Nm1=\ 1403 | Sx1=0 1404 | Sy1=0 1405 | Mx1=0 1406 | ] 1407 | [ 1408 | ObjTp=Bw 1409 | H=1 1410 | Lx=0 1411 | Ly=438 1412 | Rx=1535 1413 | Ry=876 1414 | Xm=-1 1415 | Ym=-1 1416 | SH=24 1417 | Z=100 1418 | Ht=3 1419 | Hi=3 1420 | ] 1421 | [ 1422 | ObjTp=Bw 1423 | H=1 1424 | Lx=0 1425 | Ly=876 1426 | Rx=1535 1427 | Ry=1314 1428 | Xm=-1 1429 | Ym=-1 1430 | SH=22 1431 | Z=100 1432 | Ht=3 1433 | Hi=3 1434 | ] 1435 | [ 1436 | ObjTp=Bw 1437 | H=1 1438 | Lx=0 1439 | Ly=0 1440 | Rx=1535 1441 | Ry=438 1442 | Xm=-1 1443 | Ym=-1 1444 | SH=31 1445 | Z=100 1446 | Ht=4 1447 | Hi=2 1448 | ] 1449 | [ 1450 | ObjTp=Sm 1451 | H=1 1452 | SmC=157 1453 | Nm=Central Control Modules 1454 | ObjVer=1 1455 | CF=2 1456 | n1I=1 1457 | n1O=1 1458 | mC=10 1459 | C1=6 1460 | C2=7 1461 | C3=8 1462 | C4=9 1463 | C5=12 1464 | C6=13 1465 | C7=14 1466 | C8=15 1467 | C9=16 1468 | C10=18 1469 | mI=1 1470 | mO=1 1471 | tO=1 1472 | mP=1 1473 | P1= 1474 | ] 1475 | [ 1476 | ObjTp=Sm 1477 | H=2 1478 | SmC=157 1479 | Nm=Network Modules 1480 | ObjVer=1 1481 | CF=2 1482 | n1I=1 1483 | n1O=1 1484 | mI=1 1485 | mO=1 1486 | tO=1 1487 | mP=1 1488 | P1= 1489 | ] 1490 | [ 1491 | ObjTp=Sm 1492 | H=3 1493 | SmC=157 1494 | Nm=Ethernet 1495 | ObjVer=1 1496 | CF=2 1497 | n1I=1 1498 | n1O=1 1499 | mI=1 1500 | mO=1 1501 | tO=1 1502 | mP=1 1503 | P1= 1504 | ] 1505 | [ 1506 | ObjTp=Sm 1507 | H=4 1508 | SmC=156 1509 | Nm=Logic 1510 | ObjVer=1 1511 | CF=2 1512 | mC=3 1513 | C1=23 1514 | C2=26 1515 | C3=30 1516 | ] 1517 | [ 1518 | ObjTp=Sm 1519 | H=5 1520 | SmC=157 1521 | Nm=DefineArguments 1522 | ObjVer=1 1523 | CF=2 1524 | n1I=1 1525 | n1O=1 1526 | mI=1 1527 | mO=1 1528 | tO=1 1529 | mP=1 1530 | P1= 1531 | ] 1532 | [ 1533 | ObjTp=Sm 1534 | H=6 1535 | SmC=2404 1536 | Nm=C2I-MC3CNET-1 1537 | ObjVer=1 1538 | DvH=4 1539 | PrH=1 1540 | CF=2 1541 | Cmn1=C2I-MC3CNET-1 1542 | ] 1543 | [ 1544 | ObjTp=Sm 1545 | H=7 1546 | SmC=2143 1547 | Nm=C2I-MC3ENET-1 1548 | ObjVer=1 1549 | DvH=260 1550 | PrH=1 1551 | CF=2 1552 | Cmn1=C2I-MC3ENET-1 1553 | ] 1554 | [ 1555 | ObjTp=Sm 1556 | H=8 1557 | SmC=2144 1558 | Nm=C2I-MC3RFGW-EX 1559 | ObjVer=2 1560 | DvH=516 1561 | PrH=1 1562 | CF=2 1563 | Cmn1=C2I-MC3RFGW-EX 1564 | ] 1565 | [ 1566 | ObjTp=Sm 1567 | H=9 1568 | SmC=2145 1569 | Nm=C2I-MC3-COM2-232 1570 | ObjVer=1 1571 | DvH=626 1572 | PrH=1 1573 | CF=2 1574 | Cmn1=C2I-MC3-COM2-232 1575 | mC=2 1576 | C1=10 1577 | C2=11 1578 | ] 1579 | [ 1580 | ObjTp=Sm 1581 | H=10 1582 | SmC=2146 1583 | Nm=MC3 Two-way serial driver 1584 | ObjVer=1 1585 | DvH=628 1586 | PrH=9 1587 | CF=2 1588 | n1I=5 1589 | n1O=3 1590 | Cmn1=MC3 Two-way serial driver 1591 | mI=5 1592 | mO=3 1593 | tO=3 1594 | mP=3 1595 | P1= 1596 | P2= 1597 | P3= 1598 | ] 1599 | [ 1600 | ObjTp=Sm 1601 | H=11 1602 | SmC=2146 1603 | Nm=MC3 Two-way serial driver 1604 | ObjVer=1 1605 | DvH=630 1606 | PrH=9 1607 | CF=2 1608 | n1I=5 1609 | n1O=3 1610 | Cmn1=MC3 Two-way serial driver 1611 | mI=5 1612 | mO=3 1613 | tO=3 1614 | mP=3 1615 | P1= 1616 | P2= 1617 | P3= 1618 | ] 1619 | [ 1620 | ObjTp=Sm 1621 | H=12 1622 | SmC=2150 1623 | Nm=C2I-MC3-RY2 1624 | ObjVer=1 1625 | DvH=632 1626 | PrH=1 1627 | CF=2 1628 | n1I=2 1629 | n1O=2 1630 | Cmn1=C2I-MC3-RY2 1631 | mI=2 1632 | mO=2 1633 | tO=2 1634 | ] 1635 | [ 1636 | ObjTp=Sm 1637 | H=13 1638 | SmC=2151 1639 | Nm=C2I-MC3-DI2 1640 | ObjVer=1 1641 | DvH=638 1642 | PrH=1 1643 | CF=2 1644 | n1O=2 1645 | Cmn1=C2I-MC3-DI2 1646 | mO=2 1647 | tO=2 1648 | ] 1649 | [ 1650 | ObjTp=Sm 1651 | H=14 1652 | SmC=2147 1653 | Nm=C2I-MC3-IR5 1654 | ObjVer=1 1655 | DvH=644 1656 | PrH=1 1657 | CF=2 1658 | Cmn1=C2I-MC3-IR5 1659 | ] 1660 | [ 1661 | ObjTp=Sm 1662 | H=15 1663 | SmC=2149 1664 | Nm=C2I-MC3-IR-INPUT 1665 | ObjVer=1 1666 | DvH=651 1667 | PrH=1 1668 | CF=2 1669 | Cmn1=C2I-MC3-IR-INPUT 1670 | ] 1671 | [ 1672 | ObjTp=Sm 1673 | H=16 1674 | SmC=2152 1675 | Nm=C2I-MC3-AUDIO 1676 | ObjVer=1 1677 | DvH=685 1678 | PrH=1 1679 | CF=2 1680 | Cmn1=C2I-MC3-AUDIO 1681 | mC=1 1682 | C1=17 1683 | ] 1684 | [ 1685 | ObjTp=Sm 1686 | H=17 1687 | SmC=2678 1688 | Nm=C2I-MC3-AUDIO-OUT 1689 | ObjVer=1 1690 | DvH=687 1691 | PrH=16 1692 | CF=2 1693 | n1I=6 1694 | n2I=3 1695 | n1O=6 1696 | Cmn1=C2I-MC3-AUDIO-OUT 1697 | mI=10 1698 | mO=9 1699 | tO=10 1700 | ] 1701 | [ 1702 | ObjTp=Sm 1703 | H=18 1704 | SmC=2154 1705 | Nm=C2I-MC3-SYSTEMMONITOR 1706 | ObjVer=2 1707 | DvH=690 1708 | PrH=1 1709 | CF=2 1710 | n1I=28 1711 | n2I=42 1712 | n1O=25 1713 | Cmn1=C2I-MC3-SYSTEMMONITOR 1714 | mC=3 1715 | C1=19 1716 | C2=20 1717 | C3=21 1718 | mI=73 1719 | mO=69 1720 | tO=72 1721 | ] 1722 | [ 1723 | ObjTp=Sm 1724 | H=19 1725 | SmC=3080 1726 | Nm=C2I-MC3-SYSTEMCONTROL 1727 | ObjVer=2 1728 | DvH=692 1729 | PrH=18 1730 | CF=2 1731 | n1I=53 1732 | n2I=2 1733 | n1O=53 1734 | Cmn1=C2I-MC3-SYSTEMCONTROL 1735 | mI=58 1736 | mO=55 1737 | tO=58 1738 | ] 1739 | [ 1740 | ObjTp=Sm 1741 | H=20 1742 | SmC=3081 1743 | Nm=C2I-MC3-SYSTEMINFORMATION 1744 | ObjVer=3 1745 | DvH=694 1746 | PrH=18 1747 | CF=2 1748 | n1I=3 1749 | n1O=3 1750 | Cmn1=C2I-MC3-SYSTEMINFORMATION 1751 | mI=10 1752 | mO=3 1753 | tO=10 1754 | ] 1755 | [ 1756 | ObjTp=Sm 1757 | H=21 1758 | SmC=4313 1759 | Nm=C2I-MC3-USERPROGINIT 1760 | ObjVer=1 1761 | DvH=697 1762 | PrH=18 1763 | CF=2 1764 | n1I=1 1765 | n1O=1 1766 | Cmn1=C2I-MC3-USERPROGINIT 1767 | mI=1 1768 | mO=1 1769 | tO=1 1770 | ] 1771 | [ 1772 | ObjTp=Sm 1773 | H=22 1774 | SmC=103 1775 | Nm=SimplPlusNetUtils TCPClient.usp 1776 | ObjVer=1 1777 | PrH=23 1778 | CF=2 1779 | n1I=8 1780 | n2I=3 1781 | n1O=8 1782 | mI=11 1783 | I4=9 1784 | I6=8 1785 | I7=6 1786 | I9=4 1787 | I11=21 1788 | mO=11 1789 | tO=11 1790 | O6=20 1791 | O11=22 1792 | mP=3 1793 | P1= 1794 | P2=23d 1795 | P3=200d 1796 | ] 1797 | [ 1798 | ObjTp=Sm 1799 | H=23 1800 | SmC=156 1801 | Nm=SUBSYSTEM 1802 | ObjVer=1 1803 | PrH=4 1804 | CF=2 1805 | Cmn1=TCPClient\\ 1806 | mC=4 1807 | C1=22 1808 | C2=24 1809 | C3=25 1810 | C4=31 1811 | ] 1812 | [ 1813 | ObjTp=Sm 1814 | H=24 1815 | SmC=101 1816 | Nm=Serial I/O 1817 | ObjVer=1 1818 | PrH=23 1819 | CF=2 1820 | n1I=3 1821 | n1O=2 1822 | mI=3 1823 | I3=5 1824 | mO=2 1825 | tO=2 1826 | O1=4 1827 | mP=3 1828 | P1= 1829 | P2=127.0.0.1 1830 | P3= 1831 | ] 1832 | [ 1833 | ObjTp=Sm 1834 | H=25 1835 | SmC=858 1836 | Nm=Make String Permanent 1837 | ObjVer=1 1838 | PrH=23 1839 | CF=2 1840 | n1I=1 1841 | mI=1 1842 | I1=4 1843 | mP=1 1844 | P1=64d 1845 | ] 1846 | [ 1847 | ObjTp=Sm 1848 | H=26 1849 | SmC=156 1850 | Nm=SUBSYSTEM 1851 | ObjVer=1 1852 | PrH=4 1853 | CF=2 1854 | Cmn1=HTTPGetter\\ 1855 | mC=3 1856 | C1=33 1857 | C2=28 1858 | C3=29 1859 | ] 1860 | [ 1861 | ObjTp=Sm 1862 | H=27 1863 | SmC=103 1864 | Nm=SimplPlusNetUtils HTTPClient.usp 1865 | ObjVer=1 1866 | PrH=30 1867 | CF=2 1868 | n1I=4 1869 | n2I=1 1870 | n1O=5 1871 | mI=5 1872 | I5=18 1873 | mO=7 1874 | tO=7 1875 | O5=16 1876 | O6=15 1877 | O7=17 1878 | mP=5 1879 | P1= 1880 | P2=80d 1881 | P3=api.openweathermap.org 1882 | P4="" 1883 | P5="" 1884 | ] 1885 | [ 1886 | ObjTp=Sm 1887 | H=28 1888 | SmC=101 1889 | Nm=Serial I/O 1890 | ObjVer=1 1891 | PrH=26 1892 | CF=2 1893 | n1I=3 1894 | n1O=2 1895 | mI=3 1896 | I3=14 1897 | mO=2 1898 | tO=2 1899 | O1=10 1900 | mP=3 1901 | P1= 1902 | P2="/images/global960/header/logo.jpg" 1903 | P3= 1904 | ] 1905 | [ 1906 | ObjTp=Sm 1907 | H=29 1908 | SmC=858 1909 | Nm=Make String Permanent 1910 | ObjVer=1 1911 | PrH=26 1912 | CF=2 1913 | n1I=1 1914 | mI=1 1915 | I1=10 1916 | mP=1 1917 | P1=128d 1918 | ] 1919 | [ 1920 | ObjTp=Sm 1921 | H=30 1922 | SmC=156 1923 | Nm=SUBSYSTEM 1924 | ObjVer=1 1925 | PrH=4 1926 | CF=2 1927 | Cmn1=HTTPClient\\ 1928 | mC=2 1929 | C1=27 1930 | C2=32 1931 | ] 1932 | [ 1933 | ObjTp=Sm 1934 | H=31 1935 | SmC=98 1936 | Nm=Stepper 1937 | ObjVer=1 1938 | PrH=23 1939 | CF=2 1940 | n1I=1 1941 | n1O=2 1942 | mI=1 1943 | I1=2 1944 | mO=2 1945 | tO=2 1946 | O1=7 1947 | O2=5 1948 | mP=2 1949 | P1=.5s 1950 | P2=.1s 1951 | ] 1952 | [ 1953 | ObjTp=Sm 1954 | H=32 1955 | SmC=101 1956 | Nm=Serial I/O 1957 | ObjVer=1 1958 | PrH=30 1959 | CF=2 1960 | n1I=3 1961 | n1O=2 1962 | mI=3 1963 | I3=19 1964 | mO=2 1965 | tO=2 1966 | O1=18 1967 | mP=3 1968 | P1= 1969 | P2=/data/2.5/weather?q=London&mode=xml&units=metric 1970 | P3= 1971 | ] 1972 | [ 1973 | ObjTp=Sm 1974 | H=33 1975 | SmC=103 1976 | Nm=SimplPlusNetUtils HttpFileGetter.usp 1977 | ObjVer=1 1978 | PrH=26 1979 | CF=2 1980 | n1I=3 1981 | n2I=2 1982 | n1O=4 1983 | mI=5 1984 | I4=10 1985 | I5=11 1986 | mO=5 1987 | tO=5 1988 | O4=12 1989 | O5=13 1990 | mP=4 1991 | P1= 1992 | P2=www.crestron.com 1993 | P3=80d 1994 | P4=\\HTML\\Crestron.jpg 1995 | ] 1996 | [ 1997 | ObjTp=Sg 1998 | H=4 1999 | Nm=IP_Address$ 2000 | SgTp=4 2001 | ] 2002 | [ 2003 | ObjTp=Sg 2004 | H=5 2005 | Nm=Address_Init 2006 | ] 2007 | [ 2008 | ObjTp=Sg 2009 | H=6 2010 | Nm=TCP_Filter_VTs 2011 | ] 2012 | [ 2013 | ObjTp=Sg 2014 | H=7 2015 | Nm=//__digital_reserved__ 2016 | ] 2017 | [ 2018 | ObjTp=Sg 2019 | H=8 2020 | Nm=TCP_Connect 2021 | ] 2022 | [ 2023 | ObjTp=Sg 2024 | H=9 2025 | Nm=TCP_Debug 2026 | ] 2027 | [ 2028 | ObjTp=Sg 2029 | H=10 2030 | Nm=filename$ 2031 | SgTp=4 2032 | ] 2033 | [ 2034 | ObjTp=Sg 2035 | H=11 2036 | Nm=//Server_Override 2037 | SgTp=4 2038 | ] 2039 | [ 2040 | ObjTp=Sg 2041 | H=12 2042 | Nm=http_getter_Ready 2043 | ] 2044 | [ 2045 | ObjTp=Sg 2046 | H=13 2047 | Nm=http_getter_filesize 2048 | SgTp=2 2049 | ] 2050 | [ 2051 | ObjTp=Sg 2052 | H=14 2053 | Nm=Grab_File 2054 | ] 2055 | [ 2056 | ObjTp=Sg 2057 | H=15 2058 | Nm=HTTP_Err_Msg$ 2059 | SgTp=4 2060 | ] 2061 | [ 2062 | ObjTp=Sg 2063 | H=16 2064 | Nm=HTTP_Err 2065 | ] 2066 | [ 2067 | ObjTp=Sg 2068 | H=17 2069 | Nm=HTTP_RX$ 2070 | SgTp=4 2071 | ] 2072 | [ 2073 | ObjTp=Sg 2074 | H=18 2075 | Nm=HTTP_URL$ 2076 | SgTp=4 2077 | ] 2078 | [ 2079 | ObjTp=Sg 2080 | H=19 2081 | Nm=Test 2082 | ] 2083 | [ 2084 | ObjTp=Sg 2085 | H=20 2086 | Nm=TCP_Connected 2087 | ] 2088 | [ 2089 | ObjTp=Sg 2090 | H=21 2091 | Nm=TCP_TX$ 2092 | SgTp=4 2093 | ] 2094 | [ 2095 | ObjTp=Sg 2096 | H=22 2097 | Nm=TCP_RX$ 2098 | SgTp=4 2099 | ] 2100 | -------------------------------------------------------------------------------- /SimplSharpNetUtils/SimplPlus/SimplPlusNetUtilsTest_compiled.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevinCook/SimplSharpNetUtils/219e87b9e6cd030c905c22c94d457e8a379d4b51/SimplSharpNetUtils/SimplPlus/SimplPlusNetUtilsTest_compiled.zip -------------------------------------------------------------------------------- /SimplSharpNetUtils/SimplPlus/SimplSharpNetUtils.clz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevinCook/SimplSharpNetUtils/219e87b9e6cd030c905c22c94d457e8a379d4b51/SimplSharpNetUtils/SimplPlus/SimplSharpNetUtils.clz -------------------------------------------------------------------------------- /SimplSharpNetUtils/SimplSharpNetUtils.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Release 4 | AnyCPU 5 | 9.0.30729 6 | 2.0 7 | {4E3DFCAE-53F8-4104-877B-EC64E8A96488} 8 | Library 9 | Properties 10 | SimplSharpNetUtils 11 | SimplSharpNetUtils 12 | {0B4745B0-194B-4BB6-8E21-E9057CA92500};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 13 | WindowsCE 14 | E2BECB1F-8C8C-41ba-B736-9BE7D946A398 15 | 5.0 16 | SmartDeviceProject1 17 | v3.5 18 | Windows CE 19 | 20 | 21 | 22 | 23 | .allowedReferenceRelatedFileExtensions 24 | true 25 | full 26 | false 27 | bin\ 28 | DEBUG;TRACE; 29 | prompt 30 | 4 31 | 512 32 | true 33 | true 34 | 35 | 36 | .allowedReferenceRelatedFileExtensions 37 | none 38 | true 39 | bin\ 40 | prompt 41 | 4 42 | 512 43 | true 44 | true 45 | 46 | 47 | 48 | 49 | False 50 | ..\..\..\..\..\..\..\ProgramData\Crestron\SDK\SimplSharpHelperInterface.dll 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | SimplSharpNetUtils 69 | SimplSharpNetUtils 70 | 71 | C:\Users\devinc\Documents\Visual Studio 2008\Projects\SimplSharpNetUtils\SimplSharpNetUtils\bin\SimplSharpNetUtils.clz 72 | 1.007.0017 73 | 8/15/2014 9:09:17 PM 74 | 75 | False 76 | 77 | 78 | .\SimplPlus 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | rem S# preparation will execute after these operations 87 | 88 | -------------------------------------------------------------------------------- /SimplSharpNetUtils/String_Pacer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Crestron.SimplSharp; 6 | 7 | namespace SimplSharpNetUtils 8 | { 9 | internal class String_Pacer 10 | { 11 | int nChunk_Size; 12 | int nDelay; 13 | 14 | CTimer Timer; 15 | 16 | CMutex bMutex = new CMutex(); 17 | 18 | public delegate void ChunkHandler(string data); 19 | public ChunkHandler OnChunk { set; get; } 20 | 21 | public int Chunk_Size { set { nChunk_Size = value; } get { return nChunk_Size; } } 22 | 23 | StringBuilder Buffer; 24 | 25 | public String_Pacer(int chunk_size, int delay) 26 | { 27 | nChunk_Size = chunk_size; 28 | nDelay = delay; 29 | 30 | Timer = new CTimer(OnTimer, this, delay, delay); 31 | Buffer = new StringBuilder(); 32 | } 33 | 34 | void OnTimer(Object o) 35 | { 36 | bMutex.WaitForMutex(); 37 | // CrestronConsole.PrintLine("Ping!"); 38 | if (Buffer.Length > 0) 39 | { 40 | try 41 | { 42 | { 43 | int l = (Buffer.Length > nChunk_Size) ? nChunk_Size : Buffer.Length; 44 | 45 | String s = Buffer.ToString(0, l); 46 | Buffer.Remove(0, l); 47 | // CrestronConsole.PrintLine("Dechunk {0}", s); 48 | if (OnChunk != null) 49 | OnChunk(s); 50 | } 51 | } 52 | catch (Exception e) 53 | { 54 | CrestronConsole.PrintLine(e.Message); 55 | CrestronConsole.PrintLine(e.StackTrace); 56 | } 57 | 58 | } 59 | bMutex.ReleaseMutex(); 60 | } 61 | 62 | public void Enqueue(String s) 63 | { 64 | bMutex.WaitForMutex(); 65 | Buffer.Append(s); 66 | bMutex.ReleaseMutex(); 67 | } 68 | } 69 | } -------------------------------------------------------------------------------- /SimplSharpNetUtils/TCPSocket.cs: -------------------------------------------------------------------------------- 1 | /* TCPSocket.cs 2 | * 3 | * This is a simple TCP Client bridge between SimplSharp and Simpl+ 4 | * 5 | * Note that the FilterVtCmds flag tries to filter extra control characters and VT Esc characters from 6 | * the received content. 7 | * 8 | */ 9 | 10 | 11 | 12 | using System; 13 | using System.Collections.Generic; 14 | using System.Linq; 15 | using System.Text; 16 | using Crestron.SimplSharp; 17 | using Crestron.SimplSharp.CrestronSockets; 18 | 19 | namespace SimplSharpNetUtils 20 | { 21 | public class TCPSocket 22 | { 23 | TCPClient client; 24 | bool bFilterVtCmds = false; 25 | bool bDebug = false; 26 | 27 | String_Pacer Pacer; 28 | 29 | public delegate void ConnectedHandler(); 30 | public ConnectedHandler OnConnect { set; get; } 31 | 32 | public delegate void DisconnectedHandler(); 33 | public DisconnectedHandler OnDisconnect { set; get; } 34 | 35 | public delegate void RxHandler(SimplSharpString data); 36 | public RxHandler OnRx { set; get; } 37 | 38 | public int FilterVtCmds 39 | { 40 | set { bFilterVtCmds = value != 0; } 41 | get { return bFilterVtCmds ? 1 : 0; } 42 | } 43 | 44 | public int Debug 45 | { 46 | set { bDebug = value != 0; } 47 | get { return bDebug ? 1 : 0; } 48 | } 49 | 50 | public TCPSocket() 51 | { 52 | Pacer = new String_Pacer(10, 10); 53 | Pacer.OnChunk = MyChunkHandler; 54 | } 55 | 56 | public int Connect(String IPAddress, int port, int buffersz) 57 | { 58 | if (bDebug) 59 | CrestronConsole.PrintLine("Connect({0},{1},{2})", IPAddress, port, buffersz); 60 | 61 | Pacer.Chunk_Size = buffersz; 62 | client = new TCPClient(IPAddress, port, 4096); 63 | 64 | SocketErrorCodes err = client.ConnectToServerAsync(myConnectCallback); 65 | 66 | if (bDebug) 67 | CrestronConsole.PrintLine("Connect() - " + err); 68 | 69 | return Convert.ToInt32(err); 70 | } 71 | 72 | public void Disconnect() 73 | { 74 | if (bDebug) 75 | CrestronConsole.PrintLine("Disconnect()"); 76 | if (client != null) 77 | client.DisconnectFromServer(); 78 | } 79 | 80 | internal void MyChunkHandler(string data) 81 | { 82 | if (OnRx != null) 83 | OnRx(new SimplSharpString(data)); 84 | } 85 | 86 | String DoFilterVtCmds(String sIn) 87 | { 88 | StringBuilder sOut = new StringBuilder(); 89 | 90 | bool IsVt = false; 91 | 92 | foreach (char c in sIn) 93 | { 94 | if (c < 127) 95 | { 96 | if (IsVt) 97 | { 98 | if ((c == 'h') || (c == 'H')) 99 | IsVt = false; 100 | } 101 | else 102 | if (c == (char)0x1B) 103 | IsVt = true; 104 | else 105 | if (!(Char.IsControl(c) && (c != (char)0x0d) && (c != (char)0x0a))) 106 | sOut.Append(c); 107 | } 108 | } 109 | 110 | return (sOut.ToString()); 111 | } 112 | 113 | void myReceiveCallback(TCPClient tcpClient, int rxSize) 114 | { 115 | if (bDebug) 116 | CrestronConsole.PrintLine("Received " + rxSize); 117 | String rxBuff = System.Text.Encoding.Default.GetString(tcpClient.IncomingDataBuffer, 0, rxSize); 118 | 119 | if (rxSize == 0) 120 | { 121 | if (bDebug) 122 | CrestronConsole.PrintLine("Size triggers Disconnect"); 123 | if (OnDisconnect != null) 124 | OnDisconnect(); 125 | } 126 | else 127 | { 128 | if (bFilterVtCmds) 129 | rxBuff = DoFilterVtCmds(rxBuff); 130 | 131 | if (rxBuff.Length > 0) 132 | { 133 | Pacer.Enqueue(rxBuff); 134 | client.ReceiveDataAsync(myReceiveCallback); 135 | } 136 | } 137 | } 138 | 139 | void myConnectCallback(TCPClient tcpClient) 140 | { 141 | if (bDebug) 142 | CrestronConsole.PrintLine("Connect Callback " + tcpClient.ClientStatus); 143 | 144 | if (tcpClient.ClientStatus == SocketStatus.SOCKET_STATUS_CONNECTED) 145 | { 146 | if (OnConnect != null) 147 | OnConnect(); 148 | client.ReceiveDataAsync(myReceiveCallback); 149 | } 150 | else 151 | { 152 | if (OnDisconnect != null) 153 | OnDisconnect(); 154 | } 155 | } 156 | 157 | public int Send(SimplSharpString data) 158 | { 159 | if (client != null) 160 | { 161 | byte[] db = System.Text.Encoding.ASCII.GetBytes(data.ToString()); 162 | SocketErrorCodes err = client.SendData(db, db.Length); 163 | if (bDebug) 164 | CrestronConsole.PrintLine("Send() = " + err); 165 | return Convert.ToInt32(err); 166 | } 167 | 168 | if (bDebug) 169 | CrestronConsole.PrintLine("Called Send() on a Null client!"); 170 | return -1; 171 | } 172 | } 173 | } -------------------------------------------------------------------------------- /SimplSharpNetUtils/bin/SimplSharpHelperInterface.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevinCook/SimplSharpNetUtils/219e87b9e6cd030c905c22c94d457e8a379d4b51/SimplSharpNetUtils/bin/SimplSharpHelperInterface.dll -------------------------------------------------------------------------------- /SimplSharpNetUtils/bin/SimplSharpNetUtils.clz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevinCook/SimplSharpNetUtils/219e87b9e6cd030c905c22c94d457e8a379d4b51/SimplSharpNetUtils/bin/SimplSharpNetUtils.clz -------------------------------------------------------------------------------- /SimplSharpNetUtils/bin/SimplSharpNetUtils.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | SimplSharpNetUtils 4 | SimplSharpNetUtils 5 | SimplSharpNetUtils 6 | 1.007.0017 7 | SIMPL# Plugin 8 | 5 9 | 5 10 | 11 | 12 | 13 | 8/15/2014 9:09:17 PM 14 | 1.0.0.36278 15 | 16 | -------------------------------------------------------------------------------- /SimplSharpNetUtils/bin/SimplSharpNetUtils.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevinCook/SimplSharpNetUtils/219e87b9e6cd030c905c22c94d457e8a379d4b51/SimplSharpNetUtils/bin/SimplSharpNetUtils.dll -------------------------------------------------------------------------------- /SimplSharpNetUtils/bin/manifest.info: -------------------------------------------------------------------------------- 1 | MainAssembly=SimplSharpNetUtils.dll:bf31d71e205535c9004a33b10531a022 2 | MainAssemblyMinFirmwareVersion=1.007.0017 3 | -------------------------------------------------------------------------------- /SimplSharpNetUtils/bin/manifest.ser: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevinCook/SimplSharpNetUtils/219e87b9e6cd030c905c22c94d457e8a379d4b51/SimplSharpNetUtils/bin/manifest.ser --------------------------------------------------------------------------------