Simulator Tab

Overview

The Simulator Tab is used to test the setup being edited on a simulated dash.

Simulator Tab Simulator Tab

Running the Simulator

Info

The simulator can only run if there is suitable simulator firmware for running the current setup.

A simulator firmware version may be selected from the drop-down box below the Play Icon Play Icon.

If there are no options in the firmware list, it will display “No Firmware” and it will not be possible to start the simulator.

Clicking the Play Icon Play Icon will start the simulated display using the current setup.

Changes to the setup will cause the simulator to stop.

Display simulators are built from the same code as used by the real display. There may be some differences in behaviour due to differences in the running platform (i.e. the desktop operating system as opposed to an embedded environment).

Beacon Input

Clicking the Play Icon Beacon Icon will simulate a beacon input event, which can be useful for testing lap timing.

Channels

Values in the Channels list may be modified to simulate their value changing in the display. For CAN channels, this will simulate the sending of CAN frames to the display firmware.

Show Predefined Channels

Filter out any predefined channels from the channels list.

Show Used Channels Only

Shows channels that are used by the current screen only.

Connect to GDA

GDA must be running before checking the “Connect to GDA” checkbox.

A data log file may be loaded in GDA and then played back, which channel values being sent to the simulator.

The channel list should update in response.

The data log must have channels that exactly match the names of channels in the display setup.

Other Applications

Other applications could integrate with the simulator to send their own values to it.

The application must implement a named pipe server, with the pipe name “GemsDAChannelDataServer”.

Data is sent over the pipe using JSON documents, separated by NULL characters, of the form:

{
    "cd":[
        { "n": "Channel1", "v": 0.2 },
        { "n": "Channel2", "v": 3.14159 }
    ]
}