Integration test: Display of telemetry data received via HID output reports
March 27, 2026 ยท View on GitHub
Purpose and summary
To test that telemetry data is received and parsed correctly by the HID implementation, then properly displayed by the frame server.
Hardware setup
We are using several display devices:
- A simple (LED) shift light.
- A PCF8574-based LED driver with 8 LEDs.
- A monochrome OLED 128x64.
Refer to their unit tests to see the wiring.
Output through USB serial port at 115200 bauds.
Software setup
SimHub must be installed in the test machine. The official plugin must be installed and enabled. However, no game is required. We are using pre-recorded telemetry data found in the TestTelemetryData folder.
- Ensure the device is connected to the host computer through BLE.
- Run SimHub. Enable the official plugin if asked to.
- Choose Automobilista 2 as active game (click on
change active game). This is a must. - Click on
Replay(top-right corner). - Click on
Open replay folder. - Copy pre-recorded files to that folder.
- Close the window and click on
Replayagain. - Choose the recording and hit the play button.
Procedure and expected output
Important
This test departs a lot from others because there is no way to predict a "correct" behavior.
- Open the serial monitor.
- From now on, just check there are no error messages
in the serial monitor,
in particular,
Stack canary watchpoint triggered (UI). The firmware has to be running for a while before this kind of error has a chance of being triggered. - Check that shown telemetry data is coherent.
In doubt, open the
available propertiesmenu in SimHub. Search for a property to display the value sent. - At any time, type "d" into the serial monitor. Check that the OLED display shows another dashboard.
The pre-recorded telemetry data must reflect the following car behavior:
- Engine start.
- Run through the pit lane (pit limiter on).
- Run through a straight going into the rev limiter .
- Hard brake (look for ABS engagement).
- Hard on the gas pedal (look for TC engagement).
- Run through some corners.
- Engine stop.