-
Notifications
You must be signed in to change notification settings - Fork 1
/
flosportsResults-20220418.lss
337 lines (326 loc) · 10.8 KB
/
flosportsResults-20220418.lss
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
; Defaults: 9600,8,N,1
;
; Lynx Scoreboard Script Version 2.0
;
; Copyright (c) 1995-2002 Lynx System Developers, Inc.
;
; Written by Kirk Sigel
;
; script updated for FinishLynx 4 by Todd Chamoy 11/20/2001
;
; Notes:
; + Empty lines and lines that start with a semicolon are ignored.
;
; + Lines that start with two semicolons indicate a section header.
; The current section headers and their valid group codes are:
; ;;Initialization
; \10 \13 \17
; ;;TimeRunning
; ;;TimeStopped
; ;;TimeGun
; ;;TimeBreak
; ;;TimeUpdate
; ;;TimeOfDay
; \11 \13 \17
; ;;Wind
; \12 \13 \17
; ;;ResultsHeader
; ;;ResultsTrailer
; ;;StartListHeader
; ;;StartListTrailer
; \13 \17
; ;;Result
; ;;StartList
; \13 \14 \17
; ;;MessageHeader
; ;;MessageTrailer
; \13 \15 \17
; ;;Message
; \13 \15 \16 \17
; Sections may be omitted, appear in any order, and occur more than once.
;
; + Format lines must begin with a one byte group code and a one byte
; variable code. The special variable code \00 indicates that no variable
; is being requested. If a variable is requested it will be inserted where
; a '%s' printf style format specifier appears. There can only be one '%s'
; specifier in lines requesting a variable and no other printf format
; specifiers may appear. Remember, lines requesting a variable are used as
; a printf format string and therefore must behave as such. Lines not
; requesting a variable (variable code \00) can do whatever they want as
; these lines are not fed to a printf statement.
; The current group codes and their variable codes are:
; \10 Initialize
; \00 No variable
; \11 Time
; \00 No variable
; \01 Formatted time
; \02 Binary time in milliseconds (4 byte little endian integer)
; \12 Wind
; \00 No variable
; \01 Formatted wind
; \02 Binary wind in hundredths of units (4 byte little endian integer)
; \13 Results Header/Trailer
; \00 No variable
; \01 OFFICIAL/UNOFFICIAL string
; \02 Event name
; \03 Wind
; \04 Event number
; \05 Round number
; \06 Heat number
; \07 AUTO/MANUAL start type
; \08 Number of participants
; \14 Result
; \00 No variable
; \01 Place
; \02 Lane
; \03 Id
; \04 Name
; \05 Affiliation
; \06 Time
; \07 Delta Time
; \08 Cumulative Split Time
; \09 Last Split Time
; \0a Laps To Go
; \0b License
; \0c ReacTime
; \0d Speed
; \0e Pace
; \0f Best Split Time
; \15 Message Header/Trailer
; \00 No variable
; \16 Message
; \00 No variable
; \01 Text
; \17 Break Time
; \00 No variable
; \nn Formatted break time nn
;
; + Arbitrary 8 bit values are entered as \hh where h is a lowercase hex
; digit. Note that h must be lowercase.
;
; + Format lines can have the following commands embedded in them.
; Note that only 10 registers (indexed 0-9) are currently implemented.
; \U\hh Set the 'U' value to hh. It is reset after the next command.
; \Ui\hh Set the 'U' value to register[hh].
; \X\hh Set the 'X' value to hh. It is reset after the next command.
; \Xi\hh Set the 'X' value to register[hh].
; \=\hh register[hh] = {register[U]|X|1} (assign)
; \*\hh register[hh] = register[hh] * {register[U]|X|1} (multiply)
; \/\hh register[hh] = register[hh] / {register[U]|X|1} (divide)
; \#\hh register[hh] = register[hh] # {register[U]|X|1} (modulus)
; \+\hh register[hh] = register[hh] + {register[U]|X|1} (add)
; \-\hh register[hh] = register[hh] - {register[U]|X|1} (subtract)
; \<\hh register[hh] = register[hh] << {register[U]|X|1} (shift left)
; \>\hh register[hh] = register[hh] >> {register[U]|X|1} (shift right)
; \&\hh register[hh] = register[hh] & {register[U]|X|1} (bit and)
; \|\hh register[hh] = register[hh] | {register[U]|X|1} (bit or)
; \^\hh register[hh] = register[hh] ^ {register[U]|X|1} (bit xor)
; \~\hh register[hh] = ~register[hh] (bit invert)
; \F\hh register[hh] = The result of running Function {U|0} on the
; next {X|<eol>} characters.
; \U\00 IDS checksum.
; \U\01 XOR checksum. register[hh] is used as the seed value.
; \U\02 ADD checksum. register[hh] is used as the seed value.
; \U\03 CRC-16. register[hh] is used as the seed value
; and register[hh+1] is the polynomial.
; \U\04 CRC-32. register[hh] is used as the seed value
; and register[hh+1] is the polynomial.
; \O\hh Output register[hh] as an {X|1} byte value using method {U|0}.
; \U\00 Binary little-endian (Intel byte order).
; \U\01 Binary big-endian (Motorola byte order).
; \U\02 ASCII text right justified space padded.
; \U\03 ASCII text right justified zero padded.
; \U\04 ASCII text left justified space padded.
; \U\05 ASCII text left justified zero padded.
; \S\hh Scan the next {X|1} bytes into register[hh] using method {U|0}.
; \U\00 ASCII text base 10.
; \U\01 Binary little-endian (Intel byte order).
; \U\02 Binary big-endian (Motorola byte order).
; \P\hh Run Procedure hh on the next {X|<eol>} characters.
; \P\00 Reverse characters.
; \P\01 Convert characters to Colorado Time format. Register[1]
; is the current character position on entry and the
; next character position on exit.
; \P\02 Convert characters to Daktronics AllSport format.
; \B\hh Delete {register[U]|hh} (to beginning of line if zero) characters
; before the cursor or until the string contains X characters.
; \D\hh Delete {register[U]|hh} (to end of line if zero) characters
; at the cursor or until the string contains X characters.
; \I\hh Insert {register[U]|hh} spaces at the cursor or until the string
; contains X characters.
; \Ic\hh Insert {register[U]|hh} {X's|spaces} at the cursor.
; \L\hh Move the cursor {register[U]|hh} positions to the left (to the
; beginning of the line if zero).
; \R\hh Move the cursor {register[U]|hh} positions to the right (to the
; end of the line if zero).
; Note that numbers 0 thru 9 can be entered directly for single character
; embedded commands. For example, '\U\04' is the same as '\U4' and
; '\=\01' is the same as '\=1'.
;
; + Be very careful about whitespace in each format line. Characters other
; than '%s' specifiers and embedded commands and values will be sent
; exactly as they appear on the line. This means, for instance, that using
; tabs to make a line 'look right' in you favorite editor will cause
; tabs to be sent to the scoreboard instead of the equivalent number of
; spaces (probably not what you wanted).
;
; The format lines follow.
;;Initialization
\10\00
;;StartListHeader
; This is sent once each time the scoreboard is updated with results. It
; is sent before any result lines are sent.
; Line codes:
; \00 No variable
; \01 OFFICIAL/UNOFFICIAL string
; \02 Event name
; \03 Wind
; \04 Event number
; \05 Round number
; \06 Heat number
; \07 AUTO/MANUAL start type
; \08 Number of participants
;
; The following line (if not commented) will tell ResulTV to change layouts.
\13\01%s|
\13\02%s|
\13\03%s|
\13\04%s|
\13\05%s|
\13\06%s|
\13\04%s\L0000\X3\B0
\13\05-%s-
\13\06%s\L000\X2\B0\R0|
\13\07%s|
\13\08%s;
;;StartListTrailer
; This is sent once each time the scoreboard is updated with results. It
; is sent after all result lines are sent.
; Line codes are identical to the ResultsHeader line codes.
\13\00*COMPLETE
;;StartList
; This is sent once for each result line displayed on the scoreboard.
; Line codes:
; \00 No variable
; \01 Place
; \02 Lane
; \03 Id
; \04 Name
; \05 Affiliation
; \06 Time
; \07 Delta Time
; \08 Cumulative Split Time
; \09 Last Split Time
; \0a Laps To Go
; \0b License
; \0c ReacTime
; \0d Speed
; \0e Pace
; \0f Best Split Time
; Register[0] is initialized with the index of the current result line and
; will range from 0 through PageSize - 1.
\14\01%s|
\14\02%s|
\14\03%s|
\14\04%s|
\14\05%s|
\14\06%s|
\14\07%s|
\14\08%s|
\14\09%s|
\14\0a%s|
\14\0b%s|
\14\0c%s|
\14\0d%s|
\14\0e%s|
\14\0f%s;
;;ResultsHeader
; This is sent once each time the scoreboard is updated with results. It
; is sent before any result lines are sent.
; Line codes:
; \00 No variable
; \01 OFFICIAL/UNOFFICIAL string
; \02 Event name
; \03 Wind
; \04 Event number
; \05 Round number
; \06 Heat number
; \07 AUTO/MANUAL start type
; \08 Number of participants
;
; The following line (if not commented) will tell ResulTV to change layouts.
\13\01%s|
\13\02%s|
\13\03%s|
\13\04%s|
\13\05%s|
\13\06%s|
\13\04%s\L0000\X3\B0
\13\05-%s-
\13\06%s\L000\X2\B0\R0|
\13\07%s|
\13\08%s;
;;ResultsTrailer
; This is sent once each time the scoreboard is updated with results. It
; is sent after all result lines are sent.
; Line codes are identical to the ResultsHeader line codes.
\14\00*COMPLETE
;;Result
; This is sent once for each result line displayed on the scoreboard.
; Line codes:
; \00 No variable
; \01 Place
; \02 Lane
; \03 Id
; \04 Name
; \05 Affiliation
; \06 Time
; \07 Delta Time
; \08 Cumulative Split Time
; \09 Last Split Time
; \0a Laps To Go
; \0b License
; \0c ReacTime
; \0d Speed
; \0e Pace
; \0f Best Split Time
; Register[0] is initialized with the index of the current result line and
; will range from 0 through PageSize - 1.
\14\01%s|
\14\02%s|
\14\03%s|
\14\04%s|
\14\05%s|
\14\06%s|
\14\07%s|
\14\08%s|
\14\09%s|
\14\0a%s|
\14\0b%s|
\14\0c%s|
\14\0d%s|
\14\0e%s|
\14\0f%s;
;;MessageHeader
; This is sent once each time the scoreboard is updated with the message. It
; is sent before any message lines are sent.
; Line codes:
; \00 No variable
;
; The following line (if not commented) will tell ResulTV to change layouts.
;\15\00Command=LayoutDraw;Name=Message;Clear=1;\0a
;\15\00\01M\02
;;MessageTrailer
; This is sent once each time the scoreboard is updated with the message. It
; is sent after all message lines are sent.
; Line codes are identical to the MessageHeader line codes.
;\15\00\03\04
;;Message
; This is sent once for each message line displayed on the scoreboard.
; Line codes:
; \00 No variable
; \01 Text
; Register[0] is initialized with the index of the current message line and
; will range from 0 through <number of lines> - 1.
;\16\00*MESSAGE\|
;\16\01%s\