├── .gitattributes
├── .gitignore
├── Cisco Touch 10
├── KL Cisco Touch 10 DPad v1.1.umc
├── KL Cisco Touch 10 Group v1.1.ush
├── KL Cisco Touch 10 Group v1.1.usp
├── KL Cisco Touch 10 Group v1.2.umc
├── KL Cisco Touch 10 Group v1.2.ush
├── KL Cisco Touch 10 Group v1.2.usp
├── KL Cisco Touch 10 Processor v1.0.ush
├── KL Cisco Touch 10 Processor v1.0.usp
├── KL Cisco Touch 10 System v1.8.umc
├── KL Cisco Touch 10 System v1.8.ush
├── KL Cisco Touch 10 System v1.8.usp
├── KL Cisco Touch 10 Toggle v1.1.umc
├── KL Cisco Touch 10 Toggle v1.1.ush
└── KL Cisco Touch 10 Toggle v1.1.usp
├── Cisco
├── KL Cisco Phonebook Pager v1.0.umc
├── KL Cisco SX80 Connect v1.0.usp
├── KL Cisco Touch 10 Button v1.0.umc
├── KL Cisco Touch 10 Group v1.0.umc
├── KL Cisco Touch 10 Toggle v1.0.umc
├── KL Phonebook Pager Driver v1.1.ush
├── KL Phonebook Pager Driver v1.1.usp
├── KL SX80 Phonebook Pager.ush
└── KL SX80 Phonebook Pager.usp
├── Click to Join
├── KL Polycom Click-to-Join Control v1.3.umc
├── KL Polycom Click-to-Join v0.1.usp
├── KL Polycom Click-to-Join v1.1.ush
└── KL Polycom Click-to-Join v1.1.usp
├── Countdown Timer
└── KL Countdown Timer v1.0.umc
├── Display Management
├── KL Display Management v3.0.umc
└── KL Display Management v3.0_archive.zip
├── Dynamic EISC
├── KL Dynamic EISC Client v1.0.umc
├── KL Dynamic EISC Client v1.0_archive.zip
├── KL Dynamic TCP Client v1.0.ush
└── KL Dynamic TCP Client v1.0.usp
├── Grep
└── KL Grep v1.0.usp
├── Instant On
└── KL Instant On v1.2.umc
├── Kernel
├── Boardroom_Kernel_v1.3.umc
├── KL Page Tracking v1.0.usp
├── Keypad_Kernel_v1.0.umc
├── Training Room_Kernel_v1.0.umc
└── VC Room_Kernel_v1.2.umc
├── LICENSE
├── Multiple Analog One-Shot
├── KL Multiple Analog One-Shot v1.0.ush
└── KL Multiple Analog One-Shot v1.0.usp
├── Page Tracking
├── KL Page Tracking v1.0.ush
└── KL Page Tracking v1.0.usp
├── Phonebook
├── KL Phonebook Driver v1.0.ush
├── KL Phonebook Driver v1.0.usp
├── KL Phonebook Driver v1.1.ush
├── KL Phonebook Driver v1.1.usp
├── KL Phonebook v1.0.umc
├── KL Phonebook v1.1.umc
├── MassLogic.clz
├── Phonebook Demo XPANEL.vtp
├── Phonebook Demo_CP3_v1.1.smw
├── Phonebook Demo_CP3_v1.1_compiled.zip
└── Phonebook Demo_CP3_v1.smw
├── Polycom
├── KL Polycom Click-to-Join Control v1.3.um2
├── KL Polycom Click-to-Join Control v1.3.umc
├── KL Polycom Click-to-Join v1.1.ush
├── KL Polycom Click-to-Join v1.1.usp
├── KL Polycom Globaldir Processor v1.1.ush
└── KL Polycom Globaldir Processor v1.1.usp
├── README.md
├── Samsung
├── KL Samsung Checksum v1.0.ush
└── KL Samsung Checksum v1.0.usp
├── Serial
└── KL Serial Selector v1.0.umc
├── SimplCrypto
├── SIMPL
│ ├── Crypto Tests v1.smw
│ ├── Simpl MD5 v1.ush
│ ├── Simpl MD5 v1.usp
│ └── SimplCrypto.clz
├── SimplCrypto.sln
├── SimplCrypto.suo
└── SimplCrypto
│ ├── Properties
│ ├── AssemblyInfo.cs
│ └── ControlSystem.cfg
│ ├── SimplCrypto.csproj
│ ├── SimplCrypto.csproj.user
│ ├── SimplCrypto.projectinfo
│ └── SimplMD5.cs
├── Speed Dial
├── KL Speed Dial v1.0.umc
├── KL Speed Dial v1.0.ush
├── KL Speed Dial v1.0.usp
└── KL Speed Dial v1.0_Manifest.arcv
├── Standard UI
├── KL 16x16 Switcher v1.6.umc
├── KL Analog Multiway 16 v1.0.umc
├── KL Analog Multiway 16 with Offset v1.0.umc
├── KL Display Management v2.4.umc
├── KL Expanded Keyboard v1.0.umc
├── KL Multiple Analog Offset with Zero-Pass v1.2.umc
├── KL Passcode Driver v1.0.ush
├── KL Passcode Driver v1.0.usp
├── KL Passcode Entry v1.0.umc
├── KL Positive Negative Offset v1.0.ush
├── KL Positive Negative Offset v1.0.usp
├── KL Serial Select v1.1.umc
├── KL Simple Text Config Driver v1.1.ush
├── KL Simple Text Config Driver v1.1.usp
├── KL Simple Text Config v1.1.umc
├── KL Switcher Feedback v1.3.ush
├── KL Switcher Feedback v1.3.usp
├── KL System Power v1.2.umc
├── KL Text Edit v1.0.umc
└── KL UI Mode v1.2.umc
├── TV Presets
└── KL TV Presets v1.0.umc
├── Telnet
└── KL Telnet Handshake v1.0.umc
├── Timed Pop Up
└── KL Timed Pop Up v1.0.umc
├── Visionary PacketAV
├── KL Visionary PacketAV Decoder v1.0.umc
├── KL Visionary PacketAV Decoder v1.0_archive.zip
├── KL Visionary PacketAV Decoder v1.4.umc
├── KL Visionary PacketAV Driver v1.0.usp
└── KL Visionary PacketAV Driver v1.3.usp
└── Weekday Schedule
└── KL Weekday Schedule v1.1.usp
/.gitattributes:
--------------------------------------------------------------------------------
1 | *.smw binary
2 | *.umc binary
3 | *.vtp binary
4 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Archives
2 | *_archive.zip
3 | *_compiled.zip
4 |
5 | # Output files
6 | *.ASV
7 | *.arcv
8 | *.bin
9 | *.cdm
10 | *.ch5z
11 | *.lpz
12 | *.sig
13 | *.sm2
14 | *.smft
15 | *.spz
16 | *.um2
17 | *.vtz
18 | *.hash
19 |
20 | # SmartGraphics files
21 | *.ced
22 | *.sgd
23 | *.sgd_
24 | *.sgd2
25 | *.bak
26 |
27 | # Project databases
28 | ProjDabs.ldb
29 | ProjDabs.mdb
30 |
31 | # SIMPL+ build
32 | SPlsWork/
33 |
34 | # XPanel
35 | *.xexe/
36 | *.xweb/
37 | *.prj/
38 | *.c3prj/
39 |
--------------------------------------------------------------------------------
/Cisco Touch 10/KL Cisco Touch 10 DPad v1.1.umc:
--------------------------------------------------------------------------------
1 | [
2 | Version=1
3 | ]
4 | [
5 | ObjTp=FSgntr
6 | Sgntr=UserMacro
7 | RelVrs=4.14.21
8 | IntStrVrs=2
9 | MinSMWVrs=2.07.04
10 | MinTIOVrs=0
11 | SavedBy=SMW4.11.06
12 | ]
13 | [
14 | ObjTp=Hd
15 | S0Nd=1
16 | S1Nd=2
17 | SLNd=3
18 | PrNm=KL Cisco Touch 10 DPad v1.1.umc
19 | DbVr=202.00.001.00
20 | DvcDbVr=200.20.002.00
21 | PgmNm=Kiel Lofstrand
22 | DlrNm=C1
23 | Incl=362,378,380,405,407,408,409,478,522,537,554,586,590,611,624,767,830,883,1032,1062,1079,1134,1157,1199,1220,1222,1299,1348,1439,1472,1473,1499,1746,1803,1975,2229,2354,2514,2523,2532,3708,3902,3912,3918,3925,1766,2574,2651,2817,2886,2938,2947,3181,3197,3233,3710,3735,3736,3816,3888,4176,4308,4476,4591,4769,5360,5388,5420,5455,5497,5699,5813,5919,6150,6161,
24 | McNm=KL Cisco Touch 10 DPad v1.0
25 | SmVr=1120
26 | DvVr=1120
27 | TpN1=1
28 | TpN2=2
29 | TpN3=3
30 | TpN4=4
31 | TpN5=5
32 | APg=1
33 | FltTmp=1
34 | FpCS=0
35 | EnType=0
36 | ZeroOnIoOk=0
37 | SGMethod=1
38 | ]
39 | [
40 | ObjTp=Bk
41 | Nm1=\
42 | Sx1=0
43 | Sy1=0
44 | Mx1=0
45 | ]
46 | [
47 | ObjTp=Bw
48 | H=1
49 | Lx=0
50 | Ly=0
51 | Rx=1118
52 | Ry=915
53 | Xm=-1
54 | Ym=-1
55 | SH=9
56 | Z=100
57 | Ht=1
58 | Hi=2
59 | ]
60 | [
61 | ObjTp=Symbol
62 | Name=KL Cisco Touch 10 DPad v1.1
63 | Code=1
64 | SmplCName=KL Cisco Touch 10 DPad v1.1.umc
65 | Smpl-C=3
66 | CompilerTimePrecision=Single_Or_Double_Precision
67 | Exclusions=1,19,20,21,88,89,167,168,179,213,214,215,216,217,225,226,248,249,266,267,310,718,756,854,
68 | SMWRev=2.07.04
69 | TIORev=0
70 | S+=1
71 | HelpID=1055
72 | APg=1
73 | StdCmd=0
74 | FltTmp=1
75 | FpCS=0
76 | NumFixedInputs=7
77 | NumFixedOutputs=7
78 | NumFixedParams=1
79 | MinVariableInputs=0
80 | MinVariableInputsList2=0
81 | MinVariableInputsList3=0
82 | MinVariableOutputs=0
83 | MinVariableOutputsList2=0
84 | MinVariableOutputsList3=0
85 | MinVariableParams=0
86 | SymbolTree=46
87 | UserSymTreeName=Touch 10
88 | InputSigType1=Digital|Analog|Serial|String
89 | InputSigType2=Digital|Analog|Serial|String
90 | InputSigType3=Digital|Analog|Serial|String
91 | InputSigType4=Digital|Analog|Serial|String
92 | InputSigType5=Digital|Analog|Serial|String
93 | InputSigType6=Digital|Analog|Serial|String
94 | InputSigType7=Serial
95 | OutputSigType1=Digital
96 | OutputSigType2=Digital
97 | OutputSigType3=Digital
98 | OutputSigType4=Digital
99 | OutputSigType5=Digital
100 | OutputSigType6=Digital|Analog|Serial|String
101 | OutputSigType7=Serial
102 | ParamSigType1=String
103 | InputCue1=[~UNUSED~]
104 | InputCue2=[~UNUSED~]
105 | InputCue3=[~UNUSED~]
106 | InputCue4=[~UNUSED~]
107 | InputCue5=[~UNUSED~]
108 | InputCue6=[~UNUSED~]
109 | InputCue7=From_Processor
110 | OutputCue1=Up
111 | OutputCue2=Down
112 | OutputCue3=Left
113 | OutputCue4=Right
114 | OutputCue5=Center
115 | OutputCue6=[~UNUSED~]
116 | OutputCue7=To_Processor
117 | ParamCue1=Widget ID
118 | FileName=KL Cisco Touch 10 DPad v1.1.umc
119 | EncodingType=0
120 | ZeroOnIoOk=0
121 | ]
122 | [
123 | ObjTp=Sm
124 | H=1
125 | SmC=157
126 | Nm=Central Control Modules
127 | ObjVer=1
128 | CF=2
129 | n1I=1
130 | n1O=1
131 | mI=1
132 | mO=1
133 | tO=1
134 | mP=1
135 | P1=
136 | ]
137 | [
138 | ObjTp=Sm
139 | H=2
140 | SmC=157
141 | Nm=Network Modules
142 | ObjVer=1
143 | CF=2
144 | n1I=1
145 | n1O=1
146 | mI=1
147 | mO=1
148 | tO=1
149 | mP=1
150 | P1=
151 | ]
152 | [
153 | ObjTp=Sm
154 | H=3
155 | SmC=157
156 | Nm=Ethernet
157 | ObjVer=1
158 | CF=2
159 | n1I=1
160 | n1O=1
161 | mI=1
162 | mO=1
163 | tO=1
164 | mP=1
165 | P1=
166 | ]
167 | [
168 | ObjTp=Sm
169 | H=4
170 | SmC=156
171 | Nm=Logic
172 | ObjVer=1
173 | CF=2
174 | mC=2
175 | C1=9
176 | C2=8
177 | ]
178 | [
179 | ObjTp=Sm
180 | H=5
181 | SmC=157
182 | Nm=DefineArguments
183 | ObjVer=1
184 | CF=2
185 | n1I=1
186 | n1O=1
187 | mC=1
188 | C1=6
189 | mI=1
190 | mO=1
191 | tO=1
192 | mP=1
193 | P1=
194 | ]
195 | [
196 | ObjTp=Sm
197 | H=6
198 | SmC=55
199 | Nm=Argument Definition
200 | ObjVer=1
201 | PrH=5
202 | CF=2
203 | n1I=7
204 | n1O=7
205 | mI=7
206 | I1=9
207 | I2=9
208 | I3=9
209 | I4=9
210 | I5=9
211 | I6=9
212 | I7=11
213 | mO=7
214 | tO=7
215 | O1=4
216 | O2=5
217 | O3=6
218 | O4=7
219 | O5=8
220 | O6=9
221 | O7=10
222 | mP=1
223 | P1=Widget ID
224 | ]
225 | [
226 | ObjTp=Sm
227 | H=8
228 | SmC=38
229 | Nm=Analog Equate
230 | ObjVer=1
231 | PrH=4
232 | CF=2
233 | n1I=2
234 | n1O=5
235 | mI=2
236 | I1=12
237 | mO=5
238 | tO=5
239 | O1=4
240 | O2=5
241 | O3=6
242 | O4=7
243 | O5=8
244 | mP=5
245 | P1=1d
246 | P2=2d
247 | P3=3d
248 | P4=4d
249 | P5=5d
250 | ]
251 | [
252 | ObjTp=Sm
253 | H=9
254 | SmC=103
255 | Nm=KL Cisco Touch 10 Group v1.1.usp
256 | ObjVer=1
257 | PrH=4
258 | CF=2
259 | n2I=2
260 | mI=2
261 | I1=13
262 | I2=11
263 | mO=2
264 | tO=2
265 | O1=12
266 | O2=10
267 | mP=7
268 | P1=
269 | P2=#Widget ID
270 | P3=up
271 | P4=down
272 | P5=left
273 | P6=right
274 | P7=center
275 | ]
276 | [
277 | ObjTp=Sg
278 | H=4
279 | Nm=Up
280 | ]
281 | [
282 | ObjTp=Sg
283 | H=5
284 | Nm=Down
285 | ]
286 | [
287 | ObjTp=Sg
288 | H=6
289 | Nm=Left
290 | ]
291 | [
292 | ObjTp=Sg
293 | H=7
294 | Nm=Right
295 | ]
296 | [
297 | ObjTp=Sg
298 | H=8
299 | Nm=Center
300 | ]
301 | [
302 | ObjTp=Sg
303 | H=9
304 | Nm=[~UNUSED~]
305 | SgTp=31
306 | ]
307 | [
308 | ObjTp=Sg
309 | H=10
310 | Nm=To_Processor
311 | SgTp=4
312 | ]
313 | [
314 | ObjTp=Sg
315 | H=11
316 | Nm=From_Processor
317 | SgTp=4
318 | ]
319 | [
320 | ObjTp=Sg
321 | H=12
322 | Nm=dpad_sel
323 | SgTp=2
324 | ]
325 | [
326 | ObjTp=Sg
327 | H=13
328 | Nm=//__analog_reserved__
329 | SgTp=2
330 | ]
331 |
--------------------------------------------------------------------------------
/Cisco Touch 10/KL Cisco Touch 10 Group v1.1.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.05.01
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,718,756,854,
18 | Exclusions_CDS=
19 | Inclusions_CDS=5,6,7
20 | Name=KL Cisco Touch 10 Group v1.1
21 | SmplCName=KL Cisco Touch 10 Group v1.1.usp
22 | Code=1
23 | SysRev5=4.000
24 | SMWRev=2.02.05
25 | InputList2Cue1=Select_Fb
26 | InputList2SigType1=Analog
27 | InputList2Cue2=From_Processor
28 | InputList2SigType2=Serial
29 | OutputList2Cue1=Select
30 | OutputList2SigType1=Analog
31 | OutputList2Cue2=To_Processor
32 | OutputList2SigType2=Serial
33 | ParamCue1=[Reference Name]
34 | ParamCue2=Widget_ID
35 | ParamSigType2=String
36 | ParamCue3=Item_ID[1]
37 | ParamSigType3=String
38 | ParamCue4=Item_ID[2]
39 | ParamSigType4=String
40 | ParamCue5=Item_ID[3]
41 | ParamSigType5=String
42 | ParamCue6=Item_ID[4]
43 | ParamSigType6=String
44 | ParamCue7=Item_ID[5]
45 | ParamSigType7=String
46 | MinVariableInputs=0
47 | MaxVariableInputs=0
48 | MinVariableInputsList2=2
49 | MaxVariableInputsList2=2
50 | MinVariableOutputs=0
51 | MaxVariableOutputs=0
52 | MinVariableOutputsList2=2
53 | MaxVariableOutputsList2=2
54 | MinVariableParams=2
55 | MaxVariableParams=6
56 | Expand=expand_separately
57 | Expand2=expand_separately
58 | ProgramTree=Logic
59 | SymbolTree=32
60 | Hint=
61 | PdfHelp=
62 | HelpID=
63 | Render=4
64 | Smpl-C=16
65 | CompilerCode=-48
66 | CompilerParamCode=27
67 | CompilerParamCode5=14
68 | NumFixedParams=1
69 | Pp1=1
70 | Pp2=2
71 | Pp3=3
72 | Pp4=4
73 | Pp5=5
74 | Pp6=6
75 | Pp7=7
76 | MPp=7
77 | NVStorage=10
78 | ParamSigType1=String
79 | SmplCInputCue1=o#
80 | SmplCOutputCue1=i#
81 | SmplCInputList2Cue1=an#
82 | SmplCOutputList2Cue1=ai#
83 | SPlus2CompiledName=S2_KL_Cisco_Touch_10_Group_v1_1
84 | SymJam=NonExclusive
85 | FileName=KL Cisco Touch 10 Group v1.1.ush
86 | SIMPLPlusModuleEncoding=0
87 | [END]
88 | [BEGIN]
89 | ObjTp=Dp
90 | H=1
91 | Tp=1
92 | NoS=False
93 | [END]
94 | [BEGIN]
95 | ObjTp=Dp
96 | H=2
97 | Tp=1
98 | HD=False
99 | NoS=False
100 | VVS=0
101 | [END]
102 | [BEGIN]
103 | ObjTp=Dp
104 | H=3
105 | Tp=1
106 | HD=False
107 | NoS=False
108 | VVS=0
109 | [END]
110 | [BEGIN]
111 | ObjTp=Dp
112 | H=4
113 | Tp=1
114 | HD=False
115 | NoS=False
116 | VVS=0
117 | [END]
118 | [BEGIN]
119 | ObjTp=Dp
120 | H=5
121 | Tp=1
122 | HD=False
123 | NoS=False
124 | VVS=0
125 | [END]
126 | [BEGIN]
127 | ObjTp=Dp
128 | H=6
129 | Tp=1
130 | HD=False
131 | NoS=False
132 | VVS=0
133 | [END]
134 | [BEGIN]
135 | ObjTp=Dp
136 | H=7
137 | Tp=1
138 | HD=False
139 | NoS=False
140 | VVS=0
141 | [END]
142 |
--------------------------------------------------------------------------------
/Cisco Touch 10/KL Cisco Touch 10 Group v1.1.usp:
--------------------------------------------------------------------------------
1 | // Dealer Name: ConvergeOne
2 | // System Name:
3 | // System Number:
4 | // Programmer: Kiel Lofstrand
5 | // Comments:
6 |
7 | // --- Compiler Directives --------------------------------------------------
8 | // #CATEGORY ""
9 | // #DIGITAL_EXPAND
10 | // #ANALOG_SERIAL_EXPAND
11 |
12 | #DEFAULT_VOLATILE
13 | #ENABLE_STACK_CHECKING
14 | // #ENABLE_TRACE
15 | // #PRINT_TO_TRACE
16 |
17 | #DEFINE_CONSTANT MAX_TEXT_LEN 200
18 | #DEFINE_CONSTANT MAX_ID_LEN 50
19 | #DEFINE_CONSTANT MAX_PARAM_LEN 50
20 | #DEFINE_CONSTANT MAX_ITEMS 5
21 |
22 | // #USER_SIMPLSHARP_LIBRARY "SIMPLSharpLibrary1"
23 |
24 | // --- Inputs ---------------------------------------------------------------
25 |
26 | ANALOG_INPUT Select_Fb;
27 |
28 | STRING_INPUT From_Processor[MAX_TEXT_LEN];
29 |
30 | // --- Outputs --------------------------------------------------------------
31 |
32 | ANALOG_OUTPUT Select;
33 |
34 | STRING_OUTPUT To_Processor;
35 |
36 | // --- Sockets --------------------------------------------------------------
37 |
38 | // --- Parameters -----------------------------------------------------------
39 |
40 | STRING_PARAMETER Widget_ID[MAX_ID_LEN];
41 | STRING_PARAMETER Item_ID[MAX_ITEMS][MAX_ID_LEN];
42 |
43 | // --- Global Variables -----------------------------------------------------
44 |
45 | // --- Functions ------------------------------------------------------------
46 |
47 | // --- Events ---------------------------------------------------------------
48 |
49 | CHANGE Select_Fb
50 | {
51 | If (Select_Fb = 0)
52 | {
53 | MakeString(To_Processor, "xcommand UserInterface Extensions Widget UnSetValue WidgetID: \x22%s\x22", Widget_ID);
54 | }
55 | Else
56 | {
57 | If (Len(Item_ID[Select_Fb]) > 0)
58 | {
59 | MakeString(To_Processor, "xcommand UserInterface Extensions Widget SetValue WidgetID: \x22%s\x22 Value: \x22%s\x22", Widget_ID, Item_ID[Select_Fb]);
60 | }
61 | }
62 | }
63 |
64 | CHANGE From_Processor
65 | {
66 | INTEGER i;
67 | STRING temp[MAX_TEXT_LEN];
68 |
69 | If (From_Processor = "< Send ID >")
70 | {
71 | MakeString(To_Processor, "< %s >", Widget_ID);
72 | }
73 | Else
74 | {
75 | If (Find("Released", From_Processor))
76 | {
77 | Select = 0;
78 | }
79 | Else If (Find("Pressed", From_Processor))
80 | {
81 | temp = Remove(Widget_ID, From_Processor);
82 |
83 | For (i = 1 To MAX_ITEMS)
84 | {
85 | If (Len(Item_ID[i]) > 0)
86 | {
87 | If (Find(Item_ID[i], From_Processor))
88 | {
89 | Select = i;
90 | Break;
91 | }
92 | }
93 | }
94 | }
95 | }
96 | }
97 |
98 | // --- Main -----------------------------------------------------------------
99 |
100 | FUNCTION Main()
101 | {
102 | WaitForInitializationComplete();
103 | }
104 |
105 |
--------------------------------------------------------------------------------
/Cisco Touch 10/KL Cisco Touch 10 Group v1.2.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.05.01
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,718,756,854,
18 | Exclusions_CDS=
19 | Inclusions_CDS=5,6,7
20 | Name=KL Cisco Touch 10 Group v1.2
21 | SmplCName=KL Cisco Touch 10 Group v1.2.usp
22 | Code=1
23 | SysRev5=4.000
24 | SMWRev=2.02.05
25 | InputList2Cue1=Select_Fb
26 | InputList2SigType1=Analog
27 | InputList2Cue2=From_Processor
28 | InputList2SigType2=Serial
29 | OutputList2Cue1=Select
30 | OutputList2SigType1=Analog
31 | OutputList2Cue2=To_Processor
32 | OutputList2SigType2=Serial
33 | ParamCue1=[Reference Name]
34 | ParamCue2=Widget_ID
35 | ParamSigType2=String
36 | ParamCue3=Clear_Value_On_Release
37 | ParamSigType3=Constant
38 | ParamCue4=Item_ID[1]
39 | ParamSigType4=String
40 | ParamCue5=Item_ID[2]
41 | ParamSigType5=String
42 | ParamCue6=Item_ID[3]
43 | ParamSigType6=String
44 | ParamCue7=Item_ID[4]
45 | ParamSigType7=String
46 | ParamCue8=Item_ID[5]
47 | ParamSigType8=String
48 | ParamCue9=Item_ID[6]
49 | ParamSigType9=String
50 | ParamCue10=Item_ID[7]
51 | ParamSigType10=String
52 | ParamCue11=Item_ID[8]
53 | ParamSigType11=String
54 | ParamCue12=Item_ID[9]
55 | ParamSigType12=String
56 | ParamCue13=Item_ID[10]
57 | ParamSigType13=String
58 | ParamCue14=Item_ID[11]
59 | ParamSigType14=String
60 | ParamCue15=Item_ID[12]
61 | ParamSigType15=String
62 | ParamCue16=Item_ID[13]
63 | ParamSigType16=String
64 | ParamCue17=Item_ID[14]
65 | ParamSigType17=String
66 | ParamCue18=Item_ID[15]
67 | ParamSigType18=String
68 | ParamCue19=Item_ID[16]
69 | ParamSigType19=String
70 | MinVariableInputs=0
71 | MaxVariableInputs=0
72 | MinVariableInputsList2=2
73 | MaxVariableInputsList2=2
74 | MinVariableOutputs=0
75 | MaxVariableOutputs=0
76 | MinVariableOutputsList2=2
77 | MaxVariableOutputsList2=2
78 | MinVariableParams=3
79 | MaxVariableParams=18
80 | Expand=expand_separately
81 | Expand2=expand_separately
82 | ProgramTree=Logic
83 | SymbolTree=32
84 | Hint=
85 | PdfHelp=
86 | HelpID=
87 | Render=4
88 | Smpl-C=16
89 | CompilerCode=-48
90 | CompilerParamCode=27
91 | CompilerParamCode5=14
92 | NumFixedParams=1
93 | Pp1=1
94 | Pp2=2
95 | Pp3=3
96 | Pp4=4
97 | Pp5=5
98 | Pp6=6
99 | Pp7=7
100 | Pp8=8
101 | Pp9=9
102 | Pp10=10
103 | Pp11=11
104 | Pp12=12
105 | Pp13=13
106 | Pp14=14
107 | Pp15=15
108 | Pp16=16
109 | Pp17=17
110 | Pp18=18
111 | Pp19=19
112 | MPp=19
113 | NVStorage=10
114 | ParamSigType1=String
115 | SmplCInputCue1=o#
116 | SmplCOutputCue1=i#
117 | SmplCInputList2Cue1=an#
118 | SmplCOutputList2Cue1=ai#
119 | SPlus2CompiledName=S2_KL_Cisco_Touch_10_Group_v1_2
120 | SymJam=NonExclusive
121 | FileName=KL Cisco Touch 10 Group v1.2.ush
122 | SIMPLPlusModuleEncoding=0
123 | [END]
124 | [BEGIN]
125 | ObjTp=Dp
126 | H=1
127 | Tp=1
128 | NoS=False
129 | [END]
130 | [BEGIN]
131 | ObjTp=Dp
132 | H=2
133 | Tp=1
134 | HD=False
135 | NoS=False
136 | VVS=0
137 | [END]
138 | [BEGIN]
139 | ObjTp=Dp
140 | H=3
141 | Tp=1
142 | HD=False
143 | Sgn=0
144 | Lng=False
145 | NF=63
146 | NoS=True
147 | DNF=1
148 | VVS=0
149 | [END]
150 | [BEGIN]
151 | ObjTp=Dp
152 | H=4
153 | Tp=1
154 | HD=False
155 | NoS=False
156 | VVS=0
157 | [END]
158 | [BEGIN]
159 | ObjTp=Dp
160 | H=5
161 | Tp=1
162 | HD=False
163 | NoS=False
164 | VVS=0
165 | [END]
166 | [BEGIN]
167 | ObjTp=Dp
168 | H=6
169 | Tp=1
170 | HD=False
171 | NoS=False
172 | VVS=0
173 | [END]
174 | [BEGIN]
175 | ObjTp=Dp
176 | H=7
177 | Tp=1
178 | HD=False
179 | NoS=False
180 | VVS=0
181 | [END]
182 | [BEGIN]
183 | ObjTp=Dp
184 | H=8
185 | Tp=1
186 | HD=False
187 | NoS=False
188 | VVS=0
189 | [END]
190 | [BEGIN]
191 | ObjTp=Dp
192 | H=9
193 | Tp=1
194 | HD=False
195 | NoS=False
196 | VVS=0
197 | [END]
198 | [BEGIN]
199 | ObjTp=Dp
200 | H=10
201 | Tp=1
202 | HD=False
203 | NoS=False
204 | VVS=0
205 | [END]
206 | [BEGIN]
207 | ObjTp=Dp
208 | H=11
209 | Tp=1
210 | HD=False
211 | NoS=False
212 | VVS=0
213 | [END]
214 | [BEGIN]
215 | ObjTp=Dp
216 | H=12
217 | Tp=1
218 | HD=False
219 | NoS=False
220 | VVS=0
221 | [END]
222 | [BEGIN]
223 | ObjTp=Dp
224 | H=13
225 | Tp=1
226 | HD=False
227 | NoS=False
228 | VVS=0
229 | [END]
230 | [BEGIN]
231 | ObjTp=Dp
232 | H=14
233 | Tp=1
234 | HD=False
235 | NoS=False
236 | VVS=0
237 | [END]
238 | [BEGIN]
239 | ObjTp=Dp
240 | H=15
241 | Tp=1
242 | HD=False
243 | NoS=False
244 | VVS=0
245 | [END]
246 | [BEGIN]
247 | ObjTp=Dp
248 | H=16
249 | Tp=1
250 | HD=False
251 | NoS=False
252 | VVS=0
253 | [END]
254 | [BEGIN]
255 | ObjTp=Dp
256 | H=17
257 | Tp=1
258 | HD=False
259 | NoS=False
260 | VVS=0
261 | [END]
262 | [BEGIN]
263 | ObjTp=Dp
264 | H=18
265 | Tp=1
266 | HD=False
267 | NoS=False
268 | VVS=0
269 | [END]
270 | [BEGIN]
271 | ObjTp=Dp
272 | H=19
273 | Tp=1
274 | HD=False
275 | NoS=False
276 | VVS=0
277 | [END]
278 |
--------------------------------------------------------------------------------
/Cisco Touch 10/KL Cisco Touch 10 Group v1.2.usp:
--------------------------------------------------------------------------------
1 | // Dealer Name: ConvergeOne
2 | // System Name:
3 | // System Number:
4 | // Programmer: Kiel Lofstrand
5 | // Comments:
6 |
7 | // --- Compiler Directives --------------------------------------------------
8 | // #CATEGORY ""
9 | // #DIGITAL_EXPAND
10 | // #ANALOG_SERIAL_EXPAND
11 |
12 | #DEFAULT_VOLATILE
13 | #ENABLE_STACK_CHECKING
14 | // #ENABLE_TRACE
15 | // #PRINT_TO_TRACE
16 |
17 | #DEFINE_CONSTANT MAX_TEXT_LEN 200
18 | #DEFINE_CONSTANT MAX_ID_LEN 50
19 | #DEFINE_CONSTANT MAX_PARAM_LEN 50
20 | #DEFINE_CONSTANT MAX_ITEMS 16
21 |
22 | // #USER_SIMPLSHARP_LIBRARY "SIMPLSharpLibrary1"
23 |
24 | // --- Inputs ---------------------------------------------------------------
25 |
26 | ANALOG_INPUT Select_Fb;
27 |
28 | STRING_INPUT From_Processor[MAX_TEXT_LEN];
29 |
30 | // --- Outputs --------------------------------------------------------------
31 |
32 | ANALOG_OUTPUT Select;
33 |
34 | STRING_OUTPUT To_Processor;
35 |
36 | // --- Sockets --------------------------------------------------------------
37 |
38 | // --- Parameters -----------------------------------------------------------
39 |
40 | STRING_PARAMETER Widget_ID[MAX_ID_LEN];
41 | INTEGER_PARAMETER Clear_Value_On_Release;
42 |
43 | STRING_PARAMETER Item_ID[MAX_ITEMS][MAX_ID_LEN];
44 |
45 | // --- Global Variables -----------------------------------------------------
46 |
47 | // --- Functions ------------------------------------------------------------
48 |
49 | // --- Events ---------------------------------------------------------------
50 |
51 | CHANGE Select_Fb
52 | {
53 | If (Select_Fb = 0)
54 | {
55 | MakeString(To_Processor, "xcommand UserInterface Extensions Widget UnSetValue WidgetID: \x22%s\x22", Widget_ID);
56 | }
57 | Else
58 | {
59 | If (Len(Item_ID[Select_Fb]) > 0)
60 | {
61 | MakeString(To_Processor, "xcommand UserInterface Extensions Widget SetValue WidgetID: \x22%s\x22 Value: \x22%s\x22", Widget_ID, Item_ID[Select_Fb]);
62 | }
63 | }
64 | }
65 |
66 | CHANGE From_Processor
67 | {
68 | INTEGER i;
69 | STRING temp[MAX_TEXT_LEN];
70 |
71 | If (From_Processor = "< Send ID >")
72 | {
73 | MakeString(To_Processor, "< %s >", Widget_ID);
74 | }
75 | Else
76 | {
77 | If (Find("Released", From_Processor))
78 | {
79 | Select = 0;
80 |
81 | If (Clear_Value_On_Release = 1)
82 | {
83 | MakeString(To_Processor, "xcommand UserInterface Extensions Widget UnsetValue WidgetID: \x22%s\x22", Widget_ID);
84 | }
85 | }
86 | Else If (Find("Pressed", From_Processor))
87 | {
88 | temp = Remove(Widget_ID, From_Processor);
89 |
90 | For (i = 1 To MAX_ITEMS)
91 | {
92 | If (Len(Item_ID[i]) > 0)
93 | {
94 | If (Find(Item_ID[i], From_Processor))
95 | {
96 | Select = i;
97 | Break;
98 | }
99 | }
100 | }
101 | }
102 | }
103 | }
104 |
105 | // --- Main -----------------------------------------------------------------
106 |
107 | FUNCTION Main()
108 | {
109 | WaitForInitializationComplete();
110 | }
111 |
112 |
--------------------------------------------------------------------------------
/Cisco Touch 10/KL Cisco Touch 10 Processor v1.0.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.04.01
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,718,756,854,6114,6136,6423,
18 | Exclusions_CDS=5
19 | Inclusions_CDS=6
20 | Name=KL Cisco Touch 10 Processor v1.0
21 | SmplCName=KL Cisco Touch 10 Processor v1.0.usp
22 | Code=1
23 | SysRev5=4.006
24 | SMWRev=3.00.00
25 | InputCue1=Initialize
26 | InputSigType1=Digital
27 | InputList2Cue1=From_System_Module
28 | InputList2SigType1=Serial
29 | InputList2Cue2=From_Widget_Module[#]
30 | InputList2SigType2=Serial
31 | OutputList2Cue1=To_System_Module
32 | OutputList2SigType1=Serial
33 | OutputList2Cue2=To_Widget_Module[#]
34 | OutputList2SigType2=Serial
35 | ParamCue1=[Reference Name]
36 | MinVariableInputs=1
37 | MaxVariableInputs=1
38 | MinVariableInputsList2=2
39 | MaxVariableInputsList2=101
40 | MinVariableOutputs=0
41 | MaxVariableOutputs=0
42 | MinVariableOutputsList2=2
43 | MaxVariableOutputsList2=101
44 | MinVariableParams=0
45 | MaxVariableParams=0
46 | Expand=expand_separately
47 | Expand2=expand_separately
48 | ProgramTree=Logic
49 | SymbolTree=32
50 | Hint=
51 | PdfHelp=
52 | HelpID=
53 | Render=4
54 | Smpl-C=16
55 | CompilerCode=-48
56 | CompilerParamCode=27
57 | CompilerParamCode5=14
58 | NumFixedParams=1
59 | Pp1=1
60 | MPp=1
61 | NVStorage=10
62 | ParamSigType1=String
63 | SmplCInputCue1=o#
64 | SmplCOutputCue1=i#
65 | SmplCInputList2Cue1=an#
66 | SmplCOutputList2Cue1=ai#
67 | SPlus2CompiledName=S2_KL_Cisco_Touch_10_Processor_v1_0
68 | SymJam=NonExclusive
69 | FileName=KL Cisco Touch 10 Processor v1.0.ush
70 | SIMPLPlusModuleEncoding=0
71 | [END]
72 | [BEGIN]
73 | ObjTp=Dp
74 | H=1
75 | Tp=1
76 | NoS=False
77 | [END]
78 |
--------------------------------------------------------------------------------
/Cisco Touch 10/KL Cisco Touch 10 Processor v1.0.usp:
--------------------------------------------------------------------------------
1 | // Dealer Name: ConvergeOne
2 | // System Name:
3 | // System Number:
4 | // Programmer: Kiel Lofstrand
5 | // Comments:
6 |
7 | // --- Compiler Directives --------------------------------------------------
8 | // #CATEGORY ""
9 | // #DIGITAL_EXPAND
10 | // #ANALOG_SERIAL_EXPAND
11 |
12 | #DEFAULT_VOLATILE
13 | #ENABLE_STACK_CHECKING
14 | // #ENABLE_TRACE
15 | // #PRINT_TO_TRACE
16 |
17 | #DEFINE_CONSTANT MAX_TEXT_LEN 200
18 | #DEFINE_CONSTANT MAX_MODULES 100
19 | #DEFINE_CONSTANT MAX_ID_LEN 50
20 |
21 | // #USER_SIMPLSHARP_LIBRARY "SIMPLSharpLibrary1"
22 |
23 | // --- Inputs ---------------------------------------------------------------
24 |
25 | DIGITAL_INPUT Initialize;
26 | STRING_INPUT From_System_Module[MAX_TEXT_LEN];
27 |
28 | STRING_INPUT From_Widget_Module[MAX_MODULES][MAX_TEXT_LEN];
29 |
30 | // --- Outputs --------------------------------------------------------------
31 |
32 | STRING_OUTPUT To_System_Module;
33 |
34 | STRING_OUTPUT To_Widget_Module[MAX_MODULES];
35 |
36 | // --- Sockets --------------------------------------------------------------
37 |
38 | // TCP_CLIENT
39 | // TCP_SERVER
40 | // UDP_SOCKET
41 |
42 | // --- Parameters -----------------------------------------------------------
43 |
44 | // INTEGER_PARAMETER
45 | // SIGNED_INTEGER_PARAMETER
46 | // LONG_INTEGER_PARAMETER
47 | // SIGNED_LONG_INTEGER_PARAMETER
48 | // STRING_PARAMETER
49 |
50 | // --- Global Variables -----------------------------------------------------
51 |
52 | STRING gsWidgetID[MAX_MODULES][MAX_ID_LEN];
53 |
54 | // --- Functions ------------------------------------------------------------
55 |
56 | STRING_FUNCTION Strip (STRING s)
57 | {
58 | INTEGER i;
59 | INTEGER j;
60 |
61 | // Look for first printable ASCII character
62 | For (i = 1 To Len(s))
63 | {
64 | If (Byte(s, i) > 32)
65 | Break;
66 | }
67 |
68 | // Look for last printable ASCII character
69 | For (j = Len(s) To 1 Step -1)
70 | {
71 | If (Byte(s, j) > 32)
72 | Break;
73 | }
74 |
75 | // If our string was " My Name \r":
76 | // i = 4
77 | // j = 10
78 | // j - i = 6 + 1 = 7
79 | // Mid() = "My Name"
80 | Return(Mid(s, i, j - i + 1));
81 | }
82 |
83 | // --- Events ---------------------------------------------------------------
84 |
85 | THREADSAFE PUSH Initialize
86 | {
87 | INTEGER i;
88 |
89 | For (i = 1 To MAX_MODULES)
90 | {
91 | // Only process modules with a defined signal
92 | If (IsSignalDefined(To_Widget_Module[i]))
93 | {
94 | MakeString(To_Widget_Module[i], "< Send ID >");
95 | ProcessLogic();
96 | }
97 | }
98 | }
99 |
100 | CHANGE From_System_Module
101 | {
102 | INTEGER i;
103 |
104 | For (i = 1 To MAX_MODULES)
105 | {
106 | // Duplicate IDs will only match the first one registered
107 | If (Find(gsWidgetID[i], From_System_Module))
108 | {
109 | To_Widget_Module[i] = From_System_Module;
110 | Break;
111 | }
112 | }
113 | }
114 |
115 | CHANGE From_Widget_Module
116 | {
117 | INTEGER i;
118 | INTEGER j;
119 | STRING temp[MAX_TEXT_LEN];
120 |
121 | i = GetLastModifiedArrayIndex();
122 |
123 | // Check to see if module is responding with Widget ID
124 | If (Left(From_Widget_Module[i], 1) = "<")
125 | {
126 | j = Find(">", From_Widget_Module[i]);
127 |
128 | If (j > 0)
129 | {
130 | temp = Mid(From_Widget_Module[i], 2, Find(">", From_Widget_Module[i], 2) - 2);
131 | gsWidgetID[i] = Strip(temp);
132 |
133 | Trace("Widget %s is #%d", gsWidgetID[i], i);
134 | }
135 | }
136 | Else
137 | {
138 | // Pass device commands thru
139 | To_System_Module = From_Widget_Module[i];
140 | }
141 | }
142 |
143 | // --- Main -----------------------------------------------------------------
144 |
145 | FUNCTION Main()
146 | {
147 | WaitForInitializationComplete();
148 | }
149 |
150 |
--------------------------------------------------------------------------------
/Cisco Touch 10/KL Cisco Touch 10 System v1.8.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.05.01
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,718,756,854,
18 | Exclusions_CDS=
19 | Inclusions_CDS=5,6,7
20 | Name=KL Cisco Touch 10 System v1.8
21 | SmplCName=KL Cisco Touch 10 System v1.8.usp
22 | Code=1
23 | SysRev5=4.006
24 | SMWRev=3.00.00
25 | InputCue1=Initialize
26 | InputSigType1=Digital
27 | InputCue2=Sleep
28 | InputSigType2=Digital
29 | InputCue3=Wake
30 | InputSigType3=Digital
31 | InputCue4=MicMuteOn
32 | InputSigType4=Digital
33 | InputCue5=MicMuteOff
34 | InputSigType5=Digital
35 | InputList2Cue1=From_Widget_Module
36 | InputList2SigType1=Serial
37 | InputList2Cue2=From_Device
38 | InputList2SigType2=Serial
39 | InputList2Cue3=Source_State[1]
40 | InputList2SigType3=Analog
41 | InputList2Cue4=Source_State[2]
42 | InputList2SigType4=Analog
43 | InputList2Cue5=Source_State[3]
44 | InputList2SigType5=Analog
45 | InputList2Cue6=Source_State[4]
46 | InputList2SigType6=Analog
47 | InputList2Cue7=Source_State[5]
48 | InputList2SigType7=Analog
49 | InputList2Cue8=Source_State[6]
50 | InputList2SigType8=Analog
51 | InputList2Cue9=Source_State[7]
52 | InputList2SigType9=Analog
53 | InputList2Cue10=Source_State[8]
54 | InputList2SigType10=Analog
55 | InputList2Cue11=Source_Name[#]
56 | InputList2SigType11=Serial
57 | OutputList2Cue1=Standby
58 | OutputList2SigType1=Analog
59 | OutputList2Cue2=MicMute
60 | OutputList2SigType2=Analog
61 | OutputList2Cue3=Presenting
62 | OutputList2SigType3=Analog
63 | OutputList2Cue4=Selected_Source
64 | OutputList2SigType4=Analog
65 | OutputList2Cue5=To_Widget_Module
66 | OutputList2SigType5=Serial
67 | OutputList2Cue6=To_Device
68 | OutputList2SigType6=Serial
69 | OutputList2Cue7=Call_Status[#]
70 | OutputList2SigType7=Analog
71 | ParamCue1=[Reference Name]
72 | ParamCue2=Paired_With_Other_Module
73 | ParamSigType2=Constant
74 | ParamCue3=Connector_ID
75 | ParamSigType3=String
76 | ParamCue4=Source_Type[1]
77 | ParamSigType4=String
78 | ParamCue5=Source_Type[2]
79 | ParamSigType5=String
80 | ParamCue6=Source_Type[3]
81 | ParamSigType6=String
82 | ParamCue7=Source_Type[4]
83 | ParamSigType7=String
84 | ParamCue8=Source_Type[5]
85 | ParamSigType8=String
86 | ParamCue9=Source_Type[6]
87 | ParamSigType9=String
88 | ParamCue10=Source_Type[7]
89 | ParamSigType10=String
90 | ParamCue11=Source_Type[8]
91 | ParamSigType11=String
92 | MinVariableInputs=5
93 | MaxVariableInputs=5
94 | MinVariableInputsList2=11
95 | MaxVariableInputsList2=18
96 | MinVariableOutputs=0
97 | MaxVariableOutputs=0
98 | MinVariableOutputsList2=7
99 | MaxVariableOutputsList2=11
100 | MinVariableParams=3
101 | MaxVariableParams=10
102 | Expand=expand_separately
103 | Expand2=expand_separately
104 | ProgramTree=Logic
105 | SymbolTree=32
106 | Hint=
107 | PdfHelp=
108 | HelpID=
109 | Render=4
110 | Smpl-C=16
111 | CompilerCode=-48
112 | CompilerParamCode=27
113 | CompilerParamCode5=14
114 | NumFixedParams=1
115 | Pp1=1
116 | Pp2=2
117 | Pp3=3
118 | Pp4=4
119 | Pp5=5
120 | Pp6=6
121 | Pp7=7
122 | Pp8=8
123 | Pp9=9
124 | Pp10=10
125 | Pp11=11
126 | MPp=11
127 | NVStorage=10
128 | ParamSigType1=String
129 | SmplCInputCue1=o#
130 | SmplCOutputCue1=i#
131 | SmplCInputList2Cue1=an#
132 | SmplCOutputList2Cue1=ai#
133 | SPlus2CompiledName=S2_KL_Cisco_Touch_10_System_v1_8
134 | SymJam=NonExclusive
135 | FileName=KL Cisco Touch 10 System v1.8.ush
136 | SIMPLPlusModuleEncoding=0
137 | [END]
138 | [BEGIN]
139 | ObjTp=Dp
140 | H=1
141 | Tp=1
142 | NoS=False
143 | [END]
144 | [BEGIN]
145 | ObjTp=Dp
146 | H=2
147 | Tp=1
148 | HD=False
149 | Sgn=0
150 | Lng=False
151 | NF=63
152 | NoS=True
153 | DNF=1
154 | VVS=0
155 | [END]
156 | [BEGIN]
157 | ObjTp=Dp
158 | H=3
159 | Tp=1
160 | HD=False
161 | NoS=False
162 | VVS=0
163 | [END]
164 | [BEGIN]
165 | ObjTp=Dp
166 | H=4
167 | Tp=1
168 | HD=False
169 | NoS=False
170 | VVS=0
171 | [END]
172 | [BEGIN]
173 | ObjTp=Dp
174 | H=5
175 | Tp=1
176 | HD=False
177 | NoS=False
178 | VVS=0
179 | [END]
180 | [BEGIN]
181 | ObjTp=Dp
182 | H=6
183 | Tp=1
184 | HD=False
185 | NoS=False
186 | VVS=0
187 | [END]
188 | [BEGIN]
189 | ObjTp=Dp
190 | H=7
191 | Tp=1
192 | HD=False
193 | NoS=False
194 | VVS=0
195 | [END]
196 | [BEGIN]
197 | ObjTp=Dp
198 | H=8
199 | Tp=1
200 | HD=False
201 | NoS=False
202 | VVS=0
203 | [END]
204 | [BEGIN]
205 | ObjTp=Dp
206 | H=9
207 | Tp=1
208 | HD=False
209 | NoS=False
210 | VVS=0
211 | [END]
212 | [BEGIN]
213 | ObjTp=Dp
214 | H=10
215 | Tp=1
216 | HD=False
217 | NoS=False
218 | VVS=0
219 | [END]
220 | [BEGIN]
221 | ObjTp=Dp
222 | H=11
223 | Tp=1
224 | HD=False
225 | NoS=False
226 | VVS=0
227 | [END]
228 |
--------------------------------------------------------------------------------
/Cisco Touch 10/KL Cisco Touch 10 Toggle v1.1.umc:
--------------------------------------------------------------------------------
1 | [
2 | Version=1
3 | ]
4 | [
5 | ObjTp=FSgntr
6 | Sgntr=UserMacro
7 | RelVrs=4.14.21
8 | IntStrVrs=2
9 | MinSMWVrs=2.02.05
10 | MinTIOVrs=0
11 | SavedBy=SMW4.11.06
12 | ]
13 | [
14 | ObjTp=Hd
15 | S0Nd=1
16 | S1Nd=2
17 | SLNd=3
18 | PrNm=KL Cisco Touch 10 Toggle v1.1.umc
19 | DbVr=202.00.001.00
20 | DvcDbVr=200.20.002.00
21 | PgmNm=Kiel Lofstrand
22 | DlrNm=C1
23 | Incl=362,378,380,405,407,408,409,478,522,537,554,586,590,611,624,767,830,883,1032,1062,1079,1134,1157,1199,1220,1222,1299,1348,1439,1472,1473,1499,1746,1803,1975,2229,2354,2514,2523,2532,3708,3902,3912,3918,3925,1766,2574,2651,2817,2886,2938,2947,3181,3197,3233,3710,3735,3736,3816,3888,4176,4308,4476,4591,4769,5360,5388,5420,5455,5497,5699,5813,5919,6150,6161,
24 | McNm=KL Cisco Touch 10 Toggle v1.0
25 | SmVr=1120
26 | DvVr=1120
27 | TpN1=1
28 | TpN2=2
29 | TpN3=3
30 | TpN4=4
31 | TpN5=5
32 | APg=1
33 | FltTmp=1
34 | FpCS=0
35 | EnType=0
36 | ZeroOnIoOk=0
37 | SGMethod=1
38 | ]
39 | [
40 | ObjTp=Bk
41 | Nm1=\
42 | Sx1=0
43 | Sy1=0
44 | Mx1=0
45 | ]
46 | [
47 | ObjTp=Symbol
48 | Name=KL Cisco Touch 10 Toggle v1.1
49 | Code=1
50 | SmplCName=KL Cisco Touch 10 Toggle v1.1.umc
51 | Smpl-C=3
52 | CompilerTimePrecision=Single_Or_Double_Precision
53 | Exclusions=1,19,20,21,88,89,167,168,179,213,214,215,216,217,225,226,248,249,266,267,310,718,756,854,
54 | SMWRev=2.02.05
55 | TIORev=0
56 | S+=1
57 | HelpID=1055
58 | APg=1
59 | StdCmd=0
60 | FltTmp=1
61 | FpCS=0
62 | NumFixedInputs=4
63 | NumFixedOutputs=4
64 | NumFixedParams=1
65 | MinVariableInputs=0
66 | MinVariableInputsList2=0
67 | MinVariableInputsList3=0
68 | MinVariableOutputs=0
69 | MinVariableOutputsList2=0
70 | MinVariableOutputsList3=0
71 | MinVariableParams=0
72 | SymbolTree=46
73 | UserSymTreeName=Touch 10
74 | InputSigType1=Digital
75 | InputSigType2=Digital
76 | InputSigType3=Digital|Analog|Serial|String
77 | InputSigType4=Serial
78 | OutputSigType1=Digital
79 | OutputSigType2=Digital
80 | OutputSigType3=Digital|Analog|Serial|String
81 | OutputSigType4=Serial
82 | ParamSigType1=String
83 | InputCue1=Set
84 | InputCue2=Reset
85 | InputCue3=[~UNUSED~]
86 | InputCue4=From_Processor
87 | OutputCue1=Out
88 | OutputCue2=Out*
89 | OutputCue3=[~UNUSED~]
90 | OutputCue4=To_Processor
91 | ParamCue1=Widget ID
92 | FileName=KL Cisco Touch 10 Toggle v1.1.umc
93 | EncodingType=0
94 | ZeroOnIoOk=0
95 | ]
96 | [
97 | ObjTp=Sm
98 | H=1
99 | SmC=157
100 | Nm=Central Control Modules
101 | ObjVer=1
102 | CF=2
103 | n1I=1
104 | n1O=1
105 | mI=1
106 | mO=1
107 | tO=1
108 | mP=1
109 | P1=
110 | ]
111 | [
112 | ObjTp=Sm
113 | H=2
114 | SmC=157
115 | Nm=Network Modules
116 | ObjVer=1
117 | CF=2
118 | n1I=1
119 | n1O=1
120 | mI=1
121 | mO=1
122 | tO=1
123 | mP=1
124 | P1=
125 | ]
126 | [
127 | ObjTp=Sm
128 | H=3
129 | SmC=157
130 | Nm=Ethernet
131 | ObjVer=1
132 | CF=2
133 | n1I=1
134 | n1O=1
135 | mI=1
136 | mO=1
137 | tO=1
138 | mP=1
139 | P1=
140 | ]
141 | [
142 | ObjTp=Sm
143 | H=4
144 | SmC=156
145 | Nm=Logic
146 | ObjVer=1
147 | CF=2
148 | mC=2
149 | C1=9
150 | C2=8
151 | ]
152 | [
153 | ObjTp=Sm
154 | H=5
155 | SmC=157
156 | Nm=DefineArguments
157 | ObjVer=1
158 | CF=2
159 | n1I=1
160 | n1O=1
161 | mC=1
162 | C1=6
163 | mI=1
164 | mO=1
165 | tO=1
166 | mP=1
167 | P1=
168 | ]
169 | [
170 | ObjTp=Sm
171 | H=6
172 | SmC=55
173 | Nm=Argument Definition
174 | ObjVer=1
175 | PrH=5
176 | CF=2
177 | n1I=4
178 | n1O=4
179 | mI=4
180 | I1=4
181 | I2=5
182 | I3=8
183 | I4=9
184 | mO=4
185 | tO=4
186 | O1=6
187 | O2=7
188 | O3=8
189 | O4=10
190 | mP=1
191 | P1=Widget ID
192 | ]
193 | [
194 | ObjTp=Sm
195 | H=8
196 | SmC=205
197 | Nm=NOT
198 | ObjVer=1
199 | PrH=4
200 | CF=2
201 | n1I=1
202 | n1O=1
203 | mI=1
204 | I1=6
205 | mO=1
206 | tO=1
207 | O1=7
208 | ]
209 | [
210 | ObjTp=Sm
211 | H=9
212 | SmC=103
213 | Nm=KL Cisco Touch 10 Toggle v1.1.usp
214 | ObjVer=1
215 | PrH=4
216 | CF=2
217 | n1I=2
218 | n2I=1
219 | n1O=1
220 | mI=3
221 | I1=4
222 | I2=5
223 | I3=9
224 | mO=2
225 | tO=2
226 | O1=6
227 | O2=10
228 | mP=2
229 | P1=
230 | P2=#Widget ID
231 | ]
232 | [
233 | ObjTp=Sg
234 | H=4
235 | Nm=Set
236 | ]
237 | [
238 | ObjTp=Sg
239 | H=5
240 | Nm=Reset
241 | ]
242 | [
243 | ObjTp=Sg
244 | H=6
245 | Nm=Out
246 | ]
247 | [
248 | ObjTp=Sg
249 | H=7
250 | Nm=Out*
251 | ]
252 | [
253 | ObjTp=Sg
254 | H=8
255 | Nm=[~UNUSED~]
256 | SgTp=31
257 | ]
258 | [
259 | ObjTp=Sg
260 | H=9
261 | Nm=From_Processor
262 | SgTp=4
263 | ]
264 | [
265 | ObjTp=Sg
266 | H=10
267 | Nm=To_Processor
268 | SgTp=4
269 | ]
270 |
--------------------------------------------------------------------------------
/Cisco Touch 10/KL Cisco Touch 10 Toggle v1.1.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.05.01
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,718,756,854,
18 | Exclusions_CDS=
19 | Inclusions_CDS=5,6,7
20 | Name=KL Cisco Touch 10 Toggle v1.1
21 | SmplCName=KL Cisco Touch 10 Toggle v1.1.usp
22 | Code=1
23 | SysRev5=4.000
24 | SMWRev=2.02.05
25 | InputCue1=Tog_Set
26 | InputSigType1=Digital
27 | InputCue2=Tog_Reset
28 | InputSigType2=Digital
29 | OutputCue1=Out
30 | OutputSigType1=Digital
31 | InputList2Cue1=From_Processor
32 | InputList2SigType1=Serial
33 | OutputList2Cue1=To_Processor
34 | OutputList2SigType1=Serial
35 | ParamCue1=[Reference Name]
36 | ParamCue2=Widget_ID
37 | ParamSigType2=String
38 | MinVariableInputs=2
39 | MaxVariableInputs=2
40 | MinVariableInputsList2=1
41 | MaxVariableInputsList2=1
42 | MinVariableOutputs=1
43 | MaxVariableOutputs=1
44 | MinVariableOutputsList2=1
45 | MaxVariableOutputsList2=1
46 | MinVariableParams=1
47 | MaxVariableParams=1
48 | Expand=expand_separately
49 | Expand2=expand_separately
50 | ProgramTree=Logic
51 | SymbolTree=32
52 | Hint=
53 | PdfHelp=
54 | HelpID=
55 | Render=4
56 | Smpl-C=16
57 | CompilerCode=-48
58 | CompilerParamCode=27
59 | CompilerParamCode5=14
60 | NumFixedParams=1
61 | Pp1=1
62 | Pp2=2
63 | MPp=2
64 | NVStorage=10
65 | ParamSigType1=String
66 | SmplCInputCue1=o#
67 | SmplCOutputCue1=i#
68 | SmplCInputList2Cue1=an#
69 | SmplCOutputList2Cue1=ai#
70 | SPlus2CompiledName=S2_KL_Cisco_Touch_10_Toggle_v1_1
71 | SymJam=NonExclusive
72 | FileName=KL Cisco Touch 10 Toggle v1.1.ush
73 | SIMPLPlusModuleEncoding=0
74 | [END]
75 | [BEGIN]
76 | ObjTp=Dp
77 | H=1
78 | Tp=1
79 | NoS=False
80 | [END]
81 | [BEGIN]
82 | ObjTp=Dp
83 | H=2
84 | Tp=1
85 | HD=False
86 | NoS=False
87 | VVS=0
88 | [END]
89 |
--------------------------------------------------------------------------------
/Cisco Touch 10/KL Cisco Touch 10 Toggle v1.1.usp:
--------------------------------------------------------------------------------
1 | // Dealer Name: ConvergeOne
2 | // System Name:
3 | // System Number:
4 | // Programmer: Kiel Lofstrand
5 | // Comments:
6 |
7 | // --- Compiler Directives --------------------------------------------------
8 | // #CATEGORY ""
9 | // #DIGITAL_EXPAND
10 | // #ANALOG_SERIAL_EXPAND
11 |
12 | #DEFAULT_VOLATILE
13 | #ENABLE_STACK_CHECKING
14 | #ENABLE_TRACE
15 | // #PRINT_TO_TRACE
16 |
17 | #DEFINE_CONSTANT MAX_TEXT_LEN 200
18 | #DEFINE_CONSTANT MAX_ID_LEN 50
19 | #DEFINE_CONSTANT MAX_PARAM_LEN 50
20 |
21 | // #USER_SIMPLSHARP_LIBRARY "SIMPLSharpLibrary1"
22 |
23 | // --- Inputs ---------------------------------------------------------------
24 |
25 | DIGITAL_INPUT Tog_Set;
26 | DIGITAL_INPUT Tog_Reset;
27 |
28 | STRING_INPUT From_Processor[MAX_TEXT_LEN];
29 |
30 | // --- Outputs --------------------------------------------------------------
31 |
32 | DIGITAL_OUTPUT Out;
33 |
34 | STRING_OUTPUT To_Processor;
35 |
36 | // --- Sockets --------------------------------------------------------------
37 |
38 | // --- Parameters -----------------------------------------------------------
39 |
40 | STRING_PARAMETER Widget_ID[MAX_ID_LEN];
41 |
42 | // --- Global Variables -----------------------------------------------------
43 |
44 | // --- Functions ------------------------------------------------------------
45 |
46 | // --- Events ---------------------------------------------------------------
47 |
48 | PUSH Tog_Set
49 | {
50 | MakeString(To_Processor, "xcommand UserInterface Extensions Widget SetValue WidgetID: \x22%s\x22 Value: \x22on\x22", Widget_ID);
51 | }
52 |
53 | PUSH Tog_Reset
54 | {
55 | MakeString(To_Processor, "xcommand UserInterface Extensions Widget SetValue WidgetID: \x22%s\x22 Value: \x22off\x22", Widget_ID);
56 | }
57 |
58 | CHANGE From_Processor
59 | {
60 | STRING temp[MAX_TEXT_LEN];
61 |
62 | If (From_Processor = "< Send ID >")
63 | {
64 | MakeString(To_Processor, "< %s >", Widget_ID);
65 | }
66 | Else
67 | {
68 | If (Find("Changed", From_Processor))
69 | {
70 | temp = Remove(Widget_ID, From_Processor);
71 |
72 | If (Find("on", From_Processor))
73 | Out = 1;
74 | Else If (Find("off", From_Processor))
75 | Out = 0;
76 | }
77 | }
78 | }
79 |
80 | // --- Main -----------------------------------------------------------------
81 |
82 | Function Main()
83 | {
84 | WaitForInitializationComplete();
85 | }
86 |
87 |
--------------------------------------------------------------------------------
/Cisco/KL Cisco SX80 Connect v1.0.usp:
--------------------------------------------------------------------------------
1 | /*******************************************************************************************
2 | SIMPL+ Module Information
3 | (Fill in comments below)
4 | *******************************************************************************************/
5 | /*
6 | Dealer Name:
7 | System Name:
8 | System Number:
9 | Programmer:
10 | Comments:
11 | */
12 |
13 | /*******************************************************************************************
14 | Compiler Directives
15 | (Uncomment and declare compiler directives as needed)
16 | *******************************************************************************************/
17 | // #ENABLE_DYNAMIC
18 | // #SYMBOL_NAME ""
19 | // #HINT ""
20 | // #DEFINE_CONSTANT
21 | // #CATEGORY ""
22 | // #PRINT_TO_TRACE
23 | // #DIGITAL_EXPAND
24 | // #ANALOG_SERIAL_EXPAND
25 | // #OUTPUT_SHIFT
26 | // #HELP_PDF_FILE ""
27 | #DEFAULT_VOLATILE
28 | #ENABLE_STACK_CHECKING
29 | #ENABLE_TRACE
30 | // #ENCODING_ASCII
31 | // #ENCODING_UTF16
32 | // #ENCODING_INHERIT_FROM_PARENT
33 | // #ENCODING_INHERIT_FROM_PROGRAM
34 | /*
35 | #HELP_BEGIN
36 | (add additional lines of help lines)
37 | #HELP_END
38 | */
39 |
40 | /*******************************************************************************************
41 | Include Libraries
42 | (Uncomment and include additional libraries as needed)
43 | *******************************************************************************************/
44 | // #CRESTRON_LIBRARY ""
45 | // #USER_LIBRARY ""
46 |
47 | /*******************************************************************************************
48 | DIGITAL, ANALOG and SERIAL INPUTS and OUTPUTS
49 | (Uncomment and declare inputs and outputs as needed)
50 | *******************************************************************************************/
51 | DIGITAL_INPUT Connect;
52 | // ANALOG_INPUT
53 | // STRING_INPUT
54 | BUFFER_INPUT From_Console[255];
55 |
56 | // DIGITAL_OUTPUT
57 | // ANALOG_OUTPUT
58 | STRING_OUTPUT To_Console;
59 |
60 | /*******************************************************************************************
61 | SOCKETS
62 | (Uncomment and define socket definitions as needed)
63 | *******************************************************************************************/
64 | // TCP_CLIENT
65 | // TCP_SERVER
66 | // UDP_SOCKET
67 |
68 | /*******************************************************************************************
69 | Parameters
70 | (Uncomment and declare parameters as needed)
71 | *******************************************************************************************/
72 | // INTEGER_PARAMETER
73 | // SIGNED_INTEGER_PARAMETER
74 | // LONG_INTEGER_PARAMETER
75 | // SIGNED_LONG_INTEGER_PARAMETER
76 | // STRING_PARAMETER
77 |
78 | /*******************************************************************************************
79 | Parameter Properties
80 | (Uncomment and declare parameter properties as needed)
81 | *******************************************************************************************/
82 | /*
83 | #BEGIN_PARAMETER_PROPERTIES parameter_variable, parameter_variable, ...
84 | // propValidUnits = // unitString or unitDecimal|unitHex|unitPercent|unitCharacter|unitTime|unitTicks;
85 | // propDefaultUnit = // unitString, unitDecimal, unitHex, unitPercent, unitCharacter, unitTime or unitTicks;
86 | // propBounds = lower_bound , upper_bound;
87 | // propDefaultValue = ; // or, propDefaultValue = "";
88 | // propList = // { "value" , "label" } , { "value" , "label" } , ... ;
89 | // propShortDescription = "status_bar_hint_text";
90 | // #BEGIN_PROP_FULL_DESCRIPTION line_1... line_2... line_n #END_PROP_FULL_DESCRIPTION
91 | // #BEGIN_PROP_NOTES line_1... line_2... line_n #END_PROP_NOTES
92 | #END_PARAMETER_PROPERTIES
93 | */
94 |
95 | /*******************************************************************************************
96 | Structure Definitions
97 | (Uncomment and define structure definitions as needed)
98 | Note: Be sure to initialize all declared STRING variables as needed
99 | For example, in Function Main: struct.myString = "";
100 | *******************************************************************************************/
101 | /*
102 | STRUCTURE MyStruct1
103 | {
104 | };
105 |
106 | MyStruct1 struct;
107 | */
108 |
109 | /*******************************************************************************************
110 | Global Variables
111 | (Uncomment and declare global variables as needed)
112 | Note: Be sure to initialize all declared STRING variables as needed
113 | For example, in Function Main: myString = "";
114 | *******************************************************************************************/
115 | // INTEGER
116 | // LONG_INTEGER
117 | // SIGNED_INTEGER
118 | // SIGNED_LONG_INTEGER
119 | // STRING
120 |
121 | /*******************************************************************************************
122 | Functions
123 | (Add any additional functions here)
124 | Note: Functions must be physically placed before the location in
125 | the code that calls them.
126 | *******************************************************************************************/
127 | /*
128 | Function MyFunction1()
129 | {
130 | // TODO: Add local variable declarations here
131 |
132 | // TODO: Add code here
133 | }
134 | */
135 |
136 | /*
137 | Integer_Function MyIntFunction1()
138 | {
139 | // TODO: Add local variable declarations here
140 |
141 | // TODO: Add code here
142 |
143 | Return (0);
144 | }
145 | */
146 |
147 | /*
148 | String_Function MyStrFunction1()
149 | {
150 | // TODO: Add local variable declarations here
151 |
152 | // TODO: Add code here
153 |
154 | Return ("");
155 | }
156 | */
157 |
158 | /*******************************************************************************************
159 | Event Handlers
160 | (Uncomment and declare additional event handlers as needed)
161 | *******************************************************************************************/
162 | /*
163 | PUSH input
164 | {
165 | // TODO: Add code here
166 | }
167 | */
168 |
169 | /*
170 | RELEASE input
171 | {
172 | // TODO: Add code here
173 | }
174 | */
175 |
176 | THREADSAFE CHANGE From_Console
177 | {
178 | STRING Temp[255];
179 |
180 | While (Find("\r", From_Console))
181 | {
182 | Temp = Remove("\r", From_Console);
183 |
184 | If (Find("MAC Address", Temp))
185 | {
186 | Temp =
187 | }
188 | }
189 | }
190 |
191 | /*
192 | EVENT
193 | {
194 | // TODO: Add code here
195 | }
196 | */
197 |
198 | /*
199 | SOCKETCONNECT
200 | {
201 | // TODO: Add code here
202 | }
203 | */
204 |
205 | /*
206 | SOCKETDISCONNECT
207 | {
208 | // TODO: Add code here
209 | }
210 | */
211 |
212 | /*
213 | SOCKETRECEIVE
214 | {
215 | // TODO: Add code here
216 | }
217 | */
218 |
219 | /*
220 | SOCKETSTATUS
221 | {
222 | // TODO: Add code here
223 | }
224 | */
225 |
226 | /*******************************************************************************************
227 | Main()
228 | Uncomment and place one-time startup code here
229 | (This code will get called when the system starts up)
230 | *******************************************************************************************/
231 |
232 | Function Main()
233 | {
234 | WaitForInitializationComplete();
235 | To_Console = "est\n";
236 | }
237 |
238 |
239 |
--------------------------------------------------------------------------------
/Cisco/KL Cisco Touch 10 Button v1.0.umc:
--------------------------------------------------------------------------------
1 | [
2 | Version=1
3 | ]
4 | [
5 | ObjTp=FSgntr
6 | Sgntr=UserMacro
7 | RelVrs=4.07.03
8 | IntStrVrs=2
9 | MinSMWVrs=0
10 | MinTIOVrs=0
11 | SavedBy=SMW4.07.03
12 | ]
13 | [
14 | ObjTp=Hd
15 | S0Nd=1
16 | S1Nd=2
17 | SLNd=3
18 | PrNm=KL Cisco Touch 10 Button v1.0.umc
19 | DbVr=63.07.003.00
20 | DvcDbVr=87.00.003.00
21 | PgmNm=Kiel Lofstrand
22 | DlrNm=SPS
23 | Incl=362,378,380,405,407,408,409,478,522,537,554,586,590,611,624,767,830,883,1032,1062,1079,1134,1157,1199,1220,1222,1299,1348,1439,1472,1473,1499,1746,1803,1975,2229,2354,2514,2523,2532,3708,3902,3912,3918,3925,1766,2574,2651,2817,2886,2938,2947,3181,3197,3233,3710,3735,3736,3816,3888,4176,4308,4476,4591,4769,5360,5388,5420,5455,
24 | SmVr=1039
25 | DvVr=1039
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 | SGMethod=1
37 | ]
38 | [
39 | ObjTp=Bk
40 | Nm1=\
41 | Sx1=0
42 | Sy1=0
43 | Mx1=0
44 | ]
45 | [
46 | ObjTp=Bw
47 | H=1
48 | Lx=0
49 | Ly=196
50 | Rx=1591
51 | Ry=954
52 | Xm=-1
53 | Ym=-1
54 | SH=7
55 | Z=100
56 | Ht=3
57 | Hi=5
58 | ]
59 | [
60 | ObjTp=Bw
61 | H=1
62 | Lx=0
63 | Ly=0
64 | Rx=1591
65 | Ry=249
66 | Xm=-1
67 | Ym=-1
68 | SH=6
69 | Z=100
70 | Ht=3
71 | Hi=1
72 | ]
73 | [
74 | ObjTp=Symbol
75 | Name=KL Cisco Touch 10 Button v1.0
76 | Code=1
77 | SmplCName=KL Cisco Touch 10 Button v1.0.umc
78 | Smpl-C=3
79 | CompilerTimePrecision=Single_Or_Double_Precision
80 | SMWRev=0
81 | TIORev=0
82 | HelpID=1055
83 | APg=1
84 | StdCmd=0
85 | FltTmp=1
86 | FpCS=0
87 | NumFixedInputs=4
88 | NumFixedOutputs=4
89 | NumFixedParams=1
90 | MinVariableInputs=0
91 | MinVariableInputsList2=0
92 | MinVariableInputsList3=0
93 | MinVariableOutputs=0
94 | MinVariableOutputsList2=0
95 | MinVariableOutputsList3=0
96 | MinVariableParams=0
97 | SymbolTree=32
98 | InputSigType1=Serial
99 | InputSigType2=Digital|Analog|Serial|String
100 | InputSigType3=Digital
101 | OutputSigType1=Serial
102 | OutputSigType2=Digital|Analog|Serial|String
103 | OutputSigType3=Digital
104 | OutputSigType4=Digital|Analog|Serial|String
105 | ParamSigType1=Time|Percent|Constant|String|FileName|HexAddress|Any
106 | InputCue1=from_codec$
107 | InputCue2=[~UNUSED~]
108 | InputCue3=fb
109 | InputCue4=fb*
110 | OutputCue1=to_codec$
111 | OutputCue2=[~UNUSED~]
112 | OutputCue3=press
113 | OutputCue4=[~UNUSED~]
114 | ParamCue1=widget_id
115 | FileName=KL Cisco Touch 10 Button v1.0.umc
116 | EncodingType=0
117 | ZeroOnIoOk=0
118 | ]
119 | [
120 | ObjTp=Sm
121 | H=1
122 | SmC=157
123 | Nm=Central Control Modules
124 | ObjVer=1
125 | CF=2
126 | n1I=1
127 | n1O=1
128 | mI=1
129 | mO=1
130 | tO=1
131 | mP=1
132 | P1=
133 | ]
134 | [
135 | ObjTp=Sm
136 | H=2
137 | SmC=157
138 | Nm=Network Modules
139 | ObjVer=1
140 | CF=2
141 | n1I=1
142 | n1O=1
143 | mI=1
144 | mO=1
145 | tO=1
146 | mP=1
147 | P1=
148 | ]
149 | [
150 | ObjTp=Sm
151 | H=3
152 | SmC=157
153 | Nm=Ethernet
154 | ObjVer=1
155 | CF=2
156 | n1I=1
157 | n1O=1
158 | mI=1
159 | mO=1
160 | tO=1
161 | mP=1
162 | P1=
163 | ]
164 | [
165 | ObjTp=Sm
166 | H=4
167 | SmC=156
168 | Nm=Logic
169 | ObjVer=1
170 | CF=2
171 | mC=2
172 | C1=7
173 | C2=9
174 | ]
175 | [
176 | ObjTp=Sm
177 | H=5
178 | SmC=157
179 | Nm=DefineArguments
180 | ObjVer=1
181 | CF=2
182 | n1I=1
183 | n1O=1
184 | mC=1
185 | C1=6
186 | mI=1
187 | mO=1
188 | tO=1
189 | mP=1
190 | P1=
191 | ]
192 | [
193 | ObjTp=Sm
194 | H=6
195 | SmC=55
196 | Nm=Argument Definition
197 | ObjVer=1
198 | PrH=5
199 | CF=2
200 | n1I=4
201 | n1O=4
202 | mI=4
203 | I1=4
204 | I2=6
205 | I3=14
206 | I4=15
207 | mO=4
208 | tO=4
209 | O1=5
210 | O2=6
211 | O3=13
212 | O4=6
213 | mP=1
214 | P1=widget_id
215 | ]
216 | [
217 | ObjTp=Sm
218 | H=7
219 | SmC=101
220 | Nm=Serial I/O
221 | ObjVer=1
222 | PrH=4
223 | CF=2
224 | n1I=4
225 | n1O=3
226 | mI=4
227 | I1=4
228 | I3=14
229 | I4=15
230 | mO=3
231 | tO=3
232 | O1=5
233 | O2=9
234 | O3=16
235 | mP=5
236 | P1=\n
237 | P2=xcommand UserInterface Extensions Widget SetValue WidgetId:"\[#widget_id\]" Value:"active"
238 | P3=xcommand UserInterface Extensions Widget SetValue WidgetId:"\[#widget_id\]" Value:"inactive"
239 | P4=*e UserInterface Extensions Event Pressed Signal: "\[#widget_id\]"
240 | P5=*e UserInterface Extensions Event Released Signal: "\[#widget_id\]"
241 | ]
242 | [
243 | ObjTp=Sm
244 | H=9
245 | SmC=12
246 | Nm=Set/Reset Latch
247 | ObjVer=1
248 | PrH=4
249 | CF=2
250 | n1I=2
251 | n1O=2
252 | mI=2
253 | I1=9
254 | I2=16
255 | mO=2
256 | tO=2
257 | O1=13
258 | ]
259 | [
260 | ObjTp=Sg
261 | H=4
262 | Nm=from_codec$
263 | SgTp=4
264 | ]
265 | [
266 | ObjTp=Sg
267 | H=5
268 | Nm=to_codec$
269 | SgTp=4
270 | ]
271 | [
272 | ObjTp=Sg
273 | H=6
274 | Nm=[~UNUSED~]
275 | SgTp=31
276 | ]
277 | [
278 | ObjTp=Sg
279 | H=9
280 | Nm=press_mv
281 | ]
282 | [
283 | ObjTp=Sg
284 | H=13
285 | Nm=press
286 | ]
287 | [
288 | ObjTp=Sg
289 | H=14
290 | Nm=fb
291 | ]
292 | [
293 | ObjTp=Sg
294 | H=15
295 | Nm=fb*
296 | ]
297 | [
298 | ObjTp=Sg
299 | H=16
300 | Nm=release_mv
301 | ]
302 |
--------------------------------------------------------------------------------
/Cisco/KL Cisco Touch 10 Group v1.0.umc:
--------------------------------------------------------------------------------
1 | [
2 | Version=1
3 | ]
4 | [
5 | ObjTp=FSgntr
6 | Sgntr=UserMacro
7 | RelVrs=4.07.03
8 | IntStrVrs=2
9 | MinSMWVrs=0
10 | MinTIOVrs=0
11 | SavedBy=SMW4.07.03
12 | ]
13 | [
14 | ObjTp=Hd
15 | S0Nd=1
16 | S1Nd=2
17 | SLNd=3
18 | PrNm=KL Cisco Touch 10 Group v1.0.umc
19 | DbVr=63.07.003.00
20 | DvcDbVr=87.00.003.00
21 | PgmNm=Kiel Lofstrand
22 | DlrNm=SPS
23 | Incl=362,378,380,405,407,408,409,478,522,537,554,586,590,611,624,767,830,883,1032,1062,1079,1134,1157,1199,1220,1222,1299,1348,1439,1472,1473,1499,1746,1803,1975,2229,2354,2514,2523,2532,3708,3902,3912,3918,3925,1766,2574,2651,2817,2886,2938,2947,3181,3197,3233,3710,3735,3736,3816,3888,4176,4308,4476,4591,4769,5360,5388,5420,5455,
24 | McNm=KL Cisco Touch 10 Group v1.0
25 | SmVr=1033
26 | DvVr=1033
27 | TpN1=1
28 | TpN2=2
29 | TpN3=3
30 | TpN4=4
31 | TpN5=5
32 | APg=1
33 | FltTmp=1
34 | FpCS=0
35 | EnType=0
36 | ZeroOnIoOk=0
37 | SGMethod=1
38 | ]
39 | [
40 | ObjTp=Bk
41 | Nm1=\
42 | Sx1=0
43 | Sy1=0
44 | Mx1=0
45 | ]
46 | [
47 | ObjTp=Bw
48 | H=1
49 | Lx=0
50 | Ly=200
51 | Rx=1058
52 | Ry=400
53 | Xm=-1
54 | Ym=-1
55 | SH=7
56 | Z=100
57 | P=168
58 | Ht=4
59 | Hi=2
60 | ]
61 | [
62 | ObjTp=Bw
63 | H=1
64 | Lx=0
65 | Ly=400
66 | Rx=1058
67 | Ry=600
68 | Xm=-1
69 | Ym=-1
70 | SH=6
71 | Z=100
72 | Ht=1
73 | Hi=3
74 | ]
75 | [
76 | ObjTp=Bw
77 | H=1
78 | Lx=0
79 | Ly=0
80 | Rx=1058
81 | Ry=202
82 | Xm=-1
83 | Ym=-1
84 | SH=8
85 | Z=100
86 | P=22
87 | Ht=4
88 | Hi=4
89 | ]
90 | [
91 | ObjTp=Symbol
92 | Name=KL Cisco Touch 10 Group v1.0
93 | Code=1
94 | SmplCName=KL Cisco Touch 10 Group v1.0.umc
95 | Smpl-C=3
96 | CompilerTimePrecision=Single_Or_Double_Precision
97 | SMWRev=0
98 | TIORev=0
99 | HelpID=1055
100 | APg=1
101 | StdCmd=0
102 | FltTmp=1
103 | FpCS=0
104 | NumFixedInputs=11
105 | NumFixedOutputs=11
106 | NumFixedParams=5
107 | MinVariableInputs=0
108 | MinVariableInputsList2=0
109 | MinVariableInputsList3=0
110 | MinVariableOutputs=0
111 | MinVariableOutputsList2=0
112 | MinVariableOutputsList3=0
113 | MinVariableParams=0
114 | SymbolTree=32
115 | InputSigType1=Serial
116 | InputSigType2=Digital|Analog|Serial|String
117 | InputSigType3=Digital
118 | InputSigType4=Digital
119 | InputSigType5=Digital
120 | InputSigType6=Digital
121 | InputSigType7=Digital
122 | InputSigType8=Digital|Analog|Serial|String
123 | OutputSigType1=Serial
124 | OutputSigType2=Digital|Analog|Serial|String
125 | OutputSigType3=Digital|Analog|Serial|String
126 | OutputSigType4=Digital
127 | ParamSigType1=Time|Percent|Constant|String|FileName|HexAddress|Any
128 | ParamSigType2=Time|Percent|Constant|String|FileName|HexAddress|Any
129 | ParamSigType3=Time|Percent|Constant|String|FileName|HexAddress|Any
130 | ParamSigType4=Time|Percent|Constant|String|FileName|HexAddress|Any
131 | ParamSigType5=Time|Percent|Constant|String|FileName|HexAddress|Any
132 | InputCue1=from_codec$
133 | InputCue2=[~UNUSED~]
134 | InputCue3=clear
135 | InputCue4=in1
136 | InputCue5=in2
137 | InputCue6=in3
138 | InputCue7=in4
139 | InputCue8=[~UNUSED~]
140 | InputCue9=[~UNUSED~]
141 | InputCue10=[~UNUSED~]
142 | InputCue11=[~UNUSED~]
143 | OutputCue1=to_codec$
144 | OutputCue2=[~UNUSED~]
145 | OutputCue3=[~UNUSED~]
146 | OutputCue4=out1
147 | OutputCue5=out2
148 | OutputCue6=out3
149 | OutputCue7=out4
150 | OutputCue8=out1_mv
151 | OutputCue9=out2_mv
152 | OutputCue10=out3_mv
153 | OutputCue11=out4_mv
154 | ParamCue1=widget_id
155 | ParamCue2=id1
156 | ParamCue3=id2
157 | ParamCue4=id3
158 | ParamCue5=id4
159 | FileName=KL Cisco Touch 10 Group v1.0.umc
160 | EncodingType=0
161 | ZeroOnIoOk=0
162 | ]
163 | [
164 | ObjTp=Sm
165 | H=1
166 | SmC=157
167 | Nm=Central Control Modules
168 | ObjVer=1
169 | CF=2
170 | n1I=1
171 | n1O=1
172 | mI=1
173 | mO=1
174 | tO=1
175 | mP=1
176 | P1=
177 | ]
178 | [
179 | ObjTp=Sm
180 | H=2
181 | SmC=157
182 | Nm=Network Modules
183 | ObjVer=1
184 | CF=2
185 | n1I=1
186 | n1O=1
187 | mI=1
188 | mO=1
189 | tO=1
190 | mP=1
191 | P1=
192 | ]
193 | [
194 | ObjTp=Sm
195 | H=3
196 | SmC=157
197 | Nm=Ethernet
198 | ObjVer=1
199 | CF=2
200 | n1I=1
201 | n1O=1
202 | mI=1
203 | mO=1
204 | tO=1
205 | mP=1
206 | P1=
207 | ]
208 | [
209 | ObjTp=Sm
210 | H=4
211 | SmC=156
212 | Nm=Logic
213 | ObjVer=1
214 | CF=2
215 | mC=2
216 | C1=7
217 | C2=8
218 | ]
219 | [
220 | ObjTp=Sm
221 | H=5
222 | SmC=157
223 | Nm=DefineArguments
224 | ObjVer=1
225 | CF=2
226 | n1I=1
227 | n1O=1
228 | mC=1
229 | C1=6
230 | mI=1
231 | mO=1
232 | tO=1
233 | mP=1
234 | P1=
235 | ]
236 | [
237 | ObjTp=Sm
238 | H=6
239 | SmC=55
240 | Nm=Argument Definition
241 | ObjVer=1
242 | PrH=5
243 | CF=2
244 | n1I=11
245 | n1O=11
246 | mI=11
247 | I1=4
248 | I2=6
249 | I3=7
250 | I4=8
251 | I5=9
252 | I6=10
253 | I7=11
254 | I8=6
255 | I9=6
256 | I10=6
257 | I11=6
258 | mO=11
259 | tO=11
260 | O1=5
261 | O2=6
262 | O3=6
263 | O4=12
264 | O5=13
265 | O6=14
266 | O7=15
267 | O8=16
268 | O9=17
269 | O10=18
270 | O11=19
271 | mP=5
272 | P1=widget_id
273 | P2=id1
274 | P3=id2
275 | P4=id3
276 | P5=id4
277 | ]
278 | [
279 | ObjTp=Sm
280 | H=7
281 | SmC=101
282 | Nm=Serial I/O
283 | ObjVer=1
284 | PrH=4
285 | CF=2
286 | n1I=7
287 | n1O=5
288 | mI=7
289 | I1=4
290 | I3=7
291 | I4=8
292 | I5=9
293 | I6=10
294 | I7=11
295 | mO=5
296 | tO=5
297 | O1=5
298 | O2=16
299 | O3=17
300 | O4=18
301 | O5=19
302 | mP=10
303 | P1=\n
304 | P2=xcommand UserInterface Extensions Widget UnSetValue WidgetId:"\[#widget_id\]"
305 | P3=xcommand UserInterface Extensions Widget SetValue WidgetId:"\[#widget_id\]" Value:"\[#id1\]"
306 | P4=xcommand UserInterface Extensions Widget SetValue WidgetId:"\[#widget_id\]" Value:"\[#id2\]"
307 | P5=xcommand UserInterface Extensions Widget SetValue WidgetId:"\[#widget_id\]" Value:"\[#id3\]"
308 | P6=xcommand UserInterface Extensions Widget SetValue WidgetId:"\[#widget_id\]" Value:"\[#id4\]"
309 | P7=*e UserInterface Extensions Event Pressed Signal: "\[#widget_id\]:\[#id1\]"
310 | P8=*e UserInterface Extensions Event Pressed Signal: "\[#widget_id\]:\[#id2\]"
311 | P9=*e UserInterface Extensions Event Pressed Signal: "\[#widget_id\]:\[#id3\]"
312 | P10=*e UserInterface Extensions Event Pressed Signal: "\[#widget_id\]:\[#id4\]"
313 | ]
314 | [
315 | ObjTp=Sm
316 | H=8
317 | SmC=19
318 | Nm=Interlock
319 | ObjVer=1
320 | PrH=4
321 | CF=2
322 | n1I=6
323 | n1O=4
324 | mI=6
325 | I1=7
326 | I3=16
327 | I4=17
328 | I5=18
329 | I6=19
330 | mO=4
331 | tO=4
332 | O1=12
333 | O2=13
334 | O3=14
335 | O4=15
336 | ]
337 | [
338 | ObjTp=Sg
339 | H=4
340 | Nm=from_codec$
341 | SgTp=4
342 | ]
343 | [
344 | ObjTp=Sg
345 | H=5
346 | Nm=to_codec$
347 | SgTp=4
348 | ]
349 | [
350 | ObjTp=Sg
351 | H=6
352 | Nm=[~UNUSED~]
353 | SgTp=31
354 | ]
355 | [
356 | ObjTp=Sg
357 | H=7
358 | Nm=clear
359 | ]
360 | [
361 | ObjTp=Sg
362 | H=8
363 | Nm=in1
364 | ]
365 | [
366 | ObjTp=Sg
367 | H=9
368 | Nm=in2
369 | ]
370 | [
371 | ObjTp=Sg
372 | H=10
373 | Nm=in3
374 | ]
375 | [
376 | ObjTp=Sg
377 | H=11
378 | Nm=in4
379 | ]
380 | [
381 | ObjTp=Sg
382 | H=12
383 | Nm=out1
384 | ]
385 | [
386 | ObjTp=Sg
387 | H=13
388 | Nm=out2
389 | ]
390 | [
391 | ObjTp=Sg
392 | H=14
393 | Nm=out3
394 | ]
395 | [
396 | ObjTp=Sg
397 | H=15
398 | Nm=out4
399 | ]
400 | [
401 | ObjTp=Sg
402 | H=16
403 | Nm=out1_mv
404 | ]
405 | [
406 | ObjTp=Sg
407 | H=17
408 | Nm=out2_mv
409 | ]
410 | [
411 | ObjTp=Sg
412 | H=18
413 | Nm=out3_mv
414 | ]
415 | [
416 | ObjTp=Sg
417 | H=19
418 | Nm=out4_mv
419 | ]
420 |
--------------------------------------------------------------------------------
/Cisco/KL Cisco Touch 10 Toggle v1.0.umc:
--------------------------------------------------------------------------------
1 | [
2 | Version=1
3 | ]
4 | [
5 | ObjTp=FSgntr
6 | Sgntr=UserMacro
7 | RelVrs=4.07.03
8 | IntStrVrs=2
9 | MinSMWVrs=0
10 | MinTIOVrs=0
11 | SavedBy=SMW4.07.03
12 | ]
13 | [
14 | ObjTp=Hd
15 | S0Nd=1
16 | S1Nd=2
17 | SLNd=3
18 | PrNm=KL Cisco Touch 10 Toggle v1.0.umc
19 | DbVr=63.07.003.00
20 | DvcDbVr=87.00.003.00
21 | PgmNm=Kiel Lofstrand
22 | DlrNm=SPS
23 | Incl=362,378,380,405,407,408,409,478,522,537,554,586,590,611,624,767,830,883,1032,1062,1079,1134,1157,1199,1220,1222,1299,1348,1439,1472,1473,1499,1746,1803,1975,2229,2354,2514,2523,2532,3708,3902,3912,3918,3925,1766,2574,2651,2817,2886,2938,2947,3181,3197,3233,3710,3735,3736,3816,3888,4176,4308,4476,4591,4769,5360,5388,5420,5455,
24 | SmVr=1039
25 | DvVr=1039
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 | SGMethod=1
37 | ]
38 | [
39 | ObjTp=Bk
40 | Nm1=\
41 | Sx1=0
42 | Sy1=0
43 | Mx1=0
44 | ]
45 | [
46 | ObjTp=Bw
47 | H=1
48 | Lx=0
49 | Ly=0
50 | Rx=1591
51 | Ry=477
52 | Xm=-1
53 | Ym=-1
54 | SH=6
55 | Z=100
56 | Ht=4
57 | Hi=3
58 | ]
59 | [
60 | ObjTp=Bw
61 | H=1
62 | Lx=0
63 | Ly=477
64 | Rx=1591
65 | Ry=954
66 | Xm=-1
67 | Ym=-1
68 | SH=7
69 | Z=100
70 | Ht=4
71 | Hi=2
72 | ]
73 | [
74 | ObjTp=Symbol
75 | Name=KL Cisco Touch 10 Toggle v1.0
76 | Code=1
77 | SmplCName=KL Cisco Touch 10 Toggle v1.0.umc
78 | Smpl-C=3
79 | CompilerTimePrecision=Single_Or_Double_Precision
80 | SMWRev=0
81 | TIORev=0
82 | HelpID=1055
83 | APg=1
84 | StdCmd=0
85 | FltTmp=1
86 | FpCS=0
87 | NumFixedInputs=4
88 | NumFixedOutputs=4
89 | NumFixedParams=1
90 | MinVariableInputs=0
91 | MinVariableInputsList2=0
92 | MinVariableInputsList3=0
93 | MinVariableOutputs=0
94 | MinVariableOutputsList2=0
95 | MinVariableOutputsList3=0
96 | MinVariableParams=0
97 | SymbolTree=32
98 | InputSigType1=Serial
99 | InputSigType2=Digital|Analog|Serial|String
100 | InputSigType3=Digital
101 | OutputSigType1=Serial
102 | OutputSigType2=Digital|Analog|Serial|String
103 | OutputSigType3=Digital
104 | ParamSigType1=Time|Percent|Constant|String|FileName|HexAddress|Any
105 | InputCue1=from_codec$
106 | InputCue2=[~UNUSED~]
107 | InputCue3=set
108 | InputCue4=reset
109 | OutputCue1=to_codec$
110 | OutputCue2=[~UNUSED~]
111 | OutputCue3=out
112 | OutputCue4=out*
113 | ParamCue1=widget_id
114 | FileName=KL Cisco Touch 10 Toggle v1.0.umc
115 | EncodingType=0
116 | ZeroOnIoOk=0
117 | ]
118 | [
119 | ObjTp=Sm
120 | H=1
121 | SmC=157
122 | Nm=Central Control Modules
123 | ObjVer=1
124 | CF=2
125 | n1I=1
126 | n1O=1
127 | mI=1
128 | mO=1
129 | tO=1
130 | mP=1
131 | P1=
132 | ]
133 | [
134 | ObjTp=Sm
135 | H=2
136 | SmC=157
137 | Nm=Network Modules
138 | ObjVer=1
139 | CF=2
140 | n1I=1
141 | n1O=1
142 | mI=1
143 | mO=1
144 | tO=1
145 | mP=1
146 | P1=
147 | ]
148 | [
149 | ObjTp=Sm
150 | H=3
151 | SmC=157
152 | Nm=Ethernet
153 | ObjVer=1
154 | CF=2
155 | n1I=1
156 | n1O=1
157 | mI=1
158 | mO=1
159 | tO=1
160 | mP=1
161 | P1=
162 | ]
163 | [
164 | ObjTp=Sm
165 | H=4
166 | SmC=156
167 | Nm=Logic
168 | ObjVer=1
169 | CF=2
170 | mC=2
171 | C1=7
172 | C2=8
173 | ]
174 | [
175 | ObjTp=Sm
176 | H=5
177 | SmC=157
178 | Nm=DefineArguments
179 | ObjVer=1
180 | CF=2
181 | n1I=1
182 | n1O=1
183 | mC=1
184 | C1=6
185 | mI=1
186 | mO=1
187 | tO=1
188 | mP=1
189 | P1=
190 | ]
191 | [
192 | ObjTp=Sm
193 | H=6
194 | SmC=55
195 | Nm=Argument Definition
196 | ObjVer=1
197 | PrH=5
198 | CF=2
199 | n1I=4
200 | n1O=4
201 | mI=4
202 | I1=4
203 | I2=6
204 | I3=7
205 | I4=8
206 | mO=4
207 | tO=4
208 | O1=5
209 | O2=6
210 | O3=9
211 | O4=10
212 | mP=1
213 | P1=widget_id
214 | ]
215 | [
216 | ObjTp=Sm
217 | H=7
218 | SmC=101
219 | Nm=Serial I/O
220 | ObjVer=1
221 | PrH=4
222 | CF=2
223 | n1I=4
224 | n1O=3
225 | mI=4
226 | I1=4
227 | I3=7
228 | I4=8
229 | mO=3
230 | tO=3
231 | O1=5
232 | O2=11
233 | O3=12
234 | mP=5
235 | P1=\n
236 | P2=xcommand UserInterface Extensions Widget SetValue WidgetId:"\[#widget_id\]" Value:"on"
237 | P3=xcommand UserInterface Extensions Widget SetValue WidgetId:"\[#widget_id\]" Value:"off"
238 | P4=*e UserInterface Extensions Event Changed Signal: "\[#widget_id\]:on"
239 | P5=*e UserInterface Extensions Event Changed Signal: "\[#widget_id\]:off"
240 | ]
241 | [
242 | ObjTp=Sm
243 | H=8
244 | SmC=19
245 | Nm=Interlock
246 | ObjVer=1
247 | PrH=4
248 | CF=2
249 | n1I=4
250 | n1O=2
251 | mI=4
252 | I3=11
253 | I4=12
254 | mO=2
255 | tO=2
256 | O1=9
257 | O2=10
258 | ]
259 | [
260 | ObjTp=Sg
261 | H=4
262 | Nm=from_codec$
263 | SgTp=4
264 | ]
265 | [
266 | ObjTp=Sg
267 | H=5
268 | Nm=to_codec$
269 | SgTp=4
270 | ]
271 | [
272 | ObjTp=Sg
273 | H=6
274 | Nm=[~UNUSED~]
275 | SgTp=31
276 | ]
277 | [
278 | ObjTp=Sg
279 | H=7
280 | Nm=set
281 | ]
282 | [
283 | ObjTp=Sg
284 | H=8
285 | Nm=reset
286 | ]
287 | [
288 | ObjTp=Sg
289 | H=9
290 | Nm=out
291 | ]
292 | [
293 | ObjTp=Sg
294 | H=10
295 | Nm=out*
296 | ]
297 | [
298 | ObjTp=Sg
299 | H=11
300 | Nm=out_mv
301 | ]
302 | [
303 | ObjTp=Sg
304 | H=12
305 | Nm=out*_mv
306 | ]
307 |
--------------------------------------------------------------------------------
/Cisco/KL Phonebook Pager Driver v1.1.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.04.01
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,718,756,854,
18 | Exclusions_CDS=5
19 | Inclusions_CDS=6
20 | Name=KL Phonebook Pager Driver v1.1
21 | SmplCName=KL Phonebook Pager Driver v1.1.usp
22 | Code=1
23 | SysRev5=4.006
24 | SMWRev=3.00.00
25 | InputCue1=Refresh
26 | InputSigType1=Digital
27 | InputCue2=First_Page
28 | InputSigType2=Digital
29 | InputCue3=Previous_Page
30 | InputSigType3=Digital
31 | InputCue4=Next_Page
32 | InputSigType4=Digital
33 | InputCue5=Select[#]
34 | InputSigType5=Digital
35 | InputList2Cue1=Total_Rows
36 | InputList2SigType1=Analog
37 | InputList2Cue2=Names$[#]
38 | InputList2SigType2=Serial
39 | OutputList2Cue1=Current_Page
40 | OutputList2SigType1=Analog
41 | OutputList2Cue2=Total_Pages
42 | OutputList2SigType2=Analog
43 | OutputList2Cue3=Selection
44 | OutputList2SigType3=Analog
45 | OutputList2Cue4=Entry_Name$[#]
46 | OutputList2SigType4=Serial
47 | ParamCue1=[Reference Name]
48 | ParamCue2=Entries_Per_Page
49 | ParamSigType2=Constant
50 | MinVariableInputs=5
51 | MaxVariableInputs=29
52 | MinVariableInputsList2=2
53 | MaxVariableInputsList2=256
54 | MinVariableOutputs=0
55 | MaxVariableOutputs=0
56 | MinVariableOutputsList2=4
57 | MaxVariableOutputsList2=28
58 | MinVariableParams=1
59 | MaxVariableParams=1
60 | Expand=expand_separately
61 | Expand2=expand_separately
62 | ProgramTree=Logic
63 | SymbolTree=32
64 | Hint=
65 | PdfHelp=
66 | HelpID=
67 | Render=4
68 | Smpl-C=16
69 | CompilerCode=-48
70 | CompilerParamCode=27
71 | CompilerParamCode5=14
72 | NumFixedParams=1
73 | Pp1=1
74 | Pp2=2
75 | MPp=2
76 | NVStorage=10
77 | ParamSigType1=String
78 | SmplCInputCue1=o#
79 | SmplCOutputCue1=i#
80 | SmplCInputList2Cue1=an#
81 | SmplCOutputList2Cue1=ai#
82 | SPlus2CompiledName=S2_KL_Phonebook_Pager_Driver_v1_1
83 | SymJam=NonExclusive
84 | FileName=KL Phonebook Pager Driver v1.1.ush
85 | SIMPLPlusModuleEncoding=0
86 | clz1=Cisco SX80 Corporate Phone Book
87 | clz2=Cisco SX80 Phone Book
88 | [END]
89 | [BEGIN]
90 | ObjTp=Dp
91 | H=1
92 | Tp=1
93 | NoS=False
94 | [END]
95 | [BEGIN]
96 | ObjTp=Dp
97 | H=2
98 | Tp=1
99 | HD=False
100 | Sgn=0
101 | Lng=False
102 | NF=63
103 | NoS=True
104 | DNF=1
105 | VVS=0
106 | [END]
107 |
--------------------------------------------------------------------------------
/Cisco/KL Phonebook Pager Driver v1.1.usp:
--------------------------------------------------------------------------------
1 | /*******************************************************************************************
2 | SIMPL+ Module Information
3 | (Fill in comments below)
4 | *******************************************************************************************/
5 | /*
6 | Dealer Name:
7 | System Name:
8 | System Number:
9 | Programmer:
10 | Comments:
11 | */
12 |
13 | /*******************************************************************************************
14 | Compiler Directives
15 | (Uncomment and declare compiler directives as needed)
16 | *******************************************************************************************/
17 | // #ENABLE_DYNAMIC
18 | // #SYMBOL_NAME ""
19 | // #HINT ""
20 | // #DEFINE_CONSTANT
21 | // #CATEGORY ""
22 | // #PRINT_TO_TRACE
23 | // #DIGITAL_EXPAND
24 | // #ANALOG_SERIAL_EXPAND
25 | // #OUTPUT_SHIFT
26 | // #HELP_PDF_FILE ""
27 | #DEFAULT_VOLATILE
28 | #ENABLE_STACK_CHECKING
29 | #ENABLE_TRACE
30 | // #ENCODING_ASCII
31 | // #ENCODING_UTF16
32 | // #ENCODING_INHERIT_FROM_PARENT
33 | // #ENCODING_INHERIT_FROM_PROGRAM
34 | /*
35 | #HELP_BEGIN
36 | (add additional lines of help lines)
37 | #HELP_END
38 | */
39 |
40 | /*******************************************************************************************
41 | DIGITAL, ANALOG and SERIAL INPUTS and OUTPUTS
42 | (Uncomment and declare inputs and outputs as needed)
43 | *******************************************************************************************/
44 | DIGITAL_INPUT Refresh, First_Page, Previous_Page, Next_Page;
45 | ANALOG_INPUT Total_Rows;
46 | DIGITAL_INPUT Select[25];
47 | STRING_INPUT Names$[255][100];
48 | // BUFFER_INPUT
49 |
50 | // DIGITAL_OUTPUT
51 | ANALOG_OUTPUT Current_Page, Total_Pages, Selection;
52 | STRING_OUTPUT Entry_Name$[25];
53 |
54 | /*******************************************************************************************
55 | Parameters
56 | (Uncomment and declare parameters as needed)
57 | *******************************************************************************************/
58 | INTEGER_PARAMETER Entries_Per_Page;
59 | // SIGNED_INTEGER_PARAMETER
60 | // LONG_INTEGER_PARAMETER
61 | // SIGNED_LONG_INTEGER_PARAMETER
62 | // STRING_PARAMETER
63 |
64 | /*******************************************************************************************
65 | Global Variables
66 | (Uncomment and declare global variables as needed)
67 | Note: Be sure to initialize all declared STRING variables as needed
68 | For example, in Function Main: myString = "";
69 | *******************************************************************************************/
70 | INTEGER nPage, nTotalPages;
71 | STRING sName[255][100];
72 |
73 | /*******************************************************************************************
74 | Functions
75 | (Add any additional functions here)
76 | Note: Functions must be physically placed before the location in
77 | the code that calls them.
78 | *******************************************************************************************/
79 |
80 | Function Paginate()
81 | {
82 | INTEGER i, j;
83 |
84 | // Which entry do we start on?
85 | i = (nPage - 1) * Entries_Per_Page;
86 |
87 | // Loop over one page of names
88 | For (j = 1 To Entries_Per_Page)
89 | {
90 | // Hit the last one?
91 | If (i + j > Total_Rows)
92 | {
93 | Entry_Name$[j] = "";
94 | }
95 | Else
96 | {
97 | Entry_Name$[j] = sName[i + j];
98 | }
99 | }
100 | }
101 |
102 | /*******************************************************************************************
103 | Event Handlers
104 | (Uncomment and declare additional event handlers as needed)
105 | *******************************************************************************************/
106 |
107 | CHANGE Names$
108 | {
109 | INTEGER i, j;
110 |
111 | // Which name changed?
112 | i = GetLastModifiedArrayIndex();
113 |
114 | // Save it
115 | sName[i] = Names$[i];
116 | }
117 |
118 | CHANGE Total_Rows
119 | {
120 | // Go back to the first page
121 | nPage = 1;
122 | Current_Page = nPage;
123 |
124 | // How many pages do we have now?
125 | nTotalPages = (Total_Rows / Entries_Per_Page);
126 |
127 | IF (Total_Rows % Entries_Per_Page > 0)
128 | {
129 | nTotalPages = nTotalPages + 1;
130 | }
131 |
132 | Total_Pages = nTotalPages;
133 |
134 | // Nothing selected now
135 | Selection = 0;
136 | Paginate();
137 | }
138 |
139 | PUSH Refresh
140 | {
141 | Paginate();
142 | }
143 |
144 | PUSH First_Page
145 | {
146 | // Go back to the first page
147 | nPage = 1;
148 | Current_Page = nPage;
149 |
150 | // Nothing selected now
151 | Selection = 0;
152 | Paginate();
153 | }
154 |
155 | PUSH Previous_Page
156 | {
157 | // Can we go back?
158 | IF (nPage > 1)
159 | {
160 | nPage = nPage - 1;
161 | Current_Page = nPage;
162 |
163 | // Nothing selected now
164 | Selection = 0;
165 | Paginate();
166 | }
167 | }
168 |
169 | PUSH Next_Page
170 | {
171 | // Can we go forward?
172 | IF (nPage < nTotalPages)
173 | {
174 | nPage = nPage + 1;
175 | Current_Page = nPage;
176 |
177 | // Nothing selected now
178 | Selection = 0;
179 | Paginate();
180 | }
181 | }
182 |
183 | PUSH Select
184 | {
185 | INTEGER i, k;
186 |
187 | i = GetLastModifiedArrayIndex();
188 |
189 | // What is the base index for this page we're on?
190 | k = (nPage - 1) * Entries_Per_Page;
191 |
192 | If ((k + i) <= Total_Rows)
193 | {
194 | Selection = k + i;
195 | }
196 | }
197 |
198 | /*******************************************************************************************
199 | Main()
200 | Uncomment and place one-time startup code here
201 | (This code will get called when the system starts up)
202 | *******************************************************************************************/
203 | /*
204 | Function Main()
205 | {
206 | // TODO: Add code here
207 | // Initialize declared global and local variables/arrays as needed.
208 |
209 | // WaitForInitializationComplete();
210 | // If you are reading any Input or Output variables, uncomment
211 | // the WaitForInitializationComplete statement above and read
212 | // them afterwards. Input/Output variables will not have
213 | // their correct values set until after the logic processor
214 | // runs and propagates the values to them.
215 | }
216 | */
217 |
218 |
--------------------------------------------------------------------------------
/Cisco/KL SX80 Phonebook Pager.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=KL SX80 Phonebook Pager
21 | SmplCName=KL SX80 Phonebook Pager.usp
22 | Code=1
23 | SysRev5=4.006
24 | SMWRev=3.00.00
25 | InputCue1=First_Page
26 | InputSigType1=Digital
27 | InputCue2=Next_Page
28 | InputSigType2=Digital
29 | InputCue3=Previous_Page
30 | InputSigType3=Digital
31 | InputCue4=Select_Entry[#]
32 | InputSigType4=Digital
33 | InputList2Cue1=Phonebook_Names$[#]
34 | InputList2SigType1=Serial
35 | OutputList2Cue1=Current_Page
36 | OutputList2SigType1=Analog
37 | OutputList2Cue2=Total_Pages
38 | OutputList2SigType2=Analog
39 | OutputList2Cue3=Selected_Entry
40 | OutputList2SigType3=Analog
41 | OutputList2Cue4=Page_Names$[#]
42 | OutputList2SigType4=Serial
43 | ParamCue1=[Reference Name]
44 | MinVariableInputs=4
45 | MaxVariableInputs=8
46 | MinVariableInputsList2=1
47 | MaxVariableInputsList2=200
48 | MinVariableOutputs=0
49 | MaxVariableOutputs=0
50 | MinVariableOutputsList2=4
51 | MaxVariableOutputsList2=8
52 | MinVariableParams=0
53 | MaxVariableParams=0
54 | Expand=expand_separately
55 | Expand2=expand_separately
56 | ProgramTree=Logic
57 | SymbolTree=32
58 | Hint=
59 | PdfHelp=
60 | HelpID=
61 | Render=4
62 | Smpl-C=16
63 | CompilerCode=-48
64 | CompilerParamCode=27
65 | CompilerParamCode5=14
66 | NumFixedParams=1
67 | Pp1=1
68 | MPp=1
69 | NVStorage=10
70 | ParamSigType1=String
71 | SmplCInputCue1=o#
72 | SmplCOutputCue1=i#
73 | SmplCInputList2Cue1=an#
74 | SmplCOutputList2Cue1=ai#
75 | SPlus2CompiledName=S2_KL_SX80_Phonebook_Pager
76 | SymJam=NonExclusive
77 | FileName=KL SX80 Phonebook Pager.ush
78 | SIMPLPlusModuleEncoding=0
79 | clz1=Cisco SX80 Corporate Phone Book
80 | [END]
81 | [BEGIN]
82 | ObjTp=Dp
83 | H=1
84 | Tp=1
85 | NoS=False
86 | [END]
87 |
--------------------------------------------------------------------------------
/Click to Join/KL Polycom Click-to-Join v1.1.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.04.01
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,718,756,854,
18 | Exclusions_CDS=5
19 | Inclusions_CDS=6
20 | Name=KL Polycom Click-to-Join v1.1
21 | SmplCName=KL Polycom Click-to-Join v1.1.usp
22 | Code=1
23 | SysRev5=4.006
24 | SMWRev=3.00.00
25 | InputCue1=Update
26 | InputSigType1=Digital
27 | InputCue2=Dial
28 | InputSigType2=Digital
29 | InputCue3=Clear
30 | InputSigType3=Digital
31 | InputCue4=Select_Meeting[#]
32 | InputSigType4=Digital
33 | OutputCue1=Update_Busy_Fb
34 | OutputSigType1=Digital
35 | OutputCue2=Selected_Meeting_Can_Dial
36 | OutputSigType2=Digital
37 | OutputCue3=Scheduled_Meeting_Reminder
38 | OutputSigType3=Digital
39 | OutputCue4=Select_Meeting_Fb[#]
40 | OutputSigType4=Digital
41 | InputList2Cue1=From_Device
42 | InputList2SigType1=Serial
43 | OutputList2Cue1=Number_Of_Meetings
44 | OutputList2SigType1=Analog
45 | OutputList2Cue2=To_Device
46 | OutputList2SigType2=Serial
47 | OutputList2Cue3=Selected_Meeting_Subject
48 | OutputList2SigType3=Serial
49 | OutputList2Cue4=Selected_Meeting_Organizer
50 | OutputList2SigType4=Serial
51 | OutputList2Cue5=Selected_Meeting_Location
52 | OutputList2SigType5=Serial
53 | OutputList2Cue6=Selected_Meeting_StartTime
54 | OutputList2SigType6=Serial
55 | OutputList2Cue7=Selected_Meeting_EndTime
56 | OutputList2SigType7=Serial
57 | OutputList2Cue8=Selected_Meeting_DialString
58 | OutputList2SigType8=Serial
59 | OutputList2Cue9=Selected_Meeting_Password
60 | OutputList2SigType9=Serial
61 | OutputList2Cue10=Meeting_Subject[#]
62 | OutputList2SigType10=Serial
63 | ParamCue1=[Reference Name]
64 | MinVariableInputs=4
65 | MaxVariableInputs=13
66 | MinVariableInputsList2=1
67 | MaxVariableInputsList2=1
68 | MinVariableOutputs=4
69 | MaxVariableOutputs=13
70 | MinVariableOutputsList2=10
71 | MaxVariableOutputsList2=19
72 | MinVariableParams=0
73 | MaxVariableParams=0
74 | Expand=expand_separately
75 | Expand2=expand_separately
76 | ProgramTree=Logic
77 | SymbolTree=32
78 | Hint=
79 | PdfHelp=
80 | HelpID=
81 | Render=4
82 | Smpl-C=16
83 | CompilerCode=-48
84 | CompilerParamCode=27
85 | CompilerParamCode5=14
86 | NumFixedParams=1
87 | Pp1=1
88 | MPp=1
89 | NVStorage=10
90 | ParamSigType1=String
91 | SmplCInputCue1=o#
92 | SmplCOutputCue1=i#
93 | SmplCInputList2Cue1=an#
94 | SmplCOutputList2Cue1=ai#
95 | SPlus2CompiledName=S2_KL_Polycom_Click_to_Join_v1_1
96 | SymJam=NonExclusive
97 | FileName=KL Polycom Click-to-Join v1.1.ush
98 | SIMPLPlusModuleEncoding=0
99 | [END]
100 | [BEGIN]
101 | ObjTp=Dp
102 | H=1
103 | Tp=1
104 | NoS=False
105 | [END]
106 |
--------------------------------------------------------------------------------
/Countdown Timer/KL Countdown Timer v1.0.umc:
--------------------------------------------------------------------------------
1 | [
2 | Version=1
3 | ]
4 | [
5 | ObjTp=FSgntr
6 | Sgntr=UserMacro
7 | RelVrs=4.03.20
8 | IntStrVrs=2
9 | MinSMWVrs=2.07.04
10 | MinTIOVrs=0
11 | SavedBy=SMW4.03.20
12 | ]
13 | [
14 | ObjTp=Hd
15 | S0Nd=1
16 | S1Nd=2
17 | SLNd=3
18 | PrNm=KL Countdown Timer v1.0.umc
19 | DbVr=54.00.012.00
20 | DvcDbVr=71.05.004.00
21 | PgmNm=Kiel Lofstrand
22 | DlrNm=SPS
23 | Incl=362,378,380,405,407,408,409,478,522,537,554,586,590,611,624,767,830,883,1032,1062,1079,1134,1157,1199,1220,1222,1299,1348,1439,1472,1473,1499,1746,1803,1975,2229,2354,2514,2523,2532,3708,3902,3912,3918,3925,1766,2574,2651,2817,2886,2938,2947,3181,3197,3233,3710,3735,3736,3816,3888,4176,4308,4476,4591,4769,
24 | McNm=KL Countdown Timer v1.0
25 | SmVr=981
26 | DvVr=981
27 | TpN1=1
28 | TpN2=2
29 | TpN3=3
30 | TpN4=4
31 | TpN5=5
32 | APg=1
33 | FltTmp=1
34 | FpCS=0
35 | EnType=0
36 | ZeroOnIoOk=0
37 | SGMethod=1
38 | ]
39 | [
40 | ObjTp=Bk
41 | Nm1=\
42 | Sx1=0
43 | Sy1=0
44 | Mx1=0
45 | ]
46 | [
47 | ObjTp=Bw
48 | H=1
49 | Lx=235
50 | Ly=161
51 | Rx=939
52 | Ry=422
53 | Xm=-1
54 | Ym=-1
55 | SH=9
56 | Z=100
57 | Ht=4
58 | Hi=1
59 | ]
60 | [
61 | ObjTp=Bw
62 | H=1
63 | Lx=0
64 | Ly=0
65 | Rx=1290
66 | Ry=456
67 | Xm=-1
68 | Ym=-1
69 | SH=6
70 | Z=100
71 | Ht=4
72 | Hi=1
73 | ]
74 | [
75 | ObjTp=Bw
76 | H=1
77 | Lx=0
78 | Ly=456
79 | Rx=1290
80 | Ry=912
81 | Xm=-1
82 | Ym=-1
83 | SH=7
84 | Z=100
85 | Ht=4
86 | Hi=1
87 | ]
88 | [
89 | ObjTp=Bw
90 | H=1
91 | Lx=156
92 | Ly=345
93 | Rx=808
94 | Ry=613
95 | Xm=-1
96 | Ym=-1
97 | SH=8
98 | Z=100
99 | Ht=4
100 | Hi=1
101 | ]
102 | [
103 | ObjTp=Bw
104 | H=1
105 | Lx=75
106 | Ly=26
107 | Rx=564
108 | Ry=236
109 | Xm=-1
110 | Ym=-1
111 | SH=13
112 | Z=100
113 | Ht=4
114 | Hi=1
115 | ]
116 | [
117 | ObjTp=Bw
118 | H=1
119 | Lx=252
120 | Ly=222
121 | Rx=874
122 | Ry=431
123 | Xm=-1
124 | Ym=-1
125 | SH=12
126 | Z=100
127 | Ht=4
128 | Hi=1
129 | ]
130 | [
131 | ObjTp=Bw
132 | H=1
133 | Lx=317
134 | Ly=596
135 | Rx=1042
136 | Ry=833
137 | Xm=-1
138 | Ym=-1
139 | SH=11
140 | Z=100
141 | Ht=4
142 | Hi=1
143 | ]
144 | [
145 | ObjTp=Bw
146 | H=1
147 | Lx=109
148 | Ly=523
149 | Rx=774
150 | Ry=767
151 | Xm=-1
152 | Ym=-1
153 | SH=10
154 | Z=100
155 | Ht=4
156 | Hi=1
157 | ]
158 | [
159 | ObjTp=Symbol
160 | Name=KL Countdown Timer v1.0
161 | Code=1
162 | SmplCName=KL Countdown Timer v1.0.umc
163 | Smpl-C=3
164 | CompilerTimePrecision=Single_Or_Double_Precision
165 | SMWRev=2.07.04
166 | TIORev=0
167 | HelpID=1055
168 | APg=1
169 | StdCmd=0
170 | FltTmp=1
171 | FpCS=0
172 | NumFixedInputs=2
173 | NumFixedOutputs=3
174 | NumFixedParams=2
175 | MinVariableInputs=0
176 | MinVariableInputsList2=0
177 | MinVariableInputsList3=0
178 | MinVariableOutputs=0
179 | MinVariableOutputsList2=0
180 | MinVariableOutputsList3=0
181 | MinVariableParams=0
182 | SymbolTree=13
183 | OutputSigType1=Analog
184 | OutputSigType2=Analog
185 | OutputSigType3=Digital
186 | ParamSigType1=Time|Constant
187 | ParamSigType2=Percent|Constant
188 | InputCue1=trig
189 | InputCue2=reset
190 | OutputCue1=progress
191 | OutputCue2=counter
192 | OutputCue3=expired
193 | ParamCue1=time
194 | ParamCue2=span
195 | MPp=2
196 | Pp1=1
197 | Pp2=2
198 | FileName=KL Countdown Timer v1.0.umc
199 | EncodingType=0
200 | ZeroOnIoOk=0
201 | ]
202 | [
203 | ObjTp=Sm
204 | H=1
205 | SmC=157
206 | Nm=Central Control Modules
207 | ObjVer=1
208 | CF=2
209 | n1I=1
210 | n1O=1
211 | mI=1
212 | mO=1
213 | tO=1
214 | mP=1
215 | P1=
216 | ]
217 | [
218 | ObjTp=Sm
219 | H=2
220 | SmC=157
221 | Nm=Network Modules
222 | ObjVer=1
223 | CF=2
224 | n1I=1
225 | n1O=1
226 | mI=1
227 | mO=1
228 | tO=1
229 | mP=1
230 | P1=
231 | ]
232 | [
233 | ObjTp=Sm
234 | H=3
235 | SmC=157
236 | Nm=Ethernet
237 | ObjVer=1
238 | CF=2
239 | n1I=1
240 | n1O=1
241 | mI=1
242 | mO=1
243 | tO=1
244 | mP=1
245 | P1=
246 | ]
247 | [
248 | ObjTp=Sm
249 | H=4
250 | SmC=156
251 | Nm=Logic
252 | ObjVer=1
253 | CF=2
254 | mC=7
255 | C1=8
256 | C2=7
257 | C3=9
258 | C4=10
259 | C5=11
260 | C6=12
261 | C7=13
262 | ]
263 | [
264 | ObjTp=Sm
265 | H=5
266 | SmC=157
267 | Nm=DefineArguments
268 | ObjVer=1
269 | CF=2
270 | n1I=1
271 | n1O=1
272 | mC=1
273 | C1=6
274 | mI=1
275 | mO=1
276 | tO=1
277 | mP=1
278 | P1=
279 | ]
280 | [
281 | ObjTp=Sm
282 | H=6
283 | SmC=55
284 | Nm=Argument Definition
285 | ObjVer=1
286 | PrH=5
287 | CF=2
288 | n1I=2
289 | n1O=3
290 | mI=2
291 | I1=4
292 | I2=5
293 | mO=3
294 | tO=3
295 | O1=8
296 | O2=6
297 | O3=7
298 | mP=2
299 | P1=time
300 | P2=span
301 | MPp=2
302 | Pp1=1
303 | Pp2=2
304 | ]
305 | [
306 | ObjTp=Sm
307 | H=7
308 | SmC=32
309 | Nm=Analog Initialize
310 | ObjVer=1
311 | PrH=4
312 | CF=2
313 | n1I=1
314 | n1O=1
315 | mI=1
316 | I1=4
317 | mO=1
318 | tO=1
319 | O1=8
320 | mP=1
321 | P1=0%
322 | ]
323 | [
324 | ObjTp=Sm
325 | H=8
326 | SmC=9
327 | Nm=One Shot
328 | ObjVer=1
329 | PrH=4
330 | CF=2
331 | n1I=3
332 | n1O=2
333 | mI=3
334 | I1=4
335 | I3=5
336 | mO=2
337 | tO=2
338 | O1=9
339 | mP=1
340 | P1=#time
341 | ]
342 | [
343 | ObjTp=Sm
344 | H=9
345 | SmC=22
346 | Nm=Analog Ramp
347 | ObjVer=1
348 | PrH=4
349 | CF=2
350 | n1I=3
351 | n1O=1
352 | mI=3
353 | I1=9
354 | I2=11
355 | mO=1
356 | tO=1
357 | O1=8
358 | mP=1
359 | P1=#time
360 | ]
361 | [
362 | ObjTp=Sm
363 | H=10
364 | SmC=58
365 | Nm=Analog Flip
366 | ObjVer=1
367 | PrH=4
368 | CF=2
369 | n1I=1
370 | n1O=1
371 | mI=1
372 | I1=8
373 | mO=1
374 | tO=1
375 | O1=10
376 | ]
377 | [
378 | ObjTp=Sm
379 | H=11
380 | SmC=24
381 | Nm=Analog Scaler
382 | ObjVer=1
383 | PrH=4
384 | CF=2
385 | n1I=1
386 | n1O=1
387 | mI=1
388 | I1=10
389 | mO=1
390 | tO=1
391 | O1=6
392 | mP=3
393 | P1=#span
394 | P2=
395 | P3=0d
396 | ]
397 | [
398 | ObjTp=Sm
399 | H=12
400 | SmC=38
401 | Nm=Analog Equate
402 | ObjVer=1
403 | PrH=4
404 | CF=2
405 | n1I=2
406 | n1O=1
407 | mI=2
408 | I1=6
409 | mO=1
410 | tO=1
411 | O1=13
412 | mP=1
413 | P1=0d
414 | ]
415 | [
416 | ObjTp=Sm
417 | H=13
418 | SmC=1
419 | Nm=AND
420 | ObjVer=1
421 | PrH=4
422 | CF=2
423 | n1I=2
424 | n1O=1
425 | mI=2
426 | I1=9
427 | I2=13
428 | mO=1
429 | tO=1
430 | O1=7
431 | ]
432 | [
433 | ObjTp=Sg
434 | H=4
435 | Nm=trig
436 | ]
437 | [
438 | ObjTp=Sg
439 | H=5
440 | Nm=reset
441 | ]
442 | [
443 | ObjTp=Sg
444 | H=6
445 | Nm=counter
446 | SgTp=2
447 | ]
448 | [
449 | ObjTp=Sg
450 | H=7
451 | Nm=expired
452 | ]
453 | [
454 | ObjTp=Sg
455 | H=8
456 | Nm=progress
457 | SgTp=2
458 | ]
459 | [
460 | ObjTp=Sg
461 | H=9
462 | Nm=counter_active
463 | ]
464 | [
465 | ObjTp=Sg
466 | H=10
467 | Nm=progress_flip
468 | SgTp=2
469 | ]
470 | [
471 | ObjTp=Sg
472 | H=11
473 | Nm=//__digital_reserved__
474 | ]
475 | [
476 | ObjTp=Sg
477 | H=13
478 | Nm=counter=0
479 | ]
480 | [
481 | ObjTp=Dp
482 | H=1
483 | Tp=1
484 | NF=48
485 | DNF=16
486 | EncFmt=0
487 | DVLF=1
488 | Sgn=0
489 | ]
490 | [
491 | ObjTp=Dp
492 | H=2
493 | Tp=1
494 | NF=7
495 | DNF=1
496 | EncFmt=0
497 | DVLF=1
498 | Sgn=0
499 | ]
500 |
--------------------------------------------------------------------------------
/Display Management/KL Display Management v3.0_archive.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kielthecoder/crestron/07a4516273f441658767b6ab8dfa869f90da03cc/Display Management/KL Display Management v3.0_archive.zip
--------------------------------------------------------------------------------
/Dynamic EISC/KL Dynamic EISC Client v1.0_archive.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kielthecoder/crestron/07a4516273f441658767b6ab8dfa869f90da03cc/Dynamic EISC/KL Dynamic EISC Client v1.0_archive.zip
--------------------------------------------------------------------------------
/Dynamic EISC/KL Dynamic TCP Client v1.0.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.06.00
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,7
20 | Name=KL Dynamic TCP Client v1.0
21 | SmplCName=KL Dynamic TCP Client v1.0.usp
22 | Code=1
23 | SysRev5=4.000
24 | SMWRev=2.02.05
25 | InputCue1=Connect
26 | InputSigType1=Digital
27 | OutputCue1=Connect_Fb
28 | OutputSigType1=Digital
29 | InputList2Cue1=Port
30 | InputList2SigType1=Analog
31 | InputList2Cue2=Address
32 | InputList2SigType2=Serial
33 | InputList2Cue3=TX
34 | InputList2SigType3=Serial
35 | OutputList2Cue1=Status
36 | OutputList2SigType1=Analog
37 | OutputList2Cue2=RX
38 | OutputList2SigType2=Serial
39 | ParamCue1=[Reference Name]
40 | MinVariableInputs=1
41 | MaxVariableInputs=1
42 | MinVariableInputsList2=3
43 | MaxVariableInputsList2=3
44 | MinVariableOutputs=1
45 | MaxVariableOutputs=1
46 | MinVariableOutputsList2=2
47 | MaxVariableOutputsList2=2
48 | MinVariableParams=0
49 | MaxVariableParams=0
50 | Expand=expand_separately
51 | Expand2=expand_separately
52 | ProgramTree=Logic
53 | SymbolTree=32
54 | Hint=
55 | PdfHelp=
56 | HelpID=
57 | Render=4
58 | Smpl-C=16
59 | CompilerCode=-48
60 | CompilerParamCode=27
61 | CompilerParamCode5=14
62 | NumFixedParams=1
63 | Pp1=1
64 | MPp=1
65 | NVStorage=10
66 | ParamSigType1=String
67 | SmplCInputCue1=o#
68 | SmplCOutputCue1=i#
69 | SmplCInputList2Cue1=an#
70 | SmplCOutputList2Cue1=ai#
71 | SPlus2CompiledName=S2_KL_Dynamic_TCP_Client_v1_0
72 | SymJam=NonExclusive
73 | FileName=KL Dynamic TCP Client v1.0.ush
74 | SIMPLPlusModuleEncoding=0
75 | [END]
76 | [BEGIN]
77 | ObjTp=Dp
78 | H=1
79 | Tp=1
80 | NoS=False
81 | [END]
82 |
--------------------------------------------------------------------------------
/Dynamic EISC/KL Dynamic TCP Client v1.0.usp:
--------------------------------------------------------------------------------
1 | /*
2 | Dealer Name: IMT
3 | System Name:
4 | System Number:
5 | Programmer: Kiel Lofstrand
6 | Comments:
7 | */
8 |
9 | // COMPILER DIRECTIVES /////////////////////////////////////////////////////////////////////
10 |
11 | #DEFAULT_VOLATILE
12 | #ENABLE_STACK_CHECKING
13 | #ENABLE_TRACE
14 | // #DIGITAL_EXPAND
15 | // #ANALOG_SERIAL_EXPAND
16 |
17 | /*
18 | #HELP_BEGIN
19 | (add additional lines of help lines)
20 | #HELP_END
21 | */
22 |
23 | #DEFINE_CONSTANT ADDR_LEN 100
24 | #DEFINE_CONSTANT BUF_LEN 1000
25 |
26 | // LIBRARIES ///////////////////////////////////////////////////////////////////////////////
27 |
28 | // #USER_SIMPLSHARP_LIBRARY "LibraryName"
29 |
30 | // INPUTS //////////////////////////////////////////////////////////////////////////////////
31 |
32 | DIGITAL_INPUT Connect;
33 | ANALOG_INPUT Port;
34 | STRING_INPUT Address[ADDR_LEN];
35 | STRING_INPUT TX[BUF_LEN];
36 |
37 | // OUTPUTS /////////////////////////////////////////////////////////////////////////////////
38 |
39 | DIGITAL_OUTPUT Connect_Fb;
40 | ANALOG_OUTPUT Status;
41 | STRING_OUTPUT RX;
42 |
43 | // SOCKETS /////////////////////////////////////////////////////////////////////////////////
44 |
45 | TCP_CLIENT Socket[BUF_LEN];
46 |
47 | // PARAMETERS //////////////////////////////////////////////////////////////////////////////
48 |
49 | // STRUCTURES //////////////////////////////////////////////////////////////////////////////
50 |
51 | // GLOBAL VARIABLES ////////////////////////////////////////////////////////////////////////
52 |
53 | INTEGER giConnected;
54 |
55 | // FUNCTIONS ///////////////////////////////////////////////////////////////////////////////
56 |
57 | // EVENT HANDLERS //////////////////////////////////////////////////////////////////////////
58 |
59 | PUSH Connect
60 | {
61 | SocketConnectClient(Socket, Address, Port, 1);
62 | }
63 |
64 | RELEASE Connect
65 | {
66 | SocketDisconnectClient(Socket);
67 | }
68 |
69 | CHANGE TX
70 | {
71 | If (giConnected)
72 | {
73 | Trace("Sending %d bytes...", Len(TX));
74 | SocketSend(Socket, TX);
75 | }
76 | }
77 |
78 | SOCKETSTATUS Socket
79 | {
80 | Status = SocketGetStatus();
81 | }
82 |
83 | SOCKETCONNECT Socket
84 | {
85 | giConnected = 1;
86 | Connect_Fb = giConnected;
87 | }
88 |
89 | SOCKETDISCONNECT Socket
90 | {
91 | giConnected = 0;
92 | Connect_Fb = giConnected;
93 | }
94 |
95 | SOCKETRECEIVE Socket
96 | {
97 | RX = Socket.SocketRxBuf;
98 | ClearBuffer(Socket.SocketRxBuf);
99 | }
100 |
101 | // CALLBACKS AND DELEGATES /////////////////////////////////////////////////////////////////
102 |
103 | // MAIN ////////////////////////////////////////////////////////////////////////////////////
104 |
105 | FUNCTION Main()
106 | {
107 | WaitForInitializationComplete();
108 | }
109 |
--------------------------------------------------------------------------------
/Grep/KL Grep v1.0.usp:
--------------------------------------------------------------------------------
1 | /*******************************************************************************************
2 | SIMPL+ Module Information
3 | (Fill in comments below)
4 | *******************************************************************************************/
5 | /*
6 | Dealer Name:
7 | System Name:
8 | System Number:
9 | Programmer:
10 | Comments:
11 | */
12 |
13 | /*******************************************************************************************
14 | Compiler Directives
15 | (Uncomment and declare compiler directives as needed)
16 | *******************************************************************************************/
17 | // #ENABLE_DYNAMIC
18 | // #SYMBOL_NAME ""
19 | // #HINT ""
20 | // #DEFINE_CONSTANT
21 | // #CATEGORY ""
22 | // #PRINT_TO_TRACE
23 | // #DIGITAL_EXPAND
24 | // #ANALOG_SERIAL_EXPAND
25 | // #OUTPUT_SHIFT
26 | // #HELP_PDF_FILE ""
27 | #DEFAULT_VOLATILE
28 | #ENABLE_STACK_CHECKING
29 | #ENABLE_TRACE
30 | // #ENCODING_ASCII
31 | // #ENCODING_UTF16
32 | // #ENCODING_INHERIT_FROM_PARENT
33 | // #ENCODING_INHERIT_FROM_PROGRAM
34 |
35 | /*******************************************************************************************
36 | DIGITAL, ANALOG and SERIAL INPUTS and OUTPUTS
37 | (Uncomment and declare inputs and outputs as needed)
38 | *******************************************************************************************/
39 | BUFFER_INPUT Text_In[10000];
40 |
41 | DIGITAL_OUTPUT Match_Found;
42 | ANALOG_OUTPUT Text_Length;
43 | STRING_OUTPUT Text_Out;
44 |
45 | /*******************************************************************************************
46 | Parameters
47 | (Uncomment and declare parameters as needed)
48 | *******************************************************************************************/
49 | STRING_PARAMETER Match_Start[255], Match_End[255];
50 |
51 | /*******************************************************************************************
52 | Global Variables
53 | (Uncomment and declare global variables as needed)
54 | Note: Be sure to initialize all declared STRING variables as needed
55 | For example, in Function Main: myString = "";
56 | *******************************************************************************************/
57 | // INTEGER
58 | // LONG_INTEGER
59 | // SIGNED_INTEGER
60 | // SIGNED_LONG_INTEGER
61 | // STRING
62 |
63 | /*******************************************************************************************
64 | Functions
65 | (Add any additional functions here)
66 | Note: Functions must be physically placed before the location in
67 | the code that calls them.
68 | *******************************************************************************************/
69 |
70 | STRING_FUNCTION Trim (STRING text)
71 | {
72 | INTEGER i, j;
73 |
74 | For (i = 1 To Len(text))
75 | {
76 | If (Byte(text, i) > 32)
77 | Break;
78 | }
79 |
80 | For (j = Len(text) To i Step -1)
81 | {
82 | If (Byte(text, j) > 32)
83 | Break;
84 | }
85 |
86 | Return(Mid(text, i, j - i + 1));
87 | }
88 |
89 | /*******************************************************************************************
90 | Event Handlers
91 | (Uncomment and declare additional event handlers as needed)
92 | *******************************************************************************************/
93 |
94 | CHANGE Text_In
95 | {
96 | INTEGER i, m, n;
97 | STRING temp[10000];
98 |
99 | m = Find(Match_Start, Text_In, 1);
100 |
101 | If (m > 0)
102 | {
103 | n = Find(Match_End, Text_In, m);
104 |
105 | IF (n > 0)
106 | {
107 | temp = Remove(Match_End, Text_In, 1);
108 |
109 | i = m + Len(Match_Start);
110 | temp = Trim(Mid(temp, i, n - i));
111 |
112 | Match_Found = 1;
113 | Text_Length = Len(temp);
114 | Text_Out = temp;
115 |
116 | Return;
117 | }
118 | }
119 |
120 | Match_Found = 0;
121 | }
122 |
123 |
--------------------------------------------------------------------------------
/Instant On/KL Instant On v1.2.umc:
--------------------------------------------------------------------------------
1 | [
2 | Version=1
3 | ]
4 | [
5 | ObjTp=FSgntr
6 | Sgntr=UserMacro
7 | RelVrs=4.07.03
8 | IntStrVrs=2
9 | MinSMWVrs=2.07.04
10 | MinTIOVrs=0
11 | SavedBy=SMW4.02.65
12 | ]
13 | [
14 | ObjTp=Hd
15 | S0Nd=1
16 | S1Nd=2
17 | SLNd=3
18 | PrNm=KL Instant On v1.2.umc
19 | DbVr=63.07.003.00
20 | DvcDbVr=87.00.003.00
21 | PgmNm=Kiel Lofstrand
22 | DlrNm=SPS
23 | Incl=362,378,380,405,407,408,409,478,522,537,554,586,590,611,624,767,830,883,1032,1062,1079,1134,1157,1199,1220,1222,1299,1348,1439,1472,1473,1499,1746,1803,1975,2229,2354,2514,2523,2532,3708,3902,3912,3918,3925,1766,2574,2651,2817,2886,2938,2947,3181,3197,3233,3710,3735,3736,3816,3888,4176,4308,4476,4591,4769,5360,5388,5420,5455,
24 | McNm=KL Instant On v1.1
25 | SmVr=1039
26 | DvVr=1039
27 | TpN1=1
28 | TpN2=2
29 | TpN3=3
30 | TpN4=4
31 | TpN5=5
32 | APg=1
33 | FltTmp=1
34 | FpCS=0
35 | EnType=0
36 | ZeroOnIoOk=1
37 | SGMethod=1
38 | ]
39 | [
40 | ObjTp=Bk
41 | Nm1=\
42 | Sx1=0
43 | Sy1=0
44 | Mx1=0
45 | ]
46 | [
47 | ObjTp=Bw
48 | H=1
49 | Lx=337
50 | Ly=379
51 | Rx=1215
52 | Ry=659
53 | Xm=-1
54 | Ym=-1
55 | SH=7
56 | Z=100
57 | Ht=4
58 | Hi=3
59 | ]
60 | [
61 | ObjTp=Bw
62 | H=1
63 | Lx=100
64 | Ly=80
65 | Rx=1041
66 | Ry=403
67 | Xm=-1
68 | Ym=-1
69 | SH=13
70 | Z=100
71 | Ht=4
72 | Hi=1
73 | ]
74 | [
75 | ObjTp=Bw
76 | H=1
77 | Lx=163
78 | Ly=397
79 | Rx=986
80 | Ry=707
81 | Xm=-1
82 | Ym=-1
83 | SH=12
84 | Z=100
85 | Ht=4
86 | Hi=1
87 | ]
88 | [
89 | ObjTp=Bw
90 | H=1
91 | Lx=333
92 | Ly=80
93 | Rx=1132
94 | Ry=322
95 | Xm=-1
96 | Ym=-1
97 | SH=11
98 | Z=100
99 | Ht=4
100 | Hi=1
101 | ]
102 | [
103 | ObjTp=Bw
104 | H=1
105 | Lx=216
106 | Ly=344
107 | Rx=944
108 | Ry=670
109 | Xm=-1
110 | Ym=-1
111 | SH=10
112 | Z=100
113 | Ht=4
114 | Hi=1
115 | ]
116 | [
117 | ObjTp=Bw
118 | H=1
119 | Lx=625
120 | Ly=0
121 | Rx=1250
122 | Ry=734
123 | Xm=-1
124 | Ym=-1
125 | SH=9
126 | Z=100
127 | Ht=1
128 | Hi=2
129 | ]
130 | [
131 | ObjTp=Bw
132 | H=1
133 | Lx=193
134 | Ly=43
135 | Rx=1131
136 | Ry=370
137 | Xm=-1
138 | Ym=-1
139 | SH=8
140 | Z=100
141 | Ht=1
142 | Hi=1
143 | ]
144 | [
145 | ObjTp=Bw
146 | H=1
147 | Lx=0
148 | Ly=0
149 | Rx=625
150 | Ry=734
151 | Xm=-1
152 | Ym=-1
153 | SH=6
154 | Z=100
155 | Ht=1
156 | Hi=4
157 | ]
158 | [
159 | ObjTp=Symbol
160 | Name=KL Instant On v1.2
161 | Code=1
162 | SmplCName=KL Instant On v1.2.umc
163 | Smpl-C=3
164 | CompilerTimePrecision=Single_Or_Double_Precision
165 | SMWRev=2.07.04
166 | TIORev=0
167 | HelpID=1055
168 | APg=1
169 | StdCmd=0
170 | FltTmp=1
171 | FpCS=0
172 | NumFixedInputs=4
173 | NumFixedOutputs=2
174 | NumFixedParams=1
175 | MinVariableInputs=0
176 | MinVariableInputsList2=0
177 | MinVariableInputsList3=0
178 | MinVariableOutputs=0
179 | MinVariableOutputsList2=0
180 | MinVariableOutputsList3=0
181 | MinVariableParams=0
182 | SymbolTree=32
183 | ParamSigType1=Time|Constant
184 | InputCue1=Enable
185 | InputCue2=Display_Is_On
186 | InputCue3=Display_Is_Off
187 | InputCue4=Trigger
188 | OutputCue1=Instant_On
189 | OutputCue2=Instant_Off
190 | ParamCue1=Timeout
191 | MPp=1
192 | Pp1=1
193 | FileName=KL Instant On v1.2.umc
194 | EncodingType=0
195 | ZeroOnIoOk=1
196 | ]
197 | [
198 | ObjTp=Sm
199 | H=1
200 | SmC=157
201 | Nm=Central Control Modules
202 | ObjVer=1
203 | CF=2
204 | n1I=1
205 | n1O=1
206 | mI=1
207 | mO=1
208 | tO=1
209 | mP=1
210 | P1=
211 | ]
212 | [
213 | ObjTp=Sm
214 | H=2
215 | SmC=157
216 | Nm=Network Modules
217 | ObjVer=1
218 | CF=2
219 | n1I=1
220 | n1O=1
221 | mI=1
222 | mO=1
223 | tO=1
224 | mP=1
225 | P1=
226 | ]
227 | [
228 | ObjTp=Sm
229 | H=3
230 | SmC=157
231 | Nm=Ethernet
232 | ObjVer=1
233 | CF=2
234 | n1I=1
235 | n1O=1
236 | mI=1
237 | mO=1
238 | tO=1
239 | mP=1
240 | P1=
241 | ]
242 | [
243 | ObjTp=Sm
244 | H=4
245 | SmC=156
246 | Nm=Logic
247 | ObjVer=1
248 | CF=2
249 | mC=7
250 | C1=7
251 | C2=8
252 | C3=9
253 | C4=10
254 | C5=11
255 | C6=12
256 | C7=13
257 | ]
258 | [
259 | ObjTp=Sm
260 | H=5
261 | SmC=157
262 | Nm=DefineArguments
263 | ObjVer=1
264 | CF=2
265 | n1I=1
266 | n1O=1
267 | mC=1
268 | C1=6
269 | mI=1
270 | mO=1
271 | tO=1
272 | mP=1
273 | P1=
274 | ]
275 | [
276 | ObjTp=Sm
277 | H=6
278 | SmC=55
279 | Nm=Argument Definition
280 | ObjVer=1
281 | PrH=5
282 | CF=2
283 | n1I=4
284 | n1O=2
285 | mI=4
286 | I1=6
287 | I2=12
288 | I3=10
289 | I4=4
290 | mO=2
291 | tO=2
292 | O1=11
293 | O2=17
294 | mP=1
295 | P1=Timeout
296 | MPp=1
297 | Pp1=1
298 | ]
299 | [
300 | ObjTp=Sm
301 | H=7
302 | SmC=20
303 | Nm=Buffer
304 | ObjVer=1
305 | PrH=4
306 | CF=2
307 | n1I=4
308 | n1O=3
309 | mI=4
310 | I1=6
311 | I2=4
312 | I3=7
313 | I4=13
314 | mO=3
315 | tO=3
316 | O1=9
317 | O2=11
318 | O3=17
319 | ]
320 | [
321 | ObjTp=Sm
322 | H=8
323 | SmC=205
324 | Nm=NOT
325 | ObjVer=1
326 | PrH=4
327 | CF=2
328 | n1I=1
329 | n1O=1
330 | mI=1
331 | I1=9
332 | mO=1
333 | tO=1
334 | O1=5
335 | ]
336 | [
337 | ObjTp=Sm
338 | H=9
339 | SmC=20
340 | Nm=Buffer
341 | ObjVer=1
342 | PrH=4
343 | CF=2
344 | n1I=2
345 | n1O=1
346 | mI=2
347 | I1=10
348 | I2=9
349 | mO=1
350 | tO=1
351 | O1=7
352 | ]
353 | [
354 | ObjTp=Sm
355 | H=10
356 | SmC=20
357 | Nm=Buffer
358 | ObjVer=1
359 | PrH=4
360 | CF=2
361 | n1I=2
362 | n1O=1
363 | mI=2
364 | I1=12
365 | I2=5
366 | mO=1
367 | tO=1
368 | O1=8
369 | ]
370 | [
371 | ObjTp=Sm
372 | H=11
373 | SmC=9
374 | Nm=One Shot
375 | ObjVer=1
376 | PrH=4
377 | CF=2
378 | n1I=3
379 | n1O=2
380 | mI=3
381 | I1=8
382 | I3=4
383 | mO=2
384 | tO=2
385 | O1=14
386 | mP=1
387 | P1=#Timeout
388 | ]
389 | [
390 | ObjTp=Sm
391 | H=12
392 | SmC=9
393 | Nm=One Shot
394 | ObjVer=1
395 | PrH=4
396 | CF=2
397 | n1I=3
398 | n1O=2
399 | mI=3
400 | I1=15
401 | I2=14
402 | mO=2
403 | tO=2
404 | O1=16
405 | mP=1
406 | P1=.1s
407 | ]
408 | [
409 | ObjTp=Sm
410 | H=13
411 | SmC=20
412 | Nm=Buffer
413 | ObjVer=1
414 | PrH=4
415 | CF=2
416 | n1I=2
417 | n1O=1
418 | mI=2
419 | I1=5
420 | I2=16
421 | mO=1
422 | tO=1
423 | O1=13
424 | ]
425 | [
426 | ObjTp=Sg
427 | H=4
428 | Nm=Trigger
429 | ]
430 | [
431 | ObjTp=Sg
432 | H=5
433 | Nm=Trigger*
434 | ]
435 | [
436 | ObjTp=Sg
437 | H=6
438 | Nm=Enable
439 | ]
440 | [
441 | ObjTp=Sg
442 | H=7
443 | Nm=Instant_On?
444 | ]
445 | [
446 | ObjTp=Sg
447 | H=8
448 | Nm=Trigger*_b
449 | ]
450 | [
451 | ObjTp=Sg
452 | H=9
453 | Nm=Trigger_b
454 | ]
455 | [
456 | ObjTp=Sg
457 | H=10
458 | Nm=Display_Is_Off
459 | ]
460 | [
461 | ObjTp=Sg
462 | H=11
463 | Nm=Instant_On
464 | ]
465 | [
466 | ObjTp=Sg
467 | H=12
468 | Nm=Display_Is_On
469 | ]
470 | [
471 | ObjTp=Sg
472 | H=13
473 | Nm=Instant_Off?
474 | ]
475 | [
476 | ObjTp=Sg
477 | H=14
478 | Nm=Timeout_mv
479 | ]
480 | [
481 | ObjTp=Sg
482 | H=15
483 | Nm=//__digital_reserved__
484 | ]
485 | [
486 | ObjTp=Sg
487 | H=16
488 | Nm=Timeout_Expired_mv
489 | ]
490 | [
491 | ObjTp=Sg
492 | H=17
493 | Nm=Instant_Off
494 | ]
495 | [
496 | ObjTp=Dp
497 | H=1
498 | Tp=1
499 | NF=48
500 | DNF=16
501 | EncFmt=0
502 | DVLF=1
503 | Sgn=0
504 | ]
505 |
--------------------------------------------------------------------------------
/Kernel/KL Page Tracking v1.0.usp:
--------------------------------------------------------------------------------
1 | /*******************************************************************************************
2 | SIMPL+ Module Information
3 | (Fill in comments below)
4 | *******************************************************************************************/
5 | /*
6 | Dealer Name:
7 | System Name:
8 | System Number:
9 | Programmer:
10 | Comments:
11 | */
12 |
13 | /*******************************************************************************************
14 | Compiler Directives
15 | (Uncomment and declare compiler directives as needed)
16 | *******************************************************************************************/
17 | // #ENABLE_DYNAMIC
18 | // #SYMBOL_NAME ""
19 | // #HINT ""
20 | #DEFINE_CONSTANT MAX_PAGES 10
21 | // #CATEGORY ""
22 | // #PRINT_TO_TRACE
23 | // #DIGITAL_EXPAND
24 | // #ANALOG_SERIAL_EXPAND
25 | // #OUTPUT_SHIFT
26 | // #HELP_PDF_FILE ""
27 | #DEFAULT_VOLATILE
28 | #ENABLE_STACK_CHECKING
29 | #ENABLE_TRACE
30 | // #ENCODING_ASCII
31 | // #ENCODING_UTF16
32 | // #ENCODING_INHERIT_FROM_PARENT
33 | // #ENCODING_INHERIT_FROM_PROGRAM
34 | /*
35 | #HELP_BEGIN
36 | (add additional lines of help lines)
37 | #HELP_END
38 | */
39 |
40 | /*******************************************************************************************
41 | DIGITAL, ANALOG and SERIAL INPUTS and OUTPUTS
42 | (Uncomment and declare inputs and outputs as needed)
43 | *******************************************************************************************/
44 | DIGITAL_INPUT Previous_Page, Select_Page[MAX_PAGES];
45 |
46 | DIGITAL_OUTPUT Page_Fb[MAX_PAGES];
47 |
48 | /*******************************************************************************************
49 | Global Variables
50 | (Uncomment and declare global variables as needed)
51 | Note: Be sure to initialize all declared STRING variables as needed
52 | For example, in Function Main: myString = "";
53 | *******************************************************************************************/
54 | INTEGER nActivePage, nNextPage, nLastPage;
55 |
56 | /*******************************************************************************************
57 | Functions
58 | (Add any additional functions here)
59 | Note: Functions must be physically placed before the location in
60 | the code that calls them.
61 | *******************************************************************************************/
62 |
63 | Function UpdateFeedback()
64 | {
65 | INTEGER i;
66 |
67 | For (i = 1 To MAX_PAGES)
68 | {
69 | If (i = nActivePage)
70 | {
71 | Page_Fb[i] = 1;
72 | }
73 | Else
74 | {
75 | Page_Fb[i] = 0;
76 | }
77 | }
78 | }
79 |
80 | /*******************************************************************************************
81 | Event Handlers
82 | (Uncomment and declare additional event handlers as needed)
83 | *******************************************************************************************/
84 |
85 | PUSH Select_Page
86 | {
87 | nNextPage = GetLastModifiedArrayIndex();
88 | nLastPage = nActivePage;
89 | }
90 |
91 | RELEASE Select_Page
92 | {
93 | nActivePage = nNextPage;
94 |
95 | UpdateFeedback();
96 | }
97 |
98 | PUSH Previous_Page
99 | {
100 | nNextPage = nLastPage;
101 | nLastPage = nActivePage;
102 | }
103 |
104 | RELEASE Previous_Page
105 | {
106 | nActivePage = nNextPage;
107 |
108 | UpdateFeedback();
109 | }
110 |
111 | /*******************************************************************************************
112 | Main()
113 | Uncomment and place one-time startup code here
114 | (This code will get called when the system starts up)
115 | *******************************************************************************************/
116 |
117 | Function Main()
118 | {
119 | nActivePage = 0;
120 | nNextPage = 0;
121 | nLastPage = 0;
122 | }
123 |
124 |
125 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2016 Kiel Lofstrand
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Multiple Analog One-Shot/KL Multiple Analog One-Shot v1.0.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.04.01
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,718,756,854,
18 | Exclusions_CDS=
19 | Inclusions_CDS=5,6
20 | Name=KL Multiple Analog One-Shot v1.0
21 | SmplCName=KL Multiple Analog One-Shot v1.0.usp
22 | Code=1
23 | SysRev5=4.006
24 | SMWRev=3.00.00
25 | OutputCue1=out
26 | OutputSigType1=Digital
27 | InputList2Cue1=ain[#]
28 | InputList2SigType1=Analog
29 | ParamCue1=[Reference Name]
30 | ParamCue2=duration
31 | ParamSigType2=Constant
32 | MinVariableInputs=0
33 | MaxVariableInputs=0
34 | MinVariableInputsList2=1
35 | MaxVariableInputsList2=255
36 | MinVariableOutputs=1
37 | MaxVariableOutputs=1
38 | MinVariableOutputsList2=0
39 | MaxVariableOutputsList2=0
40 | MinVariableParams=1
41 | MaxVariableParams=1
42 | Expand=expand_separately
43 | Expand2=expand_separately
44 | ProgramTree=Logic
45 | SymbolTree=32
46 | Hint=
47 | PdfHelp=
48 | HelpID=
49 | Render=4
50 | Smpl-C=16
51 | CompilerCode=-48
52 | CompilerParamCode=27
53 | CompilerParamCode5=14
54 | NumFixedParams=1
55 | Pp1=1
56 | Pp2=2
57 | MPp=2
58 | NVStorage=10
59 | ParamSigType1=String
60 | SmplCInputCue1=o#
61 | SmplCOutputCue1=i#
62 | SmplCInputList2Cue1=an#
63 | SmplCOutputList2Cue1=ai#
64 | SPlus2CompiledName=S2_KL_Multiple_Analog_One_Shot_v1_0
65 | SymJam=NonExclusive
66 | FileName=KL Multiple Analog One-Shot v1.0.ush
67 | SIMPLPlusModuleEncoding=0
68 | [END]
69 | [BEGIN]
70 | ObjTp=Dp
71 | H=1
72 | Tp=1
73 | NoS=False
74 | [END]
75 | [BEGIN]
76 | ObjTp=Dp
77 | H=2
78 | Tp=1
79 | HD=False
80 | Sgn=0
81 | Lng=False
82 | NF=63
83 | NoS=True
84 | DNF=1
85 | VVS=0
86 | [END]
87 |
--------------------------------------------------------------------------------
/Multiple Analog One-Shot/KL Multiple Analog One-Shot v1.0.usp:
--------------------------------------------------------------------------------
1 | // Dealer Name:
2 | // System Name:
3 | // System Number:
4 | // Programmer:
5 | // Comments:
6 |
7 | // - Compiler Directives ------------------------------------------------------
8 | // #ENABLE_DYNAMIC
9 | // #SYMBOL_NAME ""
10 | // #HINT ""
11 | // #DEFINE_CONSTANT
12 | // #CATEGORY ""
13 | // #PRINT_TO_TRACE
14 | // #DIGITAL_EXPAND
15 | // #ANALOG_SERIAL_EXPAND
16 | // #OUTPUT_SHIFT
17 | // #HELP_PDF_FILE ""
18 | #DEFAULT_VOLATILE
19 | #ENABLE_STACK_CHECKING
20 | #ENABLE_TRACE
21 | // #ENCODING_ASCII
22 | // #ENCODING_UTF16
23 | // #ENCODING_INHERIT_FROM_PARENT
24 | // #ENCODING_INHERIT_FROM_PROGRAM
25 |
26 | // - Inputs -------------------------------------------------------------------
27 | // DIGITAL_INPUT
28 | ANALOG_INPUT ain[255];
29 | // STRING_INPUT
30 | // BUFFER_INPUT
31 |
32 | // - Outputs ------------------------------------------------------------------
33 | DIGITAL_OUTPUT out;
34 | // ANALOG_OUTPUT
35 | // STRING_OUTPUT
36 |
37 | // - Parameters ---------------------------------------------------------------
38 | INTEGER_PARAMETER duration;
39 | // SIGNED_INTEGER_PARAMETER
40 | // LONG_INTEGER_PARAMETER
41 | // SIGNED_LONG_INTEGER_PARAMETER
42 | // STRING_PARAMETER
43 |
44 | // - Event Handlers -----------------------------------------------------------
45 |
46 | THREADSAFE CHANGE ain
47 | {
48 | Pulse(duration, out);
49 | }
50 |
51 | // - Main ---------------------------------------------------------------------
52 |
53 | Function Main()
54 | {
55 | out = 0;
56 |
57 | WaitForInitializationComplete();
58 | }
59 |
--------------------------------------------------------------------------------
/Page Tracking/KL Page Tracking v1.0.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.04.01
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,718,756,854,
18 | Exclusions_CDS=5
19 | Inclusions_CDS=6
20 | Name=KL Page Tracking v1.0
21 | SmplCName=KL Page Tracking v1.0.usp
22 | Code=1
23 | SysRev5=4.006
24 | SMWRev=3.00.00
25 | InputCue1=Clear
26 | InputSigType1=Digital
27 | InputCue2=Previous
28 | InputSigType2=Digital
29 | InputCue3=Goto_Page[#]
30 | InputSigType3=Digital
31 | OutputCue1=[~UNUSED~]
32 | OutputSigType1=Digital
33 | OutputCue2=[~UNUSED~]
34 | OutputSigType2=Digital
35 | OutputCue3=Show_Page[#]
36 | OutputSigType3=Digital
37 | ParamCue1=[Reference Name]
38 | MinVariableInputs=12
39 | MaxVariableInputs=12
40 | MinVariableInputsList2=0
41 | MaxVariableInputsList2=0
42 | MinVariableOutputs=12
43 | MaxVariableOutputs=12
44 | MinVariableOutputsList2=0
45 | MaxVariableOutputsList2=0
46 | MinVariableParams=0
47 | MaxVariableParams=0
48 | Expand=expand_inputs_with_outputs
49 | Expand2=expand_separately
50 | ProgramTree=Logic
51 | SymbolTree=32
52 | Hint=
53 | PdfHelp=
54 | HelpID=
55 | Render=4
56 | Smpl-C=16
57 | CompilerCode=-48
58 | CompilerParamCode=27
59 | CompilerParamCode5=14
60 | NumFixedParams=1
61 | Pp1=1
62 | MPp=1
63 | NVStorage=10
64 | ParamSigType1=String
65 | SmplCInputCue1=o#
66 | SmplCOutputCue1=i#
67 | SmplCInputList2Cue1=an#
68 | SmplCOutputList2Cue1=ai#
69 | SPlus2CompiledName=S2_KL_Page_Tracking_v1_0
70 | SymJam=NonExclusive
71 | FileName=KL Page Tracking v1.0.ush
72 | SIMPLPlusModuleEncoding=0
73 | clz1=Cisco SX80 Corporate Phone Book
74 | clz2=Cisco SX80 Phone Book
75 | [END]
76 | [BEGIN]
77 | ObjTp=Dp
78 | H=1
79 | Tp=1
80 | NoS=False
81 | [END]
82 |
--------------------------------------------------------------------------------
/Page Tracking/KL Page Tracking v1.0.usp:
--------------------------------------------------------------------------------
1 | // --- SIMPL+ Module Information --------------------------------------------
2 | //
3 | // Dealer Name:
4 | // System Name:
5 | // System Number:
6 | // Programmer: Kiel Lofstrand
7 | // Comments:
8 |
9 | // --- Compiler Directives --------------------------------------------------
10 |
11 | #DEFAULT_VOLATILE
12 | #ENABLE_STACK_CHECKING
13 | // #ENABLE_TRACE
14 | #DIGITAL_EXPAND InputsWithOutputs
15 |
16 | //#USER_SIMPLSHARP_LIBRARY "SIMPLSharpLibrary1"
17 |
18 | // --- Inputs ---------------------------------------------------------------
19 |
20 | DIGITAL_INPUT Clear;
21 | DIGITAL_INPUT Previous;
22 | DIGITAL_INPUT Goto_Page[10,10];
23 |
24 | // --- Outputs --------------------------------------------------------------
25 |
26 | DIGITAL_OUTPUT _SKIP_, _SKIP_;
27 | DIGITAL_OUTPUT Show_Page[10,10];
28 |
29 | // --- Parameters -----------------------------------------------------------
30 |
31 | // --- Global Variables -----------------------------------------------------
32 |
33 | INTEGER giCurrentPage[100];
34 | INTEGER giPageIndex;
35 |
36 | // --- Functions ------------------------------------------------------------
37 |
38 | // --- Callbacks ------------------------------------------------------------
39 |
40 | // --- Event Handlers -------------------------------------------------------
41 |
42 | PUSH Clear
43 | {
44 | // Reset pointer
45 | giPageIndex = 0;
46 | Trace("PageIndex = %d", giPageIndex);
47 |
48 | // Update feedback
49 | SetArray(Show_Page, 0);
50 | }
51 |
52 | PUSH Previous
53 | {
54 | // Are we at the first page yet?
55 | If (giPageIndex > 1)
56 | giPageIndex = giPageIndex - 1;
57 |
58 | // Update feedback
59 | SetArray(Show_Page, 0);
60 | Show_Page[giCurrentPage[giPageIndex]] = 1;
61 | }
62 |
63 | PUSH Goto_Page
64 | {
65 | INTEGER i, n;
66 |
67 | // n is page number (1 - 10)
68 | n = GetLastModifiedArrayIndex();
69 |
70 | // Is this page different from the current page?
71 | If (n <> giCurrentPage[giPageIndex])
72 | {
73 | // Update pointer
74 | If (giPageIndex < 100)
75 | giPageIndex = giPageIndex + 1;
76 | Else
77 | {
78 | // Shift array down to make room for next page
79 | For (i = 1 To 99)
80 | {
81 | giCurrentPage[i] = giCurrentPage[i + 1];
82 | }
83 | }
84 |
85 | // Remember this page
86 | giCurrentPage[giPageIndex] = n;
87 | Trace("PageIndex = %d", giPageIndex);
88 |
89 | // Update feedback
90 | SetArray(Show_Page, 0);
91 | Show_Page[n] = 1;
92 | }
93 | }
94 |
95 | // --- Main() ---------------------------------------------------------------
96 |
97 | Function Main()
98 | {
99 | WaitForInitializationComplete();
100 | }
101 |
--------------------------------------------------------------------------------
/Phonebook/KL Phonebook Driver v1.0.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.05.01
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,7
20 | Name=KL Phonebook Driver v1.0
21 | SmplCName=KL Phonebook Driver v1.0.usp
22 | Code=1
23 | SysRev5=4.006
24 | SMWRev=3.00.00
25 | InputCue1=Load
26 | InputSigType1=Digital
27 | InputCue2=Store
28 | InputSigType2=Digital
29 | InputCue3=First_Page
30 | InputSigType3=Digital
31 | InputCue4=Previous_Page
32 | InputSigType4=Digital
33 | InputCue5=Next_Page
34 | InputSigType5=Digital
35 | InputCue6=Last_Page
36 | InputSigType6=Digital
37 | InputCue7=Clear_Selection
38 | InputSigType7=Digital
39 | InputCue8=Add_New_Contact
40 | InputSigType8=Digital
41 | InputCue9=Delete_Selected_Contact
42 | InputSigType9=Digital
43 | InputList2Cue1=Select
44 | InputList2SigType1=Analog
45 | InputList2Cue2=New_Contact_Name
46 | InputList2SigType2=Serial
47 | InputList2Cue3=New_Contact_Number
48 | InputList2SigType3=Serial
49 | OutputList2Cue1=Page_Size
50 | OutputList2SigType1=Analog
51 | OutputList2Cue2=Current_Page
52 | OutputList2SigType2=Analog
53 | OutputList2Cue3=Total_Pages
54 | OutputList2SigType3=Analog
55 | OutputList2Cue4=Select_Fb
56 | OutputList2SigType4=Analog
57 | OutputList2Cue5=Selected_Entry_Name
58 | OutputList2SigType5=Serial
59 | OutputList2Cue6=Selected_Entry_Number
60 | OutputList2SigType6=Serial
61 | OutputList2Cue7=Entry_Name[#]
62 | OutputList2SigType7=Serial
63 | ParamCue1=[Reference Name]
64 | ParamCue2=File_Name
65 | ParamSigType2=String
66 | MinVariableInputs=9
67 | MaxVariableInputs=9
68 | MinVariableInputsList2=3
69 | MaxVariableInputsList2=3
70 | MinVariableOutputs=0
71 | MaxVariableOutputs=0
72 | MinVariableOutputsList2=7
73 | MaxVariableOutputsList2=16
74 | MinVariableParams=1
75 | MaxVariableParams=1
76 | Expand=expand_separately
77 | Expand2=expand_separately
78 | ProgramTree=Logic
79 | SymbolTree=32
80 | Hint=
81 | PdfHelp=
82 | HelpID=
83 | Render=4
84 | Smpl-C=16
85 | CompilerCode=-48
86 | CompilerParamCode=27
87 | CompilerParamCode5=14
88 | NumFixedParams=1
89 | Pp1=1
90 | Pp2=2
91 | MPp=2
92 | NVStorage=10
93 | ParamSigType1=String
94 | SmplCInputCue1=o#
95 | SmplCOutputCue1=i#
96 | SmplCInputList2Cue1=an#
97 | SmplCOutputList2Cue1=ai#
98 | SPlus2CompiledName=S2_KL_Phonebook_Driver_v1_0
99 | SymJam=NonExclusive
100 | FileName=KL Phonebook Driver v1.0.ush
101 | SIMPLPlusModuleEncoding=0
102 | clz1=MassLogic
103 | [END]
104 | [BEGIN]
105 | ObjTp=Dp
106 | H=1
107 | Tp=1
108 | NoS=False
109 | [END]
110 | [BEGIN]
111 | ObjTp=Dp
112 | H=2
113 | Tp=1
114 | HD=False
115 | NoS=False
116 | VVS=0
117 | [END]
118 |
--------------------------------------------------------------------------------
/Phonebook/KL Phonebook Driver v1.0.usp:
--------------------------------------------------------------------------------
1 | // Dealer Name: ConvergeOne
2 | // System Name:
3 | // System Number:
4 | // Programmer: Kiel Lofstrand
5 | // Comments:
6 |
7 | // --- Compiler Directives --------------------------------------------------
8 | // #CATEGORY ""
9 | // #DIGITAL_EXPAND
10 | // #ANALOG_SERIAL_EXPAND
11 |
12 | #DEFAULT_VOLATILE
13 | #ENABLE_STACK_CHECKING
14 | #ENABLE_TRACE
15 | // #PRINT_TO_TRACE
16 |
17 | #DEFINE_CONSTANT MAX_FILE_NAME_LEN 200
18 | #DEFINE_CONSTANT MAX_PAGE_SIZE 10
19 | #DEFINE_CONSTANT MAX_NAME_LEN 50
20 | #DEFINE_CONSTANT MAX_NUMBER_LEN 50
21 |
22 | #USER_SIMPLSHARP_LIBRARY "MassLogic"
23 |
24 | // --- Inputs ---------------------------------------------------------------
25 |
26 | DIGITAL_INPUT Load;
27 | DIGITAL_INPUT Store;
28 | DIGITAL_INPUT First_Page;
29 | DIGITAL_INPUT Previous_Page;
30 | DIGITAL_INPUT Next_Page;
31 | DIGITAL_INPUT Last_Page;
32 | DIGITAL_INPUT Clear_Selection;
33 | DIGITAL_INPUT Add_New_Contact;
34 | DIGITAL_INPUT Delete_Selected_Contact;
35 |
36 | ANALOG_INPUT Select;
37 | STRING_INPUT New_Contact_Name[MAX_NAME_LEN];
38 | STRING_INPUT New_Contact_Number[MAX_NUMBER_LEN];
39 | // BUFFER_INPUT
40 |
41 | // --- Outputs --------------------------------------------------------------
42 |
43 | // DIGITAL_OUTPUT
44 | ANALOG_OUTPUT Page_Size;
45 | ANALOG_OUTPUT Current_Page;
46 | ANALOG_OUTPUT Total_Pages;
47 |
48 | ANALOG_OUTPUT Select_Fb;
49 |
50 | STRING_OUTPUT Selected_Entry_Name;
51 | STRING_OUTPUT Selected_Entry_Number;
52 |
53 | STRING_OUTPUT Entry_Name[MAX_PAGE_SIZE];
54 |
55 | // --- Sockets --------------------------------------------------------------
56 |
57 | // TCP_CLIENT
58 | // TCP_SERVER
59 | // UDP_SOCKET
60 |
61 | // --- Parameters -----------------------------------------------------------
62 |
63 | STRING_PARAMETER File_Name[MAX_FILE_NAME_LEN];
64 |
65 | // --- Global Variables -----------------------------------------------------
66 |
67 | Phonebook Contacts;
68 |
69 | // --- Functions ------------------------------------------------------------
70 |
71 | // Function MyFunction1()
72 | // Integer_Function MyIntFunction1()
73 | // String_Function MyStrFunction1()
74 |
75 | // --- Events ---------------------------------------------------------------
76 |
77 | THREADSAFE PUSH Load
78 | {
79 | Contacts.Load();
80 | }
81 |
82 | THREADSAFE PUSH Store
83 | {
84 | Contacts.Store();
85 | }
86 |
87 | THREADSAFE PUSH First_Page
88 | {
89 | Contacts.FirstPage();
90 | }
91 |
92 | THREADSAFE PUSH Previous_Page
93 | {
94 | Contacts.PreviousPage();
95 | }
96 |
97 | THREADSAFE PUSH Next_Page
98 | {
99 | Contacts.NextPage();
100 | }
101 |
102 | THREADSAFE PUSH Last_Page
103 | {
104 | Contacts.LastPage();
105 | }
106 |
107 | THREADSAFE CHANGE Select
108 | {
109 | Contacts.Selection = Select;
110 | }
111 |
112 | THREADSAFE PUSH Clear_Selection
113 | {
114 | Contacts.Selection = 0;
115 | }
116 |
117 | THREADSAFE PUSH Add_New_Contact
118 | {
119 | Contacts.Add(New_Contact_Name, New_Contact_Number);
120 | }
121 |
122 | THREADSAFE PUSH Delete_Selected_Contact
123 | {
124 | Contacts.DeleteSelected();
125 | }
126 |
127 | // --- Main -----------------------------------------------------------------
128 |
129 | EventHandler Contacts_UpdatePageNumber(Phonebook sender, EventArgs e)
130 | {
131 | Current_Page = sender.CurrentPage;
132 | Total_Pages = sender.TotalPages;
133 | }
134 |
135 | EventHandler Contacts_UpdatePageEntries(Phonebook sender, EventArgs e)
136 | {
137 | INTEGER i;
138 |
139 | For (i = 1 To sender.PageSize)
140 | {
141 | Entry_Name[i] = sender.EntryName(i);
142 | }
143 | }
144 |
145 | EventHandler Contacts_OnSelection(Phonebook sender, EventArgs e)
146 | {
147 | Select_Fb = Contacts.Selection;
148 | Selected_Entry_Name = Contacts.SelectedEntryName;
149 | Selected_Entry_Number = Contacts.SelectedEntryNumber;
150 | }
151 |
152 | Function Main()
153 | {
154 | Contacts.Initialize();
155 | Contacts.FileName = File_Name;
156 |
157 | RegisterEvent(Contacts, UpdatePageNumber, Contacts_UpdatePageNumber);
158 | RegisterEvent(Contacts, UpdatePageEntries, Contacts_UpdatePageEntries);
159 | RegisterEvent(Contacts, OnSelection, Contacts_OnSelection);
160 |
161 | WaitForInitializationComplete();
162 |
163 | Page_Size = Contacts.PageSize;
164 | }
165 |
166 |
--------------------------------------------------------------------------------
/Phonebook/KL Phonebook Driver v1.1.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.06.00
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,7
20 | Name=KL Phonebook Driver v1.1
21 | SmplCName=KL Phonebook Driver v1.1.usp
22 | Code=1
23 | SysRev5=4.006
24 | SMWRev=3.00.00
25 | InputCue1=Load
26 | InputSigType1=Digital
27 | InputCue2=Store
28 | InputSigType2=Digital
29 | InputCue3=First_Page
30 | InputSigType3=Digital
31 | InputCue4=Previous_Page
32 | InputSigType4=Digital
33 | InputCue5=Next_Page
34 | InputSigType5=Digital
35 | InputCue6=Last_Page
36 | InputSigType6=Digital
37 | InputCue7=Clear_Selection
38 | InputSigType7=Digital
39 | InputCue8=Add_New_Contact
40 | InputSigType8=Digital
41 | InputCue9=Delete_Selected_Contact
42 | InputSigType9=Digital
43 | OutputCue1=Load_Fb
44 | OutputSigType1=Digital
45 | OutputCue2=Store_Fb
46 | OutputSigType2=Digital
47 | InputList2Cue1=Select
48 | InputList2SigType1=Analog
49 | InputList2Cue2=New_Contact_Name
50 | InputList2SigType2=Serial
51 | InputList2Cue3=New_Contact_Number
52 | InputList2SigType3=Serial
53 | OutputList2Cue1=Page_Size
54 | OutputList2SigType1=Analog
55 | OutputList2Cue2=Current_Page
56 | OutputList2SigType2=Analog
57 | OutputList2Cue3=Total_Pages
58 | OutputList2SigType3=Analog
59 | OutputList2Cue4=Select_Fb
60 | OutputList2SigType4=Analog
61 | OutputList2Cue5=Selected_Entry_Name
62 | OutputList2SigType5=Serial
63 | OutputList2Cue6=Selected_Entry_Number
64 | OutputList2SigType6=Serial
65 | OutputList2Cue7=Entry_Name[#]
66 | OutputList2SigType7=Serial
67 | ParamCue1=[Reference Name]
68 | ParamCue2=File_Name
69 | ParamSigType2=String
70 | MinVariableInputs=9
71 | MaxVariableInputs=9
72 | MinVariableInputsList2=3
73 | MaxVariableInputsList2=3
74 | MinVariableOutputs=2
75 | MaxVariableOutputs=2
76 | MinVariableOutputsList2=7
77 | MaxVariableOutputsList2=16
78 | MinVariableParams=1
79 | MaxVariableParams=1
80 | Expand=expand_separately
81 | Expand2=expand_separately
82 | ProgramTree=Logic
83 | SymbolTree=32
84 | Hint=
85 | PdfHelp=
86 | HelpID=
87 | Render=4
88 | Smpl-C=16
89 | CompilerCode=-48
90 | CompilerParamCode=27
91 | CompilerParamCode5=14
92 | NumFixedParams=1
93 | Pp1=1
94 | Pp2=2
95 | MPp=2
96 | NVStorage=10
97 | ParamSigType1=String
98 | SmplCInputCue1=o#
99 | SmplCOutputCue1=i#
100 | SmplCInputList2Cue1=an#
101 | SmplCOutputList2Cue1=ai#
102 | SPlus2CompiledName=S2_KL_Phonebook_Driver_v1_1
103 | SymJam=NonExclusive
104 | FileName=KL Phonebook Driver v1.1.ush
105 | SIMPLPlusModuleEncoding=0
106 | clz1=MassLogic
107 | [END]
108 | [BEGIN]
109 | ObjTp=Dp
110 | H=1
111 | Tp=1
112 | NoS=False
113 | [END]
114 | [BEGIN]
115 | ObjTp=Dp
116 | H=2
117 | Tp=1
118 | HD=False
119 | NoS=False
120 | VVS=0
121 | [END]
122 |
--------------------------------------------------------------------------------
/Phonebook/KL Phonebook Driver v1.1.usp:
--------------------------------------------------------------------------------
1 | // Dealer Name: ConvergeOne
2 | // System Name:
3 | // System Number:
4 | // Programmer: Kiel Lofstrand
5 | // Comments:
6 |
7 | // --- Compiler Directives --------------------------------------------------
8 | // #CATEGORY ""
9 | // #DIGITAL_EXPAND
10 | // #ANALOG_SERIAL_EXPAND
11 |
12 | #DEFAULT_VOLATILE
13 | #ENABLE_STACK_CHECKING
14 | // #ENABLE_TRACE
15 | // #PRINT_TO_TRACE
16 |
17 | #DEFINE_CONSTANT MAX_FILE_NAME_LEN 200
18 | #DEFINE_CONSTANT MAX_PAGE_SIZE 10
19 | #DEFINE_CONSTANT MAX_NAME_LEN 50
20 | #DEFINE_CONSTANT MAX_NUMBER_LEN 50
21 |
22 | #USER_SIMPLSHARP_LIBRARY "MassLogic"
23 |
24 | // --- Inputs ---------------------------------------------------------------
25 |
26 | DIGITAL_INPUT Load;
27 | DIGITAL_INPUT Store;
28 | DIGITAL_INPUT First_Page;
29 | DIGITAL_INPUT Previous_Page;
30 | DIGITAL_INPUT Next_Page;
31 | DIGITAL_INPUT Last_Page;
32 | DIGITAL_INPUT Clear_Selection;
33 | DIGITAL_INPUT Add_New_Contact;
34 | DIGITAL_INPUT Delete_Selected_Contact;
35 |
36 | ANALOG_INPUT Select;
37 | STRING_INPUT New_Contact_Name[MAX_NAME_LEN];
38 | STRING_INPUT New_Contact_Number[MAX_NUMBER_LEN];
39 |
40 | // --- Outputs --------------------------------------------------------------
41 |
42 | DIGITAL_OUTPUT Load_Fb;
43 | DIGITAL_OUTPUT Store_Fb;
44 |
45 | ANALOG_OUTPUT Page_Size;
46 | ANALOG_OUTPUT Current_Page;
47 | ANALOG_OUTPUT Total_Pages;
48 |
49 | ANALOG_OUTPUT Select_Fb;
50 |
51 | STRING_OUTPUT Selected_Entry_Name;
52 | STRING_OUTPUT Selected_Entry_Number;
53 |
54 | STRING_OUTPUT Entry_Name[MAX_PAGE_SIZE];
55 |
56 | // --- Parameters -----------------------------------------------------------
57 |
58 | STRING_PARAMETER File_Name[MAX_FILE_NAME_LEN];
59 |
60 | // --- Global Variables -----------------------------------------------------
61 |
62 | Phonebook Contacts;
63 |
64 | // --- Events ---------------------------------------------------------------
65 |
66 | THREADSAFE PUSH Load
67 | {
68 | Contacts.Load();
69 | Pulse(1, Load_Fb);
70 | }
71 |
72 | THREADSAFE PUSH Store
73 | {
74 | Contacts.Store();
75 | Pulse(1, Store_Fb);
76 | }
77 |
78 | THREADSAFE PUSH First_Page
79 | {
80 | Contacts.FirstPage();
81 | }
82 |
83 | THREADSAFE PUSH Previous_Page
84 | {
85 | Contacts.PreviousPage();
86 | }
87 |
88 | THREADSAFE PUSH Next_Page
89 | {
90 | Contacts.NextPage();
91 | }
92 |
93 | THREADSAFE PUSH Last_Page
94 | {
95 | Contacts.LastPage();
96 | }
97 |
98 | THREADSAFE CHANGE Select
99 | {
100 | Contacts.Selection = Select;
101 | }
102 |
103 | THREADSAFE PUSH Clear_Selection
104 | {
105 | Contacts.Selection = 0;
106 | }
107 |
108 | THREADSAFE PUSH Add_New_Contact
109 | {
110 | Contacts.Add(New_Contact_Name, New_Contact_Number);
111 | }
112 |
113 | THREADSAFE PUSH Delete_Selected_Contact
114 | {
115 | Contacts.DeleteSelected();
116 | }
117 |
118 | // --- Main -----------------------------------------------------------------
119 |
120 | EventHandler Contacts_UpdatePageNumber(Phonebook sender, EventArgs e)
121 | {
122 | Current_Page = sender.CurrentPage;
123 | Total_Pages = sender.TotalPages;
124 | }
125 |
126 | EventHandler Contacts_UpdatePageEntries(Phonebook sender, EventArgs e)
127 | {
128 | INTEGER i;
129 |
130 | For (i = 1 To sender.PageSize)
131 | {
132 | Entry_Name[i] = sender.EntryName(i);
133 | }
134 | }
135 |
136 | EventHandler Contacts_OnSelection(Phonebook sender, EventArgs e)
137 | {
138 | Select_Fb = Contacts.Selection;
139 | Selected_Entry_Name = Contacts.SelectedEntryName;
140 | Selected_Entry_Number = Contacts.SelectedEntryNumber;
141 | }
142 |
143 | Function Main()
144 | {
145 | Contacts.Initialize();
146 | Contacts.FileName = File_Name;
147 |
148 | RegisterEvent(Contacts, UpdatePageNumber, Contacts_UpdatePageNumber);
149 | RegisterEvent(Contacts, UpdatePageEntries, Contacts_UpdatePageEntries);
150 | RegisterEvent(Contacts, OnSelection, Contacts_OnSelection);
151 |
152 | WaitForInitializationComplete();
153 |
154 | Page_Size = Contacts.PageSize;
155 | }
156 |
157 |
--------------------------------------------------------------------------------
/Phonebook/MassLogic.clz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kielthecoder/crestron/07a4516273f441658767b6ab8dfa869f90da03cc/Phonebook/MassLogic.clz
--------------------------------------------------------------------------------
/Phonebook/Phonebook Demo XPANEL.vtp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kielthecoder/crestron/07a4516273f441658767b6ab8dfa869f90da03cc/Phonebook/Phonebook Demo XPANEL.vtp
--------------------------------------------------------------------------------
/Phonebook/Phonebook Demo_CP3_v1.1_compiled.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kielthecoder/crestron/07a4516273f441658767b6ab8dfa869f90da03cc/Phonebook/Phonebook Demo_CP3_v1.1_compiled.zip
--------------------------------------------------------------------------------
/Polycom/KL Polycom Click-to-Join v1.1.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.04.01
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,718,756,854,
18 | Exclusions_CDS=5
19 | Inclusions_CDS=6
20 | Name=KL Polycom Click-to-Join v1.1
21 | SmplCName=KL Polycom Click-to-Join v1.1.usp
22 | Code=1
23 | SysRev5=4.006
24 | SMWRev=3.00.00
25 | InputCue1=Update
26 | InputSigType1=Digital
27 | InputCue2=Dial
28 | InputSigType2=Digital
29 | InputCue3=Clear
30 | InputSigType3=Digital
31 | InputCue4=Select_Meeting[#]
32 | InputSigType4=Digital
33 | OutputCue1=Update_Busy_Fb
34 | OutputSigType1=Digital
35 | OutputCue2=Selected_Meeting_Can_Dial
36 | OutputSigType2=Digital
37 | OutputCue3=Scheduled_Meeting_Reminder
38 | OutputSigType3=Digital
39 | OutputCue4=Select_Meeting_Fb[#]
40 | OutputSigType4=Digital
41 | InputList2Cue1=From_Device
42 | InputList2SigType1=Serial
43 | OutputList2Cue1=Number_Of_Meetings
44 | OutputList2SigType1=Analog
45 | OutputList2Cue2=To_Device
46 | OutputList2SigType2=Serial
47 | OutputList2Cue3=Selected_Meeting_Subject
48 | OutputList2SigType3=Serial
49 | OutputList2Cue4=Selected_Meeting_Organizer
50 | OutputList2SigType4=Serial
51 | OutputList2Cue5=Selected_Meeting_Location
52 | OutputList2SigType5=Serial
53 | OutputList2Cue6=Selected_Meeting_StartTime
54 | OutputList2SigType6=Serial
55 | OutputList2Cue7=Selected_Meeting_EndTime
56 | OutputList2SigType7=Serial
57 | OutputList2Cue8=Selected_Meeting_DialString
58 | OutputList2SigType8=Serial
59 | OutputList2Cue9=Selected_Meeting_Password
60 | OutputList2SigType9=Serial
61 | OutputList2Cue10=Meeting_Subject[#]
62 | OutputList2SigType10=Serial
63 | ParamCue1=[Reference Name]
64 | MinVariableInputs=4
65 | MaxVariableInputs=13
66 | MinVariableInputsList2=1
67 | MaxVariableInputsList2=1
68 | MinVariableOutputs=4
69 | MaxVariableOutputs=13
70 | MinVariableOutputsList2=10
71 | MaxVariableOutputsList2=19
72 | MinVariableParams=0
73 | MaxVariableParams=0
74 | Expand=expand_separately
75 | Expand2=expand_separately
76 | ProgramTree=Logic
77 | SymbolTree=32
78 | Hint=
79 | PdfHelp=
80 | HelpID=
81 | Render=4
82 | Smpl-C=16
83 | CompilerCode=-48
84 | CompilerParamCode=27
85 | CompilerParamCode5=14
86 | NumFixedParams=1
87 | Pp1=1
88 | MPp=1
89 | NVStorage=10
90 | ParamSigType1=String
91 | SmplCInputCue1=o#
92 | SmplCOutputCue1=i#
93 | SmplCInputList2Cue1=an#
94 | SmplCOutputList2Cue1=ai#
95 | SPlus2CompiledName=S2_KL_Polycom_Click_to_Join_v1_1
96 | SymJam=NonExclusive
97 | FileName=KL Polycom Click-to-Join v1.1.ush
98 | SIMPLPlusModuleEncoding=0
99 | [END]
100 | [BEGIN]
101 | ObjTp=Dp
102 | H=1
103 | Tp=1
104 | NoS=False
105 | [END]
106 |
--------------------------------------------------------------------------------
/Polycom/KL Polycom Globaldir Processor v1.1.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.04.01
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=KL Polycom Globaldir Processor v1.1
21 | SmplCName=KL Polycom Globaldir Processor v1.1.usp
22 | Code=1
23 | SysRev5=4.006
24 | SMWRev=3.00.00
25 | InputCue1=Global_Search
26 | InputSigType1=Digital
27 | InputCue2=Global_Addressbook_Dial
28 | InputSigType2=Digital
29 | OutputCue1=Global_Addressbook_Search_Active
30 | OutputSigType1=Digital
31 | InputList2Cue1=Global_Address_Book_Entry_Select_Value_In
32 | InputList2SigType1=Analog
33 | InputList2Cue2=Global_Addressbook_Search_String_In
34 | InputList2SigType2=Serial
35 | InputList2Cue3=From_Device
36 | InputList2SigType3=Serial
37 | OutputList2Cue1=Selected_Global_Address_Book_Entry_Value
38 | OutputList2SigType1=Analog
39 | OutputList2Cue2=To_Device
40 | OutputList2SigType2=Serial
41 | OutputList2Cue3=Get_Address_Book_Status_Text
42 | OutputList2SigType3=Serial
43 | OutputList2Cue4=Global_Address_Book_Name_Text[#]
44 | OutputList2SigType4=Serial
45 | ParamCue1=[Reference Name]
46 | MinVariableInputs=2
47 | MaxVariableInputs=2
48 | MinVariableInputsList2=3
49 | MaxVariableInputsList2=3
50 | MinVariableOutputs=1
51 | MaxVariableOutputs=1
52 | MinVariableOutputsList2=4
53 | MaxVariableOutputsList2=10
54 | MinVariableParams=0
55 | MaxVariableParams=0
56 | Expand=expand_separately
57 | Expand2=expand_separately
58 | ProgramTree=Logic
59 | SymbolTree=32
60 | Hint=
61 | PdfHelp=
62 | HelpID=
63 | Render=4
64 | Smpl-C=16
65 | CompilerCode=-48
66 | CompilerParamCode=27
67 | CompilerParamCode5=14
68 | NumFixedParams=1
69 | Pp1=1
70 | MPp=1
71 | NVStorage=10
72 | ParamSigType1=String
73 | SmplCInputCue1=o#
74 | SmplCOutputCue1=i#
75 | SmplCInputList2Cue1=an#
76 | SmplCOutputList2Cue1=ai#
77 | SPlus2CompiledName=S2_KL_Polycom_Globaldir_Processor_v1_1
78 | SymJam=NonExclusive
79 | FileName=KL Polycom Globaldir Processor v1.1.ush
80 | SIMPLPlusModuleEncoding=0
81 | clz1=PolycomRPGPhoneBook
82 | [END]
83 | [BEGIN]
84 | ObjTp=Dp
85 | H=1
86 | Tp=1
87 | NoS=False
88 | [END]
89 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # crestron
2 | Helpful Crestron modules I've developed on various projects
3 |
--------------------------------------------------------------------------------
/Samsung/KL Samsung Checksum v1.0.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.04.01
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,718,756,854,
18 | Exclusions_CDS=
19 | Inclusions_CDS=5,6
20 | Name=KL Samsung Checksum v1.0
21 | SmplCName=KL Samsung Checksum v1.0.usp
22 | Code=1
23 | SysRev5=4.006
24 | SMWRev=3.00.00
25 | InputList2Cue1=From_Simpl
26 | InputList2SigType1=Serial
27 | OutputList2Cue1=To_Device
28 | OutputList2SigType1=Serial
29 | ParamCue1=[Reference Name]
30 | MinVariableInputs=0
31 | MaxVariableInputs=0
32 | MinVariableInputsList2=1
33 | MaxVariableInputsList2=1
34 | MinVariableOutputs=0
35 | MaxVariableOutputs=0
36 | MinVariableOutputsList2=1
37 | MaxVariableOutputsList2=1
38 | MinVariableParams=0
39 | MaxVariableParams=0
40 | Expand=expand_separately
41 | Expand2=expand_separately
42 | ProgramTree=Logic
43 | SymbolTree=32
44 | Hint=
45 | PdfHelp=
46 | HelpID=
47 | Render=4
48 | Smpl-C=16
49 | CompilerCode=-48
50 | CompilerParamCode=27
51 | CompilerParamCode5=14
52 | NumFixedParams=1
53 | Pp1=1
54 | MPp=1
55 | NVStorage=10
56 | ParamSigType1=String
57 | SmplCInputCue1=o#
58 | SmplCOutputCue1=i#
59 | SmplCInputList2Cue1=an#
60 | SmplCOutputList2Cue1=ai#
61 | SPlus2CompiledName=S2_KL_Samsung_Checksum_v1_0
62 | SymJam=NonExclusive
63 | FileName=KL Samsung Checksum v1.0.ush
64 | SIMPLPlusModuleEncoding=0
65 | [END]
66 | [BEGIN]
67 | ObjTp=Dp
68 | H=1
69 | Tp=1
70 | NoS=False
71 | [END]
72 |
--------------------------------------------------------------------------------
/Samsung/KL Samsung Checksum v1.0.usp:
--------------------------------------------------------------------------------
1 | // --- SIMPL+ Module Information --------------------------------------------
2 | //
3 | // Dealer Name:
4 | // System Name:
5 | // System Number:
6 | // Programmer: Kiel Lofstrand
7 | // Comments:
8 |
9 | // --- Compiler Directives --------------------------------------------------
10 |
11 | #DEFAULT_VOLATILE
12 | #ENABLE_STACK_CHECKING
13 | #ENABLE_TRACE
14 |
15 | //#USER_SIMPLSHARP_LIBRARY "SIMPLSharpLibrary1"
16 |
17 | // --- Inputs ---------------------------------------------------------------
18 |
19 | STRING_INPUT From_Simpl[10];
20 |
21 | // --- Outputs --------------------------------------------------------------
22 |
23 | STRING_OUTPUT To_Device;
24 |
25 | // --- Parameters -----------------------------------------------------------
26 |
27 | // --- Global Variables -----------------------------------------------------
28 |
29 | // --- Functions ------------------------------------------------------------
30 |
31 | // --- Callbacks ------------------------------------------------------------
32 |
33 | // --- Event Handlers -------------------------------------------------------
34 |
35 | THREADSAFE CHANGE From_Simpl
36 | {
37 | INTEGER i;
38 | INTEGER cks;
39 |
40 | cks = 0;
41 |
42 | For (i = 2 To Len(From_Simpl))
43 | {
44 | cks = cks + Byte(From_Simpl, i);
45 | }
46 |
47 | To_Device = From_Simpl + Chr(cks);
48 | }
49 |
50 | // --- Main() ---------------------------------------------------------------
51 |
52 | Function Main()
53 | {
54 | WaitForInitializationComplete();
55 | }
56 |
--------------------------------------------------------------------------------
/Serial/KL Serial Selector v1.0.umc:
--------------------------------------------------------------------------------
1 | [
2 | Version=1
3 | ]
4 | [
5 | ObjTp=FSgntr
6 | Sgntr=UserMacro
7 | RelVrs=4.09.04
8 | IntStrVrs=2
9 | MinSMWVrs=0
10 | MinTIOVrs=0
11 | SavedBy=SMW4.09.04
12 | ]
13 | [
14 | ObjTp=Hd
15 | S0Nd=1
16 | S1Nd=2
17 | SLNd=3
18 | PrNm=KL Serial Selector v1.0.umc
19 | DbVr=70.00.001.00
20 | DvcDbVr=96.05.001.00
21 | PgmNm=Kiel Lofstrand
22 | DlrNm=C1
23 | Incl=362,378,380,405,407,408,409,478,522,537,554,586,590,611,624,767,830,883,1032,1062,1079,1134,1157,1199,1220,1222,1299,1348,1439,1472,1473,1499,1746,1803,1975,2229,2354,2514,2523,2532,3708,3902,3912,3918,3925,1766,2574,2651,2817,2886,2938,2947,3181,3197,3233,3710,3735,3736,3816,3888,4176,4308,4476,4591,4769,5360,5388,5420,5455,5497,5699,5813,5919,
24 | SmVr=1069
25 | DvVr=1069
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 | SGMethod=1
37 | ]
38 | [
39 | ObjTp=Bk
40 | Nm1=\
41 | Sx1=0
42 | Sy1=0
43 | Mx1=0
44 | ]
45 | [
46 | ObjTp=Bw
47 | H=1
48 | Lx=0
49 | Ly=0
50 | Rx=772
51 | Ry=913
52 | Xm=-1
53 | Ym=-1
54 | SH=6
55 | Z=100
56 | Ht=4
57 | Hi=1
58 | ]
59 | [
60 | ObjTp=Bw
61 | H=1
62 | Lx=772
63 | Ly=0
64 | Rx=1544
65 | Ry=913
66 | Xm=-1
67 | Ym=-1
68 | SH=7
69 | Z=100
70 | Ht=1
71 | Hi=1
72 | ]
73 | [
74 | ObjTp=Symbol
75 | Name=KL Serial Selector v1.0
76 | Code=1
77 | SmplCName=KL Serial Selector v1.0.umc
78 | Smpl-C=3
79 | CompilerTimePrecision=Single_Or_Double_Precision
80 | Exclusions=1,19,20,21,88,89,167,168,179,216,225,248,249,266,302,305,
81 | SMWRev=0
82 | TIORev=0
83 | HelpID=1055
84 | APg=1
85 | StdCmd=0
86 | FltTmp=1
87 | FpCS=0
88 | NumFixedInputs=11
89 | NumFixedOutputs=1
90 | NumFixedParams=1
91 | MinVariableInputs=0
92 | MinVariableInputsList2=0
93 | MinVariableInputsList3=0
94 | MinVariableOutputs=0
95 | MinVariableOutputsList2=0
96 | MinVariableOutputsList3=0
97 | MinVariableParams=0
98 | SymbolTree=32
99 | InputSigType1=Analog
100 | InputSigType2=Serial
101 | OutputSigType1=Serial
102 | ParamSigType1=Constant
103 | InputCue1=Select
104 | InputCue2=In1$
105 | InputCue3=In2$
106 | InputCue4=In3$
107 | InputCue5=In4$
108 | InputCue6=In5$
109 | InputCue7=In6$
110 | InputCue8=In7$
111 | InputCue9=In8$
112 | InputCue10=In9$
113 | InputCue11=In10$
114 | OutputCue1=Out$
115 | ParamCue1=Max String Length
116 | FileName=KL Serial Selector v1.0.umc
117 | EncodingType=0
118 | ZeroOnIoOk=0
119 | ]
120 | [
121 | ObjTp=Sm
122 | H=1
123 | SmC=157
124 | Nm=Central Control Modules
125 | ObjVer=1
126 | CF=2
127 | n1I=1
128 | n1O=1
129 | mI=1
130 | mO=1
131 | tO=1
132 | mP=1
133 | P1=
134 | ]
135 | [
136 | ObjTp=Sm
137 | H=2
138 | SmC=157
139 | Nm=Network Modules
140 | ObjVer=1
141 | CF=2
142 | n1I=1
143 | n1O=1
144 | mI=1
145 | mO=1
146 | tO=1
147 | mP=1
148 | P1=
149 | ]
150 | [
151 | ObjTp=Sm
152 | H=3
153 | SmC=157
154 | Nm=Ethernet
155 | ObjVer=1
156 | CF=2
157 | n1I=1
158 | n1O=1
159 | mI=1
160 | mO=1
161 | tO=1
162 | mP=1
163 | P1=
164 | ]
165 | [
166 | ObjTp=Sm
167 | H=4
168 | SmC=156
169 | Nm=Logic
170 | ObjVer=1
171 | CF=2
172 | mC=13
173 | C1=7
174 | C2=9
175 | C3=8
176 | C4=10
177 | C5=11
178 | C6=12
179 | C7=13
180 | C8=14
181 | C9=15
182 | C10=16
183 | C11=17
184 | C12=18
185 | C13=19
186 | ]
187 | [
188 | ObjTp=Sm
189 | H=5
190 | SmC=157
191 | Nm=DefineArguments
192 | ObjVer=1
193 | CF=2
194 | n1I=1
195 | n1O=1
196 | mC=1
197 | C1=6
198 | mI=1
199 | mO=1
200 | tO=1
201 | mP=1
202 | P1=
203 | ]
204 | [
205 | ObjTp=Sm
206 | H=6
207 | SmC=55
208 | Nm=Argument Definition
209 | ObjVer=1
210 | PrH=5
211 | CF=2
212 | n1I=11
213 | n1O=1
214 | mI=11
215 | I1=4
216 | I2=5
217 | I3=6
218 | I4=7
219 | I5=8
220 | I6=9
221 | I7=10
222 | I8=11
223 | I9=12
224 | I10=13
225 | I11=14
226 | mO=1
227 | tO=1
228 | O1=15
229 | mP=1
230 | P1=Max String Length
231 | ]
232 | [
233 | ObjTp=Sm
234 | H=7
235 | SmC=858
236 | Nm=Make String Permanent
237 | ObjVer=1
238 | PrH=4
239 | CF=2
240 | n1I=10
241 | mI=10
242 | I1=5
243 | I2=6
244 | I3=7
245 | I4=8
246 | I5=9
247 | I6=10
248 | I7=11
249 | I8=12
250 | I9=13
251 | I10=14
252 | mP=1
253 | P1=#Max String Length
254 | ]
255 | [
256 | ObjTp=Sm
257 | H=8
258 | SmC=89
259 | Nm=Serial Send
260 | ObjVer=1
261 | PrH=4
262 | CF=2
263 | n1I=1
264 | n1O=1
265 | mI=1
266 | I1=16
267 | mO=1
268 | tO=1
269 | O1=15
270 | mP=1
271 | P1=""
272 | ]
273 | [
274 | ObjTp=Sm
275 | H=9
276 | SmC=38
277 | Nm=Analog Equate
278 | ObjVer=1
279 | PrH=4
280 | CF=2
281 | n1I=2
282 | n1O=11
283 | mI=2
284 | I1=4
285 | mO=11
286 | tO=11
287 | O1=16
288 | O2=17
289 | O3=18
290 | O4=19
291 | O5=20
292 | O6=21
293 | O7=22
294 | O8=23
295 | O9=24
296 | O10=25
297 | O11=26
298 | mP=11
299 | P1=0d
300 | P2=1d
301 | P3=2d
302 | P4=3d
303 | P5=4d
304 | P6=5d
305 | P7=6d
306 | P8=7d
307 | P9=8d
308 | P10=9d
309 | P11=10d
310 | ]
311 | [
312 | ObjTp=Sm
313 | H=10
314 | SmC=46
315 | Nm=Analog Buffer
316 | ObjVer=1
317 | PrH=4
318 | CF=2
319 | n1I=2
320 | n1O=1
321 | mI=2
322 | I1=17
323 | I2=5
324 | mO=1
325 | tO=1
326 | O1=15
327 | ]
328 | [
329 | ObjTp=Sm
330 | H=11
331 | SmC=46
332 | Nm=Analog Buffer
333 | ObjVer=1
334 | PrH=4
335 | CF=2
336 | n1I=2
337 | n1O=1
338 | mI=2
339 | I1=18
340 | I2=6
341 | mO=1
342 | tO=1
343 | O1=15
344 | ]
345 | [
346 | ObjTp=Sm
347 | H=12
348 | SmC=46
349 | Nm=Analog Buffer
350 | ObjVer=1
351 | PrH=4
352 | CF=2
353 | n1I=2
354 | n1O=1
355 | mI=2
356 | I1=19
357 | I2=7
358 | mO=1
359 | tO=1
360 | O1=15
361 | ]
362 | [
363 | ObjTp=Sm
364 | H=13
365 | SmC=46
366 | Nm=Analog Buffer
367 | ObjVer=1
368 | PrH=4
369 | CF=2
370 | n1I=2
371 | n1O=1
372 | mI=2
373 | I1=20
374 | I2=8
375 | mO=1
376 | tO=1
377 | O1=15
378 | ]
379 | [
380 | ObjTp=Sm
381 | H=14
382 | SmC=46
383 | Nm=Analog Buffer
384 | ObjVer=1
385 | PrH=4
386 | CF=2
387 | n1I=2
388 | n1O=1
389 | mI=2
390 | I1=21
391 | I2=9
392 | mO=1
393 | tO=1
394 | O1=15
395 | ]
396 | [
397 | ObjTp=Sm
398 | H=15
399 | SmC=46
400 | Nm=Analog Buffer
401 | ObjVer=1
402 | PrH=4
403 | CF=2
404 | n1I=2
405 | n1O=1
406 | mI=2
407 | I1=22
408 | I2=10
409 | mO=1
410 | tO=1
411 | O1=15
412 | ]
413 | [
414 | ObjTp=Sm
415 | H=16
416 | SmC=46
417 | Nm=Analog Buffer
418 | ObjVer=1
419 | PrH=4
420 | CF=2
421 | n1I=2
422 | n1O=1
423 | mI=2
424 | I1=23
425 | I2=11
426 | mO=1
427 | tO=1
428 | O1=15
429 | ]
430 | [
431 | ObjTp=Sm
432 | H=17
433 | SmC=46
434 | Nm=Analog Buffer
435 | ObjVer=1
436 | PrH=4
437 | CF=2
438 | n1I=2
439 | n1O=1
440 | mI=2
441 | I1=24
442 | I2=12
443 | mO=1
444 | tO=1
445 | O1=15
446 | ]
447 | [
448 | ObjTp=Sm
449 | H=18
450 | SmC=46
451 | Nm=Analog Buffer
452 | ObjVer=1
453 | PrH=4
454 | CF=2
455 | n1I=2
456 | n1O=1
457 | mI=2
458 | I1=25
459 | I2=13
460 | mO=1
461 | tO=1
462 | O1=15
463 | ]
464 | [
465 | ObjTp=Sm
466 | H=19
467 | SmC=46
468 | Nm=Analog Buffer
469 | ObjVer=1
470 | PrH=4
471 | CF=2
472 | n1I=2
473 | n1O=1
474 | mI=2
475 | I1=26
476 | I2=14
477 | mO=1
478 | tO=1
479 | O1=15
480 | ]
481 | [
482 | ObjTp=Sg
483 | H=4
484 | Nm=Select
485 | SgTp=2
486 | ]
487 | [
488 | ObjTp=Sg
489 | H=5
490 | Nm=In1$
491 | SgTp=4
492 | ]
493 | [
494 | ObjTp=Sg
495 | H=6
496 | Nm=In2$
497 | SgTp=4
498 | ]
499 | [
500 | ObjTp=Sg
501 | H=7
502 | Nm=In3$
503 | SgTp=4
504 | ]
505 | [
506 | ObjTp=Sg
507 | H=8
508 | Nm=In4$
509 | SgTp=4
510 | ]
511 | [
512 | ObjTp=Sg
513 | H=9
514 | Nm=In5$
515 | SgTp=4
516 | ]
517 | [
518 | ObjTp=Sg
519 | H=10
520 | Nm=In6$
521 | SgTp=4
522 | ]
523 | [
524 | ObjTp=Sg
525 | H=11
526 | Nm=In7$
527 | SgTp=4
528 | ]
529 | [
530 | ObjTp=Sg
531 | H=12
532 | Nm=In8$
533 | SgTp=4
534 | ]
535 | [
536 | ObjTp=Sg
537 | H=13
538 | Nm=In9$
539 | SgTp=4
540 | ]
541 | [
542 | ObjTp=Sg
543 | H=14
544 | Nm=In10$
545 | SgTp=4
546 | ]
547 | [
548 | ObjTp=Sg
549 | H=15
550 | Nm=Out$
551 | SgTp=4
552 | ]
553 | [
554 | ObjTp=Sg
555 | H=16
556 | Nm=Select_0
557 | ]
558 | [
559 | ObjTp=Sg
560 | H=17
561 | Nm=Select_1
562 | ]
563 | [
564 | ObjTp=Sg
565 | H=18
566 | Nm=Select_2
567 | ]
568 | [
569 | ObjTp=Sg
570 | H=19
571 | Nm=Select_3
572 | ]
573 | [
574 | ObjTp=Sg
575 | H=20
576 | Nm=Select_4
577 | ]
578 | [
579 | ObjTp=Sg
580 | H=21
581 | Nm=Select_5
582 | ]
583 | [
584 | ObjTp=Sg
585 | H=22
586 | Nm=Select_6
587 | ]
588 | [
589 | ObjTp=Sg
590 | H=23
591 | Nm=Select_7
592 | ]
593 | [
594 | ObjTp=Sg
595 | H=24
596 | Nm=Select_8
597 | ]
598 | [
599 | ObjTp=Sg
600 | H=25
601 | Nm=Select_9
602 | ]
603 | [
604 | ObjTp=Sg
605 | H=26
606 | Nm=Select_10
607 | ]
608 |
--------------------------------------------------------------------------------
/SimplCrypto/SIMPL/Simpl MD5 v1.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.04.01
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,6114,6136,6423,
18 | Exclusions_CDS=5
19 | Inclusions_CDS=6
20 | Name=Simpl MD5 v1
21 | SmplCName=Simpl MD5 v1.usp
22 | Code=1
23 | SysRev5=3.090
24 | SMWRev=2.02.05
25 | InputList2Cue1=Data_In
26 | InputList2SigType1=Serial
27 | OutputList2Cue1=MD5_Out
28 | OutputList2SigType1=Serial
29 | ParamCue1=[Reference Name]
30 | MinVariableInputs=0
31 | MaxVariableInputs=0
32 | MinVariableInputsList2=1
33 | MaxVariableInputsList2=1
34 | MinVariableOutputs=0
35 | MaxVariableOutputs=0
36 | MinVariableOutputsList2=1
37 | MaxVariableOutputsList2=1
38 | MinVariableParams=0
39 | MaxVariableParams=0
40 | Expand=expand_separately
41 | Expand2=expand_separately
42 | ProgramTree=Logic
43 | SymbolTree=32
44 | Hint=
45 | PdfHelp=
46 | HelpID=
47 | Render=4
48 | Smpl-C=16
49 | CompilerCode=-48
50 | CompilerParamCode=27
51 | CompilerParamCode5=14
52 | NumFixedParams=1
53 | Pp1=1
54 | MPp=1
55 | NVStorage=10
56 | ParamSigType1=String
57 | SmplCInputCue1=o#
58 | SmplCOutputCue1=i#
59 | SmplCInputList2Cue1=an#
60 | SmplCOutputList2Cue1=ai#
61 | SPlus2CompiledName=S2_Simpl_MD5_v1
62 | SymJam=NonExclusive
63 | FileName=Simpl MD5 v1.ush
64 | SIMPLPlusModuleEncoding=0
65 | clz1=SimplCrypto
66 | [END]
67 | [BEGIN]
68 | ObjTp=Dp
69 | H=1
70 | Tp=1
71 | NoS=False
72 | [END]
73 |
--------------------------------------------------------------------------------
/SimplCrypto/SIMPL/Simpl MD5 v1.usp:
--------------------------------------------------------------------------------
1 | // New Module
2 | // v1.0
3 | //
4 | // Dealer:
5 | // System:
6 | // Programmer: Kiel Lofstrand
7 | // Comments:
8 |
9 | // --- Compiler Directives ----------------------------------------------------
10 |
11 | #DEFAULT_VOLATILE
12 | #ENABLE_STACK_CHECKING
13 | #ENABLE_TRACE
14 |
15 | #DEFINE_CONSTANT MAX_DATA_LEN 50
16 |
17 | // --- Libraries --------------------------------------------------------------
18 |
19 | #USER_SIMPLSHARP_LIBRARY "SimplCrypto"
20 |
21 | // --- Inputs -----------------------------------------------------------------
22 |
23 | // DIGITAL_INPUT
24 | // ANALOG_INPUT
25 | STRING_INPUT Data_In[MAX_DATA_LEN];
26 | // BUFFER_INPUT
27 |
28 | // --- Outputs ----------------------------------------------------------------
29 |
30 | // DIGITAL_OUTPUT
31 | // ANALOG_OUTPUT
32 | STRING_OUTPUT MD5_Out;
33 |
34 | // --- Parameters -------------------------------------------------------------
35 |
36 | // INTEGER_PARAMETER
37 | // SIGNED_INTEGER_PARAMETER
38 | // LONG_INTEGER_PARAMETER
39 | // SIGNED_LONG_INTEGER_PARAMETER
40 | // STRING_PARAMETER
41 |
42 | // --- Sockets ----------------------------------------------------------------
43 |
44 | // TCP_CLIENT
45 | // TCP_SERVER
46 | // UDP_SOCKET
47 |
48 | // --- Structures -------------------------------------------------------------
49 |
50 | // STRUCTURE MyStruct
51 | // {
52 | // };
53 |
54 | // --- Global Variables -------------------------------------------------------
55 |
56 | // INTEGER
57 | // LONG_INTEGER
58 | // SIGNED_INTEGER
59 | // SIGNED_LONG_INTEGER
60 | // STRING
61 |
62 | SimplMD5 MD5;
63 |
64 | // --- Functions --------------------------------------------------------------
65 |
66 | // FUNCTION MyFunc()
67 | // {
68 | // }
69 |
70 | // INTEGER_FUNCTION MyIntFunc()
71 | // {
72 | // Return(0);
73 | // }
74 |
75 | // STRING_FUNCTION MyStrFunc()
76 | // {
77 | // Return("");
78 | // }
79 |
80 | // --- Events -----------------------------------------------------------------
81 |
82 | // PUSH
83 | // RELEASE
84 |
85 | CHANGE Data_In
86 | {
87 | MD5_Out = MD5.HexString(Data_In);
88 | }
89 |
90 | // EVENT
91 | // SOCKETCONNECT
92 | // SOCKETDISCONNECT
93 | // SOCKETSTATUS
94 | // SOCKETRECEIVE
95 |
96 | // THREADSAFE CHANGE From_Device
97 | // {
98 | // STRING temp[255];
99 | //
100 | // While (1)
101 | // {
102 | // temp = Gather("\n", From_Device);
103 | // }
104 | // }
105 |
106 | // --- Main -------------------------------------------------------------------
107 |
108 | FUNCTION Main()
109 | {
110 | WaitForInitializationComplete();
111 | }
112 |
--------------------------------------------------------------------------------
/SimplCrypto/SIMPL/SimplCrypto.clz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kielthecoder/crestron/07a4516273f441658767b6ab8dfa869f90da03cc/SimplCrypto/SIMPL/SimplCrypto.clz
--------------------------------------------------------------------------------
/SimplCrypto/SimplCrypto.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 10.00
3 | # Visual Studio 2008
4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimplCrypto", "SimplCrypto\SimplCrypto.csproj", "{0BF6D44C-1114-48B5-929A-FA107C1E6080}"
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 | {0BF6D44C-1114-48B5-929A-FA107C1E6080}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
13 | {0BF6D44C-1114-48B5-929A-FA107C1E6080}.Debug|Any CPU.Build.0 = Debug|Any CPU
14 | {0BF6D44C-1114-48B5-929A-FA107C1E6080}.Release|Any CPU.ActiveCfg = Release|Any CPU
15 | {0BF6D44C-1114-48B5-929A-FA107C1E6080}.Release|Any CPU.Build.0 = Release|Any CPU
16 | EndGlobalSection
17 | GlobalSection(SolutionProperties) = preSolution
18 | HideSolutionNode = FALSE
19 | EndGlobalSection
20 | EndGlobal
21 |
--------------------------------------------------------------------------------
/SimplCrypto/SimplCrypto.suo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kielthecoder/crestron/07a4516273f441658767b6ab8dfa869f90da03cc/SimplCrypto/SimplCrypto.suo
--------------------------------------------------------------------------------
/SimplCrypto/SimplCrypto/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 |
3 | [assembly: AssemblyTitle("SimplCrypto")]
4 | [assembly: AssemblyCompany("")]
5 | [assembly: AssemblyProduct("SimplCrypto")]
6 | [assembly: AssemblyCopyright("Copyright © 2020")]
7 | [assembly: AssemblyVersion("1.0.0.*")]
8 |
9 |
--------------------------------------------------------------------------------
/SimplCrypto/SimplCrypto/Properties/ControlSystem.cfg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kielthecoder/crestron/07a4516273f441658767b6ab8dfa869f90da03cc/SimplCrypto/SimplCrypto/Properties/ControlSystem.cfg
--------------------------------------------------------------------------------
/SimplCrypto/SimplCrypto/SimplCrypto.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | Release
4 | AnyCPU
5 | 9.0.30729
6 | 2.0
7 | {0BF6D44C-1114-48B5-929A-FA107C1E6080}
8 | Library
9 | Properties
10 | SimplCrypto
11 | SimplCrypto
12 | {0B4745B0-194B-4BB6-8E21-E9057CA92500};{4D628B5B-2FBC-4AA6-8C16-197242AEB884};{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\Debug\
28 | DEBUG;TRACE;
29 | prompt
30 | 4
31 | 512
32 | true
33 | true
34 | off
35 |
36 |
37 | .allowedReferenceRelatedFileExtensions
38 | none
39 | true
40 | bin\Release\
41 | prompt
42 | 4
43 | 512
44 | true
45 | true
46 | off
47 |
48 |
49 |
50 |
51 | False
52 | C:\ProgramData\Crestron\SDK\SimplSharpCryptographyInterface.dll
53 |
54 |
55 | False
56 | C:\ProgramData\Crestron\SDK\SimplSharpCustomAttributesInterface.dll
57 |
58 |
59 | False
60 | C:\ProgramData\Crestron\SDK\SimplSharpHelperInterface.dll
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 | rem S# preparation will execute after these operations
74 |
75 |
--------------------------------------------------------------------------------
/SimplCrypto/SimplCrypto/SimplCrypto.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 | E282E6BE-C7C3-4ece-916A-88FB1CF8AF3C
4 |
5 |
--------------------------------------------------------------------------------
/SimplCrypto/SimplCrypto/SimplCrypto.projectinfo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kielthecoder/crestron/07a4516273f441658767b6ab8dfa869f90da03cc/SimplCrypto/SimplCrypto/SimplCrypto.projectinfo
--------------------------------------------------------------------------------
/SimplCrypto/SimplCrypto/SimplMD5.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Text;
3 | using Crestron.SimplSharp;
4 | using Crestron.SimplSharp.Cryptography;
5 |
6 | namespace SimplCrypto
7 | {
8 | public class SimplMD5
9 | {
10 | private char[] hex_table = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
11 |
12 | public SimplMD5()
13 | {
14 | }
15 |
16 | public string HexString(string data)
17 | {
18 | StringBuilder sb = new StringBuilder();
19 | byte[] bytes = Encoding.ASCII.GetBytes(data);
20 |
21 | using (var md5 = MD5.Create())
22 | {
23 | byte[] hash = md5.ComputeHash(bytes);
24 |
25 | foreach (var b in hash)
26 | {
27 | sb.Append(hex_table[b >> 4]);
28 | sb.Append(hex_table[b & 15]);
29 | }
30 | }
31 |
32 | return sb.ToString();
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/Speed Dial/KL Speed Dial v1.0.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.04.01
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,718,756,854,
18 | Exclusions_CDS=5
19 | Inclusions_CDS=6
20 | Name=KL Speed Dial v1.0
21 | SmplCName=KL Speed Dial v1.0.usp
22 | Code=1
23 | SysRev5=4.006
24 | SMWRev=3.00.00
25 | InputCue1=Save
26 | InputSigType1=Digital
27 | InputCue2=Recall
28 | InputSigType2=Digital
29 | InputCue3=Select[#]
30 | InputSigType3=Digital
31 | InputList2Cue1=Number_In
32 | InputList2SigType1=Serial
33 | InputList2Cue2=Name_In
34 | InputList2SigType2=Serial
35 | OutputList2Cue1=Number_Out
36 | OutputList2SigType1=Serial
37 | OutputList2Cue2=Name_Out[#]
38 | OutputList2SigType2=Serial
39 | ParamCue1=[Reference Name]
40 | ParamCue2=FileName
41 | ParamSigType2=String
42 | MinVariableInputs=3
43 | MaxVariableInputs=12
44 | MinVariableInputsList2=2
45 | MaxVariableInputsList2=2
46 | MinVariableOutputs=0
47 | MaxVariableOutputs=0
48 | MinVariableOutputsList2=2
49 | MaxVariableOutputsList2=11
50 | MinVariableParams=1
51 | MaxVariableParams=1
52 | Expand=expand_separately
53 | Expand2=expand_separately
54 | ProgramTree=Logic
55 | SymbolTree=32
56 | Hint=
57 | PdfHelp=
58 | HelpID=
59 | Render=4
60 | Smpl-C=16
61 | CompilerCode=-48
62 | CompilerParamCode=27
63 | CompilerParamCode5=14
64 | NumFixedParams=1
65 | Pp1=1
66 | Pp2=2
67 | MPp=2
68 | NVStorage=10
69 | ParamSigType1=String
70 | SmplCInputCue1=o#
71 | SmplCOutputCue1=i#
72 | SmplCInputList2Cue1=an#
73 | SmplCOutputList2Cue1=ai#
74 | SPlus2CompiledName=S2_KL_Speed_Dial_v1_0
75 | SymJam=NonExclusive
76 | FileName=KL Speed Dial v1.0.ush
77 | SIMPLPlusModuleEncoding=0
78 | [END]
79 | [BEGIN]
80 | ObjTp=Dp
81 | H=1
82 | Tp=1
83 | NoS=False
84 | [END]
85 | [BEGIN]
86 | ObjTp=Dp
87 | H=2
88 | Tp=1
89 | HD=False
90 | NoS=False
91 | VVS=0
92 | [END]
93 |
--------------------------------------------------------------------------------
/Speed Dial/KL Speed Dial v1.0.usp:
--------------------------------------------------------------------------------
1 | /*******************************************************************************************
2 | SIMPL+ Module Information
3 | (Fill in comments below)
4 | *******************************************************************************************/
5 | /*
6 | Dealer Name:
7 | System Name:
8 | System Number:
9 | Programmer:
10 | Comments:
11 | */
12 |
13 | /*******************************************************************************************
14 | Compiler Directives
15 | (Uncomment and declare compiler directives as needed)
16 | *******************************************************************************************/
17 | // #ENABLE_DYNAMIC
18 | // #SYMBOL_NAME ""
19 | // #HINT ""
20 | #DEFINE_CONSTANT MAX_ENTRIES 10
21 | // #CATEGORY ""
22 | // #PRINT_TO_TRACE
23 | // #DIGITAL_EXPAND
24 | // #ANALOG_SERIAL_EXPAND
25 | // #OUTPUT_SHIFT
26 | // #HELP_PDF_FILE ""
27 | #DEFAULT_VOLATILE
28 | #ENABLE_STACK_CHECKING
29 | #ENABLE_TRACE
30 | // #ENCODING_ASCII
31 | // #ENCODING_UTF16
32 | // #ENCODING_INHERIT_FROM_PARENT
33 | // #ENCODING_INHERIT_FROM_PROGRAM
34 | /*
35 | #HELP_BEGIN
36 | (add additional lines of help lines)
37 | #HELP_END
38 | */
39 |
40 | /*******************************************************************************************
41 | DIGITAL, ANALOG and SERIAL INPUTS and OUTPUTS
42 | (Uncomment and declare inputs and outputs as needed)
43 | *******************************************************************************************/
44 | DIGITAL_INPUT Save, Recall;
45 | DIGITAL_INPUT Select[MAX_ENTRIES];
46 | // ANALOG_INPUT
47 | STRING_INPUT Number_In[50], Name_In[200];
48 | // BUFFER_INPUT
49 |
50 | // DIGITAL_OUTPUT
51 | // ANALOG_OUTPUT
52 | STRING_OUTPUT Number_Out;
53 | STRING_OUTPUT Name_Out[MAX_ENTRIES];
54 |
55 | /*******************************************************************************************
56 | Parameters
57 | (Uncomment and declare parameters as needed)
58 | *******************************************************************************************/
59 | // INTEGER_PARAMETER
60 | // SIGNED_INTEGER_PARAMETER
61 | // LONG_INTEGER_PARAMETER
62 | // SIGNED_LONG_INTEGER_PARAMETER
63 | STRING_PARAMETER FileName[255];
64 |
65 | /*******************************************************************************************
66 | Structure Definitions
67 | (Uncomment and define structure definitions as needed)
68 | Note: Be sure to initialize all declared STRING variables as needed
69 | For example, in Function Main: struct.myString = "";
70 | *******************************************************************************************/
71 |
72 | STRUCTURE TSPEEDDIAL
73 | {
74 | STRING EntryName[200];
75 | STRING Number[50];
76 | };
77 |
78 | NONVOLATILE TSPEEDDIAL SpeedDial[MAX_ENTRIES];
79 |
80 | /*******************************************************************************************
81 | Global Variables
82 | (Uncomment and declare global variables as needed)
83 | Note: Be sure to initialize all declared STRING variables as needed
84 | For example, in Function Main: myString = "";
85 | *******************************************************************************************/
86 | VOLATILE INTEGER SpeedDialIndex;
87 | // LONG_INTEGER
88 | // SIGNED_INTEGER
89 | // SIGNED_LONG_INTEGER
90 | VOLATILE STRING NumberIn[50];
91 | VOLATILE STRING NameIn[200];
92 |
93 | /*******************************************************************************************
94 | Functions
95 | (Add any additional functions here)
96 | Note: Functions must be physically placed before the location in
97 | the code that calls them.
98 | *******************************************************************************************/
99 |
100 | Function LoadFromFile()
101 | {
102 | SIGNED_INTEGER fileHandle;
103 | SIGNED_INTEGER result;
104 | INTEGER i;
105 | STRING textBuffer[1024];
106 | STRING textLine[255];
107 | STRING temp[255];
108 |
109 | If (StartFileOperations() = 0)
110 | {
111 | fileHandle = FileOpen(FileName, _O_RDONLY | _O_TEXT);
112 |
113 | If (fileHandle >= 0)
114 | {
115 | textBuffer = "";
116 | i = 1;
117 |
118 | While (FileEOF(fileHandle) = 0)
119 | {
120 | If (i > MAX_ENTRIES)
121 | {
122 | Break;
123 | }
124 |
125 | result = FileRead(fileHandle, textLine, 255);
126 | textBuffer = textBuffer + textLine;
127 |
128 | While (Find("\n", textBuffer))
129 | {
130 | If (i > MAX_ENTRIES)
131 | {
132 | Break;
133 | }
134 |
135 | textLine = Remove("\n", textBuffer);
136 |
137 | temp = Remove("|", textLine);
138 | SpeedDial[i].EntryName = Left(temp, Len(temp) - 1);
139 |
140 | temp = Left(textLine, Len(textLine) - 2);
141 | SpeedDial[i].Number = temp;
142 |
143 | i = i + 1;
144 | }
145 | }
146 |
147 | While (Find("\n", textBuffer))
148 | {
149 | If (i > MAX_ENTRIES)
150 | {
151 | Break;
152 | }
153 |
154 | textLine = Remove("\n", textBuffer);
155 |
156 | temp = Remove("|", textLine);
157 | SpeedDial[i].EntryName = Left(temp, Len(temp) - 1);
158 |
159 | temp = Left(textLine, Len(textLine) - 2);
160 | SpeedDial[i].Number = temp;
161 |
162 | i = i + 1;
163 | }
164 |
165 | FileClose(fileHandle);
166 | }
167 |
168 | EndFileOperations();
169 | }
170 | }
171 |
172 | Function SaveToFile()
173 | {
174 | SIGNED_INTEGER fileHandle;
175 | SIGNED_INTEGER result;
176 | INTEGER i;
177 | STRING textLine[255];
178 |
179 | If (StartFileOperations() = 0)
180 | {
181 | fileHandle = FileOpen(FileName, _O_WRONLY | _O_CREAT | _O_TEXT);
182 |
183 | If (fileHandle >= 0)
184 | {
185 | For (i = 1 To MAX_ENTRIES)
186 | {
187 | MakeString(textLine, "%s|%s\n", SpeedDial[i].EntryName, SpeedDial[i].Number);
188 |
189 | result = FileWrite(fileHandle, textLine, Len(textLine));
190 |
191 | If (result <= 0)
192 | {
193 | Break;
194 | }
195 | }
196 |
197 | FileClose(fileHandle);
198 | }
199 |
200 | EndFileOperations();
201 | }
202 | }
203 |
204 | Function UpdateNames()
205 | {
206 | INTEGER i;
207 |
208 | For (i = 1 To MAX_ENTRIES)
209 | {
210 | Name_Out[i] = SpeedDial[i].EntryName;
211 | }
212 | }
213 |
214 | /*******************************************************************************************
215 | Event Handlers
216 | (Uncomment and declare additional event handlers as needed)
217 | *******************************************************************************************/
218 |
219 | PUSH Select
220 | {
221 | SpeedDialIndex = GetLastModifiedArrayIndex();
222 | }
223 |
224 | CHANGE Number_In
225 | {
226 | NumberIn = Number_In;
227 | }
228 |
229 | CHANGE Name_In
230 | {
231 | NameIn = Name_In;
232 | }
233 |
234 | PUSH Save
235 | {
236 | If (SpeedDialIndex > 0)
237 | {
238 | SpeedDial[SpeedDialIndex].EntryName = NameIn;
239 | SpeedDial[SpeedDialIndex].Number = NumberIn;
240 |
241 | UpdateNames();
242 | SaveToFile();
243 | }
244 | }
245 |
246 | PUSH Recall
247 | {
248 | If (SpeedDialIndex > 0)
249 | {
250 | Number_Out = SpeedDial[SpeedDialIndex].Number;
251 | }
252 | }
253 |
254 | /*******************************************************************************************
255 | Main()
256 | Uncomment and place one-time startup code here
257 | (This code will get called when the system starts up)
258 | *******************************************************************************************/
259 |
260 | Function Main()
261 | {
262 | INTEGER i;
263 |
264 | For (i = 1 To MAX_ENTRIES)
265 | {
266 | SpeedDial[i].EntryName = "New Entry";
267 | SpeedDial[i].Number = ItoA(i);
268 | }
269 |
270 | WaitForInitializationComplete();
271 | LoadFromFile();
272 | UpdateNames();
273 | }
274 |
--------------------------------------------------------------------------------
/Speed Dial/KL Speed Dial v1.0_Manifest.arcv:
--------------------------------------------------------------------------------
1 | [BEGIN]
2 | ObjTp=FSgntr
3 | Sgntr=ArchiveManifest
4 | RelVrs=4.09.04
5 | IsProgram=0
6 | TopLevelProgram=KL Speed Dial v1.0.umc
7 | [END]
8 | [BEGIN]
9 | ObjTp=ArchiveItem
10 | File=KL Speed Dial v1.0.umc
11 | Scope=1
12 | [END]
13 | [BEGIN]
14 | ObjTp=ArchiveItem
15 | File=KL Speed Dial v1.0.ush
16 | Scope=1
17 | [END]
18 |
--------------------------------------------------------------------------------
/Standard UI/KL Passcode Driver v1.0.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.04.01
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,718,756,854,6114,
18 | Exclusions_CDS=
19 | Inclusions_CDS=5,6
20 | Name=KL Passcode Driver v1.0
21 | SmplCName=KL Passcode Driver v1.0.usp
22 | Code=1
23 | SysRev5=4.000
24 | SMWRev=2.02.05
25 | InputCue1=Set_Passcode
26 | InputSigType1=Digital
27 | InputCue2=Key_Clear
28 | InputSigType2=Digital
29 | InputCue3=Key_Enter
30 | InputSigType3=Digital
31 | InputCue4=Key_Pad[#]
32 | InputSigType4=Digital
33 | OutputCue1=Passcode_Correct
34 | OutputSigType1=Digital
35 | OutputCue2=Passcode_Wrong
36 | OutputSigType2=Digital
37 | OutputCue3=Passcode_Saved
38 | OutputSigType3=Digital
39 | InputList2Cue1=Admin_Passcode_In
40 | InputList2SigType1=Serial
41 | OutputList2Cue1=Passcode_Entry
42 | OutputList2SigType1=Serial
43 | OutputList2Cue2=Passcode_Masked
44 | OutputList2SigType2=Serial
45 | ParamCue1=[Reference Name]
46 | ParamCue2=Backdoor_Passcode
47 | ParamSigType2=String
48 | MinVariableInputs=4
49 | MaxVariableInputs=13
50 | MinVariableInputsList2=1
51 | MaxVariableInputsList2=1
52 | MinVariableOutputs=3
53 | MaxVariableOutputs=3
54 | MinVariableOutputsList2=2
55 | MaxVariableOutputsList2=2
56 | MinVariableParams=1
57 | MaxVariableParams=1
58 | Expand=expand_separately
59 | Expand2=expand_separately
60 | ProgramTree=Logic
61 | SymbolTree=32
62 | Hint=
63 | PdfHelp=
64 | HelpID=
65 | Render=4
66 | Smpl-C=16
67 | CompilerCode=-48
68 | CompilerParamCode=27
69 | CompilerParamCode5=14
70 | NumFixedParams=1
71 | Pp1=1
72 | Pp2=2
73 | MPp=2
74 | NVStorage=10
75 | ParamSigType1=String
76 | SmplCInputCue1=o#
77 | SmplCOutputCue1=i#
78 | SmplCInputList2Cue1=an#
79 | SmplCOutputList2Cue1=ai#
80 | SPlus2CompiledName=S2_KL_Passcode_Driver_v1_0
81 | SymJam=NonExclusive
82 | FileName=KL Passcode Driver v1.0.ush
83 | SIMPLPlusModuleEncoding=0
84 | [END]
85 | [BEGIN]
86 | ObjTp=Dp
87 | H=1
88 | Tp=1
89 | NoS=False
90 | [END]
91 | [BEGIN]
92 | ObjTp=Dp
93 | H=2
94 | Tp=1
95 | HD=False
96 | NoS=False
97 | VVS=0
98 | [END]
99 |
--------------------------------------------------------------------------------
/Standard UI/KL Passcode Driver v1.0.usp:
--------------------------------------------------------------------------------
1 | // KL Passcode Driver
2 | // v1.0
3 | //
4 | // Dealer:
5 | // System:
6 | // Programmer: Kiel Lofstrand
7 | // Comments:
8 |
9 | // --- Compiler Directives ----------------------------------------------------
10 |
11 | #DEFAULT_VOLATILE
12 | #ENABLE_STACK_CHECKING
13 | #ENABLE_TRACE
14 |
15 | #DEFINE_CONSTANT MAX_PASSCODE_LEN 10
16 |
17 | // --- Libraries --------------------------------------------------------------
18 |
19 | // #USER_SIMPLSHARP_LIBRARY ""
20 |
21 | // --- Inputs -----------------------------------------------------------------
22 |
23 | DIGITAL_INPUT Set_Passcode;
24 | DIGITAL_INPUT Key_Clear;
25 | DIGITAL_INPUT Key_Enter;
26 | STRING_INPUT Admin_Passcode_In[MAX_PASSCODE_LEN];
27 |
28 | DIGITAL_INPUT Key_Pad[10];
29 |
30 | // --- Outputs ----------------------------------------------------------------
31 |
32 | DIGITAL_OUTPUT Passcode_Correct;
33 | DIGITAL_OUTPUT Passcode_Wrong;
34 | DIGITAL_OUTPUT Passcode_Saved;
35 | STRING_OUTPUT Passcode_Entry;
36 | STRING_OUTPUT Passcode_Masked;
37 |
38 | // --- Parameters -------------------------------------------------------------
39 |
40 | // INTEGER_PARAMETER
41 | // SIGNED_INTEGER_PARAMETER
42 | // LONG_INTEGER_PARAMETER
43 | // SIGNED_LONG_INTEGER_PARAMETER
44 | STRING_PARAMETER Backdoor_Passcode[MAX_PASSCODE_LEN];
45 |
46 | // --- Sockets ----------------------------------------------------------------
47 |
48 | // --- Structures -------------------------------------------------------------
49 |
50 | // --- Global Variables -------------------------------------------------------
51 |
52 | STRING Passcode[MAX_PASSCODE_LEN];
53 |
54 | // --- Functions --------------------------------------------------------------
55 |
56 | STRING_FUNCTION Mask(STRING text)
57 | {
58 | STRING temp[MAX_PASSCODE_LEN];
59 | INTEGER i;
60 |
61 | temp = "";
62 |
63 | For (i = 1 To Len(text))
64 | temp = temp + "*";
65 |
66 | Return(temp);
67 | }
68 |
69 | // --- Events -----------------------------------------------------------------
70 |
71 | PUSH Set_Passcode
72 | {
73 | Passcode = Admin_Passcode_In;
74 | Passcode_Entry = Passcode;
75 | Passcode_Masked = Mask(Passcode);
76 | }
77 |
78 | RELEASE Set_Passcode
79 | {
80 | Passcode = "";
81 | Passcode_Entry = Passcode;
82 | Passcode_Masked = Passcode;
83 | }
84 |
85 | PUSH Key_Pad
86 | {
87 | INTEGER i;
88 |
89 | If (Len(Passcode) < MAX_PASSCODE_LEN)
90 | {
91 | i = GetLastModifiedArrayIndex();
92 |
93 | If (i = 10)
94 | i = 0;
95 |
96 | Passcode = Passcode + ItoA(i);
97 | Passcode_Entry = Passcode;
98 | Passcode_Masked = Mask(Passcode);
99 | }
100 | }
101 |
102 | PUSH Key_Clear
103 | {
104 | Passcode = "";
105 | Passcode_Entry = Passcode;
106 | Passcode_Masked = Passcode;
107 | }
108 |
109 | PUSH Key_Enter
110 | {
111 | If (Set_Passcode)
112 | {
113 | Pulse(10, Passcode_Saved);
114 | }
115 | Else
116 | {
117 | If ((Passcode = Admin_Passcode_In) ||
118 | (Passcode = Backdoor_Passcode))
119 | {
120 | Pulse(10, Passcode_Correct);
121 | }
122 | Else
123 | {
124 | Pulse(10, Passcode_Wrong);
125 | }
126 |
127 | Passcode = "";
128 | Passcode_Entry = Passcode;
129 | Passcode_Masked = Passcode;
130 | }
131 | }
132 |
133 | // --- Main -------------------------------------------------------------------
134 |
135 | FUNCTION Main()
136 | {
137 | WaitForInitializationComplete();
138 | }
139 |
--------------------------------------------------------------------------------
/Standard UI/KL Passcode Entry v1.0.umc:
--------------------------------------------------------------------------------
1 | [
2 | Version=1
3 | ]
4 | [
5 | ObjTp=FSgntr
6 | Sgntr=UserMacro
7 | RelVrs=4.11.06
8 | IntStrVrs=2
9 | MinSMWVrs=2.02.05
10 | MinTIOVrs=0
11 | SavedBy=SMW4.11.06
12 | ]
13 | [
14 | ObjTp=Hd
15 | S0Nd=1
16 | S1Nd=2
17 | SLNd=3
18 | PrNm=KL Passcode Entry v1.0.umc
19 | DbVr=88.06.004.00
20 | DvcDbVr=115.00.002.00
21 | Incl=362,378,380,405,407,408,409,478,522,537,554,586,590,611,624,767,830,883,1032,1062,1079,1134,1157,1199,1220,1222,1299,1348,1439,1472,1473,1499,1746,1803,1975,2229,2354,2514,2523,2532,3708,3902,3912,3918,3925,1766,2574,2651,2817,2886,2938,2947,3181,3197,3233,3710,3735,3736,3816,3888,4176,4308,4476,4591,4769,5360,5388,5420,5455,5497,5699,5813,5919,6150,6161,
22 | McNm=KL Passcode Entry v1.0
23 | SmVr=1103
24 | DvVr=1103
25 | TpN1=1
26 | TpN2=2
27 | TpN3=3
28 | TpN4=4
29 | TpN5=5
30 | APg=1
31 | FltTmp=1
32 | FpCS=0
33 | EnType=0
34 | ZeroOnIoOk=0
35 | SGMethod=1
36 | ]
37 | [
38 | ObjTp=Bk
39 | Nm1=\
40 | Sx1=0
41 | Sy1=0
42 | Mx1=0
43 | ]
44 | [
45 | ObjTp=Bw
46 | H=1
47 | Lx=641
48 | Ly=0
49 | Rx=1282
50 | Ry=913
51 | Xm=-1
52 | Ym=-1
53 | SH=7
54 | Z=100
55 | Ht=1
56 | Hi=14
57 | ]
58 | [
59 | ObjTp=Bw
60 | H=1
61 | Lx=0
62 | Ly=0
63 | Rx=641
64 | Ry=913
65 | Xm=-1
66 | Ym=-1
67 | SH=6
68 | Z=100
69 | Ht=1
70 | Hi=3
71 | ]
72 | [
73 | ObjTp=Symbol
74 | Name=KL Passcode Entry v1.0
75 | Code=1
76 | SmplCName=KL Passcode Entry v1.0.umc
77 | Smpl-C=3
78 | CompilerTimePrecision=Single_Or_Double_Precision
79 | Exclusions=1,19,20,21,88,89,167,168,179,213,214,215,216,217,225,226,248,249,266,267,310,718,756,854,6114,302,305,
80 | SMWRev=2.02.05
81 | TIORev=0
82 | S+=1
83 | HelpID=1055
84 | APg=1
85 | StdCmd=0
86 | FltTmp=1
87 | FpCS=0
88 | NumFixedInputs=14
89 | NumFixedOutputs=14
90 | NumFixedParams=1
91 | MinVariableInputs=0
92 | MinVariableInputsList2=0
93 | MinVariableInputsList3=0
94 | MinVariableOutputs=0
95 | MinVariableOutputsList2=0
96 | MinVariableOutputsList3=0
97 | MinVariableParams=0
98 | SymbolTree=32
99 | InputSigType1=Digital
100 | InputSigType2=Digital|Analog|Serial|String
101 | InputSigType3=Digital
102 | OutputSigType1=Serial
103 | OutputSigType2=Digital|Analog|Serial|String
104 | OutputSigType3=Serial
105 | OutputSigType4=Serial
106 | OutputSigType5=Digital
107 | OutputSigType6=Digital
108 | OutputSigType7=Digital
109 | OutputSigType8=Digital|Analog|Serial|String
110 | ParamSigType1=String
111 | InputCue1=Set_Admin_Passcode
112 | InputCue2=[~UNUSED~]
113 | InputCue3=Key_1
114 | InputCue4=Key_2
115 | InputCue5=Key_3
116 | InputCue6=Key_4
117 | InputCue7=Key_5
118 | InputCue8=Key_6
119 | InputCue9=Key_7
120 | InputCue10=Key_8
121 | InputCue11=Key_9
122 | InputCue12=Key_0
123 | InputCue13=Key_Clear
124 | InputCue14=Key_Enter
125 | OutputCue1=Admin_Passcode$
126 | OutputCue2=[~UNUSED~]
127 | OutputCue3=Passcode_Entry$
128 | OutputCue4=Passcode_Mask$
129 | OutputCue5=Passcode_Correct_Pulse
130 | OutputCue6=Passcode_Wrong_Pulse
131 | OutputCue7=Passcode_Saved_Pulse
132 | OutputCue8=[~UNUSED~]
133 | OutputCue9=[~UNUSED~]
134 | OutputCue10=[~UNUSED~]
135 | OutputCue11=[~UNUSED~]
136 | OutputCue12=[~UNUSED~]
137 | OutputCue13=[~UNUSED~]
138 | OutputCue14=[~UNUSED~]
139 | ParamCue1=Backdoor Passcode
140 | FileName=KL Passcode Entry v1.0.umc
141 | EncodingType=0
142 | ZeroOnIoOk=0
143 | ]
144 | [
145 | ObjTp=Sm
146 | H=1
147 | SmC=157
148 | Nm=Central Control Modules
149 | ObjVer=1
150 | CF=2
151 | n1I=1
152 | n1O=1
153 | mI=1
154 | mO=1
155 | tO=1
156 | mP=1
157 | P1=
158 | ]
159 | [
160 | ObjTp=Sm
161 | H=2
162 | SmC=157
163 | Nm=Network Modules
164 | ObjVer=1
165 | CF=2
166 | n1I=1
167 | n1O=1
168 | mI=1
169 | mO=1
170 | tO=1
171 | mP=1
172 | P1=
173 | ]
174 | [
175 | ObjTp=Sm
176 | H=3
177 | SmC=157
178 | Nm=Ethernet
179 | ObjVer=1
180 | CF=2
181 | n1I=1
182 | n1O=1
183 | mI=1
184 | mO=1
185 | tO=1
186 | mP=1
187 | P1=
188 | ]
189 | [
190 | ObjTp=Sm
191 | H=4
192 | SmC=156
193 | Nm=Logic
194 | ObjVer=1
195 | CF=2
196 | mC=4
197 | C1=7
198 | C2=8
199 | C3=10
200 | C4=9
201 | ]
202 | [
203 | ObjTp=Sm
204 | H=5
205 | SmC=157
206 | Nm=DefineArguments
207 | ObjVer=1
208 | CF=2
209 | n1I=1
210 | n1O=1
211 | mC=1
212 | C1=6
213 | mI=1
214 | mO=1
215 | tO=1
216 | mP=1
217 | P1=
218 | ]
219 | [
220 | ObjTp=Sm
221 | H=6
222 | SmC=55
223 | Nm=Argument Definition
224 | ObjVer=1
225 | PrH=5
226 | CF=2
227 | n1I=14
228 | n1O=14
229 | mI=14
230 | I1=6
231 | I2=5
232 | I3=7
233 | I4=8
234 | I5=9
235 | I6=10
236 | I7=11
237 | I8=12
238 | I9=13
239 | I10=14
240 | I11=15
241 | I12=17
242 | I13=16
243 | I14=18
244 | mO=14
245 | tO=14
246 | O1=23
247 | O2=5
248 | O3=19
249 | O4=4
250 | O5=22
251 | O6=20
252 | O7=21
253 | O8=5
254 | O9=5
255 | O10=5
256 | O11=5
257 | O12=5
258 | O13=5
259 | O14=5
260 | mP=1
261 | P1=Backdoor Passcode
262 | ]
263 | [
264 | ObjTp=Sm
265 | H=7
266 | SmC=103
267 | Nm=KL Passcode Driver v1.0.usp
268 | ObjVer=1
269 | PrH=4
270 | CF=2
271 | n1I=13
272 | n2I=1
273 | n1O=3
274 | mI=14
275 | I1=6
276 | I2=16
277 | I3=18
278 | I4=7
279 | I5=8
280 | I6=9
281 | I7=10
282 | I8=11
283 | I9=12
284 | I10=13
285 | I11=14
286 | I12=15
287 | I13=17
288 | I14=23
289 | mO=5
290 | tO=5
291 | O1=22
292 | O2=20
293 | O3=21
294 | O4=19
295 | O5=4
296 | mP=2
297 | P1=
298 | P2=#Backdoor Passcode
299 | ]
300 | [
301 | ObjTp=Sm
302 | H=8
303 | SmC=858
304 | Nm=Make String Permanent
305 | ObjVer=1
306 | PrH=4
307 | CF=2
308 | n1I=1
309 | mI=1
310 | I1=19
311 | mP=1
312 | P1=10d
313 | ]
314 | [
315 | ObjTp=Sm
316 | H=9
317 | SmC=46
318 | Nm=Analog Buffer
319 | ObjVer=1
320 | PrH=4
321 | CF=2
322 | n1I=2
323 | n1O=1
324 | mI=2
325 | I1=24
326 | I2=19
327 | mO=1
328 | tO=1
329 | O1=23
330 | ]
331 | [
332 | ObjTp=Sm
333 | H=10
334 | SmC=409
335 | Nm=Logic Wave Pulse
336 | ObjVer=1
337 | PrH=4
338 | CF=2
339 | n1I=3
340 | n1O=2
341 | mI=3
342 | I1=21
343 | mO=2
344 | tO=2
345 | O1=24
346 | mP=1
347 | P1=1d
348 | ]
349 | [
350 | ObjTp=Sg
351 | H=4
352 | Nm=Passcode_Mask$
353 | SgTp=4
354 | ]
355 | [
356 | ObjTp=Sg
357 | H=5
358 | Nm=[~UNUSED~]
359 | SgTp=31
360 | ]
361 | [
362 | ObjTp=Sg
363 | H=6
364 | Nm=Set_Admin_Passcode
365 | ]
366 | [
367 | ObjTp=Sg
368 | H=7
369 | Nm=Key_1
370 | ]
371 | [
372 | ObjTp=Sg
373 | H=8
374 | Nm=Key_2
375 | ]
376 | [
377 | ObjTp=Sg
378 | H=9
379 | Nm=Key_3
380 | ]
381 | [
382 | ObjTp=Sg
383 | H=10
384 | Nm=Key_4
385 | ]
386 | [
387 | ObjTp=Sg
388 | H=11
389 | Nm=Key_5
390 | ]
391 | [
392 | ObjTp=Sg
393 | H=12
394 | Nm=Key_6
395 | ]
396 | [
397 | ObjTp=Sg
398 | H=13
399 | Nm=Key_7
400 | ]
401 | [
402 | ObjTp=Sg
403 | H=14
404 | Nm=Key_8
405 | ]
406 | [
407 | ObjTp=Sg
408 | H=15
409 | Nm=Key_9
410 | ]
411 | [
412 | ObjTp=Sg
413 | H=16
414 | Nm=Key_Clear
415 | ]
416 | [
417 | ObjTp=Sg
418 | H=17
419 | Nm=Key_0
420 | ]
421 | [
422 | ObjTp=Sg
423 | H=18
424 | Nm=Key_Enter
425 | ]
426 | [
427 | ObjTp=Sg
428 | H=19
429 | Nm=Passcode_Entry$
430 | SgTp=4
431 | ]
432 | [
433 | ObjTp=Sg
434 | H=20
435 | Nm=Passcode_Wrong_Pulse
436 | ]
437 | [
438 | ObjTp=Sg
439 | H=21
440 | Nm=Passcode_Saved_Pulse
441 | ]
442 | [
443 | ObjTp=Sg
444 | H=22
445 | Nm=Passcode_Correct_Pulse
446 | ]
447 | [
448 | ObjTp=Sg
449 | H=23
450 | Nm=Admin_Passcode$
451 | SgTp=4
452 | ]
453 | [
454 | ObjTp=Sg
455 | H=24
456 | Nm=Passcode_Saved_lwp
457 | ]
458 |
--------------------------------------------------------------------------------
/Standard UI/KL Positive Negative Offset v1.0.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.04.01
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,718,756,854,6114,
18 | Exclusions_CDS=5
19 | Inclusions_CDS=6
20 | Name=KL Positive Negative Offset v1.0
21 | SmplCName=KL Positive Negative Offset v1.0.usp
22 | Code=1
23 | SysRev5=4.006
24 | SMWRev=3.00.00
25 | OutputList2Cue1=Positive_Offset
26 | OutputList2SigType1=Analog
27 | OutputList2Cue2=Negative_Offset
28 | OutputList2SigType2=Analog
29 | ParamCue1=[Reference Name]
30 | ParamCue2=Offset
31 | ParamSigType2=Constant
32 | MinVariableInputs=0
33 | MaxVariableInputs=0
34 | MinVariableInputsList2=0
35 | MaxVariableInputsList2=0
36 | MinVariableOutputs=0
37 | MaxVariableOutputs=0
38 | MinVariableOutputsList2=2
39 | MaxVariableOutputsList2=2
40 | MinVariableParams=1
41 | MaxVariableParams=1
42 | Expand=expand_separately
43 | Expand2=expand_separately
44 | ProgramTree=Logic
45 | SymbolTree=32
46 | Hint=
47 | PdfHelp=
48 | HelpID=
49 | Render=4
50 | Smpl-C=16
51 | CompilerCode=-48
52 | CompilerParamCode=27
53 | CompilerParamCode5=14
54 | NumFixedParams=1
55 | Pp1=1
56 | Pp2=2
57 | MPp=2
58 | NVStorage=10
59 | ParamSigType1=String
60 | SmplCInputCue1=o#
61 | SmplCOutputCue1=i#
62 | SmplCInputList2Cue1=an#
63 | SmplCOutputList2Cue1=ai#
64 | SPlus2CompiledName=S2_KL_Positive_Negative_Offset_v1_0
65 | SymJam=NonExclusive
66 | FileName=KL Positive Negative Offset v1.0.ush
67 | SIMPLPlusModuleEncoding=0
68 | [END]
69 | [BEGIN]
70 | ObjTp=Dp
71 | H=1
72 | Tp=1
73 | NoS=False
74 | [END]
75 | [BEGIN]
76 | ObjTp=Dp
77 | H=2
78 | Tp=1
79 | HD=False
80 | Sgn=0
81 | Lng=False
82 | NF=63
83 | NoS=True
84 | DNF=1
85 | VVS=0
86 | [END]
87 |
--------------------------------------------------------------------------------
/Standard UI/KL Positive Negative Offset v1.0.usp:
--------------------------------------------------------------------------------
1 | // New Module
2 | // v1.0
3 | //
4 | // Dealer:
5 | // System:
6 | // Programmer: Kiel Lofstrand
7 | // Comments:
8 |
9 | // --- Compiler Directives ----------------------------------------------------
10 |
11 | #DEFAULT_VOLATILE
12 | #ENABLE_STACK_CHECKING
13 | #ENABLE_TRACE
14 |
15 | // --- Libraries --------------------------------------------------------------
16 |
17 | // --- Inputs -----------------------------------------------------------------
18 |
19 | // --- Outputs ----------------------------------------------------------------
20 |
21 | ANALOG_OUTPUT Positive_Offset;
22 | ANALOG_OUTPUT Negative_Offset;
23 |
24 | // --- Parameters -------------------------------------------------------------
25 |
26 | INTEGER_PARAMETER Offset;
27 |
28 | // --- Sockets ----------------------------------------------------------------
29 |
30 | // --- Structures -------------------------------------------------------------
31 |
32 | // --- Global Variables -------------------------------------------------------
33 |
34 | // --- Functions --------------------------------------------------------------
35 |
36 | // --- Events -----------------------------------------------------------------
37 |
38 | // --- Main -------------------------------------------------------------------
39 |
40 | FUNCTION Main()
41 | {
42 | WaitForInitializationComplete();
43 |
44 | Positive_Offset = Abs(Offset);
45 | Negative_Offset = 0 - Abs(Offset);
46 | }
47 |
--------------------------------------------------------------------------------
/Standard UI/KL Simple Text Config Driver v1.1.usp:
--------------------------------------------------------------------------------
1 | // KL Simple Text Config Driver
2 | // v1.1 - Added Error_Code output
3 | // v1.0 - Initial version
4 | //
5 | // Dealer:
6 | // System:
7 | // Programmer: Kiel Lofstrand
8 | // Comments:
9 |
10 | // --- Compiler Directives ----------------------------------------------------
11 |
12 | #DEFAULT_VOLATILE
13 | #ENABLE_STACK_CHECKING
14 | #ENABLE_TRACE
15 |
16 | #DEFINE_CONSTANT MAX_FILE_NAME_LEN 255
17 | #DEFINE_CONSTANT MAX_READ_BUF_LEN 2048
18 | #DEFINE_CONSTANT MAX_TEXT_BUF_LEN 4096
19 | #DEFINE_CONSTANT MAX_LINE_LEN 270
20 | #DEFINE_CONSTANT MAX_STRLEN 255
21 | #DEFINE_CONSTANT MAX_NUM_JOINS 100
22 |
23 | // --- Libraries --------------------------------------------------------------
24 |
25 | // #USER_SIMPLSHARP_LIBRARY ""
26 |
27 | // --- Inputs -----------------------------------------------------------------
28 |
29 | DIGITAL_INPUT Store;
30 | DIGITAL_INPUT Recall;
31 |
32 | DIGITAL_INPUT Digital[MAX_NUM_JOINS];
33 | ANALOG_INPUT Analog[MAX_NUM_JOINS];
34 | STRING_INPUT Serial[MAX_NUM_JOINS][MAX_STRLEN];
35 |
36 | // --- Outputs ----------------------------------------------------------------
37 |
38 | DIGITAL_OUTPUT Initialized_Fb;
39 | DIGITAL_OUTPUT Error_Fb;
40 | ANALOG_OUTPUT Error_Code;
41 |
42 | DIGITAL_OUTPUT Digital_Fb[MAX_NUM_JOINS];
43 | ANALOG_OUTPUT Analog_Fb[MAX_NUM_JOINS];
44 | STRING_OUTPUT Serial_Fb[MAX_NUM_JOINS];
45 |
46 | // --- Parameters -------------------------------------------------------------
47 |
48 | STRING_PARAMETER FileName[MAX_FILE_NAME_LEN];
49 |
50 | // --- Sockets ----------------------------------------------------------------
51 |
52 | // TCP_CLIENT
53 | // TCP_SERVER
54 | // UDP_SOCKET
55 |
56 | // --- Structures -------------------------------------------------------------
57 |
58 | // STRUCTURE MyStruct
59 | // {
60 | // };
61 |
62 | // --- Global Variables -------------------------------------------------------
63 |
64 | STRING ReadBuf[MAX_READ_BUF_LEN];
65 | STRING TextBuf[MAX_TEXT_BUF_LEN];
66 |
67 | // --- Functions --------------------------------------------------------------
68 |
69 | FUNCTION Parse(STRING text)
70 | {
71 | INTEGER index;
72 | INTEGER equals;
73 | STRING temp[16];
74 | STRING sig[1];
75 |
76 | equals = Find("=", text);
77 |
78 | If (equals > 0)
79 | {
80 | temp = Mid(text, 1, equals);
81 | sig = Left(temp, 1);
82 | index = AtoI(temp);
83 |
84 | If (sig = "D")
85 | Digital_Fb[index] = AtoI(Mid(text, equals + 1, Len(text) - equals));
86 | Else If (sig = "A")
87 | Analog_Fb[index] = AtoI(Mid(text, equals + 1, Len(text) - equals));
88 | Else If (sig = "S")
89 | Serial_Fb[index] = Mid(text, equals + 1, Len(text) - equals);
90 | }
91 | }
92 |
93 | // --- Events -----------------------------------------------------------------
94 |
95 | THREADSAFE PUSH Store
96 | {
97 | SIGNED_INTEGER fileHandle;
98 | SIGNED_INTEGER error;
99 | INTEGER index;
100 | STRING text[MAX_LINE_LEN];
101 |
102 | Error_Fb = 0;
103 |
104 | If (StartFileOperations() = 0)
105 | {
106 | fileHandle = FileOpen(FileName, _O_TEXT | _O_WRONLY | _O_TRUNC);
107 |
108 | If (fileHandle < 0)
109 | fileHandle = FileOpen(FileName, _O_TEXT | _O_WRONLY | _O_CREAT);
110 |
111 | If (fileHandle >= 0)
112 | {
113 | For (index = 1 To MAX_NUM_JOINS)
114 | {
115 | If (IsSignalDefined(Digital[index]))
116 | {
117 | MakeString(text, "D%d=%d\n", index, Digital[index]);
118 |
119 | error = FileWrite(fileHandle, text, Len(text));
120 |
121 | If (error < 0)
122 | {
123 | Error_Fb = 1;
124 | Error_Code = error;
125 | }
126 | }
127 | }
128 |
129 | For (index = 1 To MAX_NUM_JOINS)
130 | {
131 | If (IsSignalDefined(Analog[index]))
132 | {
133 | MakeString(text, "A%d=%u\n", index, Analog[index]);
134 |
135 | error = FileWrite(fileHandle, text, Len(text));
136 |
137 | If (error < 0)
138 | {
139 | Error_Fb = 1;
140 | Error_Code = error;
141 | }
142 | }
143 | }
144 |
145 | For (index = 1 To MAX_NUM_JOINS)
146 | {
147 | If (IsSignalDefined(Analog[index]))
148 | {
149 | MakeString(text, "S%d=%s\n", index, Serial[index]);
150 |
151 | error = FileWrite(fileHandle, text, Len(text));
152 |
153 | If (error < 0)
154 | {
155 | Error_Fb = 1;
156 | Error_Code = error;
157 | }
158 | }
159 | }
160 |
161 | FileClose(fileHandle);
162 | }
163 | Else
164 | {
165 | Error_Fb = 1;
166 | Error_Code = fileHandle;
167 | }
168 |
169 | EndFileOperations();
170 | }
171 | Else
172 | {
173 | Error_Fb = 1;
174 | }
175 | }
176 |
177 | THREADSAFE PUSH Recall
178 | {
179 | SIGNED_INTEGER fileHandle;
180 | SIGNED_INTEGER error;
181 | STRING text[MAX_LINE_LEN];
182 |
183 | ReadBuf = "";
184 | TextBuf = "";
185 | Initialized_Fb = 0;
186 | Error_Fb = 0;
187 |
188 | If (StartFileOperations() = 0)
189 | {
190 | fileHandle = FileOpen(FileName, _O_TEXT | _O_RDONLY);
191 |
192 | If (fileHandle >= 0)
193 | {
194 | While (FileEOF(fileHandle) = 0)
195 | {
196 | error = FileRead(fileHandle, ReadBuf, MAX_READ_BUF_LEN);
197 |
198 | If (error < 0)
199 | {
200 | Error_Fb = 1;
201 | Error_Code = error;
202 | Break;
203 | }
204 |
205 | TextBuf = TextBuf + ReadBuf;
206 |
207 | While (Find("\n", TextBuf) > 0)
208 | {
209 | text = Remove("\n", TextBuf);
210 | Parse(Left(text, Len(text) - 2));
211 | }
212 | }
213 |
214 | While (Find("\n", TextBuf) > 0)
215 | {
216 | text = Remove("\n", TextBuf);
217 | Parse(Left(text, Len(text) - 2));
218 | }
219 |
220 | If (FileEOF(fileHandle) = 1)
221 | {
222 | Initialized_Fb = 1;
223 | Error_Code = 0;
224 | }
225 |
226 | FileClose(fileHandle);
227 | }
228 | Else
229 | {
230 | Error_Fb = 1;
231 | Error_Code = fileHandle;
232 | }
233 |
234 | EndFileOperations();
235 | }
236 | Else
237 | {
238 | Error_Fb = 1;
239 | }
240 | }
241 |
242 | // --- Main -------------------------------------------------------------------
243 |
244 | FUNCTION Main()
245 | {
246 | WaitForInitializationComplete();
247 | }
248 |
--------------------------------------------------------------------------------
/Standard UI/KL Switcher Feedback v1.3.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.04.01
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,718,756,854,6114,
18 | Exclusions_CDS=5
19 | Inclusions_CDS=6
20 | Name=KL Switcher Feedback v1.3
21 | SmplCName=KL Switcher Feedback v1.3.usp
22 | Code=1
23 | SysRev5=4.006
24 | SMWRev=3.00.00
25 | InputCue1=Enable
26 | InputSigType1=Digital
27 | InputCue2=Refresh
28 | InputSigType2=Digital
29 | OutputCue1=Single_Source_Fb
30 | OutputSigType1=Digital
31 | OutputCue2=Multiple_Source_Fb
32 | OutputSigType2=Digital
33 | InputList2Cue1=Presentation_Destination[1]
34 | InputList2SigType1=Analog
35 | InputList2Cue2=Presentation_Destination[2]
36 | InputList2SigType2=Analog
37 | InputList2Cue3=Presentation_Destination[3]
38 | InputList2SigType3=Analog
39 | InputList2Cue4=Presentation_Destination[4]
40 | InputList2SigType4=Analog
41 | InputList2Cue5=Presentation_Destination[5]
42 | InputList2SigType5=Analog
43 | InputList2Cue6=Presentation_Destination[6]
44 | InputList2SigType6=Analog
45 | InputList2Cue7=Presentation_Destination[7]
46 | InputList2SigType7=Analog
47 | InputList2Cue8=Presentation_Destination[8]
48 | InputList2SigType8=Analog
49 | InputList2Cue9=Video_Out_Fb[1]
50 | InputList2SigType9=Analog
51 | InputList2Cue10=Video_Out_Fb[2]
52 | InputList2SigType10=Analog
53 | InputList2Cue11=Video_Out_Fb[3]
54 | InputList2SigType11=Analog
55 | InputList2Cue12=Video_Out_Fb[4]
56 | InputList2SigType12=Analog
57 | InputList2Cue13=Video_Out_Fb[5]
58 | InputList2SigType13=Analog
59 | InputList2Cue14=Video_Out_Fb[6]
60 | InputList2SigType14=Analog
61 | InputList2Cue15=Video_Out_Fb[7]
62 | InputList2SigType15=Analog
63 | InputList2Cue16=Video_Out_Fb[8]
64 | InputList2SigType16=Analog
65 | InputList2Cue17=Video_Out_Fb[9]
66 | InputList2SigType17=Analog
67 | InputList2Cue18=Video_Out_Fb[10]
68 | InputList2SigType18=Analog
69 | InputList2Cue19=Video_Out_Fb[11]
70 | InputList2SigType19=Analog
71 | InputList2Cue20=Video_Out_Fb[12]
72 | InputList2SigType20=Analog
73 | InputList2Cue21=Video_Out_Fb[13]
74 | InputList2SigType21=Analog
75 | InputList2Cue22=Video_Out_Fb[14]
76 | InputList2SigType22=Analog
77 | InputList2Cue23=Video_Out_Fb[15]
78 | InputList2SigType23=Analog
79 | InputList2Cue24=Video_Out_Fb[16]
80 | InputList2SigType24=Analog
81 | InputList2Cue25=Codec_Input[1]
82 | InputList2SigType25=Analog
83 | InputList2Cue26=Codec_Input[2]
84 | InputList2SigType26=Analog
85 | InputList2Cue27=Source_Name[#]
86 | InputList2SigType27=Serial
87 | OutputList2Cue1=Source_Name_Out
88 | OutputList2SigType1=Serial
89 | ParamCue1=[Reference Name]
90 | ParamCue2=NoSourceName
91 | ParamSigType2=String
92 | MinVariableInputs=2
93 | MaxVariableInputs=2
94 | MinVariableInputsList2=27
95 | MaxVariableInputsList2=42
96 | MinVariableOutputs=2
97 | MaxVariableOutputs=2
98 | MinVariableOutputsList2=1
99 | MaxVariableOutputsList2=1
100 | MinVariableParams=1
101 | MaxVariableParams=1
102 | Expand=expand_separately
103 | Expand2=expand_separately
104 | ProgramTree=Logic
105 | SymbolTree=32
106 | Hint=
107 | PdfHelp=
108 | HelpID=
109 | Render=4
110 | Smpl-C=16
111 | CompilerCode=-48
112 | CompilerParamCode=27
113 | CompilerParamCode5=14
114 | NumFixedParams=1
115 | Pp1=1
116 | Pp2=2
117 | MPp=2
118 | NVStorage=10
119 | ParamSigType1=String
120 | SmplCInputCue1=o#
121 | SmplCOutputCue1=i#
122 | SmplCInputList2Cue1=an#
123 | SmplCOutputList2Cue1=ai#
124 | SPlus2CompiledName=S2_KL_Switcher_Feedback_v1_3
125 | SymJam=NonExclusive
126 | FileName=KL Switcher Feedback v1.3.ush
127 | SIMPLPlusModuleEncoding=0
128 | [END]
129 | [BEGIN]
130 | ObjTp=Dp
131 | H=1
132 | Tp=1
133 | NoS=False
134 | [END]
135 | [BEGIN]
136 | ObjTp=Dp
137 | H=2
138 | Tp=1
139 | HD=False
140 | NoS=False
141 | VVS=0
142 | [END]
143 |
--------------------------------------------------------------------------------
/Standard UI/KL Switcher Feedback v1.3.usp:
--------------------------------------------------------------------------------
1 | // New Module
2 | // v1.0
3 | //
4 | // Dealer:
5 | // System:
6 | // Programmer: Kiel Lofstrand
7 | // Comments:
8 |
9 | // --- Compiler Directives ----------------------------------------------------
10 |
11 | #DEFAULT_VOLATILE
12 | #ENABLE_STACK_CHECKING
13 | #ENABLE_TRACE
14 |
15 | #DEFINE_CONSTANT MAX_STRLEN 50
16 | #DEFINE_CONSTANT MAX_DESTS 8
17 | #DEFINE_CONSTANT MAX_CODEC_INS 2
18 | #DEFINE_CONSTANT MAX_DM_INS 16
19 | #DEFINE_CONSTANT MAX_DM_OUTS 16
20 |
21 | // --- Libraries --------------------------------------------------------------
22 |
23 | // #USER_SIMPLSHARP_LIBRARY ""
24 |
25 | // --- Inputs -----------------------------------------------------------------
26 |
27 | DIGITAL_INPUT Enable;
28 | DIGITAL_INPUT Refresh;
29 | ANALOG_INPUT Presentation_Destination[MAX_DESTS];
30 | ANALOG_INPUT Video_Out_Fb[MAX_DM_OUTS];
31 | ANALOG_INPUT Codec_Input[MAX_CODEC_INS];
32 | STRING_INPUT Source_Name[MAX_DM_INS][MAX_STRLEN];
33 |
34 | // --- Outputs ----------------------------------------------------------------
35 |
36 | DIGITAL_OUTPUT Single_Source_Fb;
37 | DIGITAL_OUTPUT Multiple_Source_Fb;
38 | STRING_OUTPUT Source_Name_Out;
39 |
40 | // --- Parameters -------------------------------------------------------------
41 |
42 | STRING_PARAMETER NoSourceName[MAX_STRLEN];
43 |
44 | // --- Sockets ----------------------------------------------------------------
45 |
46 | // --- Structures -------------------------------------------------------------
47 |
48 | // --- Global Variables -------------------------------------------------------
49 |
50 | INTEGER PresentationSource;
51 |
52 | // --- Functions --------------------------------------------------------------
53 |
54 | FUNCTION SingleOrMultipleSources ()
55 | {
56 | INTEGER i;
57 | INTEGER j;
58 | INTEGER k;
59 |
60 | PresentationSource = 0;
61 |
62 | For (i = 1 To MAX_DESTS)
63 | {
64 | If (Presentation_Destination[i] > 0)
65 | {
66 | k = 0;
67 |
68 | // Codec inputs do not count as presentation sources
69 | For (j = 1 To MAX_CODEC_INS)
70 | {
71 | If (Codec_Input[j] > 0)
72 | {
73 | If (Presentation_Destination[i] = Codec_Input[j])
74 | {
75 | k = Codec_Input[j];
76 | Break;
77 | }
78 | }
79 | }
80 |
81 | // Skip if we found a codec input
82 | If (k = 0)
83 | {
84 | If (PresentationSource = 0)
85 | {
86 | PresentationSource = Video_Out_Fb[Presentation_Destination[i]];
87 | }
88 | Else
89 | {
90 | If (Video_Out_Fb[Presentation_Destination[i]] <> PresentationSource)
91 | {
92 | Single_Source_Fb = 0;
93 | Multiple_Source_Fb = 1;
94 | Source_Name_Out = "Multiple";
95 | Return;
96 | }
97 | }
98 | }
99 | }
100 | }
101 |
102 | Multiple_Source_Fb = 0;
103 |
104 | If (PresentationSource = 0)
105 | {
106 | Single_Source_Fb = 0;
107 | Source_Name_Out = NoSourceName;
108 | }
109 | Else
110 | {
111 | Single_Source_Fb = 1;
112 | Source_Name_Out = Source_Name[PresentationSource];
113 | }
114 | }
115 |
116 | // --- Events -----------------------------------------------------------------
117 |
118 | PUSH Enable
119 | {
120 | SingleOrMultipleSources();
121 | }
122 |
123 | PUSH Refresh
124 | {
125 | If (Enable)
126 | {
127 | SingleOrMultipleSources();
128 | }
129 | }
130 |
131 | // --- Main -------------------------------------------------------------------
132 |
133 | FUNCTION Main()
134 | {
135 | WaitForInitializationComplete();
136 | }
137 |
--------------------------------------------------------------------------------
/Timed Pop Up/KL Timed Pop Up v1.0.umc:
--------------------------------------------------------------------------------
1 | [
2 | Version=1
3 | ]
4 | [
5 | ObjTp=FSgntr
6 | Sgntr=UserMacro
7 | RelVrs=4.17.03
8 | IntStrVrs=2
9 | MinSMWVrs=4.14.0
10 | MinTIOVrs=0
11 | SavedBy=SMW4.1700.03
12 | ]
13 | [
14 | ObjTp=Hd
15 | S0Nd=1
16 | S1Nd=2
17 | SLNd=3
18 | PrNm=KL Timed Pop Up v1.0.umc
19 | DbVr=207.00.001.00
20 | DvcDbVr=200.100.004.00
21 | PgmNm=Kiel Lofstrand
22 | DlrNm=IMT
23 | Incl=1766,2574,2651,2817,2886,2938,2947,3181,3197,3233,3710,3735,3736,3816,3888,4176,4308,4476,4591,4769,5360,5388,5420,5455,5497,5699,5813,5919,6150,6161,6089,6101,6114,6136,6343,6356,6357,6423,
24 | McNm=KL Timed Pop Up v1.0
25 | SmVr=1149
26 | DvVr=1149
27 | TpN1=1
28 | TpN2=2
29 | TpN3=3
30 | TpN4=4
31 | TpN5=5
32 | APg=1
33 | FltTmp=1
34 | FpCS=0
35 | EnType=0
36 | ZeroOnIoOk=0
37 | SGMethod=1
38 | ]
39 | [
40 | ObjTp=Bk
41 | Nm1=\
42 | Sx1=0
43 | Sy1=0
44 | Mx1=0
45 | ]
46 | [
47 | ObjTp=Bw
48 | H=1
49 | Lx=14
50 | Ly=12
51 | Rx=479
52 | Ry=229
53 | Xm=-1
54 | Ym=-1
55 | SH=7
56 | Z=100
57 | Ht=1
58 | Hi=3
59 | ]
60 | [
61 | ObjTp=Bw
62 | H=1
63 | Lx=13
64 | Ly=638
65 | Rx=607
66 | Ry=838
67 | Xm=-1
68 | Ym=-1
69 | SH=12
70 | Z=100
71 | Ht=1
72 | Hi=2
73 | ]
74 | [
75 | ObjTp=Bw
76 | H=1
77 | Lx=460
78 | Ly=232
79 | Rx=915
80 | Ry=432
81 | Xm=-1
82 | Ym=-1
83 | SH=10
84 | Z=100
85 | Ht=4
86 | Hi=2
87 | ]
88 | [
89 | ObjTp=Bw
90 | H=1
91 | Lx=576
92 | Ly=431
93 | Rx=1018
94 | Ry=631
95 | Xm=-1
96 | Ym=-1
97 | SH=11
98 | Z=100
99 | Ht=4
100 | Hi=1
101 | ]
102 | [
103 | ObjTp=Bw
104 | H=1
105 | Lx=14
106 | Ly=438
107 | Rx=570
108 | Ry=634
109 | Xm=-1
110 | Ym=-1
111 | SH=9
112 | Z=100
113 | Ht=4
114 | Hi=1
115 | ]
116 | [
117 | ObjTp=Bw
118 | H=1
119 | Lx=15
120 | Ly=233
121 | Rx=458
122 | Ry=433
123 | Xm=-1
124 | Ym=-1
125 | SH=8
126 | Z=100
127 | Ht=1
128 | Hi=1
129 | ]
130 | [
131 | ObjTp=Symbol
132 | Name=KL Timed Pop Up v1.0
133 | Code=1
134 | SmplCName=KL Timed Pop Up v1.0.umc
135 | Smpl-C=3
136 | CompilerTimePrecision=Single_Or_Double_Precision
137 | SMWRev=4.14.0
138 | TIORev=0
139 | HelpID=1055
140 | APg=1
141 | StdCmd=0
142 | FltTmp=1
143 | FpCS=0
144 | NumFixedInputs=3
145 | NumFixedOutputs=3
146 | NumFixedParams=1
147 | MinVariableInputs=0
148 | MinVariableInputsList2=0
149 | MinVariableInputsList3=0
150 | MinVariableOutputs=0
151 | MinVariableOutputsList2=0
152 | MinVariableOutputsList3=0
153 | MinVariableParams=0
154 | SymbolTree=32
155 | OutputSigType1=Digital
156 | OutputSigType2=Digital
157 | OutputSigType3=Digital|Analog|Serial|String
158 | ParamSigType1=Time|Constant
159 | InputCue1=Set
160 | InputCue2=Reset
161 | InputCue3=Toggle
162 | OutputCue1=Out
163 | OutputCue2=Out*
164 | OutputCue3=[~UNUSED~]
165 | ParamCue1=Duration
166 | MPp=1
167 | Pp1=1
168 | FileName=KL Timed Pop Up v1.0.umc
169 | EncodingType=0
170 | ZeroOnIoOk=0
171 | ]
172 | [
173 | ObjTp=Sm
174 | H=1
175 | SmC=157
176 | Nm=Central Control Modules
177 | ObjVer=1
178 | CF=2
179 | n1I=1
180 | n1O=1
181 | mI=1
182 | mO=1
183 | tO=1
184 | mP=1
185 | P1=
186 | ]
187 | [
188 | ObjTp=Sm
189 | H=2
190 | SmC=157
191 | Nm=Network Modules
192 | ObjVer=1
193 | CF=2
194 | n1I=1
195 | n1O=1
196 | mI=1
197 | mO=1
198 | tO=1
199 | mP=1
200 | P1=
201 | ]
202 | [
203 | ObjTp=Sm
204 | H=3
205 | SmC=157
206 | Nm=Ethernet
207 | ObjVer=1
208 | CF=2
209 | n1I=1
210 | n1O=1
211 | mI=1
212 | mO=1
213 | tO=1
214 | mP=1
215 | P1=
216 | ]
217 | [
218 | ObjTp=Sm
219 | H=4
220 | SmC=156
221 | Nm=Logic
222 | ObjVer=1
223 | CF=2
224 | mC=6
225 | C1=7
226 | C2=8
227 | C3=10
228 | C4=9
229 | C5=11
230 | C6=12
231 | ]
232 | [
233 | ObjTp=Sm
234 | H=5
235 | SmC=157
236 | Nm=DefineArguments
237 | ObjVer=1
238 | CF=2
239 | n1I=1
240 | n1O=1
241 | mC=1
242 | C1=6
243 | mI=1
244 | mO=1
245 | tO=1
246 | mP=1
247 | P1=
248 | ]
249 | [
250 | ObjTp=Sm
251 | H=6
252 | SmC=55
253 | Nm=Argument Definition
254 | ObjVer=1
255 | PrH=5
256 | CF=2
257 | n1I=3
258 | n1O=3
259 | mI=3
260 | I1=5
261 | I2=6
262 | I3=4
263 | mO=3
264 | tO=3
265 | O1=7
266 | O2=8
267 | O3=9
268 | mP=1
269 | P1=Duration
270 | MPp=1
271 | Pp1=1
272 | ]
273 | [
274 | ObjTp=Sm
275 | H=7
276 | SmC=13
277 | Nm=Toggle
278 | ObjVer=1
279 | PrH=4
280 | CF=2
281 | n1I=3
282 | n1O=2
283 | mI=3
284 | I1=5
285 | I2=15
286 | I3=4
287 | mO=2
288 | tO=2
289 | O1=7
290 | O2=8
291 | ]
292 | [
293 | ObjTp=Sm
294 | H=8
295 | SmC=205
296 | Nm=NOT
297 | ObjVer=1
298 | PrH=4
299 | CF=2
300 | n1I=1
301 | n1O=1
302 | mI=1
303 | I1=5
304 | mO=1
305 | tO=1
306 | O1=10
307 | ]
308 | [
309 | ObjTp=Sm
310 | H=9
311 | SmC=9
312 | Nm=One Shot
313 | ObjVer=1
314 | PrH=4
315 | CF=2
316 | n1I=3
317 | n1O=2
318 | mI=3
319 | I1=11
320 | I3=5
321 | mO=2
322 | tO=2
323 | O1=12
324 | mP=1
325 | P1=#Duration
326 | ]
327 | [
328 | ObjTp=Sm
329 | H=10
330 | SmC=20
331 | Nm=Buffer
332 | ObjVer=1
333 | PrH=4
334 | CF=2
335 | n1I=3
336 | n1O=2
337 | mI=3
338 | I1=10
339 | I2=7
340 | I3=14
341 | mO=2
342 | tO=2
343 | O1=11
344 | O2=16
345 | ]
346 | [
347 | ObjTp=Sm
348 | H=11
349 | SmC=9
350 | Nm=One Shot
351 | ObjVer=1
352 | PrH=4
353 | CF=2
354 | n1I=3
355 | n1O=2
356 | mI=3
357 | I1=13
358 | I2=12
359 | mO=2
360 | tO=2
361 | O1=14
362 | mP=1
363 | P1=.1s
364 | ]
365 | [
366 | ObjTp=Sm
367 | H=12
368 | SmC=3
369 | Nm=OR
370 | ObjVer=1
371 | PrH=4
372 | CF=2
373 | n1I=2
374 | n1O=1
375 | mI=2
376 | I1=6
377 | I2=16
378 | mO=1
379 | tO=1
380 | O1=15
381 | ]
382 | [
383 | ObjTp=Sg
384 | H=4
385 | Nm=Toggle
386 | ]
387 | [
388 | ObjTp=Sg
389 | H=5
390 | Nm=Set
391 | ]
392 | [
393 | ObjTp=Sg
394 | H=6
395 | Nm=Reset
396 | ]
397 | [
398 | ObjTp=Sg
399 | H=7
400 | Nm=Out
401 | ]
402 | [
403 | ObjTp=Sg
404 | H=8
405 | Nm=Out*
406 | ]
407 | [
408 | ObjTp=Sg
409 | H=9
410 | Nm=[~UNUSED~]
411 | SgTp=31
412 | ]
413 | [
414 | ObjTp=Sg
415 | H=10
416 | Nm=Set*
417 | ]
418 | [
419 | ObjTp=Sg
420 | H=11
421 | Nm=Out_b
422 | ]
423 | [
424 | ObjTp=Sg
425 | H=12
426 | Nm=Out_mv
427 | ]
428 | [
429 | ObjTp=Sg
430 | H=13
431 | Nm=//__digital_reserved__
432 | ]
433 | [
434 | ObjTp=Sg
435 | H=14
436 | Nm=Reset_mv
437 | ]
438 | [
439 | ObjTp=Sg
440 | H=15
441 | Nm=Reset_or
442 | ]
443 | [
444 | ObjTp=Sg
445 | H=16
446 | Nm=Reset_b
447 | ]
448 | [
449 | ObjTp=Dp
450 | H=1
451 | Tp=1
452 | NF=48
453 | DNF=16
454 | EncFmt=0
455 | DVLF=1
456 | Sgn=0
457 | ]
458 |
--------------------------------------------------------------------------------
/Visionary PacketAV/KL Visionary PacketAV Decoder v1.0.umc:
--------------------------------------------------------------------------------
1 | [
2 | Version=1
3 | ]
4 | [
5 | ObjTp=FSgntr
6 | Sgntr=UserMacro
7 | RelVrs=4.1801.16
8 | IntStrVrs=2
9 | MinSMWVrs=3.00.00
10 | MinTIOVrs=0
11 | SavedBy=SMW4.1801.16
12 | ]
13 | [
14 | ObjTp=Hd
15 | S0Nd=1
16 | S1Nd=2
17 | SLNd=3
18 | PrNm=KL Visionary PacketAV Decoder v1.0.umc
19 | DbVr=211.00.002.00
20 | DvcDbVr=200.150.002.00
21 | PgmNm=Kiel Lofstrand
22 | DlrNm=IMT
23 | SmVr=1159
24 | DvVr=1159
25 | TpN1=1
26 | TpN2=2
27 | TpN3=3
28 | TpN4=4
29 | TpN5=5
30 | APg=1
31 | FltTmp=1
32 | FpCS=0
33 | EnType=0
34 | ZeroOnIoOk=0
35 | SGMethod=1
36 | ]
37 | [
38 | ObjTp=Bk
39 | Nm1=\
40 | Sx1=0
41 | Sy1=0
42 | Mx1=0
43 | ]
44 | [
45 | ObjTp=Symbol
46 | Name=KL Visionary PacketAV Decoder v1.0
47 | Code=1
48 | SmplCName=KL Visionary PacketAV Decoder v1.0.umc
49 | Smpl-C=3
50 | CompilerTimePrecision=Single_Or_Double_Precision
51 | 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,
52 | SMWRev=3.00.00
53 | TIORev=0
54 | S+=1
55 | HelpID=1055
56 | APg=1
57 | StdCmd=0
58 | FltTmp=1
59 | FpCS=0
60 | NumFixedInputs=11
61 | NumFixedOutputs=11
62 | MinVariableInputs=0
63 | MinVariableInputsList2=0
64 | MinVariableInputsList3=0
65 | MinVariableOutputs=0
66 | MinVariableOutputsList2=0
67 | MinVariableOutputsList3=0
68 | MinVariableParams=0
69 | SymbolTree=32
70 | InputSigType1=Digital
71 | InputSigType2=Digital|Analog|Serial|String
72 | InputSigType3=Serial
73 | InputSigType4=Digital|Analog|Serial|String
74 | InputSigType5=Digital|Analog|Serial|String
75 | InputSigType6=Digital|Analog|Serial|String
76 | InputSigType7=Digital|Analog|Serial|String
77 | InputSigType8=Digital|Analog|Serial|String
78 | InputSigType9=Digital|Analog|Serial|String
79 | InputSigType10=Digital|Analog|Serial|String
80 | InputSigType11=Serial
81 | OutputSigType1=Digital
82 | OutputSigType2=Digital|Analog|Serial|String
83 | OutputSigType3=Serial
84 | OutputSigType4=Digital|Analog|Serial|String
85 | OutputSigType5=Serial
86 | OutputSigType6=Serial
87 | OutputSigType7=Serial
88 | OutputSigType8=Serial
89 | OutputSigType9=Serial
90 | OutputSigType10=Digital|Analog|Serial|String
91 | OutputSigType11=Serial
92 | ParamSigType1=Time|Percent|Constant|String|FileName|HexAddress|Any
93 | InputCue1=Initialize
94 | InputCue2=[~UNUSED~]
95 | InputCue3=Stream_Host
96 | InputCue4=[~UNUSED~]
97 | InputCue5=[~UNUSED~]
98 | InputCue6=[~UNUSED~]
99 | InputCue7=[~UNUSED~]
100 | InputCue8=[~UNUSED~]
101 | InputCue9=[~UNUSED~]
102 | InputCue10=[~UNUSED~]
103 | InputCue11=From_Device
104 | OutputCue1=Initialize_Fb
105 | OutputCue2=[~UNUSED~]
106 | OutputCue3=Stream_Host_Fb
107 | OutputCue4=[~UNUSED~]
108 | OutputCue5=ID_Fb
109 | OutputCue6=Model_Fb
110 | OutputCue7=Firmware_Fb
111 | OutputCue8=MAC_Address_Fb
112 | OutputCue9=IP_Address_Fb
113 | OutputCue10=[~UNUSED~]
114 | OutputCue11=To_Device
115 | ParamCue1=p1
116 | FileName=KL Visionary PacketAV Decoder v1.0.umc
117 | EncodingType=0
118 | ZeroOnIoOk=0
119 | ]
120 | [
121 | ObjTp=Sm
122 | H=1
123 | SmC=157
124 | Nm=Central Control Modules
125 | ObjVer=1
126 | CF=2
127 | n1I=1
128 | n1O=1
129 | mI=1
130 | mO=1
131 | tO=1
132 | mP=1
133 | P1=
134 | ]
135 | [
136 | ObjTp=Sm
137 | H=2
138 | SmC=157
139 | Nm=Network Modules
140 | ObjVer=1
141 | CF=2
142 | n1I=1
143 | n1O=1
144 | mI=1
145 | mO=1
146 | tO=1
147 | mP=1
148 | P1=
149 | ]
150 | [
151 | ObjTp=Sm
152 | H=3
153 | SmC=157
154 | Nm=Ethernet
155 | ObjVer=1
156 | CF=2
157 | n1I=1
158 | n1O=1
159 | mI=1
160 | mO=1
161 | tO=1
162 | mP=1
163 | P1=
164 | ]
165 | [
166 | ObjTp=Sm
167 | H=4
168 | SmC=156
169 | Nm=Logic
170 | ObjVer=1
171 | CF=2
172 | mC=1
173 | C1=63
174 | ]
175 | [
176 | ObjTp=Sm
177 | H=5
178 | SmC=157
179 | Nm=DefineArguments
180 | ObjVer=1
181 | CF=2
182 | n1I=1
183 | n1O=1
184 | mC=1
185 | C1=62
186 | mI=1
187 | mO=1
188 | tO=1
189 | mP=1
190 | P1=
191 | ]
192 | [
193 | ObjTp=Sm
194 | H=62
195 | SmC=55
196 | Nm=Argument Definition
197 | ObjVer=1
198 | PrH=5
199 | CF=2
200 | n1I=11
201 | n1O=11
202 | mI=11
203 | I1=4
204 | I2=8
205 | I3=15
206 | I4=8
207 | I5=8
208 | I6=8
209 | I7=8
210 | I8=8
211 | I9=8
212 | I10=8
213 | I11=9
214 | mO=11
215 | tO=11
216 | O1=7
217 | O2=8
218 | O3=25
219 | O4=8
220 | O5=24
221 | O6=26
222 | O7=27
223 | O8=28
224 | O9=29
225 | O10=8
226 | O11=14
227 | mP=1
228 | P1=
229 | ]
230 | [
231 | ObjTp=Sm
232 | H=63
233 | SmC=103
234 | Nm=KL Visionary PacketAV Driver v1.0.usp
235 | ObjVer=1
236 | PrH=4
237 | CF=2
238 | n1I=1
239 | n2I=2
240 | n1O=1
241 | mI=3
242 | I1=4
243 | I2=15
244 | I3=9
245 | mO=8
246 | tO=8
247 | O1=7
248 | O2=24
249 | O3=26
250 | O4=27
251 | O5=28
252 | O6=29
253 | O7=25
254 | O8=14
255 | mP=1
256 | P1=
257 | ]
258 | [
259 | ObjTp=Sg
260 | H=4
261 | Nm=Initialize
262 | ]
263 | [
264 | ObjTp=Sg
265 | H=7
266 | Nm=Initialize_Fb
267 | ]
268 | [
269 | ObjTp=Sg
270 | H=8
271 | Nm=[~UNUSED~]
272 | SgTp=31
273 | ]
274 | [
275 | ObjTp=Sg
276 | H=9
277 | Nm=From_Device
278 | SgTp=4
279 | ]
280 | [
281 | ObjTp=Sg
282 | H=14
283 | Nm=To_Device
284 | SgTp=4
285 | ]
286 | [
287 | ObjTp=Sg
288 | H=15
289 | Nm=Stream_Host
290 | SgTp=4
291 | ]
292 | [
293 | ObjTp=Sg
294 | H=24
295 | Nm=ID_Fb
296 | SgTp=4
297 | ]
298 | [
299 | ObjTp=Sg
300 | H=25
301 | Nm=Stream_Host_Fb
302 | SgTp=4
303 | ]
304 | [
305 | ObjTp=Sg
306 | H=26
307 | Nm=Model_Fb
308 | SgTp=4
309 | ]
310 | [
311 | ObjTp=Sg
312 | H=27
313 | Nm=Firmware_Fb
314 | SgTp=4
315 | ]
316 | [
317 | ObjTp=Sg
318 | H=28
319 | Nm=MAC_Address_Fb
320 | SgTp=4
321 | ]
322 | [
323 | ObjTp=Sg
324 | H=29
325 | Nm=IP_Address_Fb
326 | SgTp=4
327 | ]
328 |
--------------------------------------------------------------------------------
/Visionary PacketAV/KL Visionary PacketAV Decoder v1.0_archive.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kielthecoder/crestron/07a4516273f441658767b6ab8dfa869f90da03cc/Visionary PacketAV/KL Visionary PacketAV Decoder v1.0_archive.zip
--------------------------------------------------------------------------------
/Visionary PacketAV/KL Visionary PacketAV Driver v1.0.usp:
--------------------------------------------------------------------------------
1 | /*
2 | Dealer Name: IMT
3 | System Name:
4 | System Number:
5 | Programmer: Kiel Lofstrand
6 | Comments:
7 | */
8 |
9 | // COMPILER DIRECTIVES /////////////////////////////////////////////////////////////////////
10 |
11 | #DEFAULT_VOLATILE
12 | #ENABLE_STACK_CHECKING
13 | #ENABLE_TRACE
14 | // #DIGITAL_EXPAND
15 | // #ANALOG_SERIAL_EXPAND
16 |
17 | #DEFINE_CONSTANT BUFFER_SIZE 1500
18 | #DEFINE_CONSTANT KEY_LEN 50
19 | #DEFINE_CONSTANT HOST_LEN 50
20 | #DEFINE_CONSTANT TEXT_LEN 500
21 |
22 | /*
23 | #HELP_BEGIN
24 | (add additional lines of help lines)
25 | #HELP_END
26 | */
27 |
28 | // INPUTS //////////////////////////////////////////////////////////////////////////////////
29 |
30 | DIGITAL_INPUT Initialize;
31 | DIGITAL_INPUT Audio_Mute_On, Audio_Mute_Off;
32 |
33 | STRING_INPUT Stream_Host[HOST_LEN];
34 |
35 | BUFFER_INPUT From_Device[BUFFER_SIZE];
36 |
37 | // OUTPUTS /////////////////////////////////////////////////////////////////////////////////
38 |
39 | DIGITAL_OUTPUT Initialize_Fb;
40 |
41 | STRING_OUTPUT ID_Fb;
42 | STRING_OUTPUT Model_Fb;
43 | STRING_OUTPUT Firmware_Fb;
44 | STRING_OUTPUT MAC_Address_Fb;
45 | STRING_OUTPUT IP_Address_Fb;
46 | STRING_OUTPUT Stream_Host_Fb;
47 |
48 | STRING_OUTPUT To_Device;
49 |
50 | // GLOBAL VARIABLES ////////////////////////////////////////////////////////////////////////
51 |
52 | STRING gsStreamHost[HOST_LEN];
53 |
54 | // FUNCTIONS ///////////////////////////////////////////////////////////////////////////////
55 |
56 | // EVENT HANDLERS //////////////////////////////////////////////////////////////////////////
57 |
58 | PUSH Initialize
59 | {
60 | Initialize_Fb = 0;
61 | To_Device = "CMD=START&UNIT.ID=ALL&QUERY.STATUS=TRUE&CMD=END\x0A";
62 | }
63 |
64 | PUSH Audio_Mute_On
65 | {
66 | To_Device = "CMD=START&UNIT.ID=ALL&AUDIO.MUTE=TRUE&CMD=END\x0A";
67 | }
68 |
69 | PUSH Audio_Mute_Off
70 | {
71 | To_Device = "CMD=START&UNIT.ID=ALL&AUDIO.MUTE=FALSE&CMD=END\x0A";
72 | }
73 |
74 | CHANGE Stream_Host
75 | {
76 | gsStreamHost = Stream_Host;
77 |
78 | If (gsStreamHost = "")
79 | {
80 | Stream_Host_Fb = "";
81 | To_Device = "CMD=START&UNIT.ID=ALL&STREAM.CONNECT=FALSE&CMD=END\x0A";
82 | }
83 | Else
84 | {
85 | To_Device = "CMD=START&UNIT.ID=ALL&STREAM.HOST=" + gsStreamHost + "&STREAM.CONNECT=TRUE&CMD=END\x0A";
86 | }
87 | }
88 |
89 | THREADSAFE CHANGE From_Device
90 | {
91 | STRING text[TEXT_LEN];
92 | STRING key[KEY_LEN];
93 | STRING value[TEXT_LEN];
94 | INTEGER n;
95 |
96 | While (1)
97 | {
98 | text = Gather("&", From_Device);
99 | n = Find("=", text);
100 |
101 | If (n > 0)
102 | {
103 | key = Mid(text, 1, n - 1);
104 | value = Mid(text, n + 1, Len(text) - n - 1);
105 |
106 | If (key = "UNIT.ID")
107 | {
108 | ID_Fb = value;
109 | }
110 | Else If (key = "UNIT.MODEL")
111 | {
112 | Model_Fb = value;
113 | }
114 | Else If (key = "UNIT.FIRMWARE")
115 | {
116 | Firmware_Fb = value;
117 | }
118 | Else If (key = "UNIT.MAC_ADDRESS")
119 | {
120 | MAC_Address_Fb = value;
121 | }
122 | Else If (key = "IP.ADDRESS")
123 | {
124 | IP_Address_Fb = value;
125 | }
126 | Else If (key = "QUERY.STATUS")
127 | {
128 | If (value = "OK")
129 | {
130 | Initialize_Fb = 1;
131 | }
132 | }
133 | Else If (key = "STREAM.CONNECT")
134 | {
135 | If (value = "queue_next_switch")
136 | {
137 | Stream_Host_Fb = gsStreamHost;
138 | }
139 | }
140 | }
141 | }
142 | }
143 |
144 | // MAIN ////////////////////////////////////////////////////////////////////////////////////
145 |
146 | FUNCTION Main()
147 | {
148 | WaitForInitializationComplete();
149 | }
150 |
--------------------------------------------------------------------------------
/Visionary PacketAV/KL Visionary PacketAV Driver v1.3.usp:
--------------------------------------------------------------------------------
1 | /*
2 | Dealer Name: IMT
3 | System Name:
4 | System Number:
5 | Programmer: Kiel Lofstrand
6 | Comments:
7 | */
8 |
9 | // COMPILER DIRECTIVES /////////////////////////////////////////////////////////////////////
10 |
11 | #DEFAULT_VOLATILE
12 | #ENABLE_STACK_CHECKING
13 | #ENABLE_TRACE
14 | // #DIGITAL_EXPAND
15 | // #ANALOG_SERIAL_EXPAND
16 |
17 | #DEFINE_CONSTANT BUFFER_SIZE 4000
18 | #DEFINE_CONSTANT KEY_LEN 50
19 | #DEFINE_CONSTANT HOST_LEN 50
20 | #DEFINE_CONSTANT TEXT_LEN 2000
21 |
22 | /*
23 | #HELP_BEGIN
24 | (add additional lines of help lines)
25 | #HELP_END
26 | */
27 |
28 | // INPUTS //////////////////////////////////////////////////////////////////////////////////
29 |
30 | DIGITAL_INPUT Initialize;
31 | DIGITAL_INPUT Query_Video;
32 | DIGITAL_INPUT Audio_Mute_On, Audio_Mute_Off;
33 |
34 | DIGITAL_INPUT Enable_Debug;
35 |
36 | STRING_INPUT Stream_Host[HOST_LEN];
37 |
38 | BUFFER_INPUT From_Device[BUFFER_SIZE];
39 |
40 | // OUTPUTS /////////////////////////////////////////////////////////////////////////////////
41 |
42 | DIGITAL_OUTPUT Initialize_Fb;
43 |
44 | ANALOG_OUTPUT Video_Horizontal_Fb;
45 | ANALOG_OUTPUT Video_Vertical_Fb;
46 | ANALOG_OUTPUT Video_Refresh_Fb;
47 |
48 | STRING_OUTPUT ID_Fb;
49 | STRING_OUTPUT Model_Fb;
50 | STRING_OUTPUT Firmware_Fb;
51 | STRING_OUTPUT MAC_Address_Fb;
52 | STRING_OUTPUT IP_Address_Fb;
53 | STRING_OUTPUT Stream_Host_Fb;
54 |
55 | STRING_OUTPUT Debug_Key;
56 | STRING_OUTPUT Debug_Value;
57 |
58 | STRING_OUTPUT To_Device;
59 |
60 | // GLOBAL VARIABLES ////////////////////////////////////////////////////////////////////////
61 |
62 | STRING gsStreamHost[HOST_LEN];
63 | STRING gsLastHost[HOST_LEN];
64 | STRING gsLastVideoTiming[TEXT_LEN];
65 |
66 | // FUNCTIONS ///////////////////////////////////////////////////////////////////////////////
67 |
68 | FUNCTION SendCommand (STRING cmd)
69 | {
70 | MakeString(To_Device, "CMD=START&UNIT.ID=ALL&%s&CMD=END", cmd);
71 | }
72 |
73 | // EVENT HANDLERS //////////////////////////////////////////////////////////////////////////
74 |
75 | PUSH Initialize
76 | {
77 | Initialize_Fb = 0;
78 | // To_Device = "CMD=START&UNIT.ID=ALL&QUERY.STATUS=TRUE&CMD=END";
79 | SendCommand("QUERY.STATUS=TRUE");
80 | }
81 |
82 | PUSH Query_Video
83 | {
84 | SendCommand("QUERY.VIDEO_TIMING=TRUE");
85 | }
86 |
87 | PUSH Audio_Mute_On
88 | {
89 | // To_Device = "CMD=START&UNIT.ID=ALL&AUDIO.MUTE=TRUE&CMD=END";
90 | SendCommand("AUDIO.MUTE=TRUE");
91 | }
92 |
93 | PUSH Audio_Mute_Off
94 | {
95 | // To_Device = "CMD=START&UNIT.ID=ALL&AUDIO.MUTE=FALSE&CMD=END";
96 | SendCommand("AUDIO.MUTE=FALSE");
97 | }
98 |
99 | CHANGE Stream_Host
100 | {
101 | STRING temp[100];
102 |
103 | gsStreamHost = Stream_Host;
104 |
105 | If (gsStreamHost = "")
106 | {
107 | Stream_Host_Fb = "";
108 | //To_Device = "CMD=START&UNIT.ID=ALL&STREAM.HOST=&STREAM.CONNECT=FALSE&CMD=END";
109 | SendCommand("VIDEO.OUTPUT=OFF");
110 | }
111 | Else
112 | {
113 | If (gsStreamHost != gsLastHost)
114 | {
115 | // To_Device = "CMD=START&UNIT.ID=ALL&STREAM.HOST=" + gsStreamHost + "&STREAM.CONNECT=TRUE&CMD=END";
116 | temp = "STREAM.HOST=" + gsStreamHost + "&STREAM.CONNECT=TRUE";
117 | SendCommand(temp);
118 |
119 | gsLastHost = gsStreamHost;
120 | }
121 |
122 | // To_Device = "CMD=START&UNIT.ID=ALL&VIDEO.OUTPUT=NORMAL&CMD=END";
123 | SendCommand("VIDEO.OUTPUT=NORMAL");
124 | }
125 | }
126 |
127 | THREADSAFE CHANGE From_Device
128 | {
129 | STRING text[TEXT_LEN];
130 | STRING key[KEY_LEN];
131 | STRING value[TEXT_LEN];
132 |
133 | INTEGER n;
134 | INTEGER horz;
135 | INTEGER vert;
136 | INTEGER ref;
137 |
138 | // VIDEO.TIMING= will likely return multiple chunks of text so handle differently
139 | If (Find("VIDEO.TIMING=", From_Device))
140 | {
141 | // Will be something like VIDEO.TIMING=Timing Table: Serial Number[0x006B] [3840]x[2160] [30]Hz\x0A\x09....
142 | text = Gather("QUERY.VIDEO_TIMING=OK", From_Device);
143 | key = Remove("VIDEO.TIMING=", text);
144 |
145 | // Grab everything before "&QUERY.VIDEO_TIMING=OK"
146 | value = Left(text, Len(text) - Len("QUERY.VIDEO_TIMING=OK") - 1);
147 |
148 | // "Not Available" means no source detected
149 | If (value = "Not Available")
150 | {
151 | If (gsLastVideoTiming != "Not Available")
152 | {
153 | gsLastVideoTiming = value;
154 | //Video_Timing_Fb = gsLastVideoTiming;
155 |
156 | Video_Horizontal_Fb = 0;
157 | Video_Vertical_Fb = 0;
158 | Video_Refresh_Fb = 0;
159 | }
160 | }
161 | Else
162 | {
163 | // Looking for "Serial Number[0x006B] [3840]X[2160] [30]Hz"
164 | key = Remove("]", value);
165 | key = Remove("[", value);
166 | horz = AtoI(value);
167 | key = Remove("[", value);
168 | vert = AtoI(value);
169 | key = Remove("[", value);
170 | ref = AtoI(value);
171 |
172 | // Turn it into something more readable
173 | MakeString(value, "%dx%d@%d", horz, vert, ref);
174 |
175 | If (gsLastVideoTiming != value)
176 | {
177 | gsLastVideoTiming = value;
178 | //Video_Timing_Fb = gsLastVideoTiming;
179 | Video_Horizontal_Fb = horz;
180 | Video_Vertical_Fb = vert;
181 | Video_Refresh_Fb = ref;
182 | }
183 | }
184 | }
185 | Else
186 | {
187 | While (Find("=", From_Device))
188 | {
189 | n = Find("=", From_Device);
190 | key = Mid(From_Device, 1, n - 1);
191 |
192 | If (Find("&", From_Device))
193 | {
194 | text = Gather("&", From_Device);
195 | }
196 | Else
197 | {
198 | text = From_Device;
199 | ClearBuffer(From_Device);
200 | }
201 |
202 | value = Mid(text, n + 1, Len(text) - n - 1);
203 |
204 | If (Enable_Debug)
205 | {
206 | Debug_Key = key;
207 | Debug_Value = value;
208 | }
209 |
210 | If (key = "UNIT.ID")
211 | {
212 | ID_Fb = value;
213 | }
214 | Else If (key = "UNIT.MODEL")
215 | {
216 | Model_Fb = value;
217 | }
218 | Else If (key = "UNIT.FIRMWARE")
219 | {
220 | Firmware_Fb = value;
221 | }
222 | Else If (key = "UNIT.MAC_ADDRESS")
223 | {
224 | MAC_Address_Fb = value;
225 | }
226 | Else If (key = "IP.ADDRESS")
227 | {
228 | IP_Address_Fb = value;
229 | }
230 | Else If (key = "QUERY.STATUS")
231 | {
232 | If (value = "OK")
233 | {
234 | Initialize_Fb = 1;
235 | }
236 | }
237 | Else If (key = "STREAM.CONNECT")
238 | {
239 | If (value = "queue_next_switch")
240 | {
241 | Stream_Host_Fb = gsStreamHost;
242 | }
243 | }
244 | }
245 | }
246 | }
247 |
248 | // MAIN ////////////////////////////////////////////////////////////////////////////////////
249 |
250 | FUNCTION Main()
251 | {
252 | WaitForInitializationComplete();
253 | }
254 |
--------------------------------------------------------------------------------