This is a library to access CAN Databases (aka CANdb, aka DBC files) from Vector Informatik.
It's optimized towards fast access on loaded data, not on load performance or save order.
Build on Linux (e.g. Debian Testing)
- gcc (>=4.9) or boost::regex (>=1.48)
Building under Linux works as usual:
mkdir build cd build cmake .. make make install DESTDIR=.. make package
Build on Windows (e.g. Windows 7 64-Bit)
Building under Windows contains the following steps:
- Use cmake-gui
- Set "Where is the source code:" to the root directory.
- Set "Where to build the binaries:" to folder "build" below the root directory.
- Configure and Generate
- Open the Visual Studio Solution (.sln) file in the build folder.
- Compile it in Release Configuration.
Static tests are
- Cppcheck (if OPTION_RUN_CPPCHECK is set)
- CCCC (if OPTION_RUN_CCCC is set)
Dynamic tests are
- Unit tests (if OPTION_RUN_TESTS is set)
- Example runs (if OPTION_RUN_EXAMPLES is set)
- Coverage (if OPTION_USE_LCOV_GCOV is set)
The test execution can be triggered using
The package generation can be triggered using
The following files are part of the source code distribution:
The following files are working directories for building and testing:
The following files are products of installation and building:
- Templates/Functions for protocols (ARINC664, CANoe, CANopen, CAN_FD, CAPL, Ethernet, Interaction Layer, Network Management, ISO11783, J1587, J1939, MOST, NMEA)
- Comparation of two DBCs
- Some OPTIONS can be auto detected, e.g. OPTION_USE_CPP11_REGEX or OPTION_USE_CPP11_ENUM_CLASS. Results should be placed in config.h.
- cmake target for code beautifier: Astyle or Uncrustify (add_custom_command)?
Missing test coverage
- Bit Timing (BS)
- Signal Types (SGTYPE)
- Signal Type Refs (SGTYPE)
- Signal Groups (SIG_GROUP)
- Signal Extended Value Types (SIG_VALTYPE)
- Extended Multiplexors (SG_MUL_VAL)