0% found this document useful (0 votes)
162 views

Telemetry Data Export Technical Specification en

The document describes the technical specifications for exporting motion data from the City Car Driving Enterprise Edition simulator application to drive external motion platforms. It defines the data exchange schema using named pipes, with initialization and per-frame data packages transmitted between the simulator and driver applications. The motion data export functionality has its own separate licensing protection requiring a HASP USB dongle with the appropriate feature enabled.

Uploaded by

Nicolas Guilbert
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
162 views

Telemetry Data Export Technical Specification en

The document describes the technical specifications for exporting motion data from the City Car Driving Enterprise Edition simulator application to drive external motion platforms. It defines the data exchange schema using named pipes, with initialization and per-frame data packages transmitted between the simulator and driver applications. The motion data export functionality has its own separate licensing protection requiring a HASP USB dongle with the appropriate feature enabled.

Uploaded by

Nicolas Guilbert
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Technical specification

of City Car Driving Enterprise Edition data export functionality for use in motion platforms

ООО «Форвард Девелопмент», 2015г.


Table of contents

Overall description .................................................................................................................................... 3


Data exchange schema.............................................................................................................................. 3
Data exchange protocol ............................................................................................................................ 3
Licensing protection .................................................................................................................................. 4
Overall description
There is a functionality to export data needed to drive a motion platforms in the City Car Driving
Enterprise Edition application, which is intended to be used with motion platforms of arbitrary design
and manufacturer. This is achieved by providing most basic, abstract set of motion data (for ex., car
position, orientation and velocity in virtual world space), and using data export technology which is
easily adapted by any motion platform driver application created by any manufacturer. The ability to
work without motion platform is also retained with no additional setup.
This functionality is provided in product City Car Driving Enterprise Edition starting with 2.3.0 version,
and has its own separate licensing protection.

Data exchange schema


The data exchange between simulator and motion platform driver applications is performed via OS
Windows two-way named pipe. The Driver app creates a pipe with name DynamicCabPipe, and awaits
connection. Below is sample code for creating such a pipe in C# language:

using (NamedPipeServerStream pipe = new NamedPipeServerStream(


"DynamicCabPipe",
PipeDirection.InOut,
10,
PipeTransmissionMode.Byte,
PipeOptions.Asynchronous,
inBufferSize,
outBufferSize))
{
// ...
}

The Simulator app tries to connect to the pipe each frame of the driving session. When connection is
established, the applications start per-frame data exchange in a way described below:

Simulator app Driver app


data ->
<- reply
data ->
<- reply

Immediately after connection the Simulator sends an Initialization Data Package, and waits the Driver
for Initialization Reply Package. Rest of the time it sends a Per-Frame Data Packages, and awaits Per-
Frame Reply Packages. However, currently the reply packages are received but not used. Detailed
package description see in next chapter.

Data exchange protocol


Initialization Data Package (from Simulator):
Size Data type Measure Description
(bytes)
2 integer bytes Package full size
1 integer Package type, must be 1
12 (float, float, float) meters Driver position in car local coordinates system. Currently
unused.
12 (float, float, float) meters “Forward” axis in car local coordinates system
12 (float, float, float) meters “Up” axis in car local coordinates system
Initialization Reply Package (from Driver):
Size Data type Measure Description
(bytes)
2 integer bytes Package full size
1 integer Package type, must be 0
2 integer Identifier. Currently unused.
1 integer Protocol version number. Currently unused.

Per-Frame Data Package (from Simulator):


Size Data type Measure Description
(bytes)
2 integer bytes Package full size
1 integer Package type, must be 2
8 double seconds Last frame time
12 (float, float, float) meters Car position in world coordinates system
12 (float, float, float) meters Currently unused
16 (float, float, float, float) Car orientation quaternion in world coordinates system
12 (float, float, float) meters per Car linear velocity in world coordinates system
second
12 (float, float, float) meters per Car linear acceleration in world coordinates system
second2
12 (float, float, float) radian per Car angular velocity in world coordinates system
second
12 (float, float, float) radian per Car angular acceleration in world coordinates system
second2
4 float Hz Force feedback frequency. Currently unused.
4 float meters Force feedback amplitude. Currently unused.

Per-Frame Reply Package (from Driver):


Size Data type Measure Description
(bytes)
2 integer bytes Package full size
1 integer Package type, must be 1
1 integer Reply code. Currently unused.

World coordinates system is right-handed system, where Y axis is assumed to point “Up”.

Licensing protection
Motion data export functionality has its own licensing protection, which is separate from one of the
main application. The main City Car Driving Enterprise Edition application requires hardware HASP USB
dongle with appropriate HASP feature burned on it, or it will nor launch nor work (such dongle is
provided with each product copy purchased). And by default it will not have motion data export
enabled. In order to enable the data export, there must be separate HASP feature present on the HASP
dongle. This could be the same dongle which holds the main license, or separate one accessible from
this computer. So, motion data export functionality should be explicitly required at time when product is
being purchased.

You might also like