Competition

Purpose of this page

The information below is published here to document some communication interfaces of the XCTrack, which are about to be stable as much as possible and hopefully used to interchange data with other programs or flying devices.

Task transfer

To simplify task input into the flight instrument on the task briefing, XCTrack supports sharing the task using several means. You can share the task using:

Task definition format

For transfer between devices and for storing the task XCTrack uses the following format. The format is UTF-8 encoded JSON object with the following properties.

{
   "taskType":"CLASSIC",                            string,required
   "version": 1,                                    number,required
   "turnpoints":[                                   array of objects,required
       {
           "type":                                  string - one of "TAKEOFF" / "SSS" / "ESS"
           "name":                                  string,required
           "description":                           string
           "lat":                                   number,required
           "lon":                                   number,required
           "altitude":                              number,required
           "radius":                                number,required
       },
       ...
   ],
   "takeoff":{
       "timeOpen":                                  time
       "timeClose":                                 time
   },
   "sss":{                                          required
       "type":                                      string - one of "RACE" / "ELAPSED-TIME", required
       "direction":                                 string - one of "ENTER" / "EXIT", required
       "timeGates":[...]                            array of times, required
       "timeClose":                                 time
       "timeLastStart":                             time
   },
   "ess":{
       "altitudeTimeBonus":                         number [sec/meter]
   },
   "goal":{                                         required
       "type":                                      string - one of "CYLINDER"/"LINE", required
       "deadline":                                  time,required
   }
}

Time format

Times are stored in UTC as 9 characters long JSON string of the form HH:MM:SSZ. The Z character at the end has no real meaning and its main purpose is to remind all the implementators and pilots who may read the task (e.g. if stored in the file) that the time is in UTC.

XCTrack
Help us
Development
Interfaces