Windows USB Device Driver¶
If you want to send and receive vehicle data in Windows via USB, you must install the VI Windows Driver <https://github.com/openxc/vi-windows-driver>.
The OpenXC Python library, in particular the openxc-dashboard tool, is useful for testing the VI with a regular computer, to verify the data received from a vehicle before introducing an Android device. A quick “smoke test” using the Python tools is described in the Getting Started Guide for Python developers at the OpenXC website.
Keep in mind when bench testing - the VI will go into a low power suspend mode if no CAN activity has been detected for 30 seconds. If you compile with the DEBUG flag, it will not suspend.
Viewing Debugging data¶
To view debugging information, first compile the firmware with the debugging flag:
$ make clean $ DEBUG=1 make $ make flash
When compiled with DEBUG=1, two things happen:
- Debug symbols are available in the .elf file generated in the build directory.
- Log messages will be output over a UART port (no hardware flow control is required) - see supported platforms for details.
View this output using an FTDI cable and any of the many available serial terminal monitoring programs, e.g. screen, minicom, etc.
The repository includes a rudimentary vehicle emulator version of the firmware:
$ make clean $ make emulator
The emulator generates fakes values for many OpenXC signals and sends out translated OpenXC messages as if it were plugged into a real vehicle.
The non-embedded platform specific code in this repository includes a unit test suite. It’s a good idea to run the test suite before committing any changes to the git repository.
The test suite uses the check library.
$ sudo apt-get install check
$ sudo pacman -S check
Running the Suite¶
vi-firmware/src $ make clean && make test -s