(→Definitions) |
(→Event message format) |
||
(18 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | WebSocket support | + | WebSocket support enables other applications to control ChronoFly and obtain real time passing data. |
− | + | <u>Do not expose your timing network for unauthorized access!</u> There is no authentication mechanism in this WebSocket implementation. | |
− | + | ||
− | + | ||
− | == | + | ==Usage example== |
− | === | + | '''JavaScript:''' |
− | + | ||
− | === | + | var j2ws = new WebSocket("ws://localhost:2235"); |
− | + | ||
+ | j2ws.onmessage = function(e) { | ||
+ | var event = e.data.split(": ")[0]; | ||
+ | var value = e.data.split(": ")[1]; | ||
+ | |||
+ | switch(event) { | ||
+ | case "pas": | ||
+ | console.log("Passing with transponder: " + value); | ||
+ | break; | ||
+ | case "ion": | ||
+ | console.log("Digital input " + value + " ON"); | ||
+ | break; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | var startTiming = function() { | ||
+ | j2ws.send("tim: 1"); | ||
+ | } | ||
+ | |||
+ | ==Protocol== | ||
+ | Uses '''TCP''' port: 2235 | ||
+ | |||
+ | ===Action message format=== | ||
+ | action: value | ||
+ | |||
+ | Where '''action''' is one of supported actions and '''value''' is the input of the action. | ||
+ | |||
+ | ====Supported actions==== | ||
+ | '''Digital output ON''' | ||
+ | oon: 4 | ||
+ | Where 4 is pin number. | ||
+ | |||
+ | '''Digital output OFF''' | ||
+ | oof: 4 | ||
+ | Where 4 is pin number. | ||
+ | |||
+ | '''Timing START''' | ||
+ | tim: 1 | ||
+ | |||
+ | '''Timing STOP''' | ||
+ | tim: 0 | ||
+ | |||
+ | ===Event message format=== | ||
+ | event: value | ||
+ | |||
+ | Where '''event''' is one of supported events and '''value''' is the output of the event. | ||
+ | |||
+ | ====Supported events==== | ||
+ | '''Passings''' | ||
+ | pas: 16 1 00:00:21.482 | ||
+ | Where 16 is passing's transponder number, 1 is lap number, and 00:00:21.482 is passing time (in format HH:MM:SS.NNN) | ||
+ | |||
+ | '''Digital input ON''' | ||
+ | ion: 4 | ||
+ | Where 4 is pin number. | ||
+ | |||
+ | '''Digital input OFF''' | ||
+ | iof: 4 | ||
+ | Where 4 is pin number. | ||
+ | |||
+ | '''Start light ON''' | ||
+ | son: 1 | ||
+ | Where 1 is light number. | ||
+ | |||
+ | '''Start light OFF''' | ||
+ | sof: 1 | ||
+ | Where 1 is light number. |
Latest revision as of 20:36, 16 January 2017
WebSocket support enables other applications to control ChronoFly and obtain real time passing data.
Do not expose your timing network for unauthorized access! There is no authentication mechanism in this WebSocket implementation.
Contents
Usage example
JavaScript:
var j2ws = new WebSocket("ws://localhost:2235"); j2ws.onmessage = function(e) { var event = e.data.split(": ")[0]; var value = e.data.split(": ")[1]; switch(event) { case "pas": console.log("Passing with transponder: " + value); break; case "ion": console.log("Digital input " + value + " ON"); break; } } var startTiming = function() { j2ws.send("tim: 1"); }
Protocol
Uses TCP port: 2235
Action message format
action: value
Where action is one of supported actions and value is the input of the action.
Supported actions
Digital output ON
oon: 4
Where 4 is pin number.
Digital output OFF
oof: 4
Where 4 is pin number.
Timing START
tim: 1
Timing STOP
tim: 0
Event message format
event: value
Where event is one of supported events and value is the output of the event.
Supported events
Passings
pas: 16 1 00:00:21.482
Where 16 is passing's transponder number, 1 is lap number, and 00:00:21.482 is passing time (in format HH:MM:SS.NNN)
Digital input ON
ion: 4
Where 4 is pin number.
Digital input OFF
iof: 4
Where 4 is pin number.
Start light ON
son: 1
Where 1 is light number.
Start light OFF
sof: 1
Where 1 is light number.