Line 56: Line 56:
 
====Supported events====
 
====Supported events====
 
'''Passings'''
 
'''Passings'''
  pas: 16
+
  pas: 16 1 00:00:21:482
Where 16 is passing's transponder number.
+
Where 16 is passing's transponder number, 1 is lap and 00:00:21:482 is time (in format HH:MM:SS.000)
  
 
'''Digital input ON'''
 
'''Digital input ON'''

Revision as of 20:30, 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.

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 port number.

Digital output OFF

oof: 4

Where 4 is port number.

Timing START

tim: 1

Timing STOP

tim: 0

Event message format

event: value

Where event is one of supported actions 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 and 00:00:21:482 is time (in format HH:MM:SS.000)

Digital input ON

ion: 4

Where 4 is port number.

Digital input OFF

iof: 4

Where 4 is port number.

Start light ON

son: 1

Where 1 is light number.

Start light OFF

sof: 1

Where 1 is light number.