Universal API for Controller Area Network (CAN bus or CAN) adapters.
While SocketCAN is providing a great generic interface for using CAN adapters on Linux, no such implementation exists for Windows or macOS. This complicates the cross-platform development of CAN-based applications.
It is therefore the objective of this open-source project to provide an universal CAN API (uCAN) that covers all three major operating systems and offers a simple and clean DLL based API.
uCAN currently supports the following hardware:
- Windows:
- macOS:
- SL CAN
- Linux:
- Socket CAN
- SL CAN
The portability of uCAN is based on the Boost C++ Libraries. The build of the library is managed by the SCons software construction tools (in conjunction with Python). Please review the Construction.txt file for OS specific details.
While uCAN can be built from the command-line, it is recommended that the Eclipse IDE be used to edit the source code. For better viewing and formatting of the project's Python files the Eclipse plugin PyDev may be installed.
uCAN is released under the LGPL license. Please see the LICENSE.txt file for more information.
As a real software engineer will quickly discover, this code has been primarily written by a non computer scientist. Consequently, suggestions for improvements and general refactoring are more than welcome!
We naturally also very much appreciate your bug reports, bug-fixes and feature contributions. Credit will always be given in the Contributors.txt file.