Comms Champion Versions Save

C++(11) library to implement and tools to monitor binary communication protocols

v4.0

2 years ago
  • Deprecating this repository.
  • The contents are split into two separate ones: COMMS Library and CommsChampion Tools.
  • This repository becomes a mere wrapper.
  • Any future updates to this repository is unlikely, please migrate to mentioned above ones at your earliest convenience.

v3.4.1

2 years ago
  • Fixed comment of CC_SKIP_CXX_STANDARD_FORCING cmake options.
  • Added support for NO_REPO parameter in cc_build_during_config() cmake function
  • Added ability to use any field in comms::protocol::ChecksumLayer and comms::protocol::ChecksumPrefixLayer, previously only comms::field::IntValue was supported.

v3.4

2 years ago
  • Improved cmake import of external COMMS library.
  • Allow build of comms_champion project when it's git submodule.
  • More fine-grained cmake options.
  • Allow comms::protocol::ChecksumPrefixLayer to be wrapped by comms::protocol::TransportValueLayer in the frame definition.
  • Ease compile-time restrictions imposed by comms::protocol::TransportValueLayer.
  • Added support for comms::option::def::ProtocolLayerSuppressReadUntilDataSplitForcing option in comms::protocol::TransportValueLayer.

v3.3

2 years ago
  • Supporting customization of field read/write operations in all the comms::protocol::xLayer classes.
  • Added comms::protocol::checksum::BasicXor for XOR checksum calculation.
  • Allowing external limitation of the serialization length for the comms::field::IntValue and comms::field::EnumValue fields using comms::option::AvailableLengthLimit option. It allows support of some TLV property cases with variable length integral fields.

v3.2

3 years ago
  • Improved support of std::span when compiling with C++20 support.
  • Ability to extend and customize comms::protocol::TransportValueLayer.
  • Ability to extend and customize comms::protocol::ChecksumLayer.
  • Ability to extend and customize comms::protocol::ChecksumPrefixLayer.
  • Ability to extend and customize comms::protocol::SyncPrefixLayer.

v3.1.4

3 years ago
  • Improved C++20 support.
  • Added some missing includes.
  • Added equivalence comparison between comms::field::Variant fields.
  • Improved performance of comms::field::ArrayList equality comparison implementation.

v3.1.3

3 years ago
  • Supporting build with gcc-10
  • Allowing comms::field::Variant field to have up to 120 members.
  • Minor update to the UI of cc_view utility to allow easier selection of Variant field members.

v3.1.2

3 years ago
  • Fixes to allow compilation with "/W4" warning level when using MSVC compiler.
  • Compiling unittests with address and undefined sanitizers when g++ or clang compilers are detected.

v3.1.1

3 years ago
  • Added missing include statement to one of the internal headers.

v3.1

3 years ago
  • Significant improvements in the internal TMP (Template Meta Programming) resulting in quicker compilation times and reduced memory consumption during the compilation (especially with GCC).
  • Fixing cmake warning in exported LibCommsConfig.cmake and CommsChampionConfig.cmake.
  • Providing common compilation flags in CC_Compile.cmake script to be reused in other CommsChampion Ecosystem projects.