My job was to create an object oriented program, which receives telemetry data from a race simulator program called Project CARS. This race simulator program runs on an Xbox One video game console and my program sends CAN messages to the clusters based on the received telemetry data.
After the introduction, in the second chapter I expound the specifications of the program to be developed.
In the third chapter I wrote about how the CAN bus works and about software entities, which I used for development and working. In this chapter I wrote about software design patterns, which are well-tried and wise guidelines regarding how to code a module well. Also, I wrote in this chapter about the USB2CAN Converter, which establishes connection among the PC and the clusters. This part is unique, because those are not documented on the website of the producer, how to modify the identity number of the device and examples are also unavailable, which would show how to use the functions, which are needed for the communication.
In the fourth chapter I provide an overview about the architecture of the program. This chapter demonstrates the data flow, which means I explain an example what steps are needed to become CAN message from the telemetry data, which came from the race simulator program. I demonstrate its proper operation in the example of a telemetry data; namely, the speed. Also, this chapter contains that how I used the mentioned software design patterns for certain objects.
The fifth chapter includes the functional and performance test plans and the test results.
The sixth chapter presents the ways of further developments.