pyautocan

pyautocan is based on parts of pyneovi which aren’t specific to the NeoVI range of CAN interfaces. I spun off these parts into a separate project that could sit on top of, for example, python-can and give much more structured access to the vehicle than the lower level message-oriented approach that currently exists.

The image below gives an example from its early stages of development. The idea is that you would provide a config such as this one which then allows you to refer to ECUs by name, automatically decode signals, and so on.

Partial example of vehicle CAN configuration (based on information in “Adventures in Automotive Networks and Control Units” by Valasek and Miller).

Partial example of vehicle CAN configuration (based on information in “Adventures in Automotive Networks and Control Units” by Valasek and Miller).

pyautocan is in the very early stages currently, thus the lack of detailed information or publicly available source code.