Vector_DBC /

Filename Size Date modified Message
cmake/modules
src
88 B
Add entries to README.md and gitignore.
945 B
Bug fix, when first character of val table description is blank
2.1 KB
Bug fix, when first character of val table description is blank
35.1 KB
Move LICENSE.GPL to LICENSE.GPL-3.0. SPDX extension.
2.2 KB
Add minimum requirements

Introduction

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)

Minimum requirements:

  • 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.

Test

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

make test

Package

The package generation can be triggered using

make package

Repository Structure

The following files are part of the source code distribution:

  • src/project/
  • src/project/tests/

The following files are working directories for building and testing:

  • build/project/

The following files are products of installation and building:

  • bin/
  • lib/
  • share/doc/project/
  • share/man/
  • include/project/

Wanted features

  • 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)