(Event message format)
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
WebSocket support is enabling other applications to listen passing data in real time.
+
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==
 
==Usage example==
Line 35: Line 37:
 
'''Digital output ON'''
 
'''Digital output ON'''
 
  oon: 4
 
  oon: 4
Where 4 is port number.
+
Where 4 is pin number.
  
 
'''Digital output OFF'''
 
'''Digital output OFF'''
 
  oof: 4
 
  oof: 4
Where 4 is port number.
+
Where 4 is pin number.
  
 
'''Timing START'''
 
'''Timing START'''
Line 50: Line 52:
 
  event: value
 
  event: value
  
Where '''event''' is one of supported actions and '''value''' is the output of the event.
+
Where '''event''' is one of supported events and '''value''' is the output of the event.
  
 
====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 number, and 00:00:21.482 is passing time (in format HH:MM:SS.NNN)
  
 
'''Digital input ON'''
 
'''Digital input ON'''
 
  ion: 4
 
  ion: 4
Where 4 is port number.
+
Where 4 is pin number.
  
 
'''Digital input OFF'''
 
'''Digital input OFF'''
 
  iof: 4
 
  iof: 4
Where 4 is port number.
+
Where 4 is pin number.
  
 
'''Start light ON'''
 
'''Start light ON'''

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.

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.