diff --git a/.appveyor.yml b/.appveyor.yml
index f20860c56..907d0184b 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -18,6 +18,8 @@ configuration:
- Release
environment:
+ COMMS_BRANCH: master
+ COMMSDSL_BRANCH: master
matrix:
- CPP_STD: 11
- CPP_STD: 14
@@ -36,14 +38,18 @@ matrix:
install:
- call script\appveyor_install.bat
- - set PATH=%PATH%;%QTDIR%\bin
-
-build_script:
- set BUILD_DIR=%APPVEYOR_BUILD_FOLDER%\build.%PLATFORM%.%CONFIGURATION%.%TOOLCHAIN%
- if exist %BUILD_DIR% rmdir /S /Q %BUILD_DIR%
- - mkdir %BUILD_DIR%
+ - set COMMS_TAG=%COMMS_BRANCH%
+ - set COMMSDSL_TAG=%COMMSDSL_BRANCH%
+ - set COMMON_INSTALL_DIR=%BUILD_DIR%\install
+ - set COMMON_BUILD_TYPE=%CONFIGURATION%
+ - set COMMON_CXX_STANDARD=%CPP_STD%
+ - call script\prepare_externals.bat
+
+build_script:
- cd %BUILD_DIR%
- - cmake .. -DCMAKE_BUILD_TYPE=%CONFIGURATION% -G "NMake Makefiles" -DBOOST_ROOT="%BOOST_DIR%" -DBoost_USE_STATIC_LIBS=ON -DCMAKE_CXX_STANDARD=%CPP_STD% -DCMAKE_INSTALL_PREFIX=install -DFORCE_EXTRA_BOOST_LIBS=ON
+ - cmake .. -DCMAKE_BUILD_TYPE=%CONFIGURATION% -G "NMake Makefiles" -DBOOST_ROOT="%BOOST_DIR%" -DBoost_USE_STATIC_LIBS=ON -DCMAKE_CXX_STANDARD=%CPP_STD% -DCMAKE_INSTALL_PREFIX=install -DFORCE_EXTRA_BOOST_LIBS=ON -DCMAKE_PREFIX_PATH="%COMMON_INSTALL_DIR%"
- nmake install
diff --git a/.github/workflows/actions_build.yml b/.github/workflows/actions_build.yml
index 47f6fbfd9..550aa9d04 100644
--- a/.github/workflows/actions_build.yml
+++ b/.github/workflows/actions_build.yml
@@ -2,6 +2,10 @@ name: Github Actions Build
on: [push]
+env:
+ COMMS_BRANCH: master
+ COMMSDSL_BRANCH: master
+
jobs:
build_gcc_ubuntu_18_04:
runs-on: ubuntu-18.04
@@ -24,10 +28,29 @@ jobs:
- name: Create Build Environment
run: cmake -E make_directory ${{runner.workspace}}/build
+
+ - name: Prepare externals
+ shell: bash
+ run: $GITHUB_WORKSPACE/script/prepare_externals.sh
+ env:
+ BUILD_DIR: ${{runner.workspace}}/build
+ CC: gcc-${{matrix.cc_ver}}
+ CXX: g++-${{matrix.cc_ver}}
+ CC_COMMSDSL: gcc-8
+ CXX_COMMSDSL: g++-8
+ EXTERNALS_DIR: ${{runner.workspace}}/externals
+ COMMON_INSTALL_DIR: ${{runner.workspace}}/build/install
+ COMMON_BUILD_TYPE: ${{matrix.type}}
+ COMMON_CXX_STANDARD: ${{matrix.cpp}}
+ COMMS_TAG: ${{env.COMMS_BRANCH}}
+ COMMSDSL_TAG: ${{env.COMMSDSL_BRANCH}}
+
- name: Configure CMake
shell: bash
working-directory: ${{runner.workspace}}/build
- run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DCMAKE_INSTALL_PREFIX=install -DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=gold -DCOMMSDSL_C_COMPILER=gcc-8 -DCOMMSDSL_CXX_COMPILER=g++-8
+ run: |
+ cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_CXX_STANDARD=${{matrix.cpp}} \
+ -DCMAKE_INSTALL_PREFIX=install -DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=gold -DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install
env:
CC: gcc-${{matrix.cc_ver}}
CXX: g++-${{matrix.cc_ver}}
@@ -45,11 +68,60 @@ jobs:
fail-fast: false
matrix:
type: [Debug, Release, MinSizeRel]
- cc_ver: [8, 9, 10, 11]
+ cc_ver: [8]
+ cpp: [11, 14, 17]
+
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Prepare Install
+ run: sudo apt-get update --fix-missing
+
+ - name: Install Packages
+ run: sudo apt install libqt5gui5 libboost-all-dev libxml2-dev gcc-${{matrix.cc_ver}} g++-${{matrix.cc_ver}}
+
+ - name: Create Build Environment
+ run: cmake -E make_directory ${{runner.workspace}}/build
+
+ - name: Prepare externals
+ shell: bash
+ run: $GITHUB_WORKSPACE/script/prepare_externals.sh
+ env:
+ BUILD_DIR: ${{runner.workspace}}/build
+ CC: gcc-${{matrix.cc_ver}}
+ CXX: g++-${{matrix.cc_ver}}
+ EXTERNALS_DIR: ${{runner.workspace}}/externals
+ COMMON_INSTALL_DIR: ${{runner.workspace}}/build/install
+ COMMON_BUILD_TYPE: ${{matrix.type}}
+ COMMON_CXX_STANDARD: ${{matrix.cpp}}
+ COMMS_TAG: ${{env.COMMS_BRANCH}}
+ COMMSDSL_TAG: ${{env.COMMSDSL_BRANCH}}
+
+ - name: Configure CMake
+ shell: bash
+ working-directory: ${{runner.workspace}}/build
+ run: |
+ cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_CXX_STANDARD=${{matrix.cpp}} \
+ -DCMAKE_INSTALL_PREFIX=install -DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install
+ env:
+ CC: gcc-${{matrix.cc_ver}}
+ CXX: g++-${{matrix.cc_ver}}
+
+ - name: Build
+ working-directory: ${{runner.workspace}}/build
+ shell: bash
+ run: cmake --build . --config ${{matrix.type}} --target install
+ env:
+ VERBOSE: 1
+
+ build_gcc_ubuntu_22_04:
+ runs-on: ubuntu-22.04
+ strategy:
+ fail-fast: false
+ matrix:
+ type: [Debug, Release, MinSizeRel]
+ cc_ver: [9, 10, 11, 12]
cpp: [11, 14, 17, 20]
- exclude:
- - cc_ver: 8
- cpp: 20
steps:
- uses: actions/checkout@v2
@@ -63,10 +135,26 @@ jobs:
- name: Create Build Environment
run: cmake -E make_directory ${{runner.workspace}}/build
+ - name: Prepare externals
+ shell: bash
+ run: $GITHUB_WORKSPACE/script/prepare_externals.sh
+ env:
+ BUILD_DIR: ${{runner.workspace}}/build
+ CC: gcc-${{matrix.cc_ver}}
+ CXX: g++-${{matrix.cc_ver}}
+ EXTERNALS_DIR: ${{runner.workspace}}/externals
+ COMMON_INSTALL_DIR: ${{runner.workspace}}/build/install
+ COMMON_BUILD_TYPE: ${{matrix.type}}
+ COMMON_CXX_STANDARD: ${{matrix.cpp}}
+ COMMS_TAG: ${{env.COMMS_BRANCH}}
+ COMMSDSL_TAG: ${{env.COMMSDSL_BRANCH}}
+
- name: Configure CMake
shell: bash
working-directory: ${{runner.workspace}}/build
- run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DCMAKE_INSTALL_PREFIX=install
+ run: |
+ cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_CXX_STANDARD=${{matrix.cpp}} \
+ -DCMAKE_INSTALL_PREFIX=install -DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install
env:
CC: gcc-${{matrix.cc_ver}}
CXX: g++-${{matrix.cc_ver}}
@@ -78,6 +166,7 @@ jobs:
env:
VERBOSE: 1
+
build_clang_ubuntu_18_04:
runs-on: ubuntu-18.04
strategy:
@@ -102,10 +191,30 @@ jobs:
- name: Create Build Environment
run: cmake -E make_directory ${{runner.workspace}}/build
+ - name: Prepare externals
+ shell: bash
+ run: $GITHUB_WORKSPACE/script/prepare_externals.sh
+ env:
+ BUILD_DIR: ${{runner.workspace}}/build
+ CC: clang-${{matrix.cc_ver}}
+ CXX: clang++-${{matrix.cc_ver}}
+ CC_COMMSDSL: clang-6.0
+ CXX_COMMSDSL: clang++-6.0
+ EXTERNALS_DIR: ${{runner.workspace}}/externals
+ COMMON_INSTALL_DIR: ${{runner.workspace}}/build/install
+ COMMON_BUILD_TYPE: ${{matrix.type}}
+ COMMON_CXX_STANDARD: ${{matrix.cpp}}
+ COMMS_TAG: ${{env.COMMS_BRANCH}}
+ COMMSDSL_TAG: ${{env.COMMSDSL_BRANCH}}
+
- name: Configure CMake
shell: bash
working-directory: ${{runner.workspace}}/build
- run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DCMAKE_INSTALL_PREFIX=install -DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DCMAKE_INSTALL_PREFIX=install -DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=gold -DCOMMSDSL_C_COMPILER=clang-6.0 -DCOMMSDSL_CXX_COMPILER=clang++-6.0
+ run: |
+ cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_CXX_STANDARD=${{matrix.cpp}} \
+ -DCMAKE_INSTALL_PREFIX=install -DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=gold \
+ -DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install
+
env:
CC: clang-${{matrix.cc_ver}}
CXX: clang++-${{matrix.cc_ver}}
@@ -123,7 +232,7 @@ jobs:
fail-fast: false
matrix:
type: [Debug, Release, MinSizeRel]
- cc_ver: [7, 8, 9, 10, 11, 12]
+ cc_ver: [7, 8, 9, 10, 11]
cpp: [11, 14, 17, 20]
exclude:
- cc_ver: 7
@@ -143,10 +252,26 @@ jobs:
- name: Create Build Environment
run: cmake -E make_directory ${{runner.workspace}}/build
+ - name: Prepare externals
+ shell: bash
+ run: $GITHUB_WORKSPACE/script/prepare_externals.sh
+ env:
+ BUILD_DIR: ${{runner.workspace}}/build
+ CC: clang-${{matrix.cc_ver}}
+ CXX: clang++-${{matrix.cc_ver}}
+ EXTERNALS_DIR: ${{runner.workspace}}/externals
+ COMMON_INSTALL_DIR: ${{runner.workspace}}/build/install
+ COMMON_BUILD_TYPE: ${{matrix.type}}
+ COMMON_CXX_STANDARD: ${{matrix.cpp}}
+ COMMS_TAG: ${{env.COMMS_BRANCH}}
+ COMMSDSL_TAG: ${{env.COMMSDSL_BRANCH}}
+
- name: Configure CMake
shell: bash
working-directory: ${{runner.workspace}}/build
- run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DCMAKE_INSTALL_PREFIX=install
+ run: |
+ cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_CXX_STANDARD=${{matrix.cpp}} \
+ -DCMAKE_INSTALL_PREFIX=install -DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install
env:
CC: clang-${{matrix.cc_ver}}
CXX: clang++-${{matrix.cc_ver}}
@@ -157,3 +282,55 @@ jobs:
run: cmake --build . --config ${{matrix.type}} --target install
env:
VERBOSE: 1
+
+ build_clang_ubuntu_22_04:
+ runs-on: ubuntu-22.04
+ strategy:
+ fail-fast: false
+ matrix:
+ type: [Debug, Release, MinSizeRel]
+ cc_ver: [12, 13, 14]
+ cpp: [11, 14, 17, 20]
+
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Prepare Install
+ run: sudo apt-get update --fix-missing
+
+ - name: Install Packages
+ run: sudo apt install libqt5gui5 libboost-all-dev libxml2-dev clang-${{matrix.cc_ver}}
+
+ - name: Create Build Environment
+ run: cmake -E make_directory ${{runner.workspace}}/build
+
+ - name: Prepare externals
+ shell: bash
+ run: $GITHUB_WORKSPACE/script/prepare_externals.sh
+ env:
+ BUILD_DIR: ${{runner.workspace}}/build
+ CC: clang-${{matrix.cc_ver}}
+ CXX: clang++-${{matrix.cc_ver}}
+ EXTERNALS_DIR: ${{runner.workspace}}/externals
+ COMMON_INSTALL_DIR: ${{runner.workspace}}/build/install
+ COMMON_BUILD_TYPE: ${{matrix.type}}
+ COMMON_CXX_STANDARD: ${{matrix.cpp}}
+ COMMS_TAG: ${{env.COMMS_BRANCH}}
+ COMMSDSL_TAG: ${{env.COMMSDSL_BRANCH}}
+
+ - name: Configure CMake
+ shell: bash
+ working-directory: ${{runner.workspace}}/build
+ run: |
+ cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_CXX_STANDARD=${{matrix.cpp}} \
+ -DCMAKE_INSTALL_PREFIX=install -DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install
+ env:
+ CC: clang-${{matrix.cc_ver}}
+ CXX: clang++-${{matrix.cc_ver}}
+
+ - name: Build
+ working-directory: ${{runner.workspace}}/build
+ shell: bash
+ run: cmake --build . --config ${{matrix.type}} --target install
+ env:
+ VERBOSE: 1
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ad3d9bef6..50b0ee71c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -6,31 +6,13 @@ option (UNIX_USE_CCACHE "Treat warnings as error" ON)
option (FORCE_EXTRA_BOOST_LIBS "Force linking to extra boost libraries" OFF)
option (USE_SANITIZERS "Compile with sanitizers." OFF)
-# Additional variables to be used if needed
-# ---------------------------
-# COMMSDSL2COMMS - Path to "commsdsl2comms" binary if such is already built.
-# CC_COMMS_INSTALL_DIR - Path to CommsChampion external install directory (if such already built).
-# COMMSDSL_TAG - Tag / branch of commsdsl project (if built internally)
-# CC_COMMS_TAG - Tag / branch of COMMS library project (if built internally)
-# COMMSDSL_C_COMPILER - "C" Compiler for commsdsl project
-# COMMSDSL_CXX_COMPILER - "C++" Compiler for commsdsl project
-
-if ("${COMMSDSL_TAG}" STREQUAL "")
- set (COMMSDSL_TAG "v5.0")
-endif ()
-
-if ("${CC_COMMS_TAG}" STREQUAL "")
- set (CC_COMMS_TAG "v5.0")
-endif ()
-
if (NOT CMAKE_CXX_STANDARD)
set (CMAKE_CXX_STANDARD 11)
endif ()
include(GNUInstallDirs)
-find_package(Boost REQUIRED
- COMPONENTS system)
+find_package(Boost REQUIRED COMPONENTS system)
if (FORCE_EXTRA_BOOST_LIBS)
set (EXTRA_BOOST_TARGETS Boost::date_time Boost::regex)
@@ -38,42 +20,15 @@ if (FORCE_EXTRA_BOOST_LIBS)
endif ()
find_package(Threads REQUIRED)
+find_package(LibComms REQUIRED)
+find_program(COMMSDSL2COMMS commsdsl2comms PATH_SUFFIXES bin REQUIRED)
set (COMMON_SERVER_LIB "common_server")
set (COMMON_CLIENT_LIB "common_client")
-set (EXTERNALS_DIR "${PROJECT_SOURCE_DIR}/externals")
-
#######################################################
-if ("${CC_COMMS_INSTALL_DIR}" STREQUAL "")
- execute_process (
- COMMAND ${CMAKE_COMMAND} -E make_directory "${EXTERNALS_DIR}"
- )
-
- set (cc_src_dir "${EXTERNALS_DIR}/comms")
- set (cc_bin_dir "${PROJECT_BINARY_DIR}/comms")
- set (CC_COMMS_INSTALL_DIR "${cc_bin_dir}/install")
-
- include (${PROJECT_SOURCE_DIR}/cmake/CC_Prefetch.cmake)
- cc_prefetch(SRC_DIR "${cc_src_dir}" TAG "${CC_COMMS_TAG}")
- include(${cc_src_dir}/cmake/CC_CommsExternal.cmake)
-
- cc_comms_build_during_config(
- SRC_DIR ${cc_src_dir}
- BUILD_DIR ${cc_bin_dir}
- TAG ${CC_COMMS_TAG}
- CMAKE_ARGS
- -DCC_BUILD_UNIT_TESTS=OFF
- -DCMAKE_INSTALL_PREFIX=${CC_COMMS_INSTALL_DIR}
- )
-
-endif ()
-
-list (APPEND CMAKE_PREFIX_PATH "${CC_COMMS_INSTALL_DIR}")
-find_package(LibComms NO_MODULE REQUIRED)
-
-set (cc_compile_file ${CC_COMMS_INSTALL_DIR}/lib/LibComms/cmake/CC_Compile.cmake)
+set (cc_compile_file ${LibComms_DIR}/CC_Compile.cmake)
if (EXISTS ${cc_compile_file})
set (warn_as_err_opt)
if (WARN_AS_ERR)
@@ -100,46 +55,6 @@ if (USE_SANITIZERS AND (NOT ${CMAKE_VERSION} VERSION_LESS "3.13") AND
-fsanitize=undefined)
endif ()
-#######################################################
-set (COMMSDSL_TGT "commsdsl_tgt")
-if ("${COMMSDSL2COMMS}" STREQUAL "")
- execute_process (
- COMMAND ${CMAKE_COMMAND} -E make_directory "${EXTERNALS_DIR}"
- )
- include(ExternalProject)
- set (commsdsl2comms_tag "${COMMSDSL_TAG}")
- set (commsdsl2comms_main_dir "${PROJECT_BINARY_DIR}/commsdsl")
- set (commsdsl2comms_src_dir "${EXTERNALS_DIR}/commsdsl")
- set (commsdsl2comms_bin_dir "${commsdsl2comms_main_dir}/build")
- set (commsdsl2comms_install_dir "${commsdsl2comms_main_dir}/install")
-
- if ("${COMMSDSL_C_COMPILER}" STREQUAL "")
- set (COMMSDSL_C_COMPILER ${CMAKE_C_COMPILER})
- endif ()
-
- if ("${COMMSDSL_CXX_COMPILER}" STREQUAL "")
- set (COMMSDSL_CXX_COMPILER ${CMAKE_CXX_COMPILER})
- endif ()
-
- ExternalProject_Add(
- "${COMMSDSL_TGT}"
- PREFIX "${commsdsl2comms_bin_dir}"
- STAMP_DIR "${commsdsl2comms_bin_dir}"
- GIT_REPOSITORY "https://github.com/commschamp/commsdsl.git"
- GIT_TAG "${commsdsl2comms_tag}"
- SOURCE_DIR "${commsdsl2comms_src_dir}"
- CMAKE_ARGS
- -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=${commsdsl2comms_install_dir}
- -DCOMMSDSL_NO_TESTS=ON -DCMAKE_C_COMPILER=${COMMSDSL_C_COMPILER}
- -DCMAKE_CXX_COMPILER=${COMMSDSL_CXX_COMPILER}
- -DCOMMSDSL_INSTALL_LIBRARY=OFF
- -DCOMMSDSL_EXTERNALS_DIR=${EXTERNALS_DIR}
- BINARY_DIR "${commsdsl2comms_bin_dir}"
- )
-
- set (COMMSDSL2COMMS "${commsdsl2comms_install_dir}/bin/commsdsl2comms")
-endif ()
-
#######################################################
function (dsl_parse type name)
@@ -165,11 +80,6 @@ function (dsl_parse type name)
set (multi_schema_param "-s")
endif ()
- set (commsdsl_tgt_dep)
- if (TARGET ${COMMSDSL_TGT})
- set (commsdsl_tgt_dep ${COMMSDSL_TGT})
- endif ()
-
set (output_dir "${CMAKE_CURRENT_BINARY_DIR}/${name}/output")
string(REPLACE ";" "\n" schema_files "${DSL_PARSE_SCHEMAS}")
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${name}/schema_files.txt "${schema_files}")
@@ -180,7 +90,7 @@ function (dsl_parse type name)
add_custom_command(
OUTPUT ${output_dir}
- DEPENDS ${DSL_PARSE_SCHEMAS} ${src_files} ${commsdsl_tgt_dep} ${name}_prot_rm
+ DEPENDS ${DSL_PARSE_SCHEMAS} ${src_files} ${name}_prot_rm
COMMAND ${CMAKE_COMMAND} -E remove_directory ${output_dir}
COMMAND ${COMMSDSL2COMMS} --warn-as-err ${multi_schema_param} ${code_input_param} "--comms-tag=${CC_COMMS_TAG}"
-o ${output_dir} -i ${CMAKE_CURRENT_BINARY_DIR}/${name}/schema_files.txt
@@ -190,7 +100,7 @@ function (dsl_parse type name)
COMMAND ${CMAKE_COMMAND}
-DGENERATED="${output_dir}/include" -DOUTPUT="${PROJECT_SOURCE_DIR}/${type}/${name}/include"
-P "${PROJECT_SOURCE_DIR}/CopyGenerated.cmake"
- DEPENDS ${name}_prot_rm ${output_dir} "${PROJECT_SOURCE_DIR}/CopyGenerated.cmake" ${DSL_PARSE_SCHEMAS} ${src_files} ${commsdsl_tgt_dep}
+ DEPENDS ${name}_prot_rm ${output_dir} "${PROJECT_SOURCE_DIR}/CopyGenerated.cmake" ${DSL_PARSE_SCHEMAS} ${src_files}
)
endfunction ()
diff --git a/README.md b/README.md
index 3920a7458..77cfa26a8 100644
--- a/README.md
+++ b/README.md
@@ -113,6 +113,18 @@ This project uses CMake as its build system. Please open main
mentioned available parameters, which can be used in addition to standard
ones provided by CMake itself, to modify the default build.
+This project also has external dependencies, it requires an access to
+the [COMMS Library](https://github.com/commschamp/commsdsl) and
+code generators from [commsdsl](https://github.com/commschamp/commsdsl) projects.
+These dependencies are expected to be built independenty and access to them provided
+via standard **CMAKE_PREFIX_PATH** and/or **CMAKE_PROGRAM_PATH** (for the binaries of
+the code generators). There are also scripts (
+[script/prepare_externals.sh](script/prepare_externals.sh) for Linux and
+[script/prepare_externals.bat](script/prepare_externals.bat) for Windows)
+which can help in preparation of these dependencies. They are also used
+in configuration of the [github actions](.github/workflows/actions_build.yml) and
+[appveyor](.appveyor.yml).
+
**NOTE**, that [Boost](https://www.boost.org) libraries are also required.
In case Boost libraries are not installed in expected default location
(mostly happens on Windows systems), use variables described in
@@ -125,7 +137,8 @@ linkage with static Boost libraries.
```
$> cd /source/of/this/project
$> mkdir build && cd build
-$> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PWD/install ..
+$> cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PWD/install \
+ -DCMAKE_PREFIX_PATH=/path/to/comms -DCMAKE_PROGRAM_PATH=/path/to/commsdsl
$> make install
```
### Windows Build
@@ -133,9 +146,10 @@ $> make install
$> cd C:\source\of\this\project
$> mkdir build
$> cd build
-$> cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=%cd%/install \
- -DBOOST_ROOT="C:\Libraries\boost_1_65_1" -DBoost_USE_STATIC_LIBS=ON ..
+$> cmake .. -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release ^
+ -DCMAKE_INSTALL_PREFIX=%cd%/install ^
+ -DBOOST_ROOT="C:\Libraries\boost_1_65_1" -DBoost_USE_STATIC_LIBS=ON ^
+ -DCMAKE_PREFIX_PATH=C:\path\to\comms -DCMAKE_PROGRAM_PATH=C:\path\to\commsdsl
$> nmake install
```
diff --git a/howtos/howto1/include/howto1/Interface.h b/howtos/howto1/include/howto1/Interface.h
index 251e245e6..c40875fa0 100644
--- a/howtos/howto1/include/howto1/Interface.h
+++ b/howtos/howto1/include/howto1/Interface.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Interface" interface class.
@@ -16,7 +16,6 @@
namespace howto1
{
-
/// @brief Extra transport fields of @ref Interface interface class.
/// @see @ref Interface
/// @headerfile howto1/Interface.h
@@ -38,11 +37,8 @@ struct InterfaceFields
{
return howto1::InterfaceFieldsCommon::FlagsCommon::name();
}
-
-
};
-
-
+
/// @brief All the fields bundled in std::tuple.
using All = std::tuple<
Flags
@@ -81,10 +77,6 @@ class Interface : public
COMMS_MSG_TRANSPORT_FIELDS_NAMES(
flags
);
-
-
};
} // namespace howto1
-
-
diff --git a/howtos/howto1/include/howto1/InterfaceCommon.h b/howtos/howto1/include/howto1/InterfaceCommon.h
index dbe56109e..767753830 100644
--- a/howtos/howto1/include/howto1/InterfaceCommon.h
+++ b/howtos/howto1/include/howto1/InterfaceCommon.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -11,7 +11,6 @@
namespace howto1
{
-
/// @brief Common types and functions for fields of
/// @ref howto1::Interface interface.
/// @see howto1::InterfaceFields
@@ -26,10 +25,6 @@ struct InterfaceFieldsCommon
{
return "Flags";
}
-
};
-
};
} // namespace howto1
-
-
diff --git a/howtos/howto1/include/howto1/MsgId.h b/howtos/howto1/include/howto1/MsgId.h
index 5a4b04862..19f333736 100644
--- a/howtos/howto1/include/howto1/MsgId.h
+++ b/howtos/howto1/include/howto1/MsgId.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of message ids enumeration.
@@ -15,7 +15,7 @@ enum MsgId : std::uint8_t
{
MsgId_M1 = 1, ///< message id of Message 1 message. ,
MsgId_M2 = 2, ///< message id of Message 2 message. ,
-
+
// --- Extra values generated for convenience ---,
MsgId_FirstValue = 1, ///< First defined value.,
MsgId_LastValue = 2, ///< Last defined value.,
@@ -23,4 +23,3 @@ enum MsgId : std::uint8_t
};
} // namespace howto1
-
diff --git a/howtos/howto1/include/howto1/Version.h b/howtos/howto1/include/howto1/Version.h
index 1dbce9148..48a2cfbc9 100644
--- a/howtos/howto1/include/howto1/Version.h
+++ b/howtos/howto1/include/howto1/Version.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains protocol version definition.
@@ -22,6 +22,5 @@ inline constexpr unsigned specVersion()
} // namespace howto1
// Generated compile time check for minimal supported version of the COMMS library
-static_assert(COMMS_MAKE_VERSION(5, 0, 0) <= comms::version(),
+static_assert(COMMS_MAKE_VERSION(5, 0, 3) <= comms::version(),
"The version of COMMS library is too old");
-
diff --git a/howtos/howto1/include/howto1/dispatch/DispatchClientInputMessage.h b/howtos/howto1/include/howto1/dispatch/DispatchClientInputMessage.h
index a80ca9596..1a2f6e3a2 100644
--- a/howtos/howto1/include/howto1/dispatch/DispatchClientInputMessage.h
+++ b/howtos/howto1/include/howto1/dispatch/DispatchClientInputMessage.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains dispatch to handling function(s) for client input input messages.
@@ -129,7 +129,7 @@ auto dispatchClientInputMessageDefaultOptions(
/// @tparam TProtOptions Protocol options struct used for the application,
/// like @ref howto1::options::DefaultOptions.
/// @headerfile howto1/dispatch/DispatchClientInputMessage.h
-template
+template
struct ClientInputMsgDispatcher
{
/// @brief Class detection tag
@@ -189,9 +189,7 @@ struct ClientInputMsgDispatcher
/// @ref howto1::options::DefaultOptions as template parameter.
/// @note Defined in howto1/dispatch/DispatchClientInputMessage.h
using ClientInputMsgDispatcherDefaultOptions =
- ClientInputMsgDispatcher;
-
-
+ ClientInputMsgDispatcher<>;
} // namespace dispatch
diff --git a/howtos/howto1/include/howto1/dispatch/DispatchMessage.h b/howtos/howto1/include/howto1/dispatch/DispatchMessage.h
index e62159f86..1ff4fb887 100644
--- a/howtos/howto1/include/howto1/dispatch/DispatchMessage.h
+++ b/howtos/howto1/include/howto1/dispatch/DispatchMessage.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains dispatch to handling function(s) for all input messages.
@@ -129,7 +129,7 @@ auto dispatchMessageDefaultOptions(
/// @tparam TProtOptions Protocol options struct used for the application,
/// like @ref howto1::options::DefaultOptions.
/// @headerfile howto1/dispatch/DispatchMessage.h
-template
+template
struct MsgDispatcher
{
/// @brief Class detection tag
@@ -189,9 +189,7 @@ struct MsgDispatcher
/// @ref howto1::options::DefaultOptions as template parameter.
/// @note Defined in howto1/dispatch/DispatchMessage.h
using MsgDispatcherDefaultOptions =
- MsgDispatcher;
-
-
+ MsgDispatcher<>;
} // namespace dispatch
diff --git a/howtos/howto1/include/howto1/dispatch/DispatchServerInputMessage.h b/howtos/howto1/include/howto1/dispatch/DispatchServerInputMessage.h
index 34de03112..d616c48c4 100644
--- a/howtos/howto1/include/howto1/dispatch/DispatchServerInputMessage.h
+++ b/howtos/howto1/include/howto1/dispatch/DispatchServerInputMessage.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains dispatch to handling function(s) for client input input messages.
@@ -129,7 +129,7 @@ auto dispatchServerInputMessageDefaultOptions(
/// @tparam TProtOptions Protocol options struct used for the application,
/// like @ref howto1::options::DefaultOptions.
/// @headerfile howto1/dispatch/DispatchServerInputMessage.h
-template
+template
struct ServerInputMsgDispatcher
{
/// @brief Class detection tag
@@ -189,9 +189,7 @@ struct ServerInputMsgDispatcher
/// @ref howto1::options::DefaultOptions as template parameter.
/// @note Defined in howto1/dispatch/DispatchServerInputMessage.h
using ServerInputMsgDispatcherDefaultOptions =
- ServerInputMsgDispatcher;
-
-
+ ServerInputMsgDispatcher<>;
} // namespace dispatch
diff --git a/howtos/howto1/include/howto1/field/FieldBase.h b/howtos/howto1/include/howto1/field/FieldBase.h
index 15026bf0d..3e3136266 100644
--- a/howtos/howto1/include/howto1/field/FieldBase.h
+++ b/howtos/howto1/include/howto1/field/FieldBase.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of base class of all the fields.
@@ -27,4 +27,3 @@ using FieldBase =
} // namespace field
} // namespace howto1
-
diff --git a/howtos/howto1/include/howto1/field/InterfaceFlags.h b/howtos/howto1/include/howto1/field/InterfaceFlags.h
index b279c1f8f..0c2f28b97 100644
--- a/howtos/howto1/include/howto1/field/InterfaceFlags.h
+++ b/howtos/howto1/include/howto1/field/InterfaceFlags.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "InterfaceFlags" field.
@@ -17,7 +17,6 @@ namespace howto1
namespace field
{
-
/// @brief Definition of "InterfaceFlags" field.
/// @tparam TOpt Protocol options.
/// @tparam TExtraOpts Extra options.
@@ -50,7 +49,7 @@ class InterfaceFlags : public
B0,
B1
);
-
+
/// @brief Retrieve name of the bit.
/// @see @ref howto1::field::InterfaceFlagsCommon::bitName().
static const char* bitName(BitIdx idx)
@@ -59,18 +58,14 @@ class InterfaceFlags : public
howto1::field::InterfaceFlagsCommon::bitName(
static_cast(idx));
}
-
+
/// @brief Name of the field.
static const char* name()
{
return howto1::field::InterfaceFlagsCommon::name();
}
-
-
};
-
} // namespace field
} // namespace howto1
-
diff --git a/howtos/howto1/include/howto1/field/InterfaceFlagsCommon.h b/howtos/howto1/include/howto1/field/InterfaceFlagsCommon.h
index 1f50af09b..b7e3db8b7 100644
--- a/howtos/howto1/include/howto1/field/InterfaceFlagsCommon.h
+++ b/howtos/howto1/include/howto1/field/InterfaceFlagsCommon.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -14,7 +14,6 @@ namespace howto1
namespace field
{
-
/// @brief Common types and functions for
/// @ref howto1::field::InterfaceFlags field.
struct InterfaceFlagsCommon
@@ -24,7 +23,7 @@ struct InterfaceFlagsCommon
{
return "InterfaceFlags";
}
-
+
/// @brief Retrieve name of the bit of
/// @ref howto1::field::InterfaceFlags field.
static const char* bitName(std::size_t idx)
@@ -33,19 +32,16 @@ struct InterfaceFlagsCommon
"B0",
"B1"
};
-
+
static const std::size_t MapSize = std::extent::value;
if (MapSize <= idx) {
return nullptr;
}
-
+
return Map[idx];
}
-
-
};
} // namespace field
} // namespace howto1
-
diff --git a/howtos/howto1/include/howto1/field/MsgId.h b/howtos/howto1/include/howto1/field/MsgId.h
index 1a15555da..df626f07d 100644
--- a/howtos/howto1/include/howto1/field/MsgId.h
+++ b/howtos/howto1/include/howto1/field/MsgId.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "MsgId" field.
@@ -17,7 +17,6 @@ namespace howto1
namespace field
{
-
/// @brief Definition of "MsgId" field.
/// @see @ref howto1::MsgId
/// @tparam TOpt Protocol options.
@@ -41,46 +40,48 @@ class MsgId : public
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Single value name info entry.
using ValueNameInfo = howto1::field::MsgIdCommon::ValueNameInfo;
-
+
/// @brief Type returned from @ref valueNamesMap() member function.
/// @see @ref howto1::field::MsgIdCommon::ValueNamesMapInfo.
using ValueNamesMapInfo = howto1::field::MsgIdCommon::ValueNamesMapInfo;
-
+
/// @brief Retrieve name of the enum value.
/// @see @ref howto1::field::MsgIdCommon::valueName().
static const char* valueName(ValueType val)
{
return howto1::field::MsgIdCommon::valueName(val);
}
-
+
+ /// @brief Retrieve name of the enum value.
+ /// @see @ref howto1::field::MsgIdCommon::valueName().
+ static const char* valueNameOf(ValueType val)
+ {
+ return howto1::field::MsgIdCommon::valueName(val);
+ }
+
/// @brief Retrieve name of the @b current value
const char* valueName() const
{
return valueName(Base::getValue());
}
-
+
/// @brief Retrieve map of enum value names.
/// @see @ref howto1::field::MsgIdCommon::valueNamesMap().
static ValueNamesMapInfo valueNamesMap()
{
return howto1::field::MsgIdCommon::valueNamesMap();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto1::field::MsgIdCommon::name();
}
-
-
};
-
} // namespace field
} // namespace howto1
-
diff --git a/howtos/howto1/include/howto1/field/MsgIdCommon.h b/howtos/howto1/include/howto1/field/MsgIdCommon.h
index a4ce26f12..420480143 100644
--- a/howtos/howto1/include/howto1/field/MsgIdCommon.h
+++ b/howtos/howto1/include/howto1/field/MsgIdCommon.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -6,9 +6,7 @@
#pragma once
-#include
#include
-#include
#include
#include
#include "howto1/MsgId.h"
@@ -19,7 +17,6 @@ namespace howto1
namespace field
{
-
/// @brief Common types and functions for
/// @ref howto1::field::MsgId field.
struct MsgIdCommon
@@ -27,21 +24,21 @@ struct MsgIdCommon
/// @brief Values enumerator for
/// @ref howto1::field::MsgId field.
using ValueType = howto1::MsgId;
-
+
/// @brief Single value name info entry
using ValueNameInfo = const char*;
-
+
/// @brief Type returned from @ref valueNamesMap() member function.
/// @details The @b first value of the pair is pointer to the map array,
/// The @b second value of the pair is the size of the array.
using ValueNamesMapInfo = std::pair;
-
+
/// @brief Name of the @ref howto1::field::MsgId field.
static const char* name()
{
return "MsgId";
}
-
+
/// @brief Retrieve name of the enum value
static const char* valueName(ValueType val)
{
@@ -49,10 +46,10 @@ struct MsgIdCommon
if (namesMapInfo.second <= static_cast(val)) {
return nullptr;
}
-
+
return namesMapInfo.first[static_cast(val)];
}
-
+
/// @brief Retrieve map of enum value names
static ValueNamesMapInfo valueNamesMap()
{
@@ -62,19 +59,15 @@ struct MsgIdCommon
"Message 2"
};
static const std::size_t MapSize = std::extent::value;
-
+
return std::make_pair(&Map[0], MapSize);
}
-
-
};
/// @brief Values enumerator for
/// @ref howto1::field::MsgId field.
using MsgIdVal = MsgIdCommon::ValueType;
-
} // namespace field
} // namespace howto1
-
diff --git a/howtos/howto1/include/howto1/frame/Frame.h b/howtos/howto1/include/howto1/frame/Frame.h
index 047c8153b..08e7a8272 100644
--- a/howtos/howto1/include/howto1/frame/Frame.h
+++ b/howtos/howto1/include/howto1/frame/Frame.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Frame" frame class.
@@ -27,7 +27,6 @@ namespace howto1
namespace frame
{
-
/// @brief Layers definition of @ref Frame frame class.
/// @tparam TOpt Protocol options.
/// @see @ref Frame
@@ -40,7 +39,7 @@ struct FrameLayers
comms::protocol::MsgDataLayer<
typename TOpt::frame::FrameLayers::Data
>;
-
+
/// @brief Definition of layer "Flags".
using Flags =
comms::protocol::TransportValueLayer<
@@ -52,7 +51,7 @@ struct FrameLayers
Data,
comms::option::def::PseudoValue
>;
-
+
/// @brief Definition of layer "Id".
template
using Id =
@@ -65,7 +64,7 @@ struct FrameLayers
Flags,
typename TOpt::frame::FrameLayers::Id
>;
-
+
/// @brief Scope for field(s) of @ref SizeWithFlags layer.
struct SizeWithFlagsMembers
{
@@ -90,24 +89,20 @@ struct FrameLayers
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto1::frame::FrameLayersCommon::SizeWithFlagsMembersCommon::FieldMembersCommon::SizeCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto1::frame::FrameLayersCommon::SizeWithFlagsMembersCommon::FieldMembersCommon::SizeCommon::name();
}
-
-
};
-
-
+
/// @brief Definition of "Flags" field.
class Flags : public
howto1::field::InterfaceFlags<
@@ -126,11 +121,8 @@ struct FrameLayers
{
return howto1::frame::FrameLayersCommon::SizeWithFlagsMembersCommon::FieldMembersCommon::FlagsCommon::name();
}
-
-
};
-
-
+
/// @brief All members bundled in @b std::tuple.
using All =
std::tuple<
@@ -138,7 +130,7 @@ struct FrameLayers
Flags
>;
};
-
+
/// @brief Definition of "Field" field.
class Field : public
comms::field::Bitfield<
@@ -166,19 +158,15 @@ struct FrameLayers
size,
flags
);
-
+
/// @brief Name of the field.
static const char* name()
{
return howto1::frame::FrameLayersCommon::SizeWithFlagsMembersCommon::FieldCommon::name();
}
-
-
};
-
-
};
-
+
/// @brief Definition of layer "SizeWithFlags".
template
using SizeWithFlags =
@@ -187,11 +175,10 @@ struct FrameLayers
Id,
typename TOpt::frame::FrameLayers::SizeWithFlags
>;
-
+
/// @brief Final protocol stack definition.
template
using Stack = SizeWithFlags;
-
};
/// @brief Definition of "Frame" frame class.
@@ -230,5 +217,3 @@ class Frame : public
} // namespace frame
} // namespace howto1
-
-
diff --git a/howtos/howto1/include/howto1/frame/FrameCommon.h b/howtos/howto1/include/howto1/frame/FrameCommon.h
index f90c234ef..1d93613db 100644
--- a/howtos/howto1/include/howto1/frame/FrameCommon.h
+++ b/howtos/howto1/include/howto1/frame/FrameCommon.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -15,7 +15,6 @@ namespace howto1
namespace frame
{
-
/// @brief Common types and functions of fields using in definition of
/// @ref howto1::frame::Frame frame.
/// @see howto1::frame::FrameLayers
@@ -36,22 +35,20 @@ struct FrameLayersCommon
/// @brief Re-definition of the value type used by
/// howto1::frame::FrameLayers::SizeWithFlagsMembers::FieldMembers::Size field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto1::frame::FrameLayers::SizeWithFlagsMembers::FieldMembers::Size field.
static const char* name()
{
return "Size";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
+
/// @brief Common types and functions for
/// @ref howto1::frame::FrameLayers::SizeWithFlagsMembers::FieldMembers::Flags field.
struct FlagsCommon : public howto1::field::InterfaceFlagsCommon
@@ -61,11 +58,9 @@ struct FrameLayersCommon
{
return "Flags";
}
-
};
-
};
-
+
/// @brief Common types and functions for
/// @ref howto1::frame::FrameLayers::SizeWithFlagsMembers::Field field.
struct FieldCommon
@@ -75,15 +70,10 @@ struct FrameLayersCommon
{
return "Field";
}
-
};
-
};
-
};
} // namespace frame
} // namespace howto1
-
-
diff --git a/howtos/howto1/include/howto1/input/AllMessages.h b/howtos/howto1/include/howto1/input/AllMessages.h
index 4f8c9bdbf..4d9b25246 100644
--- a/howtos/howto1/include/howto1/input/AllMessages.h
+++ b/howtos/howto1/include/howto1/input/AllMessages.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of the AllMessages messages bundle.
diff --git a/howtos/howto1/include/howto1/input/ClientInputMessages.h b/howtos/howto1/include/howto1/input/ClientInputMessages.h
index bc0ffc134..2e87f62b9 100644
--- a/howtos/howto1/include/howto1/input/ClientInputMessages.h
+++ b/howtos/howto1/include/howto1/input/ClientInputMessages.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of the ClientInputMessages messages bundle.
diff --git a/howtos/howto1/include/howto1/input/ServerInputMessages.h b/howtos/howto1/include/howto1/input/ServerInputMessages.h
index fba710359..41e0f6cc5 100644
--- a/howtos/howto1/include/howto1/input/ServerInputMessages.h
+++ b/howtos/howto1/include/howto1/input/ServerInputMessages.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of the ServerInputMessages messages bundle.
diff --git a/howtos/howto1/include/howto1/message/Msg1.h b/howtos/howto1/include/howto1/message/Msg1.h
index f3d6e999c..02a57f4d2 100644
--- a/howtos/howto1/include/howto1/message/Msg1.h
+++ b/howtos/howto1/include/howto1/message/Msg1.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Message 1" message and its fields.
@@ -16,14 +16,12 @@
#include "howto1/message/Msg1Common.h"
#include "howto1/options/DefaultOptions.h"
-
namespace howto1
{
namespace message
{
-
/// @brief Fields of @ref Msg1.
/// @tparam TOpt Extra options
/// @see @ref Msg1
@@ -46,24 +44,20 @@ struct Msg1Fields
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto1::message::Msg1FieldsCommon::F1Common::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto1::message::Msg1FieldsCommon::F1Common::name();
}
-
-
};
-
-
+
/// @brief Definition of "F2" field.
class F2 : public
comms::field::IntValue<
@@ -79,24 +73,20 @@ struct Msg1Fields
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto1::message::Msg1FieldsCommon::F2Common::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto1::message::Msg1FieldsCommon::F2Common::name();
}
-
-
};
-
-
+
/// @brief Scope for all the member fields of
/// @ref F3 field.
struct F3Members
@@ -116,26 +106,21 @@ struct Msg1Fields
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto1::message::Msg1FieldsCommon::F3MembersCommon::FieldCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto1::message::Msg1FieldsCommon::F3MembersCommon::FieldCommon::name();
}
-
-
};
-
-
};
-
+
/// @brief Definition of "F3" field.
/// @details
/// The field exists only when B0 in interface flags is set.
@@ -156,11 +141,8 @@ struct Msg1Fields
{
return howto1::message::Msg1FieldsCommon::F3Common::name();
}
-
-
};
-
-
+
/// @brief All the fields bundled in std::tuple.
using All = std::tuple<
F1,
@@ -215,19 +197,19 @@ class Msg1 : public
f2,
f3
);
-
+
// Compile time check for serialisation length.
static const std::size_t MsgMinLen = Base::doMinLength();
static const std::size_t MsgMaxLen = Base::doMaxLength();
static_assert(MsgMinLen == 4U, "Unexpected min serialisation length");
static_assert(MsgMaxLen == 6U, "Unexpected max serialisation length");
-
+
/// @brief Name of the message.
static const char* doName()
{
return howto1::message::Msg1Common::name();
}
-
+
/// @brief Custom read functionality
template
comms::ErrorStatus doRead(TIter& iter, std::size_t len)
@@ -235,31 +217,26 @@ class Msg1 : public
doRefresh(); // Update mode according to flags in the interface
return Base::doRead(iter, len);
}
-
-
+
// @brief Custom refresh functionality
bool doRefresh()
{
bool updated = Base::doRefresh(); // Don't forget default refresh functionality
-
+
auto expF3Mode = comms::field::OptionalMode::Missing;
if (Base::transportField_flags().getBitValue_B0()) {
expF3Mode = comms::field::OptionalMode::Exists;
}
-
+
if (field_f3().getMode() == expF3Mode) {
return updated;
}
-
+
field_f3().setMode(expF3Mode);
return true;
}
-
-
};
} // namespace message
} // namespace howto1
-
-
diff --git a/howtos/howto1/include/howto1/message/Msg1Common.h b/howtos/howto1/include/howto1/message/Msg1Common.h
index 3f6d21588..beb84f1a0 100644
--- a/howtos/howto1/include/howto1/message/Msg1Common.h
+++ b/howtos/howto1/include/howto1/message/Msg1Common.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -14,7 +14,6 @@ namespace howto1
namespace message
{
-
/// @brief Common types and functions for fields of
/// @ref howto1::message::Msg1 message.
/// @see howto1::message::Msg1Fields
@@ -27,22 +26,20 @@ struct Msg1FieldsCommon
/// @brief Re-definition of the value type used by
/// howto1::message::Msg1Fields::F1 field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto1::message::Msg1Fields::F1 field.
static const char* name()
{
return "F1";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
+
/// @brief Common types and functions for
/// @ref howto1::message::Msg1Fields::F2 field.
struct F2Common
@@ -50,22 +47,20 @@ struct Msg1FieldsCommon
/// @brief Re-definition of the value type used by
/// howto1::message::Msg1Fields::F2 field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto1::message::Msg1Fields::F2 field.
static const char* name()
{
return "F2";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
+
/// @brief Scope for all the common definitions of the member fields of
/// @ref howto1::message::Msg1Fields::F3 field.
struct F3MembersCommon
@@ -77,24 +72,21 @@ struct Msg1FieldsCommon
/// @brief Re-definition of the value type used by
/// howto1::message::Msg1Fields::F3Members::Field field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto1::message::Msg1Fields::F3Members::Field field.
static const char* name()
{
return "F3";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
-
+
/// @brief Common types and functions for
/// @ref howto1::message::Msg1Fields::F3 field.
struct F3Common
@@ -104,9 +96,7 @@ struct Msg1FieldsCommon
{
return "F3";
}
-
};
-
};
/// @brief Common types and functions of
@@ -118,12 +108,8 @@ struct Msg1Common
{
return "Message 1";
}
-
};
} // namespace message
} // namespace howto1
-
-
-
diff --git a/howtos/howto1/include/howto1/message/Msg2.h b/howtos/howto1/include/howto1/message/Msg2.h
index 0a1e44557..b463f5db6 100644
--- a/howtos/howto1/include/howto1/message/Msg2.h
+++ b/howtos/howto1/include/howto1/message/Msg2.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Message 2" message and its fields.
@@ -17,14 +17,12 @@
#include "howto1/message/Msg2Common.h"
#include "howto1/options/DefaultOptions.h"
-
namespace howto1
{
namespace message
{
-
/// @brief Fields of @ref Msg2.
/// @tparam TOpt Extra options
/// @see @ref Msg2
@@ -51,26 +49,21 @@ struct Msg2Fields
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto1::message::Msg2FieldsCommon::F1MembersCommon::LengthCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto1::message::Msg2FieldsCommon::F1MembersCommon::LengthCommon::name();
}
-
-
};
-
-
};
-
+
/// @brief Definition of "F1" field.
class F1 : public
comms::field::String<
@@ -93,17 +86,14 @@ struct Msg2Fields
static const std::size_t StrSize = std::extent::value;
Base::setValue(typename Base::ValueType(&Str[0], StrSize - 1));
}
-
+
/// @brief Name of the field.
static const char* name()
{
return howto1::message::Msg2FieldsCommon::F1Common::name();
}
-
-
};
-
-
+
/// @brief Scope for all the member fields of
/// @ref F2 field.
struct F2Members
@@ -123,26 +113,21 @@ struct Msg2Fields
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto1::message::Msg2FieldsCommon::F2MembersCommon::FieldCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto1::message::Msg2FieldsCommon::F2MembersCommon::FieldCommon::name();
}
-
-
};
-
-
};
-
+
/// @brief Definition of "F2" field.
/// @details
/// The field exists only when B1 in interface flags is set.
@@ -163,11 +148,8 @@ struct Msg2Fields
{
return howto1::message::Msg2FieldsCommon::F2Common::name();
}
-
-
};
-
-
+
/// @brief All the fields bundled in std::tuple.
using All = std::tuple<
F1,
@@ -218,17 +200,17 @@ class Msg2 : public
f1,
f2
);
-
+
// Compile time check for serialisation length.
static const std::size_t MsgMinLen = Base::doMinLength();
static_assert(MsgMinLen == 1U, "Unexpected min serialisation length");
-
+
/// @brief Name of the message.
static const char* doName()
{
return howto1::message::Msg2Common::name();
}
-
+
/// @brief Custom read functionality
template
comms::ErrorStatus doRead(TIter& iter, std::size_t len)
@@ -236,31 +218,26 @@ class Msg2 : public
doRefresh(); // Update mode according to flags in the interface
return Base::doRead(iter, len);
}
-
-
+
// @brief Custom refresh functionality
bool doRefresh()
{
bool updated = Base::doRefresh(); // Don't forget default refresh functionality
-
+
auto expF2Mode = comms::field::OptionalMode::Missing;
if (Base::transportField_flags().getBitValue_B1()) {
expF2Mode = comms::field::OptionalMode::Exists;
}
-
+
if (field_f2().getMode() == expF2Mode) {
return updated;
}
-
+
field_f2().setMode(expF2Mode);
return true;
}
-
-
};
} // namespace message
} // namespace howto1
-
-
diff --git a/howtos/howto1/include/howto1/message/Msg2Common.h b/howtos/howto1/include/howto1/message/Msg2Common.h
index 2e7aa6d4f..7a6753101 100644
--- a/howtos/howto1/include/howto1/message/Msg2Common.h
+++ b/howtos/howto1/include/howto1/message/Msg2Common.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -14,7 +14,6 @@ namespace howto1
namespace message
{
-
/// @brief Common types and functions for fields of
/// @ref howto1::message::Msg2 message.
/// @see howto1::message::Msg2Fields
@@ -31,24 +30,21 @@ struct Msg2FieldsCommon
/// @brief Re-definition of the value type used by
/// howto1::message::Msg2Fields::F1Members::Length field.
using ValueType = std::uint8_t;
-
+
/// @brief Name of the @ref howto1::message::Msg2Fields::F1Members::Length field.
static const char* name()
{
return "Length";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
-
+
/// @brief Common types and functions for
/// @ref howto1::message::Msg2Fields::F1 field.
struct F1Common
@@ -58,9 +54,8 @@ struct Msg2FieldsCommon
{
return "F1";
}
-
};
-
+
/// @brief Scope for all the common definitions of the member fields of
/// @ref howto1::message::Msg2Fields::F2 field.
struct F2MembersCommon
@@ -72,24 +67,21 @@ struct Msg2FieldsCommon
/// @brief Re-definition of the value type used by
/// howto1::message::Msg2Fields::F2Members::Field field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto1::message::Msg2Fields::F2Members::Field field.
static const char* name()
{
return "F2";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
-
+
/// @brief Common types and functions for
/// @ref howto1::message::Msg2Fields::F2 field.
struct F2Common
@@ -99,9 +91,7 @@ struct Msg2FieldsCommon
{
return "F2";
}
-
};
-
};
/// @brief Common types and functions of
@@ -113,12 +103,8 @@ struct Msg2Common
{
return "Message 2";
}
-
};
} // namespace message
} // namespace howto1
-
-
-
diff --git a/howtos/howto1/include/howto1/options/BareMetalDefaultOptions.h b/howtos/howto1/include/howto1/options/BareMetalDefaultOptions.h
index 760ca09c8..a5009b0d8 100644
--- a/howtos/howto1/include/howto1/options/BareMetalDefaultOptions.h
+++ b/howtos/howto1/include/howto1/options/BareMetalDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol bare metal default options.
@@ -37,11 +37,9 @@ struct BareMetalDefaultOptionsT : public TBase
comms::option::app::FixedSizeStorage,
typename TBase::message::Msg2Fields::F1
>;
-
};
-
}; // struct message
-
+
/// @brief Extra options for frames.
struct frame : public TBase::frame
{
@@ -56,7 +54,7 @@ struct BareMetalDefaultOptionsT : public TBase
comms::option::app::FixedSizeStorage,
typename TBase::frame::FrameLayers::Data
>;
-
+
/// @brief Extra options for @ref
/// howto1::frame::FrameLayers::Id layer.
using Id =
@@ -64,13 +62,8 @@ struct BareMetalDefaultOptionsT : public TBase
comms::option::app::InPlaceAllocation,
typename TBase::frame::FrameLayers::Id
>;
-
-
}; // struct FrameLayers
-
}; // struct frame
-
-
};
/// @brief Alias to @ref BareMetalDefaultOptionsT with default template parameter.
diff --git a/howtos/howto1/include/howto1/options/ClientDefaultOptions.h b/howtos/howto1/include/howto1/options/ClientDefaultOptions.h
index 54f1da723..19fa0055d 100644
--- a/howtos/howto1/include/howto1/options/ClientDefaultOptions.h
+++ b/howtos/howto1/include/howto1/options/ClientDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol client default options.
diff --git a/howtos/howto1/include/howto1/options/DataViewDefaultOptions.h b/howtos/howto1/include/howto1/options/DataViewDefaultOptions.h
index 8de34ae64..a36203cbd 100644
--- a/howtos/howto1/include/howto1/options/DataViewDefaultOptions.h
+++ b/howtos/howto1/include/howto1/options/DataViewDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol data view default options.
@@ -31,11 +31,9 @@ struct DataViewDefaultOptionsT : public TBase
comms::option::app::OrigDataView,
typename TBase::message::Msg2Fields::F1
>;
-
};
-
}; // struct message
-
+
/// @brief Extra options for frames.
struct frame : public TBase::frame
{
@@ -50,13 +48,8 @@ struct DataViewDefaultOptionsT : public TBase
comms::option::app::OrigDataView,
typename TBase::frame::FrameLayers::Data
>;
-
-
}; // struct FrameLayers
-
}; // struct frame
-
-
};
/// @brief Alias to @ref DataViewDefaultOptionsT with default template parameter.
diff --git a/howtos/howto1/include/howto1/options/DefaultOptions.h b/howtos/howto1/include/howto1/options/DefaultOptions.h
index ef896405c..532379c4d 100644
--- a/howtos/howto1/include/howto1/options/DefaultOptions.h
+++ b/howtos/howto1/include/howto1/options/DefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol default options.
@@ -30,11 +30,9 @@ struct DefaultOptionsT : public TBase
/// @brief Extra options for @ref
/// howto1::message::Msg2Fields::F1 field.
using F1 = comms::option::EmptyOption;
-
};
-
}; // struct message
-
+
/// @brief Extra options for frames.
struct frame
{
@@ -45,22 +43,17 @@ struct DefaultOptionsT : public TBase
/// @brief Extra options for @ref
/// howto1::frame::FrameLayers::Data layer.
using Data = comms::option::EmptyOption;
-
+
/// @brief Extra options for @ref
/// howto1::frame::FrameLayers::Id layer.
using Id = comms::option::EmptyOption;
-
+
/// @brief Extra options for @ref
/// howto1::frame::FrameLayers::SizeWithFlags
/// layer.
using SizeWithFlags = comms::option::EmptyOption;
-
-
}; // struct FrameLayers
-
}; // struct frame
-
-
};
/// @brief Default (empty) options of the protocol.
diff --git a/howtos/howto1/include/howto1/options/ServerDefaultOptions.h b/howtos/howto1/include/howto1/options/ServerDefaultOptions.h
index abe920851..f12a5f9c9 100644
--- a/howtos/howto1/include/howto1/options/ServerDefaultOptions.h
+++ b/howtos/howto1/include/howto1/options/ServerDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol server default options.
diff --git a/howtos/howto10/include/howto10/Interface.h b/howtos/howto10/include/howto10/Interface.h
index 8144b81d1..fe2c53db3 100644
--- a/howtos/howto10/include/howto10/Interface.h
+++ b/howtos/howto10/include/howto10/Interface.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Interface" interface class.
@@ -16,7 +16,6 @@
namespace howto10
{
-
/// @brief Extra transport fields of @ref Interface interface class.
/// @see @ref Interface
/// @headerfile howto10/Interface.h
@@ -27,8 +26,7 @@ struct InterfaceFields
howto10::field::Flags<
howto10::options::DefaultOptions
>;
-
-
+
/// @brief All the fields bundled in std::tuple.
using All = std::tuple<
Flags
@@ -66,10 +64,6 @@ class Interface : public
COMMS_MSG_TRANSPORT_FIELDS_NAMES(
flags
);
-
-
};
} // namespace howto10
-
-
diff --git a/howtos/howto10/include/howto10/InterfaceCommon.h b/howtos/howto10/include/howto10/InterfaceCommon.h
index da3402609..a87396c5a 100644
--- a/howtos/howto10/include/howto10/InterfaceCommon.h
+++ b/howtos/howto10/include/howto10/InterfaceCommon.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -11,7 +11,6 @@
namespace howto10
{
-
/// @brief Common types and functions for fields of
/// @ref howto10::Interface interface.
/// @see howto10::InterfaceFields
@@ -20,8 +19,5 @@ struct InterfaceFieldsCommon
/// @brief Common types and functions for
/// @ref howto10::InterfaceFields::Flags field.
using FlagsCommon = howto10::field::FlagsCommon;
-
};
} // namespace howto10
-
-
diff --git a/howtos/howto10/include/howto10/MsgId.h b/howtos/howto10/include/howto10/MsgId.h
index 9d632337d..4a187fc40 100644
--- a/howtos/howto10/include/howto10/MsgId.h
+++ b/howtos/howto10/include/howto10/MsgId.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of message ids enumeration.
@@ -16,7 +16,7 @@ enum MsgId : std::uint8_t
MsgId_M1 = 1, ///< message id of Message 1 message. ,
MsgId_M2 = 2, ///< message id of Message 2 message. ,
MsgId_M3 = 3, ///< message id of Message 3 message. ,
-
+
// --- Extra values generated for convenience ---,
MsgId_FirstValue = 1, ///< First defined value.,
MsgId_LastValue = 3, ///< Last defined value.,
@@ -24,4 +24,3 @@ enum MsgId : std::uint8_t
};
} // namespace howto10
-
diff --git a/howtos/howto10/include/howto10/Version.h b/howtos/howto10/include/howto10/Version.h
index 8c08b2858..ef7f4f2f4 100644
--- a/howtos/howto10/include/howto10/Version.h
+++ b/howtos/howto10/include/howto10/Version.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains protocol version definition.
@@ -22,6 +22,5 @@ inline constexpr unsigned specVersion()
} // namespace howto10
// Generated compile time check for minimal supported version of the COMMS library
-static_assert(COMMS_MAKE_VERSION(5, 0, 0) <= comms::version(),
+static_assert(COMMS_MAKE_VERSION(5, 0, 3) <= comms::version(),
"The version of COMMS library is too old");
-
diff --git a/howtos/howto10/include/howto10/dispatch/DispatchClientInputMessage.h b/howtos/howto10/include/howto10/dispatch/DispatchClientInputMessage.h
index f4cb0ca3f..06962e997 100644
--- a/howtos/howto10/include/howto10/dispatch/DispatchClientInputMessage.h
+++ b/howtos/howto10/include/howto10/dispatch/DispatchClientInputMessage.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains dispatch to handling function(s) for client input input messages.
@@ -134,7 +134,7 @@ auto dispatchClientInputMessageDefaultOptions(
/// @tparam TProtOptions Protocol options struct used for the application,
/// like @ref howto10::options::DefaultOptions.
/// @headerfile howto10/dispatch/DispatchClientInputMessage.h
-template
+template
struct ClientInputMsgDispatcher
{
/// @brief Class detection tag
@@ -194,9 +194,7 @@ struct ClientInputMsgDispatcher
/// @ref howto10::options::DefaultOptions as template parameter.
/// @note Defined in howto10/dispatch/DispatchClientInputMessage.h
using ClientInputMsgDispatcherDefaultOptions =
- ClientInputMsgDispatcher;
-
-
+ ClientInputMsgDispatcher<>;
} // namespace dispatch
diff --git a/howtos/howto10/include/howto10/dispatch/DispatchMessage.h b/howtos/howto10/include/howto10/dispatch/DispatchMessage.h
index bb4edbdaf..398aee113 100644
--- a/howtos/howto10/include/howto10/dispatch/DispatchMessage.h
+++ b/howtos/howto10/include/howto10/dispatch/DispatchMessage.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains dispatch to handling function(s) for all input messages.
@@ -134,7 +134,7 @@ auto dispatchMessageDefaultOptions(
/// @tparam TProtOptions Protocol options struct used for the application,
/// like @ref howto10::options::DefaultOptions.
/// @headerfile howto10/dispatch/DispatchMessage.h
-template
+template
struct MsgDispatcher
{
/// @brief Class detection tag
@@ -194,9 +194,7 @@ struct MsgDispatcher
/// @ref howto10::options::DefaultOptions as template parameter.
/// @note Defined in howto10/dispatch/DispatchMessage.h
using MsgDispatcherDefaultOptions =
- MsgDispatcher;
-
-
+ MsgDispatcher<>;
} // namespace dispatch
diff --git a/howtos/howto10/include/howto10/dispatch/DispatchServerInputMessage.h b/howtos/howto10/include/howto10/dispatch/DispatchServerInputMessage.h
index 888253c1b..93ac606c2 100644
--- a/howtos/howto10/include/howto10/dispatch/DispatchServerInputMessage.h
+++ b/howtos/howto10/include/howto10/dispatch/DispatchServerInputMessage.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains dispatch to handling function(s) for client input input messages.
@@ -134,7 +134,7 @@ auto dispatchServerInputMessageDefaultOptions(
/// @tparam TProtOptions Protocol options struct used for the application,
/// like @ref howto10::options::DefaultOptions.
/// @headerfile howto10/dispatch/DispatchServerInputMessage.h
-template
+template
struct ServerInputMsgDispatcher
{
/// @brief Class detection tag
@@ -194,9 +194,7 @@ struct ServerInputMsgDispatcher
/// @ref howto10::options::DefaultOptions as template parameter.
/// @note Defined in howto10/dispatch/DispatchServerInputMessage.h
using ServerInputMsgDispatcherDefaultOptions =
- ServerInputMsgDispatcher;
-
-
+ ServerInputMsgDispatcher<>;
} // namespace dispatch
diff --git a/howtos/howto10/include/howto10/field/FieldBase.h b/howtos/howto10/include/howto10/field/FieldBase.h
index e1f148410..82f364120 100644
--- a/howtos/howto10/include/howto10/field/FieldBase.h
+++ b/howtos/howto10/include/howto10/field/FieldBase.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of base class of all the fields.
@@ -27,4 +27,3 @@ using FieldBase =
} // namespace field
} // namespace howto10
-
diff --git a/howtos/howto10/include/howto10/field/Flags.h b/howtos/howto10/include/howto10/field/Flags.h
index 3baba0d9c..d14048cd0 100644
--- a/howtos/howto10/include/howto10/field/Flags.h
+++ b/howtos/howto10/include/howto10/field/Flags.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Flags" field.
@@ -17,7 +17,6 @@ namespace howto10
namespace field
{
-
/// @brief Definition of "Flags" field.
/// @tparam TOpt Protocol options.
/// @tparam TExtraOpts Extra options.
@@ -50,7 +49,7 @@ class Flags : public
B0,
B1
);
-
+
/// @brief Retrieve name of the bit.
/// @see @ref howto10::field::FlagsCommon::bitName().
static const char* bitName(BitIdx idx)
@@ -59,18 +58,14 @@ class Flags : public
howto10::field::FlagsCommon::bitName(
static_cast(idx));
}
-
+
/// @brief Name of the field.
static const char* name()
{
return howto10::field::FlagsCommon::name();
}
-
-
};
-
} // namespace field
} // namespace howto10
-
diff --git a/howtos/howto10/include/howto10/field/FlagsCommon.h b/howtos/howto10/include/howto10/field/FlagsCommon.h
index ad888bec8..06b896ea2 100644
--- a/howtos/howto10/include/howto10/field/FlagsCommon.h
+++ b/howtos/howto10/include/howto10/field/FlagsCommon.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -14,7 +14,6 @@ namespace howto10
namespace field
{
-
/// @brief Common types and functions for
/// @ref howto10::field::Flags field.
struct FlagsCommon
@@ -24,7 +23,7 @@ struct FlagsCommon
{
return "Flags";
}
-
+
/// @brief Retrieve name of the bit of
/// @ref howto10::field::Flags field.
static const char* bitName(std::size_t idx)
@@ -33,19 +32,16 @@ struct FlagsCommon
"B0",
"B1"
};
-
+
static const std::size_t MapSize = std::extent::value;
if (MapSize <= idx) {
return nullptr;
}
-
+
return Map[idx];
}
-
-
};
} // namespace field
} // namespace howto10
-
diff --git a/howtos/howto10/include/howto10/field/MsgId.h b/howtos/howto10/include/howto10/field/MsgId.h
index 2e30bdd09..7d341f1a0 100644
--- a/howtos/howto10/include/howto10/field/MsgId.h
+++ b/howtos/howto10/include/howto10/field/MsgId.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "MsgId" field.
@@ -17,7 +17,6 @@ namespace howto10
namespace field
{
-
/// @brief Definition of "MsgId" field.
/// @see @ref howto10::MsgId
/// @tparam TOpt Protocol options.
@@ -41,46 +40,48 @@ class MsgId : public
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Single value name info entry.
using ValueNameInfo = howto10::field::MsgIdCommon::ValueNameInfo;
-
+
/// @brief Type returned from @ref valueNamesMap() member function.
/// @see @ref howto10::field::MsgIdCommon::ValueNamesMapInfo.
using ValueNamesMapInfo = howto10::field::MsgIdCommon::ValueNamesMapInfo;
-
+
/// @brief Retrieve name of the enum value.
/// @see @ref howto10::field::MsgIdCommon::valueName().
static const char* valueName(ValueType val)
{
return howto10::field::MsgIdCommon::valueName(val);
}
-
+
+ /// @brief Retrieve name of the enum value.
+ /// @see @ref howto10::field::MsgIdCommon::valueName().
+ static const char* valueNameOf(ValueType val)
+ {
+ return howto10::field::MsgIdCommon::valueName(val);
+ }
+
/// @brief Retrieve name of the @b current value
const char* valueName() const
{
return valueName(Base::getValue());
}
-
+
/// @brief Retrieve map of enum value names.
/// @see @ref howto10::field::MsgIdCommon::valueNamesMap().
static ValueNamesMapInfo valueNamesMap()
{
return howto10::field::MsgIdCommon::valueNamesMap();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto10::field::MsgIdCommon::name();
}
-
-
};
-
} // namespace field
} // namespace howto10
-
diff --git a/howtos/howto10/include/howto10/field/MsgIdCommon.h b/howtos/howto10/include/howto10/field/MsgIdCommon.h
index 1d2920d29..8c0022acb 100644
--- a/howtos/howto10/include/howto10/field/MsgIdCommon.h
+++ b/howtos/howto10/include/howto10/field/MsgIdCommon.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -6,9 +6,7 @@
#pragma once
-#include
#include
-#include
#include
#include
#include "howto10/MsgId.h"
@@ -19,7 +17,6 @@ namespace howto10
namespace field
{
-
/// @brief Common types and functions for
/// @ref howto10::field::MsgId field.
struct MsgIdCommon
@@ -27,21 +24,21 @@ struct MsgIdCommon
/// @brief Values enumerator for
/// @ref howto10::field::MsgId field.
using ValueType = howto10::MsgId;
-
+
/// @brief Single value name info entry
using ValueNameInfo = const char*;
-
+
/// @brief Type returned from @ref valueNamesMap() member function.
/// @details The @b first value of the pair is pointer to the map array,
/// The @b second value of the pair is the size of the array.
using ValueNamesMapInfo = std::pair;
-
+
/// @brief Name of the @ref howto10::field::MsgId field.
static const char* name()
{
return "MsgId";
}
-
+
/// @brief Retrieve name of the enum value
static const char* valueName(ValueType val)
{
@@ -49,10 +46,10 @@ struct MsgIdCommon
if (namesMapInfo.second <= static_cast(val)) {
return nullptr;
}
-
+
return namesMapInfo.first[static_cast(val)];
}
-
+
/// @brief Retrieve map of enum value names
static ValueNamesMapInfo valueNamesMap()
{
@@ -63,19 +60,15 @@ struct MsgIdCommon
"Message 3"
};
static const std::size_t MapSize = std::extent::value;
-
+
return std::make_pair(&Map[0], MapSize);
}
-
-
};
/// @brief Values enumerator for
/// @ref howto10::field::MsgId field.
using MsgIdVal = MsgIdCommon::ValueType;
-
} // namespace field
} // namespace howto10
-
diff --git a/howtos/howto10/include/howto10/frame/Frame.h b/howtos/howto10/include/howto10/frame/Frame.h
index 295b877e5..09c9840f9 100644
--- a/howtos/howto10/include/howto10/frame/Frame.h
+++ b/howtos/howto10/include/howto10/frame/Frame.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Frame" frame class.
@@ -29,7 +29,6 @@ namespace howto10
namespace frame
{
-
/// @brief Layers definition of @ref Frame frame class.
/// @tparam TOpt Protocol options.
/// @see @ref Frame
@@ -42,7 +41,7 @@ struct FrameLayers
comms::protocol::MsgDataLayer<
typename TOpt::frame::FrameLayers::Data
>;
-
+
/// @brief Scope for field(s) of @ref Checksum layer.
struct ChecksumMembers
{
@@ -61,26 +60,21 @@ struct FrameLayers
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto10::frame::FrameLayersCommon::ChecksumMembersCommon::ChecksumFieldCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto10::frame::FrameLayersCommon::ChecksumMembersCommon::ChecksumFieldCommon::name();
}
-
-
};
-
-
};
-
+
/// @brief Definition of layer "Checksum".
using Checksum =
comms::protocol::ChecksumLayer<
@@ -89,7 +83,7 @@ struct FrameLayers
Data,
comms::option::def::ChecksumLayerVerifyBeforeRead
>;
-
+
/// @brief Definition of layer "PseudoFlags".
using PseudoFlags =
comms::protocol::TransportValueLayer<
@@ -101,7 +95,7 @@ struct FrameLayers
Checksum,
comms::option::def::PseudoValue
>;
-
+
/// @brief Definition of layer "Id".
template
using Id =
@@ -114,7 +108,7 @@ struct FrameLayers
PseudoFlags,
typename TOpt::frame::FrameLayers::Id
>;
-
+
/// @brief Definition of layer "Flags".
template
using Flags =
@@ -125,7 +119,7 @@ struct FrameLayers
Id,
typename TOpt::frame::FrameLayers::Flags
>;
-
+
/// @brief Scope for field(s) of @ref Size layer.
struct SizeMembers
{
@@ -144,26 +138,21 @@ struct FrameLayers
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto10::frame::FrameLayersCommon::SizeMembersCommon::SizeFieldCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto10::frame::FrameLayersCommon::SizeMembersCommon::SizeFieldCommon::name();
}
-
-
};
-
-
};
-
+
/// @brief Definition of layer "Size".
template
using Size =
@@ -171,7 +160,7 @@ struct FrameLayers
typename SizeMembers::SizeField,
Flags
>;
-
+
/// @brief Scope for field(s) of @ref Sync layer.
struct SyncMembers
{
@@ -194,26 +183,21 @@ struct FrameLayers
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto10::frame::FrameLayersCommon::SyncMembersCommon::SyncFieldCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto10::frame::FrameLayersCommon::SyncMembersCommon::SyncFieldCommon::name();
}
-
-
};
-
-
};
-
+
/// @brief Definition of layer "Sync".
template
using Sync =
@@ -221,11 +205,10 @@ struct FrameLayers
typename SyncMembers::SyncField,
Size
>;
-
+
/// @brief Final protocol stack definition.
template
using Stack = Sync;
-
};
/// @brief Definition of "Frame" frame class.
@@ -270,5 +253,3 @@ class Frame : public
} // namespace frame
} // namespace howto10
-
-
diff --git a/howtos/howto10/include/howto10/frame/FrameCommon.h b/howtos/howto10/include/howto10/frame/FrameCommon.h
index f71d2fb8b..a9e6ca73e 100644
--- a/howtos/howto10/include/howto10/frame/FrameCommon.h
+++ b/howtos/howto10/include/howto10/frame/FrameCommon.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -14,7 +14,6 @@ namespace howto10
namespace frame
{
-
/// @brief Common types and functions of fields using in definition of
/// @ref howto10::frame::Frame frame.
/// @see howto10::frame::FrameLayers
@@ -31,24 +30,21 @@ struct FrameLayersCommon
/// @brief Re-definition of the value type used by
/// howto10::frame::FrameLayers::SyncMembers::SyncField field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto10::frame::FrameLayers::SyncMembers::SyncField field.
static const char* name()
{
return "SyncField";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
-
+
/// @brief Scope for all the common definitions of the fields defined in
/// @ref howto10::frame::FrameLayers::SizeMembers struct.
struct SizeMembersCommon
@@ -60,24 +56,21 @@ struct FrameLayersCommon
/// @brief Re-definition of the value type used by
/// howto10::frame::FrameLayers::SizeMembers::SizeField field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto10::frame::FrameLayers::SizeMembers::SizeField field.
static const char* name()
{
return "SizeField";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
-
+
/// @brief Scope for all the common definitions of the fields defined in
/// @ref howto10::frame::FrameLayers::ChecksumMembers struct.
struct ChecksumMembersCommon
@@ -89,28 +82,22 @@ struct FrameLayersCommon
/// @brief Re-definition of the value type used by
/// howto10::frame::FrameLayers::ChecksumMembers::ChecksumField field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto10::frame::FrameLayers::ChecksumMembers::ChecksumField field.
static const char* name()
{
return "ChecksumField";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
-
};
} // namespace frame
} // namespace howto10
-
-
diff --git a/howtos/howto10/include/howto10/input/AllMessages.h b/howtos/howto10/include/howto10/input/AllMessages.h
index 30c4751cd..9fd10df7d 100644
--- a/howtos/howto10/include/howto10/input/AllMessages.h
+++ b/howtos/howto10/include/howto10/input/AllMessages.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of the AllMessages messages bundle.
diff --git a/howtos/howto10/include/howto10/input/ClientInputMessages.h b/howtos/howto10/include/howto10/input/ClientInputMessages.h
index 050f8d5cf..18be6e593 100644
--- a/howtos/howto10/include/howto10/input/ClientInputMessages.h
+++ b/howtos/howto10/include/howto10/input/ClientInputMessages.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of the ClientInputMessages messages bundle.
diff --git a/howtos/howto10/include/howto10/input/ServerInputMessages.h b/howtos/howto10/include/howto10/input/ServerInputMessages.h
index fa54bf380..5c0855b44 100644
--- a/howtos/howto10/include/howto10/input/ServerInputMessages.h
+++ b/howtos/howto10/include/howto10/input/ServerInputMessages.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of the ServerInputMessages messages bundle.
diff --git a/howtos/howto10/include/howto10/message/Msg1.h b/howtos/howto10/include/howto10/message/Msg1.h
index c68d500e5..256f0ad88 100644
--- a/howtos/howto10/include/howto10/message/Msg1.h
+++ b/howtos/howto10/include/howto10/message/Msg1.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Message 1" message and its fields.
@@ -15,14 +15,12 @@
#include "howto10/message/Msg1Common.h"
#include "howto10/options/DefaultOptions.h"
-
namespace howto10
{
namespace message
{
-
/// @brief Fields of @ref Msg1.
/// @tparam TOpt Extra options
/// @see @ref Msg1
@@ -45,24 +43,20 @@ struct Msg1Fields
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto10::message::Msg1FieldsCommon::F1Common::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto10::message::Msg1FieldsCommon::F1Common::name();
}
-
-
};
-
-
+
/// @brief All the fields bundled in std::tuple.
using All = std::tuple<
F1
@@ -107,24 +101,20 @@ class Msg1 : public
COMMS_MSG_FIELDS_NAMES(
f1
);
-
+
// Compile time check for serialisation length.
static const std::size_t MsgMinLen = Base::doMinLength();
static const std::size_t MsgMaxLen = Base::doMaxLength();
static_assert(MsgMinLen == 2U, "Unexpected min serialisation length");
static_assert(MsgMaxLen == 2U, "Unexpected max serialisation length");
-
+
/// @brief Name of the message.
static const char* doName()
{
return howto10::message::Msg1Common::name();
}
-
-
};
} // namespace message
} // namespace howto10
-
-
diff --git a/howtos/howto10/include/howto10/message/Msg1Common.h b/howtos/howto10/include/howto10/message/Msg1Common.h
index 1c1093001..e28480508 100644
--- a/howtos/howto10/include/howto10/message/Msg1Common.h
+++ b/howtos/howto10/include/howto10/message/Msg1Common.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -14,7 +14,6 @@ namespace howto10
namespace message
{
-
/// @brief Common types and functions for fields of
/// @ref howto10::message::Msg1 message.
/// @see howto10::message::Msg1Fields
@@ -27,22 +26,19 @@ struct Msg1FieldsCommon
/// @brief Re-definition of the value type used by
/// howto10::message::Msg1Fields::F1 field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto10::message::Msg1Fields::F1 field.
static const char* name()
{
return "F1";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
/// @brief Common types and functions of
@@ -54,12 +50,8 @@ struct Msg1Common
{
return "Message 1";
}
-
};
} // namespace message
} // namespace howto10
-
-
-
diff --git a/howtos/howto10/include/howto10/message/Msg2.h b/howtos/howto10/include/howto10/message/Msg2.h
index 78e869b12..714bcd4c3 100644
--- a/howtos/howto10/include/howto10/message/Msg2.h
+++ b/howtos/howto10/include/howto10/message/Msg2.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Message 2" message and its fields.
@@ -15,14 +15,12 @@
#include "howto10/message/Msg2Common.h"
#include "howto10/options/DefaultOptions.h"
-
namespace howto10
{
namespace message
{
-
/// @brief Fields of @ref Msg2.
/// @tparam TOpt Extra options
/// @see @ref Msg2
@@ -45,24 +43,20 @@ struct Msg2Fields
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto10::message::Msg2FieldsCommon::F1Common::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto10::message::Msg2FieldsCommon::F1Common::name();
}
-
-
};
-
-
+
/// @brief All the fields bundled in std::tuple.
using All = std::tuple<
F1
@@ -107,24 +101,20 @@ class Msg2 : public
COMMS_MSG_FIELDS_NAMES(
f1
);
-
+
// Compile time check for serialisation length.
static const std::size_t MsgMinLen = Base::doMinLength();
static const std::size_t MsgMaxLen = Base::doMaxLength();
static_assert(MsgMinLen == 4U, "Unexpected min serialisation length");
static_assert(MsgMaxLen == 4U, "Unexpected max serialisation length");
-
+
/// @brief Name of the message.
static const char* doName()
{
return howto10::message::Msg2Common::name();
}
-
-
};
} // namespace message
} // namespace howto10
-
-
diff --git a/howtos/howto10/include/howto10/message/Msg2Common.h b/howtos/howto10/include/howto10/message/Msg2Common.h
index b2b791ecf..4a77fb9ee 100644
--- a/howtos/howto10/include/howto10/message/Msg2Common.h
+++ b/howtos/howto10/include/howto10/message/Msg2Common.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -14,7 +14,6 @@ namespace howto10
namespace message
{
-
/// @brief Common types and functions for fields of
/// @ref howto10::message::Msg2 message.
/// @see howto10::message::Msg2Fields
@@ -27,22 +26,19 @@ struct Msg2FieldsCommon
/// @brief Re-definition of the value type used by
/// howto10::message::Msg2Fields::F1 field.
using ValueType = std::uint32_t;
-
+
/// @brief Name of the @ref howto10::message::Msg2Fields::F1 field.
static const char* name()
{
return "F1";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
/// @brief Common types and functions of
@@ -54,12 +50,8 @@ struct Msg2Common
{
return "Message 2";
}
-
};
} // namespace message
} // namespace howto10
-
-
-
diff --git a/howtos/howto10/include/howto10/message/Msg3.h b/howtos/howto10/include/howto10/message/Msg3.h
index 801f832ac..722c7b9f3 100644
--- a/howtos/howto10/include/howto10/message/Msg3.h
+++ b/howtos/howto10/include/howto10/message/Msg3.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Message 3" message and its fields.
@@ -16,14 +16,12 @@
#include "howto10/message/Msg3Common.h"
#include "howto10/options/DefaultOptions.h"
-
namespace howto10
{
namespace message
{
-
/// @brief Fields of @ref Msg3.
/// @tparam TOpt Extra options
/// @see @ref Msg3
@@ -50,26 +48,21 @@ struct Msg3Fields
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto10::message::Msg3FieldsCommon::F1MembersCommon::LengthCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto10::message::Msg3FieldsCommon::F1MembersCommon::LengthCommon::name();
}
-
-
};
-
-
};
-
+
/// @brief Definition of "F1" field.
class F1 : public
comms::field::String<
@@ -90,11 +83,8 @@ struct Msg3Fields
{
return howto10::message::Msg3FieldsCommon::F1Common::name();
}
-
-
};
-
-
+
/// @brief All the fields bundled in std::tuple.
using All = std::tuple<
F1
@@ -139,22 +129,18 @@ class Msg3 : public
COMMS_MSG_FIELDS_NAMES(
f1
);
-
+
// Compile time check for serialisation length.
static const std::size_t MsgMinLen = Base::doMinLength();
static_assert(MsgMinLen == 1U, "Unexpected min serialisation length");
-
+
/// @brief Name of the message.
static const char* doName()
{
return howto10::message::Msg3Common::name();
}
-
-
};
} // namespace message
} // namespace howto10
-
-
diff --git a/howtos/howto10/include/howto10/message/Msg3Common.h b/howtos/howto10/include/howto10/message/Msg3Common.h
index a6e229cbd..f38a7c813 100644
--- a/howtos/howto10/include/howto10/message/Msg3Common.h
+++ b/howtos/howto10/include/howto10/message/Msg3Common.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -14,7 +14,6 @@ namespace howto10
namespace message
{
-
/// @brief Common types and functions for fields of
/// @ref howto10::message::Msg3 message.
/// @see howto10::message::Msg3Fields
@@ -31,24 +30,21 @@ struct Msg3FieldsCommon
/// @brief Re-definition of the value type used by
/// howto10::message::Msg3Fields::F1Members::Length field.
using ValueType = std::uint8_t;
-
+
/// @brief Name of the @ref howto10::message::Msg3Fields::F1Members::Length field.
static const char* name()
{
return "Length";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
-
+
/// @brief Common types and functions for
/// @ref howto10::message::Msg3Fields::F1 field.
struct F1Common
@@ -58,9 +54,7 @@ struct Msg3FieldsCommon
{
return "F1";
}
-
};
-
};
/// @brief Common types and functions of
@@ -72,12 +66,8 @@ struct Msg3Common
{
return "Message 3";
}
-
};
} // namespace message
} // namespace howto10
-
-
-
diff --git a/howtos/howto10/include/howto10/options/BareMetalDefaultOptions.h b/howtos/howto10/include/howto10/options/BareMetalDefaultOptions.h
index 9cf0460d3..fac3af572 100644
--- a/howtos/howto10/include/howto10/options/BareMetalDefaultOptions.h
+++ b/howtos/howto10/include/howto10/options/BareMetalDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol bare metal default options.
@@ -37,11 +37,9 @@ struct BareMetalDefaultOptionsT : public TBase
comms::option::app::FixedSizeStorage,
typename TBase::message::Msg3Fields::F1
>;
-
};
-
}; // struct message
-
+
/// @brief Extra options for frames.
struct frame : public TBase::frame
{
@@ -56,7 +54,7 @@ struct BareMetalDefaultOptionsT : public TBase
comms::option::app::FixedSizeStorage,
typename TBase::frame::FrameLayers::Data
>;
-
+
/// @brief Extra options for @ref
/// howto10::frame::FrameLayers::Id layer.
using Id =
@@ -64,13 +62,8 @@ struct BareMetalDefaultOptionsT : public TBase
comms::option::app::InPlaceAllocation,
typename TBase::frame::FrameLayers::Id
>;
-
-
}; // struct FrameLayers
-
}; // struct frame
-
-
};
/// @brief Alias to @ref BareMetalDefaultOptionsT with default template parameter.
diff --git a/howtos/howto10/include/howto10/options/ClientDefaultOptions.h b/howtos/howto10/include/howto10/options/ClientDefaultOptions.h
index 035189ce9..b6ed51e03 100644
--- a/howtos/howto10/include/howto10/options/ClientDefaultOptions.h
+++ b/howtos/howto10/include/howto10/options/ClientDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol client default options.
diff --git a/howtos/howto10/include/howto10/options/DataViewDefaultOptions.h b/howtos/howto10/include/howto10/options/DataViewDefaultOptions.h
index 9d8d846ad..67d608d58 100644
--- a/howtos/howto10/include/howto10/options/DataViewDefaultOptions.h
+++ b/howtos/howto10/include/howto10/options/DataViewDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol data view default options.
@@ -31,11 +31,9 @@ struct DataViewDefaultOptionsT : public TBase
comms::option::app::OrigDataView,
typename TBase::message::Msg3Fields::F1
>;
-
};
-
}; // struct message
-
+
/// @brief Extra options for frames.
struct frame : public TBase::frame
{
@@ -50,13 +48,8 @@ struct DataViewDefaultOptionsT : public TBase
comms::option::app::OrigDataView,
typename TBase::frame::FrameLayers::Data
>;
-
-
}; // struct FrameLayers
-
}; // struct frame
-
-
};
/// @brief Alias to @ref DataViewDefaultOptionsT with default template parameter.
diff --git a/howtos/howto10/include/howto10/options/DefaultOptions.h b/howtos/howto10/include/howto10/options/DefaultOptions.h
index a4a09b0cd..0b0d82ed4 100644
--- a/howtos/howto10/include/howto10/options/DefaultOptions.h
+++ b/howtos/howto10/include/howto10/options/DefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol default options.
@@ -30,11 +30,9 @@ struct DefaultOptionsT : public TBase
/// @brief Extra options for @ref
/// howto10::message::Msg3Fields::F1 field.
using F1 = comms::option::EmptyOption;
-
};
-
}; // struct message
-
+
/// @brief Extra options for frames.
struct frame
{
@@ -45,22 +43,17 @@ struct DefaultOptionsT : public TBase
/// @brief Extra options for @ref
/// howto10::frame::FrameLayers::Data layer.
using Data = comms::option::EmptyOption;
-
+
/// @brief Extra options for @ref
/// howto10::frame::FrameLayers::Id layer.
using Id = comms::option::EmptyOption;
-
+
/// @brief Extra options for @ref
/// howto10::frame::FrameLayers::Flags
/// layer.
using Flags = comms::option::EmptyOption;
-
-
}; // struct FrameLayers
-
}; // struct frame
-
-
};
/// @brief Default (empty) options of the protocol.
diff --git a/howtos/howto10/include/howto10/options/ServerDefaultOptions.h b/howtos/howto10/include/howto10/options/ServerDefaultOptions.h
index 8318657f7..57fa8e7af 100644
--- a/howtos/howto10/include/howto10/options/ServerDefaultOptions.h
+++ b/howtos/howto10/include/howto10/options/ServerDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol server default options.
diff --git a/howtos/howto2/include/howto2/Message.h b/howtos/howto2/include/howto2/Message.h
index 0e9961a69..1093da895 100644
--- a/howtos/howto2/include/howto2/Message.h
+++ b/howtos/howto2/include/howto2/Message.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Message" interface class.
@@ -12,7 +12,6 @@
namespace howto2
{
-
/// @brief Definition of "Message" common interface class.
/// @tparam TOpt Interface definition options
/// @headerfile howto2/Message.h
@@ -25,5 +24,3 @@ using Message =
>;
} // namespace howto2
-
-
diff --git a/howtos/howto2/include/howto2/MsgId.h b/howtos/howto2/include/howto2/MsgId.h
index 476639e6f..ffef2cdbb 100644
--- a/howtos/howto2/include/howto2/MsgId.h
+++ b/howtos/howto2/include/howto2/MsgId.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of message ids enumeration.
@@ -17,7 +17,7 @@ enum MsgId : std::uint8_t
MsgId_M2 = 2, ///< message id of Message 2 message. ,
MsgId_M3 = 3, ///< message id of Message 3 message. ,
MsgId_M4 = 4, ///< message id of Message 4 message. ,
-
+
// --- Extra values generated for convenience ---,
MsgId_FirstValue = 1, ///< First defined value.,
MsgId_LastValue = 4, ///< Last defined value.,
@@ -25,4 +25,3 @@ enum MsgId : std::uint8_t
};
} // namespace howto2
-
diff --git a/howtos/howto2/include/howto2/Version.h b/howtos/howto2/include/howto2/Version.h
index e7dd1d74a..cd519c205 100644
--- a/howtos/howto2/include/howto2/Version.h
+++ b/howtos/howto2/include/howto2/Version.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains protocol version definition.
@@ -22,6 +22,5 @@ inline constexpr unsigned specVersion()
} // namespace howto2
// Generated compile time check for minimal supported version of the COMMS library
-static_assert(COMMS_MAKE_VERSION(5, 0, 0) <= comms::version(),
+static_assert(COMMS_MAKE_VERSION(5, 0, 3) <= comms::version(),
"The version of COMMS library is too old");
-
diff --git a/howtos/howto2/include/howto2/dispatch/DispatchClientInputMessage.h b/howtos/howto2/include/howto2/dispatch/DispatchClientInputMessage.h
index 339edf93a..6e8d5c1a1 100644
--- a/howtos/howto2/include/howto2/dispatch/DispatchClientInputMessage.h
+++ b/howtos/howto2/include/howto2/dispatch/DispatchClientInputMessage.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains dispatch to handling function(s) for client input input messages.
@@ -139,7 +139,7 @@ auto dispatchClientInputMessageDefaultOptions(
/// @tparam TProtOptions Protocol options struct used for the application,
/// like @ref howto2::options::DefaultOptions.
/// @headerfile howto2/dispatch/DispatchClientInputMessage.h
-template
+template
struct ClientInputMsgDispatcher
{
/// @brief Class detection tag
@@ -199,9 +199,7 @@ struct ClientInputMsgDispatcher
/// @ref howto2::options::DefaultOptions as template parameter.
/// @note Defined in howto2/dispatch/DispatchClientInputMessage.h
using ClientInputMsgDispatcherDefaultOptions =
- ClientInputMsgDispatcher;
-
-
+ ClientInputMsgDispatcher<>;
} // namespace dispatch
diff --git a/howtos/howto2/include/howto2/dispatch/DispatchMessage.h b/howtos/howto2/include/howto2/dispatch/DispatchMessage.h
index 3ad061ce5..7f6dc879c 100644
--- a/howtos/howto2/include/howto2/dispatch/DispatchMessage.h
+++ b/howtos/howto2/include/howto2/dispatch/DispatchMessage.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains dispatch to handling function(s) for all input messages.
@@ -139,7 +139,7 @@ auto dispatchMessageDefaultOptions(
/// @tparam TProtOptions Protocol options struct used for the application,
/// like @ref howto2::options::DefaultOptions.
/// @headerfile howto2/dispatch/DispatchMessage.h
-template
+template
struct MsgDispatcher
{
/// @brief Class detection tag
@@ -199,9 +199,7 @@ struct MsgDispatcher
/// @ref howto2::options::DefaultOptions as template parameter.
/// @note Defined in howto2/dispatch/DispatchMessage.h
using MsgDispatcherDefaultOptions =
- MsgDispatcher;
-
-
+ MsgDispatcher<>;
} // namespace dispatch
diff --git a/howtos/howto2/include/howto2/dispatch/DispatchServerInputMessage.h b/howtos/howto2/include/howto2/dispatch/DispatchServerInputMessage.h
index 55a0437b8..b72dda921 100644
--- a/howtos/howto2/include/howto2/dispatch/DispatchServerInputMessage.h
+++ b/howtos/howto2/include/howto2/dispatch/DispatchServerInputMessage.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains dispatch to handling function(s) for client input input messages.
@@ -139,7 +139,7 @@ auto dispatchServerInputMessageDefaultOptions(
/// @tparam TProtOptions Protocol options struct used for the application,
/// like @ref howto2::options::DefaultOptions.
/// @headerfile howto2/dispatch/DispatchServerInputMessage.h
-template
+template
struct ServerInputMsgDispatcher
{
/// @brief Class detection tag
@@ -199,9 +199,7 @@ struct ServerInputMsgDispatcher
/// @ref howto2::options::DefaultOptions as template parameter.
/// @note Defined in howto2/dispatch/DispatchServerInputMessage.h
using ServerInputMsgDispatcherDefaultOptions =
- ServerInputMsgDispatcher;
-
-
+ ServerInputMsgDispatcher<>;
} // namespace dispatch
diff --git a/howtos/howto2/include/howto2/field/FieldBase.h b/howtos/howto2/include/howto2/field/FieldBase.h
index 2f7b21784..4724b77aa 100644
--- a/howtos/howto2/include/howto2/field/FieldBase.h
+++ b/howtos/howto2/include/howto2/field/FieldBase.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of base class of all the fields.
@@ -27,4 +27,3 @@ using FieldBase =
} // namespace field
} // namespace howto2
-
diff --git a/howtos/howto2/include/howto2/field/MsgId.h b/howtos/howto2/include/howto2/field/MsgId.h
index 34e8eb630..9f6342d3c 100644
--- a/howtos/howto2/include/howto2/field/MsgId.h
+++ b/howtos/howto2/include/howto2/field/MsgId.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "MsgId" field.
@@ -17,7 +17,6 @@ namespace howto2
namespace field
{
-
/// @brief Definition of "MsgId" field.
/// @see @ref howto2::MsgId
/// @tparam TOpt Protocol options.
@@ -41,46 +40,48 @@ class MsgId : public
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Single value name info entry.
using ValueNameInfo = howto2::field::MsgIdCommon::ValueNameInfo;
-
+
/// @brief Type returned from @ref valueNamesMap() member function.
/// @see @ref howto2::field::MsgIdCommon::ValueNamesMapInfo.
using ValueNamesMapInfo = howto2::field::MsgIdCommon::ValueNamesMapInfo;
-
+
/// @brief Retrieve name of the enum value.
/// @see @ref howto2::field::MsgIdCommon::valueName().
static const char* valueName(ValueType val)
{
return howto2::field::MsgIdCommon::valueName(val);
}
-
+
+ /// @brief Retrieve name of the enum value.
+ /// @see @ref howto2::field::MsgIdCommon::valueName().
+ static const char* valueNameOf(ValueType val)
+ {
+ return howto2::field::MsgIdCommon::valueName(val);
+ }
+
/// @brief Retrieve name of the @b current value
const char* valueName() const
{
return valueName(Base::getValue());
}
-
+
/// @brief Retrieve map of enum value names.
/// @see @ref howto2::field::MsgIdCommon::valueNamesMap().
static ValueNamesMapInfo valueNamesMap()
{
return howto2::field::MsgIdCommon::valueNamesMap();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto2::field::MsgIdCommon::name();
}
-
-
};
-
} // namespace field
} // namespace howto2
-
diff --git a/howtos/howto2/include/howto2/field/MsgIdCommon.h b/howtos/howto2/include/howto2/field/MsgIdCommon.h
index 416ed6ab1..0db6ba938 100644
--- a/howtos/howto2/include/howto2/field/MsgIdCommon.h
+++ b/howtos/howto2/include/howto2/field/MsgIdCommon.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -6,9 +6,7 @@
#pragma once
-#include
#include
-#include
#include
#include
#include "howto2/MsgId.h"
@@ -19,7 +17,6 @@ namespace howto2
namespace field
{
-
/// @brief Common types and functions for
/// @ref howto2::field::MsgId field.
struct MsgIdCommon
@@ -27,21 +24,21 @@ struct MsgIdCommon
/// @brief Values enumerator for
/// @ref howto2::field::MsgId field.
using ValueType = howto2::MsgId;
-
+
/// @brief Single value name info entry
using ValueNameInfo = const char*;
-
+
/// @brief Type returned from @ref valueNamesMap() member function.
/// @details The @b first value of the pair is pointer to the map array,
/// The @b second value of the pair is the size of the array.
using ValueNamesMapInfo = std::pair;
-
+
/// @brief Name of the @ref howto2::field::MsgId field.
static const char* name()
{
return "MsgId";
}
-
+
/// @brief Retrieve name of the enum value
static const char* valueName(ValueType val)
{
@@ -49,10 +46,10 @@ struct MsgIdCommon
if (namesMapInfo.second <= static_cast(val)) {
return nullptr;
}
-
+
return namesMapInfo.first[static_cast(val)];
}
-
+
/// @brief Retrieve map of enum value names
static ValueNamesMapInfo valueNamesMap()
{
@@ -64,19 +61,15 @@ struct MsgIdCommon
"Message 4"
};
static const std::size_t MapSize = std::extent::value;
-
+
return std::make_pair(&Map[0], MapSize);
}
-
-
};
/// @brief Values enumerator for
/// @ref howto2::field::MsgId field.
using MsgIdVal = MsgIdCommon::ValueType;
-
} // namespace field
} // namespace howto2
-
diff --git a/howtos/howto2/include/howto2/frame/Frame.h b/howtos/howto2/include/howto2/frame/Frame.h
index 46f4eb50a..3bbdb6d9b 100644
--- a/howtos/howto2/include/howto2/frame/Frame.h
+++ b/howtos/howto2/include/howto2/frame/Frame.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Frame" frame class.
@@ -24,7 +24,6 @@ namespace howto2
namespace frame
{
-
/// @brief Layers definition of @ref Frame frame class.
/// @tparam TOpt Protocol options.
/// @see @ref Frame
@@ -37,7 +36,7 @@ struct FrameLayers
comms::protocol::MsgDataLayer<
typename TOpt::frame::FrameLayers::Data
>;
-
+
/// @brief Scope for field(s) of @ref IdWithSize layer.
struct IdWithSizeMembers
{
@@ -62,32 +61,27 @@ struct FrameLayers
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto2::frame::FrameLayersCommon::IdWithSizeMembersCommon::FieldMembersCommon::SizeCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto2::frame::FrameLayersCommon::IdWithSizeMembersCommon::FieldMembersCommon::SizeCommon::name();
}
-
-
};
-
-
+
/// @brief Definition of "MsgId" field.
using MsgId =
howto2::field::MsgId<
TOpt,
comms::option::def::FixedBitLength<4U>
>;
-
-
+
/// @brief All members bundled in @b std::tuple.
using All =
std::tuple<
@@ -95,7 +89,7 @@ struct FrameLayers
MsgId
>;
};
-
+
/// @brief Definition of "Field" field.
class Field : public
comms::field::Bitfield<
@@ -123,19 +117,15 @@ struct FrameLayers
size,
msgId
);
-
+
/// @brief Name of the field.
static const char* name()
{
return howto2::frame::FrameLayersCommon::IdWithSizeMembersCommon::FieldCommon::name();
}
-
-
};
-
-
};
-
+
/// @brief Definition of layer "IdWithSize".
template
using IdWithSize =
@@ -146,11 +136,10 @@ struct FrameLayers
Data,
typename TOpt::frame::FrameLayers::IdWithSize
>;
-
+
/// @brief Final protocol stack definition.
template
using Stack = IdWithSize;
-
};
/// @brief Definition of "Frame" frame class.
@@ -185,5 +174,3 @@ class Frame : public
} // namespace frame
} // namespace howto2
-
-
diff --git a/howtos/howto2/include/howto2/frame/FrameCommon.h b/howtos/howto2/include/howto2/frame/FrameCommon.h
index 2e76d2194..6530d63ee 100644
--- a/howtos/howto2/include/howto2/frame/FrameCommon.h
+++ b/howtos/howto2/include/howto2/frame/FrameCommon.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -15,7 +15,6 @@ namespace howto2
namespace frame
{
-
/// @brief Common types and functions of fields using in definition of
/// @ref howto2::frame::Frame frame.
/// @see howto2::frame::FrameLayers
@@ -36,28 +35,25 @@ struct FrameLayersCommon
/// @brief Re-definition of the value type used by
/// howto2::frame::FrameLayers::IdWithSizeMembers::FieldMembers::Size field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto2::frame::FrameLayers::IdWithSizeMembers::FieldMembers::Size field.
static const char* name()
{
return "Size";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
+
/// @brief Common types and functions for
/// @ref howto2::frame::FrameLayers::IdWithSizeMembers::FieldMembers::MsgId field.
using MsgIdCommon = howto2::field::MsgIdCommon;
-
};
-
+
/// @brief Common types and functions for
/// @ref howto2::frame::FrameLayers::IdWithSizeMembers::Field field.
struct FieldCommon
@@ -67,15 +63,10 @@ struct FrameLayersCommon
{
return "Field";
}
-
};
-
};
-
};
} // namespace frame
} // namespace howto2
-
-
diff --git a/howtos/howto2/include/howto2/input/AllMessages.h b/howtos/howto2/include/howto2/input/AllMessages.h
index 2b42d2048..40708ed0b 100644
--- a/howtos/howto2/include/howto2/input/AllMessages.h
+++ b/howtos/howto2/include/howto2/input/AllMessages.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of the AllMessages messages bundle.
diff --git a/howtos/howto2/include/howto2/input/ClientInputMessages.h b/howtos/howto2/include/howto2/input/ClientInputMessages.h
index 379f1bd07..43f8611de 100644
--- a/howtos/howto2/include/howto2/input/ClientInputMessages.h
+++ b/howtos/howto2/include/howto2/input/ClientInputMessages.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of the ClientInputMessages messages bundle.
diff --git a/howtos/howto2/include/howto2/input/ServerInputMessages.h b/howtos/howto2/include/howto2/input/ServerInputMessages.h
index 8024af5b6..16da6d9b9 100644
--- a/howtos/howto2/include/howto2/input/ServerInputMessages.h
+++ b/howtos/howto2/include/howto2/input/ServerInputMessages.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of the ServerInputMessages messages bundle.
diff --git a/howtos/howto2/include/howto2/message/Msg1.h b/howtos/howto2/include/howto2/message/Msg1.h
index 919e607bd..c80647894 100644
--- a/howtos/howto2/include/howto2/message/Msg1.h
+++ b/howtos/howto2/include/howto2/message/Msg1.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Message 1" message and its fields.
@@ -14,14 +14,12 @@
#include "howto2/message/Msg1Common.h"
#include "howto2/options/DefaultOptions.h"
-
namespace howto2
{
namespace message
{
-
/// @brief Fields of @ref Msg1.
/// @tparam TOpt Extra options
/// @see @ref Msg1
@@ -49,17 +47,14 @@ struct Msg1Fields
static const std::size_t StrSize = std::extent::value;
Base::setValue(typename Base::ValueType(&Str[0], StrSize - 1));
}
-
+
/// @brief Name of the field.
static const char* name()
{
return howto2::message::Msg1FieldsCommon::F1Common::name();
}
-
-
};
-
-
+
/// @brief All the fields bundled in std::tuple.
using All = std::tuple<
F1
@@ -104,22 +99,18 @@ class Msg1 : public
COMMS_MSG_FIELDS_NAMES(
f1
);
-
+
// Compile time check for serialisation length.
static const std::size_t MsgMinLen = Base::doMinLength();
static_assert(MsgMinLen == 0U, "Unexpected min serialisation length");
-
+
/// @brief Name of the message.
static const char* doName()
{
return howto2::message::Msg1Common::name();
}
-
-
};
} // namespace message
} // namespace howto2
-
-
diff --git a/howtos/howto2/include/howto2/message/Msg1Common.h b/howtos/howto2/include/howto2/message/Msg1Common.h
index 5953f1397..c1a80dc2f 100644
--- a/howtos/howto2/include/howto2/message/Msg1Common.h
+++ b/howtos/howto2/include/howto2/message/Msg1Common.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -12,7 +12,6 @@ namespace howto2
namespace message
{
-
/// @brief Common types and functions for fields of
/// @ref howto2::message::Msg1 message.
/// @see howto2::message::Msg1Fields
@@ -27,9 +26,7 @@ struct Msg1FieldsCommon
{
return "F1";
}
-
};
-
};
/// @brief Common types and functions of
@@ -41,12 +38,8 @@ struct Msg1Common
{
return "Message 1";
}
-
};
} // namespace message
} // namespace howto2
-
-
-
diff --git a/howtos/howto2/include/howto2/message/Msg2.h b/howtos/howto2/include/howto2/message/Msg2.h
index 6f19bbc57..f1239985a 100644
--- a/howtos/howto2/include/howto2/message/Msg2.h
+++ b/howtos/howto2/include/howto2/message/Msg2.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Message 2" message and its fields.
@@ -15,14 +15,12 @@
#include "howto2/message/Msg2Common.h"
#include "howto2/options/DefaultOptions.h"
-
namespace howto2
{
namespace message
{
-
/// @brief Fields of @ref Msg2.
/// @tparam TOpt Extra options
/// @see @ref Msg2
@@ -47,24 +45,20 @@ struct Msg2Fields
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto2::message::Msg2FieldsCommon::F1Common::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto2::message::Msg2FieldsCommon::F1Common::name();
}
-
-
};
-
-
+
/// @brief Definition of "F2" field.
class F2 : public
comms::field::IntValue<
@@ -82,24 +76,20 @@ struct Msg2Fields
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto2::message::Msg2FieldsCommon::F2Common::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto2::message::Msg2FieldsCommon::F2Common::name();
}
-
-
};
-
-
+
/// @brief All the fields bundled in std::tuple.
using All = std::tuple<
F1,
@@ -148,24 +138,20 @@ class Msg2 : public
f1,
f2
);
-
+
// Compile time check for serialisation length.
static const std::size_t MsgMinLen = Base::doMinLength();
static const std::size_t MsgMaxLen = Base::doMaxLength();
static_assert(MsgMinLen == 4U, "Unexpected min serialisation length");
static_assert(MsgMaxLen == 4U, "Unexpected max serialisation length");
-
+
/// @brief Name of the message.
static const char* doName()
{
return howto2::message::Msg2Common::name();
}
-
-
};
} // namespace message
} // namespace howto2
-
-
diff --git a/howtos/howto2/include/howto2/message/Msg2Common.h b/howtos/howto2/include/howto2/message/Msg2Common.h
index be87c5636..09d6c9b46 100644
--- a/howtos/howto2/include/howto2/message/Msg2Common.h
+++ b/howtos/howto2/include/howto2/message/Msg2Common.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -14,7 +14,6 @@ namespace howto2
namespace message
{
-
/// @brief Common types and functions for fields of
/// @ref howto2::message::Msg2 message.
/// @see howto2::message::Msg2Fields
@@ -27,22 +26,20 @@ struct Msg2FieldsCommon
/// @brief Re-definition of the value type used by
/// howto2::message::Msg2Fields::F1 field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto2::message::Msg2Fields::F1 field.
static const char* name()
{
return "F1";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
+
/// @brief Common types and functions for
/// @ref howto2::message::Msg2Fields::F2 field.
struct F2Common
@@ -50,22 +47,19 @@ struct Msg2FieldsCommon
/// @brief Re-definition of the value type used by
/// howto2::message::Msg2Fields::F2 field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto2::message::Msg2Fields::F2 field.
static const char* name()
{
return "F2";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
/// @brief Common types and functions of
@@ -77,12 +71,8 @@ struct Msg2Common
{
return "Message 2";
}
-
};
} // namespace message
} // namespace howto2
-
-
-
diff --git a/howtos/howto2/include/howto2/message/Msg3.h b/howtos/howto2/include/howto2/message/Msg3.h
index 864a21999..20865bd20 100644
--- a/howtos/howto2/include/howto2/message/Msg3.h
+++ b/howtos/howto2/include/howto2/message/Msg3.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Message 3" message and its fields.
@@ -14,14 +14,12 @@
#include "howto2/message/Msg3Common.h"
#include "howto2/options/DefaultOptions.h"
-
namespace howto2
{
namespace message
{
-
/// @brief Fields of @ref Msg3.
/// @tparam TOpt Extra options
/// @see @ref Msg3
@@ -49,17 +47,14 @@ struct Msg3Fields
static const std::size_t StrSize = std::extent::value;
Base::setValue(typename Base::ValueType(&Str[0], StrSize - 1));
}
-
+
/// @brief Name of the field.
static const char* name()
{
return howto2::message::Msg3FieldsCommon::F1Common::name();
}
-
-
};
-
-
+
/// @brief All the fields bundled in std::tuple.
using All = std::tuple<
F1
@@ -104,22 +99,18 @@ class Msg3 : public
COMMS_MSG_FIELDS_NAMES(
f1
);
-
+
// Compile time check for serialisation length.
static const std::size_t MsgMinLen = Base::doMinLength();
static_assert(MsgMinLen == 0U, "Unexpected min serialisation length");
-
+
/// @brief Name of the message.
static const char* doName()
{
return howto2::message::Msg3Common::name();
}
-
-
};
} // namespace message
} // namespace howto2
-
-
diff --git a/howtos/howto2/include/howto2/message/Msg3Common.h b/howtos/howto2/include/howto2/message/Msg3Common.h
index d699d29f9..3ffcf22ab 100644
--- a/howtos/howto2/include/howto2/message/Msg3Common.h
+++ b/howtos/howto2/include/howto2/message/Msg3Common.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -12,7 +12,6 @@ namespace howto2
namespace message
{
-
/// @brief Common types and functions for fields of
/// @ref howto2::message::Msg3 message.
/// @see howto2::message::Msg3Fields
@@ -27,9 +26,7 @@ struct Msg3FieldsCommon
{
return "F1";
}
-
};
-
};
/// @brief Common types and functions of
@@ -41,12 +38,8 @@ struct Msg3Common
{
return "Message 3";
}
-
};
} // namespace message
} // namespace howto2
-
-
-
diff --git a/howtos/howto2/include/howto2/message/Msg4.h b/howtos/howto2/include/howto2/message/Msg4.h
index 73090ed6e..b67ee068b 100644
--- a/howtos/howto2/include/howto2/message/Msg4.h
+++ b/howtos/howto2/include/howto2/message/Msg4.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Message 4" message and its fields.
@@ -15,14 +15,12 @@
#include "howto2/message/Msg4Common.h"
#include "howto2/options/DefaultOptions.h"
-
namespace howto2
{
namespace message
{
-
/// @brief Fields of @ref Msg4.
/// @tparam TOpt Extra options
/// @see @ref Msg4
@@ -47,24 +45,20 @@ struct Msg4Fields
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto2::message::Msg4FieldsCommon::F1Common::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto2::message::Msg4FieldsCommon::F1Common::name();
}
-
-
};
-
-
+
/// @brief Definition of "F2" field.
class F2 : public
comms::field::IntValue<
@@ -82,24 +76,20 @@ struct Msg4Fields
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto2::message::Msg4FieldsCommon::F2Common::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto2::message::Msg4FieldsCommon::F2Common::name();
}
-
-
};
-
-
+
/// @brief All the fields bundled in std::tuple.
using All = std::tuple<
F1,
@@ -148,24 +138,20 @@ class Msg4 : public
f1,
f2
);
-
+
// Compile time check for serialisation length.
static const std::size_t MsgMinLen = Base::doMinLength();
static const std::size_t MsgMaxLen = Base::doMaxLength();
static_assert(MsgMinLen == 4U, "Unexpected min serialisation length");
static_assert(MsgMaxLen == 4U, "Unexpected max serialisation length");
-
+
/// @brief Name of the message.
static const char* doName()
{
return howto2::message::Msg4Common::name();
}
-
-
};
} // namespace message
} // namespace howto2
-
-
diff --git a/howtos/howto2/include/howto2/message/Msg4Common.h b/howtos/howto2/include/howto2/message/Msg4Common.h
index 8d0054a95..584983806 100644
--- a/howtos/howto2/include/howto2/message/Msg4Common.h
+++ b/howtos/howto2/include/howto2/message/Msg4Common.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -14,7 +14,6 @@ namespace howto2
namespace message
{
-
/// @brief Common types and functions for fields of
/// @ref howto2::message::Msg4 message.
/// @see howto2::message::Msg4Fields
@@ -27,22 +26,20 @@ struct Msg4FieldsCommon
/// @brief Re-definition of the value type used by
/// howto2::message::Msg4Fields::F1 field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto2::message::Msg4Fields::F1 field.
static const char* name()
{
return "F1";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
+
/// @brief Common types and functions for
/// @ref howto2::message::Msg4Fields::F2 field.
struct F2Common
@@ -50,22 +47,19 @@ struct Msg4FieldsCommon
/// @brief Re-definition of the value type used by
/// howto2::message::Msg4Fields::F2 field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto2::message::Msg4Fields::F2 field.
static const char* name()
{
return "F2";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
/// @brief Common types and functions of
@@ -77,12 +71,8 @@ struct Msg4Common
{
return "Message 4";
}
-
};
} // namespace message
} // namespace howto2
-
-
-
diff --git a/howtos/howto2/include/howto2/options/BareMetalDefaultOptions.h b/howtos/howto2/include/howto2/options/BareMetalDefaultOptions.h
index 4120d557f..96295fe2d 100644
--- a/howtos/howto2/include/howto2/options/BareMetalDefaultOptions.h
+++ b/howtos/howto2/include/howto2/options/BareMetalDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol bare metal default options.
@@ -37,9 +37,8 @@ struct BareMetalDefaultOptionsT : public TBase
comms::option::app::FixedSizeStorage,
typename TBase::message::Msg1Fields::F1
>;
-
};
-
+
/// @brief Extra options for fields of
/// @ref howto2::message::Msg3 message.
struct Msg3Fields : public TBase::message::Msg3Fields
@@ -51,11 +50,9 @@ struct BareMetalDefaultOptionsT : public TBase
comms::option::app::FixedSizeStorage,
typename TBase::message::Msg3Fields::F1
>;
-
};
-
}; // struct message
-
+
/// @brief Extra options for frames.
struct frame : public TBase::frame
{
@@ -70,13 +67,8 @@ struct BareMetalDefaultOptionsT : public TBase
comms::option::app::FixedSizeStorage,
typename TBase::frame::FrameLayers::Data
>;
-
-
}; // struct FrameLayers
-
}; // struct frame
-
-
};
/// @brief Alias to @ref BareMetalDefaultOptionsT with default template parameter.
diff --git a/howtos/howto2/include/howto2/options/ClientDefaultOptions.h b/howtos/howto2/include/howto2/options/ClientDefaultOptions.h
index bd372a614..5d94a568b 100644
--- a/howtos/howto2/include/howto2/options/ClientDefaultOptions.h
+++ b/howtos/howto2/include/howto2/options/ClientDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol client default options.
diff --git a/howtos/howto2/include/howto2/options/DataViewDefaultOptions.h b/howtos/howto2/include/howto2/options/DataViewDefaultOptions.h
index d0ba13052..8c6d6051f 100644
--- a/howtos/howto2/include/howto2/options/DataViewDefaultOptions.h
+++ b/howtos/howto2/include/howto2/options/DataViewDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol data view default options.
@@ -31,9 +31,8 @@ struct DataViewDefaultOptionsT : public TBase
comms::option::app::OrigDataView,
typename TBase::message::Msg1Fields::F1
>;
-
};
-
+
/// @brief Extra options for fields of
/// @ref howto2::message::Msg3 message.
struct Msg3Fields : public TBase::message::Msg3Fields
@@ -45,11 +44,9 @@ struct DataViewDefaultOptionsT : public TBase
comms::option::app::OrigDataView,
typename TBase::message::Msg3Fields::F1
>;
-
};
-
}; // struct message
-
+
/// @brief Extra options for frames.
struct frame : public TBase::frame
{
@@ -64,13 +61,8 @@ struct DataViewDefaultOptionsT : public TBase
comms::option::app::OrigDataView,
typename TBase::frame::FrameLayers::Data
>;
-
-
}; // struct FrameLayers
-
}; // struct frame
-
-
};
/// @brief Alias to @ref DataViewDefaultOptionsT with default template parameter.
diff --git a/howtos/howto2/include/howto2/options/DefaultOptions.h b/howtos/howto2/include/howto2/options/DefaultOptions.h
index 425d440d3..c311a76d5 100644
--- a/howtos/howto2/include/howto2/options/DefaultOptions.h
+++ b/howtos/howto2/include/howto2/options/DefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol default options.
@@ -30,9 +30,8 @@ struct DefaultOptionsT : public TBase
/// @brief Extra options for @ref
/// howto2::message::Msg1Fields::F1 field.
using F1 = comms::option::EmptyOption;
-
};
-
+
/// @brief Extra options for fields of
/// @ref howto2::message::Msg3 message.
struct Msg3Fields
@@ -40,11 +39,9 @@ struct DefaultOptionsT : public TBase
/// @brief Extra options for @ref
/// howto2::message::Msg3Fields::F1 field.
using F1 = comms::option::EmptyOption;
-
};
-
}; // struct message
-
+
/// @brief Extra options for frames.
struct frame
{
@@ -55,18 +52,13 @@ struct DefaultOptionsT : public TBase
/// @brief Extra options for @ref
/// howto2::frame::FrameLayers::Data layer.
using Data = comms::option::EmptyOption;
-
+
/// @brief Extra options for @ref
/// howto2::frame::FrameLayers::IdWithSize
/// layer.
using IdWithSize = comms::option::EmptyOption;
-
-
}; // struct FrameLayers
-
}; // struct frame
-
-
};
/// @brief Default (empty) options of the protocol.
diff --git a/howtos/howto2/include/howto2/options/ServerDefaultOptions.h b/howtos/howto2/include/howto2/options/ServerDefaultOptions.h
index 79d8024ec..d543bbc5c 100644
--- a/howtos/howto2/include/howto2/options/ServerDefaultOptions.h
+++ b/howtos/howto2/include/howto2/options/ServerDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol server default options.
diff --git a/howtos/howto3/include/howto3/Message.h b/howtos/howto3/include/howto3/Message.h
index 92e92d6f2..9ff98201c 100644
--- a/howtos/howto3/include/howto3/Message.h
+++ b/howtos/howto3/include/howto3/Message.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Message" interface class.
@@ -12,7 +12,6 @@
namespace howto3
{
-
/// @brief Definition of "Message" common interface class.
/// @tparam TOpt Interface definition options
/// @headerfile howto3/Message.h
@@ -25,5 +24,3 @@ using Message =
>;
} // namespace howto3
-
-
diff --git a/howtos/howto3/include/howto3/MsgId.h b/howtos/howto3/include/howto3/MsgId.h
index 244da516a..4731ad5de 100644
--- a/howtos/howto3/include/howto3/MsgId.h
+++ b/howtos/howto3/include/howto3/MsgId.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of message ids enumeration.
@@ -17,7 +17,7 @@ enum MsgId : std::uint8_t
MsgId_M2 = 2, ///< message id of Message 2 message. ,
MsgId_M3 = 3, ///< message id of Message 3 message. ,
MsgId_M4 = 4, ///< message id of Message 4 message. ,
-
+
// --- Extra values generated for convenience ---,
MsgId_FirstValue = 1, ///< First defined value.,
MsgId_LastValue = 4, ///< Last defined value.,
@@ -25,4 +25,3 @@ enum MsgId : std::uint8_t
};
} // namespace howto3
-
diff --git a/howtos/howto3/include/howto3/Version.h b/howtos/howto3/include/howto3/Version.h
index 25aeb35ec..a8edad36b 100644
--- a/howtos/howto3/include/howto3/Version.h
+++ b/howtos/howto3/include/howto3/Version.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains protocol version definition.
@@ -22,6 +22,5 @@ inline constexpr unsigned specVersion()
} // namespace howto3
// Generated compile time check for minimal supported version of the COMMS library
-static_assert(COMMS_MAKE_VERSION(5, 0, 0) <= comms::version(),
+static_assert(COMMS_MAKE_VERSION(5, 0, 3) <= comms::version(),
"The version of COMMS library is too old");
-
diff --git a/howtos/howto3/include/howto3/dispatch/DispatchClientInputMessage.h b/howtos/howto3/include/howto3/dispatch/DispatchClientInputMessage.h
index f45202def..4f7657aa8 100644
--- a/howtos/howto3/include/howto3/dispatch/DispatchClientInputMessage.h
+++ b/howtos/howto3/include/howto3/dispatch/DispatchClientInputMessage.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains dispatch to handling function(s) for client input input messages.
@@ -134,7 +134,7 @@ auto dispatchClientInputMessageDefaultOptions(
/// @tparam TProtOptions Protocol options struct used for the application,
/// like @ref howto3::options::DefaultOptions.
/// @headerfile howto3/dispatch/DispatchClientInputMessage.h
-template
+template
struct ClientInputMsgDispatcher
{
/// @brief Class detection tag
@@ -194,9 +194,7 @@ struct ClientInputMsgDispatcher
/// @ref howto3::options::DefaultOptions as template parameter.
/// @note Defined in howto3/dispatch/DispatchClientInputMessage.h
using ClientInputMsgDispatcherDefaultOptions =
- ClientInputMsgDispatcher;
-
-
+ ClientInputMsgDispatcher<>;
} // namespace dispatch
diff --git a/howtos/howto3/include/howto3/dispatch/DispatchMessage.h b/howtos/howto3/include/howto3/dispatch/DispatchMessage.h
index 1a236a7a1..3d0649bce 100644
--- a/howtos/howto3/include/howto3/dispatch/DispatchMessage.h
+++ b/howtos/howto3/include/howto3/dispatch/DispatchMessage.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains dispatch to handling function(s) for all input messages.
@@ -134,7 +134,7 @@ auto dispatchMessageDefaultOptions(
/// @tparam TProtOptions Protocol options struct used for the application,
/// like @ref howto3::options::DefaultOptions.
/// @headerfile howto3/dispatch/DispatchMessage.h
-template
+template
struct MsgDispatcher
{
/// @brief Class detection tag
@@ -194,9 +194,7 @@ struct MsgDispatcher
/// @ref howto3::options::DefaultOptions as template parameter.
/// @note Defined in howto3/dispatch/DispatchMessage.h
using MsgDispatcherDefaultOptions =
- MsgDispatcher;
-
-
+ MsgDispatcher<>;
} // namespace dispatch
diff --git a/howtos/howto3/include/howto3/dispatch/DispatchServerInputMessage.h b/howtos/howto3/include/howto3/dispatch/DispatchServerInputMessage.h
index 3f0b3a368..479274c21 100644
--- a/howtos/howto3/include/howto3/dispatch/DispatchServerInputMessage.h
+++ b/howtos/howto3/include/howto3/dispatch/DispatchServerInputMessage.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains dispatch to handling function(s) for client input input messages.
@@ -134,7 +134,7 @@ auto dispatchServerInputMessageDefaultOptions(
/// @tparam TProtOptions Protocol options struct used for the application,
/// like @ref howto3::options::DefaultOptions.
/// @headerfile howto3/dispatch/DispatchServerInputMessage.h
-template
+template
struct ServerInputMsgDispatcher
{
/// @brief Class detection tag
@@ -194,9 +194,7 @@ struct ServerInputMsgDispatcher
/// @ref howto3::options::DefaultOptions as template parameter.
/// @note Defined in howto3/dispatch/DispatchServerInputMessage.h
using ServerInputMsgDispatcherDefaultOptions =
- ServerInputMsgDispatcher;
-
-
+ ServerInputMsgDispatcher<>;
} // namespace dispatch
diff --git a/howtos/howto3/include/howto3/field/FieldBase.h b/howtos/howto3/include/howto3/field/FieldBase.h
index a0761be2c..5968b9183 100644
--- a/howtos/howto3/include/howto3/field/FieldBase.h
+++ b/howtos/howto3/include/howto3/field/FieldBase.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of base class of all the fields.
@@ -27,4 +27,3 @@ using FieldBase =
} // namespace field
} // namespace howto3
-
diff --git a/howtos/howto3/include/howto3/field/MsgId.h b/howtos/howto3/include/howto3/field/MsgId.h
index 5b6a91426..5c0b97dae 100644
--- a/howtos/howto3/include/howto3/field/MsgId.h
+++ b/howtos/howto3/include/howto3/field/MsgId.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "MsgId" field.
@@ -17,7 +17,6 @@ namespace howto3
namespace field
{
-
/// @brief Definition of "MsgId" field.
/// @see @ref howto3::MsgId
/// @tparam TOpt Protocol options.
@@ -41,46 +40,48 @@ class MsgId : public
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Single value name info entry.
using ValueNameInfo = howto3::field::MsgIdCommon::ValueNameInfo;
-
+
/// @brief Type returned from @ref valueNamesMap() member function.
/// @see @ref howto3::field::MsgIdCommon::ValueNamesMapInfo.
using ValueNamesMapInfo = howto3::field::MsgIdCommon::ValueNamesMapInfo;
-
+
/// @brief Retrieve name of the enum value.
/// @see @ref howto3::field::MsgIdCommon::valueName().
static const char* valueName(ValueType val)
{
return howto3::field::MsgIdCommon::valueName(val);
}
-
+
+ /// @brief Retrieve name of the enum value.
+ /// @see @ref howto3::field::MsgIdCommon::valueName().
+ static const char* valueNameOf(ValueType val)
+ {
+ return howto3::field::MsgIdCommon::valueName(val);
+ }
+
/// @brief Retrieve name of the @b current value
const char* valueName() const
{
return valueName(Base::getValue());
}
-
+
/// @brief Retrieve map of enum value names.
/// @see @ref howto3::field::MsgIdCommon::valueNamesMap().
static ValueNamesMapInfo valueNamesMap()
{
return howto3::field::MsgIdCommon::valueNamesMap();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto3::field::MsgIdCommon::name();
}
-
-
};
-
} // namespace field
} // namespace howto3
-
diff --git a/howtos/howto3/include/howto3/field/MsgIdCommon.h b/howtos/howto3/include/howto3/field/MsgIdCommon.h
index 843215e56..652f8e63c 100644
--- a/howtos/howto3/include/howto3/field/MsgIdCommon.h
+++ b/howtos/howto3/include/howto3/field/MsgIdCommon.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -6,9 +6,7 @@
#pragma once
-#include
#include
-#include
#include
#include
#include "howto3/MsgId.h"
@@ -19,7 +17,6 @@ namespace howto3
namespace field
{
-
/// @brief Common types and functions for
/// @ref howto3::field::MsgId field.
struct MsgIdCommon
@@ -27,21 +24,21 @@ struct MsgIdCommon
/// @brief Values enumerator for
/// @ref howto3::field::MsgId field.
using ValueType = howto3::MsgId;
-
+
/// @brief Single value name info entry
using ValueNameInfo = const char*;
-
+
/// @brief Type returned from @ref valueNamesMap() member function.
/// @details The @b first value of the pair is pointer to the map array,
/// The @b second value of the pair is the size of the array.
using ValueNamesMapInfo = std::pair;
-
+
/// @brief Name of the @ref howto3::field::MsgId field.
static const char* name()
{
return "MsgId";
}
-
+
/// @brief Retrieve name of the enum value
static const char* valueName(ValueType val)
{
@@ -49,10 +46,10 @@ struct MsgIdCommon
if (namesMapInfo.second <= static_cast(val)) {
return nullptr;
}
-
+
return namesMapInfo.first[static_cast(val)];
}
-
+
/// @brief Retrieve map of enum value names
static ValueNamesMapInfo valueNamesMap()
{
@@ -64,19 +61,15 @@ struct MsgIdCommon
"Message 4"
};
static const std::size_t MapSize = std::extent::value;
-
+
return std::make_pair(&Map[0], MapSize);
}
-
-
};
/// @brief Values enumerator for
/// @ref howto3::field::MsgId field.
using MsgIdVal = MsgIdCommon::ValueType;
-
} // namespace field
} // namespace howto3
-
diff --git a/howtos/howto3/include/howto3/frame/Frame.h b/howtos/howto3/include/howto3/frame/Frame.h
index b84131c2f..7f2a3c441 100644
--- a/howtos/howto3/include/howto3/frame/Frame.h
+++ b/howtos/howto3/include/howto3/frame/Frame.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Frame" frame class.
@@ -17,7 +17,6 @@ namespace howto3
namespace frame
{
-
/// @brief Layers definition of @ref Frame frame class.
/// @tparam TOpt Protocol options.
/// @see @ref Frame
@@ -30,7 +29,7 @@ struct FrameLayers
comms::protocol::MsgDataLayer<
typename TOpt::frame::FrameLayers::Data
>;
-
+
/// @brief Definition of layer "Id".
template
using Id =
@@ -43,11 +42,10 @@ struct FrameLayers
Data,
typename TOpt::frame::FrameLayers::Id
>;
-
+
/// @brief Final protocol stack definition.
template
using Stack = Id;
-
};
/// @brief Definition of "Frame" frame class.
@@ -82,5 +80,3 @@ class Frame : public
} // namespace frame
} // namespace howto3
-
-
diff --git a/howtos/howto3/include/howto3/input/AllMessages.h b/howtos/howto3/include/howto3/input/AllMessages.h
index 19efb5a20..3e26a6f94 100644
--- a/howtos/howto3/include/howto3/input/AllMessages.h
+++ b/howtos/howto3/include/howto3/input/AllMessages.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of the AllMessages messages bundle.
diff --git a/howtos/howto3/include/howto3/input/ClientInputMessages.h b/howtos/howto3/include/howto3/input/ClientInputMessages.h
index d3b63b471..5fc8e9c36 100644
--- a/howtos/howto3/include/howto3/input/ClientInputMessages.h
+++ b/howtos/howto3/include/howto3/input/ClientInputMessages.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of the ClientInputMessages messages bundle.
diff --git a/howtos/howto3/include/howto3/input/ServerInputMessages.h b/howtos/howto3/include/howto3/input/ServerInputMessages.h
index 62289a0f3..4b3cc8f16 100644
--- a/howtos/howto3/include/howto3/input/ServerInputMessages.h
+++ b/howtos/howto3/include/howto3/input/ServerInputMessages.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of the ServerInputMessages messages bundle.
diff --git a/howtos/howto3/include/howto3/message/Msg1.h b/howtos/howto3/include/howto3/message/Msg1.h
index c6a4fe231..5460d9eb7 100644
--- a/howtos/howto3/include/howto3/message/Msg1.h
+++ b/howtos/howto3/include/howto3/message/Msg1.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Message 1" message and its fields.
@@ -14,14 +14,12 @@
#include "howto3/message/Msg1Common.h"
#include "howto3/options/DefaultOptions.h"
-
namespace howto3
{
namespace message
{
-
/// @brief Fields of @ref Msg1.
/// @tparam TOpt Extra options
/// @see @ref Msg1
@@ -47,11 +45,8 @@ struct Msg1Fields
{
return howto3::message::Msg1FieldsCommon::F1Common::name();
}
-
-
};
-
-
+
/// @brief All the fields bundled in std::tuple.
using All = std::tuple<
F1
@@ -96,22 +91,18 @@ class Msg1 : public
COMMS_MSG_FIELDS_NAMES(
f1
);
-
+
// Compile time check for serialisation length.
static const std::size_t MsgMinLen = Base::doMinLength();
static_assert(MsgMinLen == 0U, "Unexpected min serialisation length");
-
+
/// @brief Name of the message.
static const char* doName()
{
return howto3::message::Msg1Common::name();
}
-
-
};
} // namespace message
} // namespace howto3
-
-
diff --git a/howtos/howto3/include/howto3/message/Msg1Common.h b/howtos/howto3/include/howto3/message/Msg1Common.h
index e39412500..aa3e16143 100644
--- a/howtos/howto3/include/howto3/message/Msg1Common.h
+++ b/howtos/howto3/include/howto3/message/Msg1Common.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -12,7 +12,6 @@ namespace howto3
namespace message
{
-
/// @brief Common types and functions for fields of
/// @ref howto3::message::Msg1 message.
/// @see howto3::message::Msg1Fields
@@ -27,9 +26,7 @@ struct Msg1FieldsCommon
{
return "F1";
}
-
};
-
};
/// @brief Common types and functions of
@@ -41,12 +38,8 @@ struct Msg1Common
{
return "Message 1";
}
-
};
} // namespace message
} // namespace howto3
-
-
-
diff --git a/howtos/howto3/include/howto3/message/Msg2.h b/howtos/howto3/include/howto3/message/Msg2.h
index b6aa460dc..6f165686c 100644
--- a/howtos/howto3/include/howto3/message/Msg2.h
+++ b/howtos/howto3/include/howto3/message/Msg2.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Message 2" message and its fields.
@@ -15,14 +15,12 @@
#include "howto3/message/Msg2Common.h"
#include "howto3/options/DefaultOptions.h"
-
namespace howto3
{
namespace message
{
-
/// @brief Fields of @ref Msg2.
/// @tparam TOpt Extra options
/// @see @ref Msg2
@@ -50,11 +48,8 @@ struct Msg2Fields
{
return howto3::message::Msg2FieldsCommon::F1Common::name();
}
-
-
};
-
-
+
/// @brief All the fields bundled in std::tuple.
using All = std::tuple<
F1
@@ -99,22 +94,18 @@ class Msg2 : public
COMMS_MSG_FIELDS_NAMES(
f1
);
-
+
// Compile time check for serialisation length.
static const std::size_t MsgMinLen = Base::doMinLength();
static_assert(MsgMinLen == 0U, "Unexpected min serialisation length");
-
+
/// @brief Name of the message.
static const char* doName()
{
return howto3::message::Msg2Common::name();
}
-
-
};
} // namespace message
} // namespace howto3
-
-
diff --git a/howtos/howto3/include/howto3/message/Msg2Common.h b/howtos/howto3/include/howto3/message/Msg2Common.h
index 20cfe68c4..4757ed808 100644
--- a/howtos/howto3/include/howto3/message/Msg2Common.h
+++ b/howtos/howto3/include/howto3/message/Msg2Common.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -12,7 +12,6 @@ namespace howto3
namespace message
{
-
/// @brief Common types and functions for fields of
/// @ref howto3::message::Msg2 message.
/// @see howto3::message::Msg2Fields
@@ -27,9 +26,7 @@ struct Msg2FieldsCommon
{
return "F1";
}
-
};
-
};
/// @brief Common types and functions of
@@ -41,12 +38,8 @@ struct Msg2Common
{
return "Message 2";
}
-
};
} // namespace message
} // namespace howto3
-
-
-
diff --git a/howtos/howto3/include/howto3/message/Msg3.h b/howtos/howto3/include/howto3/message/Msg3.h
index 5620bfbea..1ed3089d5 100644
--- a/howtos/howto3/include/howto3/message/Msg3.h
+++ b/howtos/howto3/include/howto3/message/Msg3.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Message 3" message and its fields.
@@ -15,14 +15,12 @@
#include "howto3/message/Msg3Common.h"
#include "howto3/options/DefaultOptions.h"
-
namespace howto3
{
namespace message
{
-
/// @brief Fields of @ref Msg3.
/// @tparam TOpt Extra options
/// @see @ref Msg3
@@ -45,24 +43,20 @@ struct Msg3Fields
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto3::message::Msg3FieldsCommon::F1Common::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto3::message::Msg3FieldsCommon::F1Common::name();
}
-
-
};
-
-
+
/// @brief All the fields bundled in std::tuple.
using All = std::tuple<
F1
@@ -107,24 +101,20 @@ class Msg3 : public
COMMS_MSG_FIELDS_NAMES(
f1
);
-
+
// Compile time check for serialisation length.
static const std::size_t MsgMinLen = Base::doMinLength();
static const std::size_t MsgMaxLen = Base::doMaxLength();
static_assert(MsgMinLen == 2U, "Unexpected min serialisation length");
static_assert(MsgMaxLen == 2U, "Unexpected max serialisation length");
-
+
/// @brief Name of the message.
static const char* doName()
{
return howto3::message::Msg3Common::name();
}
-
-
};
} // namespace message
} // namespace howto3
-
-
diff --git a/howtos/howto3/include/howto3/message/Msg3Common.h b/howtos/howto3/include/howto3/message/Msg3Common.h
index 33e325754..1f70dd3c6 100644
--- a/howtos/howto3/include/howto3/message/Msg3Common.h
+++ b/howtos/howto3/include/howto3/message/Msg3Common.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -14,7 +14,6 @@ namespace howto3
namespace message
{
-
/// @brief Common types and functions for fields of
/// @ref howto3::message::Msg3 message.
/// @see howto3::message::Msg3Fields
@@ -27,22 +26,19 @@ struct Msg3FieldsCommon
/// @brief Re-definition of the value type used by
/// howto3::message::Msg3Fields::F1 field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto3::message::Msg3Fields::F1 field.
static const char* name()
{
return "F1";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
/// @brief Common types and functions of
@@ -54,12 +50,8 @@ struct Msg3Common
{
return "Message 3";
}
-
};
} // namespace message
} // namespace howto3
-
-
-
diff --git a/howtos/howto3/include/howto3/options/BareMetalDefaultOptions.h b/howtos/howto3/include/howto3/options/BareMetalDefaultOptions.h
index d328f77cb..11983ee77 100644
--- a/howtos/howto3/include/howto3/options/BareMetalDefaultOptions.h
+++ b/howtos/howto3/include/howto3/options/BareMetalDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol bare metal default options.
@@ -37,9 +37,8 @@ struct BareMetalDefaultOptionsT : public TBase
comms::option::app::FixedSizeStorage,
typename TBase::message::Msg1Fields::F1
>;
-
};
-
+
/// @brief Extra options for fields of
/// @ref howto3::message::Msg2 message.
struct Msg2Fields : public TBase::message::Msg2Fields
@@ -51,11 +50,9 @@ struct BareMetalDefaultOptionsT : public TBase
comms::option::app::FixedSizeStorage,
typename TBase::message::Msg2Fields::F1
>;
-
};
-
}; // struct message
-
+
/// @brief Extra options for frames.
struct frame : public TBase::frame
{
@@ -70,7 +67,7 @@ struct BareMetalDefaultOptionsT : public TBase
comms::option::app::FixedSizeStorage,
typename TBase::frame::FrameLayers::Data
>;
-
+
/// @brief Extra options for @ref
/// howto3::frame::FrameLayers::Id layer.
using Id =
@@ -78,13 +75,8 @@ struct BareMetalDefaultOptionsT : public TBase
comms::option::app::InPlaceAllocation,
typename TBase::frame::FrameLayers::Id
>;
-
-
}; // struct FrameLayers
-
}; // struct frame
-
-
};
/// @brief Alias to @ref BareMetalDefaultOptionsT with default template parameter.
diff --git a/howtos/howto3/include/howto3/options/ClientDefaultOptions.h b/howtos/howto3/include/howto3/options/ClientDefaultOptions.h
index c134b1865..94a1d69a4 100644
--- a/howtos/howto3/include/howto3/options/ClientDefaultOptions.h
+++ b/howtos/howto3/include/howto3/options/ClientDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol client default options.
diff --git a/howtos/howto3/include/howto3/options/DataViewDefaultOptions.h b/howtos/howto3/include/howto3/options/DataViewDefaultOptions.h
index 3c888ef1f..7bd6d4d67 100644
--- a/howtos/howto3/include/howto3/options/DataViewDefaultOptions.h
+++ b/howtos/howto3/include/howto3/options/DataViewDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol data view default options.
@@ -31,9 +31,8 @@ struct DataViewDefaultOptionsT : public TBase
comms::option::app::OrigDataView,
typename TBase::message::Msg1Fields::F1
>;
-
};
-
+
/// @brief Extra options for fields of
/// @ref howto3::message::Msg2 message.
struct Msg2Fields : public TBase::message::Msg2Fields
@@ -45,11 +44,9 @@ struct DataViewDefaultOptionsT : public TBase
comms::option::app::OrigDataView,
typename TBase::message::Msg2Fields::F1
>;
-
};
-
}; // struct message
-
+
/// @brief Extra options for frames.
struct frame : public TBase::frame
{
@@ -64,13 +61,8 @@ struct DataViewDefaultOptionsT : public TBase
comms::option::app::OrigDataView,
typename TBase::frame::FrameLayers::Data
>;
-
-
}; // struct FrameLayers
-
}; // struct frame
-
-
};
/// @brief Alias to @ref DataViewDefaultOptionsT with default template parameter.
diff --git a/howtos/howto3/include/howto3/options/DefaultOptions.h b/howtos/howto3/include/howto3/options/DefaultOptions.h
index 30407e6a8..0801b5e2d 100644
--- a/howtos/howto3/include/howto3/options/DefaultOptions.h
+++ b/howtos/howto3/include/howto3/options/DefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol default options.
@@ -30,9 +30,8 @@ struct DefaultOptionsT : public TBase
/// @brief Extra options for @ref
/// howto3::message::Msg1Fields::F1 field.
using F1 = comms::option::EmptyOption;
-
};
-
+
/// @brief Extra options for fields of
/// @ref howto3::message::Msg2 message.
struct Msg2Fields
@@ -40,11 +39,9 @@ struct DefaultOptionsT : public TBase
/// @brief Extra options for @ref
/// howto3::message::Msg2Fields::F1 field.
using F1 = comms::option::EmptyOption;
-
};
-
}; // struct message
-
+
/// @brief Extra options for frames.
struct frame
{
@@ -55,17 +52,12 @@ struct DefaultOptionsT : public TBase
/// @brief Extra options for @ref
/// howto3::frame::FrameLayers::Data layer.
using Data = comms::option::EmptyOption;
-
+
/// @brief Extra options for @ref
/// howto3::frame::FrameLayers::Id layer.
using Id = comms::option::EmptyOption;
-
-
}; // struct FrameLayers
-
}; // struct frame
-
-
};
/// @brief Default (empty) options of the protocol.
diff --git a/howtos/howto3/include/howto3/options/ServerDefaultOptions.h b/howtos/howto3/include/howto3/options/ServerDefaultOptions.h
index f0a8de39a..0b13d15e9 100644
--- a/howtos/howto3/include/howto3/options/ServerDefaultOptions.h
+++ b/howtos/howto3/include/howto3/options/ServerDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol server default options.
diff --git a/howtos/howto4/include/howto4/Message.h b/howtos/howto4/include/howto4/Message.h
index b4ef64004..e94d7f9a4 100644
--- a/howtos/howto4/include/howto4/Message.h
+++ b/howtos/howto4/include/howto4/Message.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Message" interface class.
@@ -12,7 +12,6 @@
namespace howto4
{
-
/// @brief Definition of "Message" common interface class.
/// @tparam TOpt Interface definition options
/// @headerfile howto4/Message.h
@@ -25,5 +24,3 @@ using Message =
>;
} // namespace howto4
-
-
diff --git a/howtos/howto4/include/howto4/MsgId.h b/howtos/howto4/include/howto4/MsgId.h
index ab7d93592..9654cbd14 100644
--- a/howtos/howto4/include/howto4/MsgId.h
+++ b/howtos/howto4/include/howto4/MsgId.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of message ids enumeration.
@@ -14,7 +14,7 @@ namespace howto4
enum MsgId : std::uint8_t
{
MsgId_M0 = 0, ///< message id of Message message. ,
-
+
// --- Extra values generated for convenience ---,
MsgId_FirstValue = 0, ///< First defined value.,
MsgId_LastValue = 0, ///< Last defined value.,
@@ -22,4 +22,3 @@ enum MsgId : std::uint8_t
};
} // namespace howto4
-
diff --git a/howtos/howto4/include/howto4/Version.h b/howtos/howto4/include/howto4/Version.h
index f2409096e..e0b81f474 100644
--- a/howtos/howto4/include/howto4/Version.h
+++ b/howtos/howto4/include/howto4/Version.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains protocol version definition.
@@ -22,6 +22,5 @@ inline constexpr unsigned specVersion()
} // namespace howto4
// Generated compile time check for minimal supported version of the COMMS library
-static_assert(COMMS_MAKE_VERSION(5, 0, 0) <= comms::version(),
+static_assert(COMMS_MAKE_VERSION(5, 0, 3) <= comms::version(),
"The version of COMMS library is too old");
-
diff --git a/howtos/howto4/include/howto4/dispatch/DispatchClientInputMessage.h b/howtos/howto4/include/howto4/dispatch/DispatchClientInputMessage.h
index 18c1ebcad..bbed4f2a3 100644
--- a/howtos/howto4/include/howto4/dispatch/DispatchClientInputMessage.h
+++ b/howtos/howto4/include/howto4/dispatch/DispatchClientInputMessage.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains dispatch to handling function(s) for client input input messages.
@@ -124,7 +124,7 @@ auto dispatchClientInputMessageDefaultOptions(
/// @tparam TProtOptions Protocol options struct used for the application,
/// like @ref howto4::options::DefaultOptions.
/// @headerfile howto4/dispatch/DispatchClientInputMessage.h
-template
+template
struct ClientInputMsgDispatcher
{
/// @brief Class detection tag
@@ -184,9 +184,7 @@ struct ClientInputMsgDispatcher
/// @ref howto4::options::DefaultOptions as template parameter.
/// @note Defined in howto4/dispatch/DispatchClientInputMessage.h
using ClientInputMsgDispatcherDefaultOptions =
- ClientInputMsgDispatcher;
-
-
+ ClientInputMsgDispatcher<>;
} // namespace dispatch
diff --git a/howtos/howto4/include/howto4/dispatch/DispatchMessage.h b/howtos/howto4/include/howto4/dispatch/DispatchMessage.h
index 9e898b193..7eb95ff2c 100644
--- a/howtos/howto4/include/howto4/dispatch/DispatchMessage.h
+++ b/howtos/howto4/include/howto4/dispatch/DispatchMessage.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains dispatch to handling function(s) for all input messages.
@@ -124,7 +124,7 @@ auto dispatchMessageDefaultOptions(
/// @tparam TProtOptions Protocol options struct used for the application,
/// like @ref howto4::options::DefaultOptions.
/// @headerfile howto4/dispatch/DispatchMessage.h
-template
+template
struct MsgDispatcher
{
/// @brief Class detection tag
@@ -184,9 +184,7 @@ struct MsgDispatcher
/// @ref howto4::options::DefaultOptions as template parameter.
/// @note Defined in howto4/dispatch/DispatchMessage.h
using MsgDispatcherDefaultOptions =
- MsgDispatcher;
-
-
+ MsgDispatcher<>;
} // namespace dispatch
diff --git a/howtos/howto4/include/howto4/dispatch/DispatchServerInputMessage.h b/howtos/howto4/include/howto4/dispatch/DispatchServerInputMessage.h
index 6854c5f61..76359e4ca 100644
--- a/howtos/howto4/include/howto4/dispatch/DispatchServerInputMessage.h
+++ b/howtos/howto4/include/howto4/dispatch/DispatchServerInputMessage.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains dispatch to handling function(s) for client input input messages.
@@ -124,7 +124,7 @@ auto dispatchServerInputMessageDefaultOptions(
/// @tparam TProtOptions Protocol options struct used for the application,
/// like @ref howto4::options::DefaultOptions.
/// @headerfile howto4/dispatch/DispatchServerInputMessage.h
-template
+template
struct ServerInputMsgDispatcher
{
/// @brief Class detection tag
@@ -184,9 +184,7 @@ struct ServerInputMsgDispatcher
/// @ref howto4::options::DefaultOptions as template parameter.
/// @note Defined in howto4/dispatch/DispatchServerInputMessage.h
using ServerInputMsgDispatcherDefaultOptions =
- ServerInputMsgDispatcher;
-
-
+ ServerInputMsgDispatcher<>;
} // namespace dispatch
diff --git a/howtos/howto4/include/howto4/field/FieldBase.h b/howtos/howto4/include/howto4/field/FieldBase.h
index da1ceab1a..cadce6585 100644
--- a/howtos/howto4/include/howto4/field/FieldBase.h
+++ b/howtos/howto4/include/howto4/field/FieldBase.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of base class of all the fields.
@@ -27,4 +27,3 @@ using FieldBase =
} // namespace field
} // namespace howto4
-
diff --git a/howtos/howto4/include/howto4/field/TlvProp.h b/howtos/howto4/include/howto4/field/TlvProp.h
index 125a1a07c..c08efeedc 100644
--- a/howtos/howto4/include/howto4/field/TlvProp.h
+++ b/howtos/howto4/include/howto4/field/TlvProp.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "TlvProp" field.
@@ -28,7 +28,6 @@ namespace howto4
namespace field
{
-
/// @brief Scope for all the member fields of
/// @ref TlvProp field.
/// @tparam TOpt Protocol options.
@@ -60,20 +59,19 @@ struct TlvPropMembers
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto4::field::TlvPropMembersCommon::Prop1MembersCommon::KeyCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto4::field::TlvPropMembersCommon::Prop1MembersCommon::KeyCommon::name();
}
-
+
/// @brief Generated refresh functionality.
bool refresh()
{
@@ -83,14 +81,9 @@ struct TlvPropMembers
};
Base::setValue(0);
return true;
-
}
-
-
-
};
-
-
+
/// @brief Definition of "Length" field.
class Length : public
comms::field::IntValue<
@@ -106,24 +99,20 @@ struct TlvPropMembers
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto4::field::TlvPropMembersCommon::Prop1MembersCommon::LengthCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto4::field::TlvPropMembersCommon::Prop1MembersCommon::LengthCommon::name();
}
-
-
};
-
-
+
/// @brief Definition of "Val" field.
class Val : public
comms::field::IntValue<
@@ -139,24 +128,20 @@ struct TlvPropMembers
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto4::field::TlvPropMembersCommon::Prop1MembersCommon::ValCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto4::field::TlvPropMembersCommon::Prop1MembersCommon::ValCommon::name();
}
-
-
};
-
-
+
/// @brief All members bundled in @b std::tuple.
using All =
std::tuple<
@@ -165,7 +150,7 @@ struct TlvPropMembers
Val
>;
};
-
+
/// @brief Definition of "Prop1" field.
class Prop1 : public
comms::field::Bundle<
@@ -198,18 +183,14 @@ struct TlvPropMembers
length,
val
);
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto4::field::TlvPropMembersCommon::Prop1Common::name();
}
-
-
};
-
-
+
/// @brief Scope for all the member fields of
/// @ref Prop2 field.
struct Prop2Members
@@ -237,20 +218,19 @@ struct TlvPropMembers
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto4::field::TlvPropMembersCommon::Prop2MembersCommon::KeyCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto4::field::TlvPropMembersCommon::Prop2MembersCommon::KeyCommon::name();
}
-
+
/// @brief Generated refresh functionality.
bool refresh()
{
@@ -260,14 +240,9 @@ struct TlvPropMembers
};
Base::setValue(2);
return true;
-
}
-
-
-
};
-
-
+
/// @brief Definition of "Length" field.
class Length : public
comms::field::IntValue<
@@ -283,24 +258,20 @@ struct TlvPropMembers
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto4::field::TlvPropMembersCommon::Prop2MembersCommon::LengthCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto4::field::TlvPropMembersCommon::Prop2MembersCommon::LengthCommon::name();
}
-
-
};
-
-
+
/// @brief Definition of "Val" field.
class Val : public
comms::field::FloatValue<
@@ -316,36 +287,33 @@ struct TlvPropMembers
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Generated default constructor.
Val()
{
Base::setValue(std::numeric_limits::infinity());
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto4::field::TlvPropMembersCommon::Prop2MembersCommon::ValCommon::hasSpecials();
}
-
+
/// @brief Requested number of digits after decimal point when value
/// is displayed.
static constexpr unsigned displayDecimals()
{
return 0U;
}
-
+
/// @brief Name of the field.
static const char* name()
{
return howto4::field::TlvPropMembersCommon::Prop2MembersCommon::ValCommon::name();
}
-
-
};
-
-
+
/// @brief All members bundled in @b std::tuple.
using All =
std::tuple<
@@ -354,7 +322,7 @@ struct TlvPropMembers
Val
>;
};
-
+
/// @brief Definition of "Prop2" field.
class Prop2 : public
comms::field::Bundle<
@@ -387,18 +355,14 @@ struct TlvPropMembers
length,
val
);
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto4::field::TlvPropMembersCommon::Prop2Common::name();
}
-
-
};
-
-
+
/// @brief Scope for all the member fields of
/// @ref Prop3 field.
struct Prop3Members
@@ -426,20 +390,19 @@ struct TlvPropMembers
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto4::field::TlvPropMembersCommon::Prop3MembersCommon::KeyCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto4::field::TlvPropMembersCommon::Prop3MembersCommon::KeyCommon::name();
}
-
+
/// @brief Generated refresh functionality.
bool refresh()
{
@@ -449,14 +412,9 @@ struct TlvPropMembers
};
Base::setValue(5);
return true;
-
}
-
-
-
};
-
-
+
/// @brief Definition of "Length" field.
class Length : public
comms::field::IntValue<
@@ -472,24 +430,20 @@ struct TlvPropMembers
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto4::field::TlvPropMembersCommon::Prop3MembersCommon::LengthCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto4::field::TlvPropMembersCommon::Prop3MembersCommon::LengthCommon::name();
}
-
-
};
-
-
+
/// @brief Definition of "Val" field.
class Val : public
comms::field::String<
@@ -508,11 +462,8 @@ struct TlvPropMembers
{
return howto4::field::TlvPropMembersCommon::Prop3MembersCommon::ValCommon::name();
}
-
-
};
-
-
+
/// @brief All members bundled in @b std::tuple.
using All =
std::tuple<
@@ -521,7 +472,7 @@ struct TlvPropMembers
Val
>;
};
-
+
/// @brief Definition of "Prop3" field.
class Prop3 : public
comms::field::Bundle<
@@ -554,18 +505,14 @@ struct TlvPropMembers
length,
val
);
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto4::field::TlvPropMembersCommon::Prop3Common::name();
}
-
-
};
-
-
+
/// @brief Scope for all the member fields of
/// @ref Any field.
struct AnyMembers
@@ -587,24 +534,20 @@ struct TlvPropMembers
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto4::field::TlvPropMembersCommon::AnyMembersCommon::KeyCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto4::field::TlvPropMembersCommon::AnyMembersCommon::KeyCommon::name();
}
-
-
};
-
-
+
/// @brief Definition of "Length" field.
class Length : public
comms::field::IntValue<
@@ -620,24 +563,20 @@ struct TlvPropMembers
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto4::field::TlvPropMembersCommon::AnyMembersCommon::LengthCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto4::field::TlvPropMembersCommon::AnyMembersCommon::LengthCommon::name();
}
-
-
};
-
-
+
/// @brief Definition of "Val" field.
class Val : public
comms::field::ArrayList<
@@ -658,11 +597,8 @@ struct TlvPropMembers
{
return howto4::field::TlvPropMembersCommon::AnyMembersCommon::ValCommon::name();
}
-
-
};
-
-
+
/// @brief All members bundled in @b std::tuple.
using All =
std::tuple<
@@ -671,7 +607,7 @@ struct TlvPropMembers
Val
>;
};
-
+
/// @brief Definition of "Any" field.
class Any : public
comms::field::Bundle<
@@ -704,18 +640,14 @@ struct TlvPropMembers
length,
val
);
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto4::field::TlvPropMembersCommon::AnyCommon::name();
}
-
-
};
-
-
+
/// @brief All members bundled in @b std::tuple.
using All =
std::tuple<
@@ -737,7 +669,9 @@ class TlvProp : public
howto4::field::FieldBase<>,
typename TlvPropMembers::All,
TExtraOpts...,
- comms::option::def::HasCustomRead
+ comms::option::def::HasCustomRead,
+ comms::option::def::HasCustomWrite,
+ comms::option::def::HasCustomRefresh
>
{
using Base =
@@ -745,7 +679,9 @@ class TlvProp : public
howto4::field::FieldBase<>,
typename TlvPropMembers::All,
TExtraOpts...,
- comms::option::def::HasCustomRead
+ comms::option::def::HasCustomRead,
+ comms::option::def::HasCustomWrite,
+ comms::option::def::HasCustomRefresh
>;
public:
/// @brief Allow access to internal fields.
@@ -772,7 +708,7 @@ class TlvProp : public
prop3,
any
);
-
+
/// @brief Optimized currFieldExec functionality.
/// @details Replaces the currFieldExec() member function defined
/// by @b comms::field::Variant.
@@ -799,7 +735,7 @@ class TlvProp : public
break;
}
}
-
+
/// @brief Optimized currFieldExec functionality (const variant).
/// @details Replaces the currFieldExec() member function defined
/// by @b comms::field::Variant.
@@ -826,13 +762,13 @@ class TlvProp : public
break;
}
}
-
+
/// @brief Name of the field.
static const char* name()
{
return howto4::field::TlvPropCommon::name();
}
-
+
COMMS_MSVC_WARNING_PUSH
COMMS_MSVC_WARNING_DISABLE(4702)
/// @brief Generated read functionality.
@@ -846,17 +782,17 @@ class TlvProp : public
comms::option::def::FailOnInvalid<>
>;
CommonKeyField commonKeyField;
-
+
auto origIter = iter;
auto es = commonKeyField.read(iter, len);
if (es != comms::ErrorStatus::Success) {
return es;
}
-
+
auto consumedLen = static_cast(std::distance(origIter, iter));
COMMS_ASSERT(consumedLen <= len);
len -= consumedLen;
-
+
switch (commonKeyField.getValue()) {
case 0U /* 0x00U */:
{
@@ -880,13 +816,67 @@ class TlvProp : public
initField_any().field_key().setValue(commonKeyField.getValue());
return accessField_any().template readFrom<1>(iter, len);
};
-
+
return comms::ErrorStatus::InvalidMsgData;
-
}
COMMS_MSVC_WARNING_POP
-
-
+
+ /// @brief Generated write functionality.
+ template
+ comms::ErrorStatus write(TIter& iter, std::size_t len) const
+ {
+ switch (Base::currentField()) {
+ case FieldIdx_prop1: return accessField_prop1().write(iter, len);
+ case FieldIdx_prop2: return accessField_prop2().write(iter, len);
+ case FieldIdx_prop3: return accessField_prop3().write(iter, len);
+ case FieldIdx_any: return accessField_any().write(iter, len);
+ default: break;
+ }
+
+ return comms::ErrorStatus::Success;
+ }
+
+ /// @brief Generated refresh functionality.
+ bool refresh()
+ {
+ switch (Base::currentField()) {
+ case FieldIdx_prop1: return accessField_prop1().refresh();
+ case FieldIdx_prop2: return accessField_prop2().refresh();
+ case FieldIdx_prop3: return accessField_prop3().refresh();
+ case FieldIdx_any: return accessField_any().refresh();
+ default: break;
+ }
+
+ return false;
+ }
+
+ /// @brief Generated length functionality.
+ std::size_t length() const
+ {
+ switch (Base::currentField()) {
+ case FieldIdx_prop1: return accessField_prop1().length();
+ case FieldIdx_prop2: return accessField_prop2().length();
+ case FieldIdx_prop3: return accessField_prop3().length();
+ case FieldIdx_any: return accessField_any().length();
+ default: break;
+ }
+
+ return 0U;
+ }
+
+ /// @brief Generated validity check functionality.
+ bool valid() const
+ {
+ switch (Base::currentField()) {
+ case FieldIdx_prop1: return accessField_prop1().valid();
+ case FieldIdx_prop2: return accessField_prop2().valid();
+ case FieldIdx_prop3: return accessField_prop3().valid();
+ case FieldIdx_any: return accessField_any().valid();
+ default: break;
+ }
+
+ return false;
+ }
private:
template
@@ -898,12 +888,8 @@ class TlvProp : public
func.template operator()(std::forward(f)); // All other compilers
#endif // #ifdef _MSC_VER
}
-
-
};
-
} // namespace field
} // namespace howto4
-
diff --git a/howtos/howto4/include/howto4/field/TlvPropCommon.h b/howtos/howto4/include/howto4/field/TlvPropCommon.h
index 6bf4c5eb4..465d2542a 100644
--- a/howtos/howto4/include/howto4/field/TlvPropCommon.h
+++ b/howtos/howto4/include/howto4/field/TlvPropCommon.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -14,7 +14,6 @@ namespace howto4
namespace field
{
-
/// @brief Scope for all the common definitions of the member fields of
/// @ref howto4::field::TlvProp field.
struct TlvPropMembersCommon
@@ -30,22 +29,20 @@ struct TlvPropMembersCommon
/// @brief Re-definition of the value type used by
/// howto4::field::TlvPropMembers::Prop1Members::Key field.
using ValueType = std::uint8_t;
-
+
/// @brief Name of the @ref howto4::field::TlvPropMembers::Prop1Members::Key field.
static const char* name()
{
return "Key";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
+
/// @brief Common types and functions for
/// @ref howto4::field::TlvPropMembers::Prop1Members::Length field.
struct LengthCommon
@@ -53,22 +50,20 @@ struct TlvPropMembersCommon
/// @brief Re-definition of the value type used by
/// howto4::field::TlvPropMembers::Prop1Members::Length field.
using ValueType = std::uint8_t;
-
+
/// @brief Name of the @ref howto4::field::TlvPropMembers::Prop1Members::Length field.
static const char* name()
{
return "Length";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
+
/// @brief Common types and functions for
/// @ref howto4::field::TlvPropMembers::Prop1Members::Val field.
struct ValCommon
@@ -76,24 +71,21 @@ struct TlvPropMembersCommon
/// @brief Re-definition of the value type used by
/// howto4::field::TlvPropMembers::Prop1Members::Val field.
using ValueType = std::uint32_t;
-
+
/// @brief Name of the @ref howto4::field::TlvPropMembers::Prop1Members::Val field.
static const char* name()
{
return "Val";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
-
+
/// @brief Common types and functions for
/// @ref howto4::field::TlvPropMembers::Prop1 field.
struct Prop1Common
@@ -103,9 +95,8 @@ struct TlvPropMembersCommon
{
return "Prop1";
}
-
};
-
+
/// @brief Scope for all the common definitions of the member fields of
/// @ref howto4::field::TlvPropMembers::Prop2 field.
struct Prop2MembersCommon
@@ -117,22 +108,20 @@ struct TlvPropMembersCommon
/// @brief Re-definition of the value type used by
/// howto4::field::TlvPropMembers::Prop2Members::Key field.
using ValueType = std::uint8_t;
-
+
/// @brief Name of the @ref howto4::field::TlvPropMembers::Prop2Members::Key field.
static const char* name()
{
return "Key";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
+
/// @brief Common types and functions for
/// @ref howto4::field::TlvPropMembers::Prop2Members::Length field.
struct LengthCommon
@@ -140,22 +129,20 @@ struct TlvPropMembersCommon
/// @brief Re-definition of the value type used by
/// howto4::field::TlvPropMembers::Prop2Members::Length field.
using ValueType = std::uint8_t;
-
+
/// @brief Name of the @ref howto4::field::TlvPropMembers::Prop2Members::Length field.
static const char* name()
{
return "Length";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
+
/// @brief Common types and functions for
/// @ref howto4::field::TlvPropMembers::Prop2Members::Val field.
struct ValCommon
@@ -163,24 +150,21 @@ struct TlvPropMembersCommon
/// @brief Re-definition of the value type used by
/// howto4::field::TlvPropMembers::Prop2Members::Val field.
using ValueType = double;
-
+
/// @brief Name of the @ref howto4::field::TlvPropMembers::Prop2Members::Val field.
static const char* name()
{
return "Val";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
-
+
/// @brief Common types and functions for
/// @ref howto4::field::TlvPropMembers::Prop2 field.
struct Prop2Common
@@ -190,9 +174,8 @@ struct TlvPropMembersCommon
{
return "Prop2";
}
-
};
-
+
/// @brief Scope for all the common definitions of the member fields of
/// @ref howto4::field::TlvPropMembers::Prop3 field.
struct Prop3MembersCommon
@@ -204,22 +187,20 @@ struct TlvPropMembersCommon
/// @brief Re-definition of the value type used by
/// howto4::field::TlvPropMembers::Prop3Members::Key field.
using ValueType = std::uint8_t;
-
+
/// @brief Name of the @ref howto4::field::TlvPropMembers::Prop3Members::Key field.
static const char* name()
{
return "Key";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
+
/// @brief Common types and functions for
/// @ref howto4::field::TlvPropMembers::Prop3Members::Length field.
struct LengthCommon
@@ -227,22 +208,20 @@ struct TlvPropMembersCommon
/// @brief Re-definition of the value type used by
/// howto4::field::TlvPropMembers::Prop3Members::Length field.
using ValueType = std::uint8_t;
-
+
/// @brief Name of the @ref howto4::field::TlvPropMembers::Prop3Members::Length field.
static const char* name()
{
return "Length";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
+
/// @brief Common types and functions for
/// @ref howto4::field::TlvPropMembers::Prop3Members::Val field.
struct ValCommon
@@ -252,11 +231,9 @@ struct TlvPropMembersCommon
{
return "Val";
}
-
};
-
};
-
+
/// @brief Common types and functions for
/// @ref howto4::field::TlvPropMembers::Prop3 field.
struct Prop3Common
@@ -266,9 +243,8 @@ struct TlvPropMembersCommon
{
return "Prop3";
}
-
};
-
+
/// @brief Scope for all the common definitions of the member fields of
/// @ref howto4::field::TlvPropMembers::Any field.
struct AnyMembersCommon
@@ -280,22 +256,20 @@ struct TlvPropMembersCommon
/// @brief Re-definition of the value type used by
/// howto4::field::TlvPropMembers::AnyMembers::Key field.
using ValueType = std::uint8_t;
-
+
/// @brief Name of the @ref howto4::field::TlvPropMembers::AnyMembers::Key field.
static const char* name()
{
return "Key";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
+
/// @brief Common types and functions for
/// @ref howto4::field::TlvPropMembers::AnyMembers::Length field.
struct LengthCommon
@@ -303,22 +277,20 @@ struct TlvPropMembersCommon
/// @brief Re-definition of the value type used by
/// howto4::field::TlvPropMembers::AnyMembers::Length field.
using ValueType = std::uint8_t;
-
+
/// @brief Name of the @ref howto4::field::TlvPropMembers::AnyMembers::Length field.
static const char* name()
{
return "Length";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
+
/// @brief Common types and functions for
/// @ref howto4::field::TlvPropMembers::AnyMembers::Val field.
struct ValCommon
@@ -328,11 +300,9 @@ struct TlvPropMembersCommon
{
return "Val";
}
-
};
-
};
-
+
/// @brief Common types and functions for
/// @ref howto4::field::TlvPropMembers::Any field.
struct AnyCommon
@@ -342,9 +312,7 @@ struct TlvPropMembersCommon
{
return "Any";
}
-
};
-
};
/// @brief Common types and functions for
@@ -356,10 +324,8 @@ struct TlvPropCommon
{
return "TlvProp";
}
-
};
} // namespace field
} // namespace howto4
-
diff --git a/howtos/howto4/include/howto4/frame/Frame.h b/howtos/howto4/include/howto4/frame/Frame.h
index 64e233166..3a026df4b 100644
--- a/howtos/howto4/include/howto4/frame/Frame.h
+++ b/howtos/howto4/include/howto4/frame/Frame.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Frame" frame class.
@@ -25,7 +25,6 @@ namespace howto4
namespace frame
{
-
/// @brief Layers definition of @ref Frame frame class.
/// @tparam TOpt Protocol options.
/// @see @ref Frame
@@ -38,7 +37,7 @@ struct FrameLayers
comms::protocol::MsgDataLayer<
typename TOpt::frame::FrameLayers::Data
>;
-
+
/// @brief Scope for field(s) of @ref Id layer.
struct IdMembers
{
@@ -59,26 +58,21 @@ struct FrameLayers
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto4::frame::FrameLayersCommon::IdMembersCommon::IdFieldCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto4::frame::FrameLayersCommon::IdMembersCommon::IdFieldCommon::name();
}
-
-
};
-
-
};
-
+
/// @brief Definition of layer "Id".
template
using Id =
@@ -89,7 +83,7 @@ struct FrameLayers
Data,
typename TOpt::frame::FrameLayers::Id
>;
-
+
/// @brief Scope for field(s) of @ref Size layer.
struct SizeMembers
{
@@ -110,26 +104,21 @@ struct FrameLayers
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto4::frame::FrameLayersCommon::SizeMembersCommon::SizeFieldCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto4::frame::FrameLayersCommon::SizeMembersCommon::SizeFieldCommon::name();
}
-
-
};
-
-
};
-
+
/// @brief Definition of layer "Size".
template
using Size =
@@ -137,7 +126,7 @@ struct FrameLayers
typename SizeMembers::SizeField,
Id
>;
-
+
/// @brief Scope for field(s) of @ref Checksum layer.
struct ChecksumMembers
{
@@ -156,26 +145,21 @@ struct FrameLayers
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto4::frame::FrameLayersCommon::ChecksumMembersCommon::ChecksumFieldCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto4::frame::FrameLayersCommon::ChecksumMembersCommon::ChecksumFieldCommon::name();
}
-
-
};
-
-
};
-
+
/// @brief Definition of layer "Checksum".
template
using Checksum =
@@ -184,7 +168,7 @@ struct FrameLayers
comms::protocol::checksum::Crc_CCITT,
Size
>;
-
+
/// @brief Scope for field(s) of @ref Sync layer.
struct SyncMembers
{
@@ -207,26 +191,21 @@ struct FrameLayers
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto4::frame::FrameLayersCommon::SyncMembersCommon::SyncFieldCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto4::frame::FrameLayersCommon::SyncMembersCommon::SyncFieldCommon::name();
}
-
-
};
-
-
};
-
+
/// @brief Definition of layer "Sync".
template
using Sync =
@@ -234,11 +213,10 @@ struct FrameLayers
typename SyncMembers::SyncField,
Checksum
>;
-
+
/// @brief Final protocol stack definition.
template
using Stack = Sync;
-
};
/// @brief Definition of "Frame" frame class.
@@ -279,5 +257,3 @@ class Frame : public
} // namespace frame
} // namespace howto4
-
-
diff --git a/howtos/howto4/include/howto4/frame/FrameCommon.h b/howtos/howto4/include/howto4/frame/FrameCommon.h
index 191e71c82..1dc3e43d0 100644
--- a/howtos/howto4/include/howto4/frame/FrameCommon.h
+++ b/howtos/howto4/include/howto4/frame/FrameCommon.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -14,7 +14,6 @@ namespace howto4
namespace frame
{
-
/// @brief Common types and functions of fields using in definition of
/// @ref howto4::frame::Frame frame.
/// @see howto4::frame::FrameLayers
@@ -31,24 +30,21 @@ struct FrameLayersCommon
/// @brief Re-definition of the value type used by
/// howto4::frame::FrameLayers::SyncMembers::SyncField field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto4::frame::FrameLayers::SyncMembers::SyncField field.
static const char* name()
{
return "SyncField";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
-
+
/// @brief Scope for all the common definitions of the fields defined in
/// @ref howto4::frame::FrameLayers::ChecksumMembers struct.
struct ChecksumMembersCommon
@@ -60,24 +56,21 @@ struct FrameLayersCommon
/// @brief Re-definition of the value type used by
/// howto4::frame::FrameLayers::ChecksumMembers::ChecksumField field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto4::frame::FrameLayers::ChecksumMembers::ChecksumField field.
static const char* name()
{
return "ChecksumField";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
-
+
/// @brief Scope for all the common definitions of the fields defined in
/// @ref howto4::frame::FrameLayers::SizeMembers struct.
struct SizeMembersCommon
@@ -89,24 +82,21 @@ struct FrameLayersCommon
/// @brief Re-definition of the value type used by
/// howto4::frame::FrameLayers::SizeMembers::SizeField field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto4::frame::FrameLayers::SizeMembers::SizeField field.
static const char* name()
{
return "SizeField";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
-
+
/// @brief Scope for all the common definitions of the fields defined in
/// @ref howto4::frame::FrameLayers::IdMembers struct.
struct IdMembersCommon
@@ -118,28 +108,22 @@ struct FrameLayersCommon
/// @brief Re-definition of the value type used by
/// howto4::frame::FrameLayers::IdMembers::IdField field.
using ValueType = std::uint8_t;
-
+
/// @brief Name of the @ref howto4::frame::FrameLayers::IdMembers::IdField field.
static const char* name()
{
return "IdField";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
-
};
} // namespace frame
} // namespace howto4
-
-
diff --git a/howtos/howto4/include/howto4/input/AllMessages.h b/howtos/howto4/include/howto4/input/AllMessages.h
index 92b420d68..136b7e5a6 100644
--- a/howtos/howto4/include/howto4/input/AllMessages.h
+++ b/howtos/howto4/include/howto4/input/AllMessages.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of the AllMessages messages bundle.
diff --git a/howtos/howto4/include/howto4/input/ClientInputMessages.h b/howtos/howto4/include/howto4/input/ClientInputMessages.h
index 726f1f9da..2d51a6b9e 100644
--- a/howtos/howto4/include/howto4/input/ClientInputMessages.h
+++ b/howtos/howto4/include/howto4/input/ClientInputMessages.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of the ClientInputMessages messages bundle.
diff --git a/howtos/howto4/include/howto4/input/ServerInputMessages.h b/howtos/howto4/include/howto4/input/ServerInputMessages.h
index 096cdae1f..e3ee50b73 100644
--- a/howtos/howto4/include/howto4/input/ServerInputMessages.h
+++ b/howtos/howto4/include/howto4/input/ServerInputMessages.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of the ServerInputMessages messages bundle.
diff --git a/howtos/howto4/include/howto4/message/Msg.h b/howtos/howto4/include/howto4/message/Msg.h
index 3fc6d5813..cbe1fc75a 100644
--- a/howtos/howto4/include/howto4/message/Msg.h
+++ b/howtos/howto4/include/howto4/message/Msg.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Message" message and its fields.
@@ -15,14 +15,12 @@
#include "howto4/message/MsgCommon.h"
#include "howto4/options/DefaultOptions.h"
-
namespace howto4
{
namespace message
{
-
/// @brief Fields of @ref Msg.
/// @tparam TOpt Extra options
/// @see @ref Msg
@@ -50,11 +48,8 @@ struct MsgFields
{
return howto4::message::MsgFieldsCommon::PropsCommon::name();
}
-
-
};
-
-
+
/// @brief All the fields bundled in std::tuple.
using All = std::tuple<
Props
@@ -99,22 +94,18 @@ class Msg : public
COMMS_MSG_FIELDS_NAMES(
props
);
-
+
// Compile time check for serialisation length.
static const std::size_t MsgMinLen = Base::doMinLength();
static_assert(MsgMinLen == 0U, "Unexpected min serialisation length");
-
+
/// @brief Name of the message.
static const char* doName()
{
return howto4::message::MsgCommon::name();
}
-
-
};
} // namespace message
} // namespace howto4
-
-
diff --git a/howtos/howto4/include/howto4/message/MsgCommon.h b/howtos/howto4/include/howto4/message/MsgCommon.h
index b2d2f7109..14118f496 100644
--- a/howtos/howto4/include/howto4/message/MsgCommon.h
+++ b/howtos/howto4/include/howto4/message/MsgCommon.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -12,7 +12,6 @@ namespace howto4
namespace message
{
-
/// @brief Common types and functions for fields of
/// @ref howto4::message::Msg message.
/// @see howto4::message::MsgFields
@@ -27,9 +26,7 @@ struct MsgFieldsCommon
{
return "Props";
}
-
};
-
};
/// @brief Common types and functions of
@@ -41,12 +38,8 @@ struct MsgCommon
{
return "Message";
}
-
};
} // namespace message
} // namespace howto4
-
-
-
diff --git a/howtos/howto4/include/howto4/options/BareMetalDefaultOptions.h b/howtos/howto4/include/howto4/options/BareMetalDefaultOptions.h
index fbebea7d3..142f829ee 100644
--- a/howtos/howto4/include/howto4/options/BareMetalDefaultOptions.h
+++ b/howtos/howto4/include/howto4/options/BareMetalDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol bare metal default options.
@@ -38,9 +38,8 @@ struct BareMetalDefaultOptionsT : public TBase
comms::option::app::FixedSizeStorage,
typename TBase::field::TlvPropMembers::Prop3Members::Val
>;
-
}; // struct Prop3Members
-
+
struct AnyMembers : public TBase::field::TlvPropMembers::AnyMembers
{
/// @brief Extra options for @ref
@@ -51,13 +50,10 @@ struct BareMetalDefaultOptionsT : public TBase
comms::option::app::FixedSizeStorage,
typename TBase::field::TlvPropMembers::AnyMembers::Val
>;
-
}; // struct AnyMembers
-
}; // struct TlvPropMembers
-
}; // struct field
-
+
/// @brief Extra options for messages.
struct message : public TBase::message
{
@@ -72,11 +68,9 @@ struct BareMetalDefaultOptionsT : public TBase
comms::option::app::FixedSizeStorage,
typename TBase::message::MsgFields::Props
>;
-
};
-
}; // struct message
-
+
/// @brief Extra options for frames.
struct frame : public TBase::frame
{
@@ -91,7 +85,7 @@ struct BareMetalDefaultOptionsT : public TBase
comms::option::app::FixedSizeStorage,
typename TBase::frame::FrameLayers::Data
>;
-
+
/// @brief Extra options for @ref
/// howto4::frame::FrameLayers::Id layer.
using Id =
@@ -99,13 +93,8 @@ struct BareMetalDefaultOptionsT : public TBase
comms::option::app::InPlaceAllocation,
typename TBase::frame::FrameLayers::Id
>;
-
-
}; // struct FrameLayers
-
}; // struct frame
-
-
};
/// @brief Alias to @ref BareMetalDefaultOptionsT with default template parameter.
diff --git a/howtos/howto4/include/howto4/options/ClientDefaultOptions.h b/howtos/howto4/include/howto4/options/ClientDefaultOptions.h
index 53d173d86..805cbbde7 100644
--- a/howtos/howto4/include/howto4/options/ClientDefaultOptions.h
+++ b/howtos/howto4/include/howto4/options/ClientDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol client default options.
diff --git a/howtos/howto4/include/howto4/options/DataViewDefaultOptions.h b/howtos/howto4/include/howto4/options/DataViewDefaultOptions.h
index d715588a4..c8cf3a94d 100644
--- a/howtos/howto4/include/howto4/options/DataViewDefaultOptions.h
+++ b/howtos/howto4/include/howto4/options/DataViewDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol data view default options.
@@ -32,9 +32,8 @@ struct DataViewDefaultOptionsT : public TBase
comms::option::app::OrigDataView,
typename TBase::field::TlvPropMembers::Prop3Members::Val
>;
-
}; // struct Prop3Members
-
+
struct AnyMembers : public TBase::field::TlvPropMembers::AnyMembers
{
/// @brief Extra options for @ref
@@ -45,13 +44,10 @@ struct DataViewDefaultOptionsT : public TBase
comms::option::app::OrigDataView,
typename TBase::field::TlvPropMembers::AnyMembers::Val
>;
-
}; // struct AnyMembers
-
}; // struct TlvPropMembers
-
}; // struct field
-
+
/// @brief Extra options for frames.
struct frame : public TBase::frame
{
@@ -66,13 +62,8 @@ struct DataViewDefaultOptionsT : public TBase
comms::option::app::OrigDataView,
typename TBase::frame::FrameLayers::Data
>;
-
-
}; // struct FrameLayers
-
}; // struct frame
-
-
};
/// @brief Alias to @ref DataViewDefaultOptionsT with default template parameter.
diff --git a/howtos/howto4/include/howto4/options/DefaultOptions.h b/howtos/howto4/include/howto4/options/DefaultOptions.h
index a8d197f34..d1a674bd0 100644
--- a/howtos/howto4/include/howto4/options/DefaultOptions.h
+++ b/howtos/howto4/include/howto4/options/DefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol default options.
@@ -31,22 +31,18 @@ struct DefaultOptionsT : public TBase
/// howto4::field::TlvPropMembers::Prop3Members::Val
/// field.
using Val = comms::option::EmptyOption;
-
}; // struct Prop3Members
-
+
struct AnyMembers
{
/// @brief Extra options for @ref
/// howto4::field::TlvPropMembers::AnyMembers::Val
/// field.
using Val = comms::option::EmptyOption;
-
}; // struct AnyMembers
-
}; // struct TlvPropMembers
-
}; // struct field
-
+
/// @brief Extra options for messages.
struct message
{
@@ -57,11 +53,9 @@ struct DefaultOptionsT : public TBase
/// @brief Extra options for @ref
/// howto4::message::MsgFields::Props field.
using Props = comms::option::EmptyOption;
-
};
-
}; // struct message
-
+
/// @brief Extra options for frames.
struct frame
{
@@ -72,17 +66,12 @@ struct DefaultOptionsT : public TBase
/// @brief Extra options for @ref
/// howto4::frame::FrameLayers::Data layer.
using Data = comms::option::EmptyOption;
-
+
/// @brief Extra options for @ref
/// howto4::frame::FrameLayers::Id layer.
using Id = comms::option::EmptyOption;
-
-
}; // struct FrameLayers
-
}; // struct frame
-
-
};
/// @brief Default (empty) options of the protocol.
diff --git a/howtos/howto4/include/howto4/options/ServerDefaultOptions.h b/howtos/howto4/include/howto4/options/ServerDefaultOptions.h
index 6564c4037..ac9838f2b 100644
--- a/howtos/howto4/include/howto4/options/ServerDefaultOptions.h
+++ b/howtos/howto4/include/howto4/options/ServerDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol server default options.
diff --git a/howtos/howto5/include/howto5/Interface.h b/howtos/howto5/include/howto5/Interface.h
index 82e3aaea0..988c114d4 100644
--- a/howtos/howto5/include/howto5/Interface.h
+++ b/howtos/howto5/include/howto5/Interface.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Interface" interface class.
@@ -17,7 +17,6 @@
namespace howto5
{
-
/// @brief Extra transport fields of @ref Interface interface class.
/// @see @ref Interface
/// @headerfile howto5/Interface.h
@@ -28,8 +27,7 @@ struct InterfaceFields
howto5::field::Version<
howto5::options::DefaultOptions
>;
-
-
+
/// @brief Definition of "Flags" field.
class Flags : public
howto5::field::InterfaceFlags<
@@ -46,11 +44,8 @@ struct InterfaceFields
{
return howto5::InterfaceFieldsCommon::FlagsCommon::name();
}
-
-
};
-
-
+
/// @brief All the fields bundled in std::tuple.
using All = std::tuple<
Version,
@@ -95,10 +90,6 @@ class Interface : public
version,
flags
);
-
-
};
} // namespace howto5
-
-
diff --git a/howtos/howto5/include/howto5/InterfaceCommon.h b/howtos/howto5/include/howto5/InterfaceCommon.h
index 1316191e7..41bb4ba46 100644
--- a/howtos/howto5/include/howto5/InterfaceCommon.h
+++ b/howtos/howto5/include/howto5/InterfaceCommon.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -12,7 +12,6 @@
namespace howto5
{
-
/// @brief Common types and functions for fields of
/// @ref howto5::Interface interface.
/// @see howto5::InterfaceFields
@@ -21,7 +20,7 @@ struct InterfaceFieldsCommon
/// @brief Common types and functions for
/// @ref howto5::InterfaceFields::Version field.
using VersionCommon = howto5::field::VersionCommon;
-
+
/// @brief Common types and functions for
/// @ref howto5::InterfaceFields::Flags field.
struct FlagsCommon : public howto5::field::InterfaceFlagsCommon
@@ -31,10 +30,6 @@ struct InterfaceFieldsCommon
{
return "Flags";
}
-
};
-
};
} // namespace howto5
-
-
diff --git a/howtos/howto5/include/howto5/MsgId.h b/howtos/howto5/include/howto5/MsgId.h
index 4d9ca650a..de67ec27c 100644
--- a/howtos/howto5/include/howto5/MsgId.h
+++ b/howtos/howto5/include/howto5/MsgId.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of message ids enumeration.
@@ -15,7 +15,7 @@ enum MsgId : std::uint8_t
{
MsgId_M1 = 1, ///< message id of Message 1 message. ,
MsgId_M2 = 2, ///< message id of Message 2 message. ,
-
+
// --- Extra values generated for convenience ---,
MsgId_FirstValue = 1, ///< First defined value.,
MsgId_LastValue = 2, ///< Last defined value.,
@@ -23,4 +23,3 @@ enum MsgId : std::uint8_t
};
} // namespace howto5
-
diff --git a/howtos/howto5/include/howto5/Version.h b/howtos/howto5/include/howto5/Version.h
index c7a0c2de6..9214a0b6b 100644
--- a/howtos/howto5/include/howto5/Version.h
+++ b/howtos/howto5/include/howto5/Version.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains protocol version definition.
@@ -22,6 +22,5 @@ inline constexpr unsigned specVersion()
} // namespace howto5
// Generated compile time check for minimal supported version of the COMMS library
-static_assert(COMMS_MAKE_VERSION(5, 0, 0) <= comms::version(),
+static_assert(COMMS_MAKE_VERSION(5, 0, 3) <= comms::version(),
"The version of COMMS library is too old");
-
diff --git a/howtos/howto5/include/howto5/dispatch/DispatchClientInputMessage.h b/howtos/howto5/include/howto5/dispatch/DispatchClientInputMessage.h
index 9377d55a3..ef5b35913 100644
--- a/howtos/howto5/include/howto5/dispatch/DispatchClientInputMessage.h
+++ b/howtos/howto5/include/howto5/dispatch/DispatchClientInputMessage.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains dispatch to handling function(s) for client input input messages.
@@ -129,7 +129,7 @@ auto dispatchClientInputMessageDefaultOptions(
/// @tparam TProtOptions Protocol options struct used for the application,
/// like @ref howto5::options::DefaultOptions.
/// @headerfile howto5/dispatch/DispatchClientInputMessage.h
-template
+template
struct ClientInputMsgDispatcher
{
/// @brief Class detection tag
@@ -189,9 +189,7 @@ struct ClientInputMsgDispatcher
/// @ref howto5::options::DefaultOptions as template parameter.
/// @note Defined in howto5/dispatch/DispatchClientInputMessage.h
using ClientInputMsgDispatcherDefaultOptions =
- ClientInputMsgDispatcher;
-
-
+ ClientInputMsgDispatcher<>;
} // namespace dispatch
diff --git a/howtos/howto5/include/howto5/dispatch/DispatchMessage.h b/howtos/howto5/include/howto5/dispatch/DispatchMessage.h
index b109981ad..79b802d51 100644
--- a/howtos/howto5/include/howto5/dispatch/DispatchMessage.h
+++ b/howtos/howto5/include/howto5/dispatch/DispatchMessage.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains dispatch to handling function(s) for all input messages.
@@ -129,7 +129,7 @@ auto dispatchMessageDefaultOptions(
/// @tparam TProtOptions Protocol options struct used for the application,
/// like @ref howto5::options::DefaultOptions.
/// @headerfile howto5/dispatch/DispatchMessage.h
-template
+template
struct MsgDispatcher
{
/// @brief Class detection tag
@@ -189,9 +189,7 @@ struct MsgDispatcher
/// @ref howto5::options::DefaultOptions as template parameter.
/// @note Defined in howto5/dispatch/DispatchMessage.h
using MsgDispatcherDefaultOptions =
- MsgDispatcher;
-
-
+ MsgDispatcher<>;
} // namespace dispatch
diff --git a/howtos/howto5/include/howto5/dispatch/DispatchServerInputMessage.h b/howtos/howto5/include/howto5/dispatch/DispatchServerInputMessage.h
index 62f31f2fa..d61239090 100644
--- a/howtos/howto5/include/howto5/dispatch/DispatchServerInputMessage.h
+++ b/howtos/howto5/include/howto5/dispatch/DispatchServerInputMessage.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains dispatch to handling function(s) for client input input messages.
@@ -129,7 +129,7 @@ auto dispatchServerInputMessageDefaultOptions(
/// @tparam TProtOptions Protocol options struct used for the application,
/// like @ref howto5::options::DefaultOptions.
/// @headerfile howto5/dispatch/DispatchServerInputMessage.h
-template
+template
struct ServerInputMsgDispatcher
{
/// @brief Class detection tag
@@ -189,9 +189,7 @@ struct ServerInputMsgDispatcher
/// @ref howto5::options::DefaultOptions as template parameter.
/// @note Defined in howto5/dispatch/DispatchServerInputMessage.h
using ServerInputMsgDispatcherDefaultOptions =
- ServerInputMsgDispatcher;
-
-
+ ServerInputMsgDispatcher<>;
} // namespace dispatch
diff --git a/howtos/howto5/include/howto5/field/FieldBase.h b/howtos/howto5/include/howto5/field/FieldBase.h
index 351d51c54..448d28ba9 100644
--- a/howtos/howto5/include/howto5/field/FieldBase.h
+++ b/howtos/howto5/include/howto5/field/FieldBase.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of base class of all the fields.
@@ -27,4 +27,3 @@ using FieldBase =
} // namespace field
} // namespace howto5
-
diff --git a/howtos/howto5/include/howto5/field/InterfaceFlags.h b/howtos/howto5/include/howto5/field/InterfaceFlags.h
index 8af1b43cb..5f2fa2fcd 100644
--- a/howtos/howto5/include/howto5/field/InterfaceFlags.h
+++ b/howtos/howto5/include/howto5/field/InterfaceFlags.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "InterfaceFlags" field.
@@ -17,7 +17,6 @@ namespace howto5
namespace field
{
-
/// @brief Definition of "InterfaceFlags" field.
/// @tparam TOpt Protocol options.
/// @tparam TExtraOpts Extra options.
@@ -50,7 +49,7 @@ class InterfaceFlags : public
B0,
B1
);
-
+
/// @brief Retrieve name of the bit.
/// @see @ref howto5::field::InterfaceFlagsCommon::bitName().
static const char* bitName(BitIdx idx)
@@ -59,18 +58,14 @@ class InterfaceFlags : public
howto5::field::InterfaceFlagsCommon::bitName(
static_cast(idx));
}
-
+
/// @brief Name of the field.
static const char* name()
{
return howto5::field::InterfaceFlagsCommon::name();
}
-
-
};
-
} // namespace field
} // namespace howto5
-
diff --git a/howtos/howto5/include/howto5/field/InterfaceFlagsCommon.h b/howtos/howto5/include/howto5/field/InterfaceFlagsCommon.h
index af61422dd..0ec1484fe 100644
--- a/howtos/howto5/include/howto5/field/InterfaceFlagsCommon.h
+++ b/howtos/howto5/include/howto5/field/InterfaceFlagsCommon.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -14,7 +14,6 @@ namespace howto5
namespace field
{
-
/// @brief Common types and functions for
/// @ref howto5::field::InterfaceFlags field.
struct InterfaceFlagsCommon
@@ -24,7 +23,7 @@ struct InterfaceFlagsCommon
{
return "InterfaceFlags";
}
-
+
/// @brief Retrieve name of the bit of
/// @ref howto5::field::InterfaceFlags field.
static const char* bitName(std::size_t idx)
@@ -33,19 +32,16 @@ struct InterfaceFlagsCommon
"B0",
"B1"
};
-
+
static const std::size_t MapSize = std::extent::value;
if (MapSize <= idx) {
return nullptr;
}
-
+
return Map[idx];
}
-
-
};
} // namespace field
} // namespace howto5
-
diff --git a/howtos/howto5/include/howto5/field/MsgId.h b/howtos/howto5/include/howto5/field/MsgId.h
index ac8f196e1..723d0e7c4 100644
--- a/howtos/howto5/include/howto5/field/MsgId.h
+++ b/howtos/howto5/include/howto5/field/MsgId.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "MsgId" field.
@@ -17,7 +17,6 @@ namespace howto5
namespace field
{
-
/// @brief Definition of "MsgId" field.
/// @see @ref howto5::MsgId
/// @tparam TOpt Protocol options.
@@ -41,46 +40,48 @@ class MsgId : public
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Single value name info entry.
using ValueNameInfo = howto5::field::MsgIdCommon::ValueNameInfo;
-
+
/// @brief Type returned from @ref valueNamesMap() member function.
/// @see @ref howto5::field::MsgIdCommon::ValueNamesMapInfo.
using ValueNamesMapInfo = howto5::field::MsgIdCommon::ValueNamesMapInfo;
-
+
/// @brief Retrieve name of the enum value.
/// @see @ref howto5::field::MsgIdCommon::valueName().
static const char* valueName(ValueType val)
{
return howto5::field::MsgIdCommon::valueName(val);
}
-
+
+ /// @brief Retrieve name of the enum value.
+ /// @see @ref howto5::field::MsgIdCommon::valueName().
+ static const char* valueNameOf(ValueType val)
+ {
+ return howto5::field::MsgIdCommon::valueName(val);
+ }
+
/// @brief Retrieve name of the @b current value
const char* valueName() const
{
return valueName(Base::getValue());
}
-
+
/// @brief Retrieve map of enum value names.
/// @see @ref howto5::field::MsgIdCommon::valueNamesMap().
static ValueNamesMapInfo valueNamesMap()
{
return howto5::field::MsgIdCommon::valueNamesMap();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto5::field::MsgIdCommon::name();
}
-
-
};
-
} // namespace field
} // namespace howto5
-
diff --git a/howtos/howto5/include/howto5/field/MsgIdCommon.h b/howtos/howto5/include/howto5/field/MsgIdCommon.h
index ffe32a27b..5dc79f292 100644
--- a/howtos/howto5/include/howto5/field/MsgIdCommon.h
+++ b/howtos/howto5/include/howto5/field/MsgIdCommon.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -6,9 +6,7 @@
#pragma once
-#include
#include
-#include
#include
#include
#include "howto5/MsgId.h"
@@ -19,7 +17,6 @@ namespace howto5
namespace field
{
-
/// @brief Common types and functions for
/// @ref howto5::field::MsgId field.
struct MsgIdCommon
@@ -27,21 +24,21 @@ struct MsgIdCommon
/// @brief Values enumerator for
/// @ref howto5::field::MsgId field.
using ValueType = howto5::MsgId;
-
+
/// @brief Single value name info entry
using ValueNameInfo = const char*;
-
+
/// @brief Type returned from @ref valueNamesMap() member function.
/// @details The @b first value of the pair is pointer to the map array,
/// The @b second value of the pair is the size of the array.
using ValueNamesMapInfo = std::pair;
-
+
/// @brief Name of the @ref howto5::field::MsgId field.
static const char* name()
{
return "MsgId";
}
-
+
/// @brief Retrieve name of the enum value
static const char* valueName(ValueType val)
{
@@ -49,10 +46,10 @@ struct MsgIdCommon
if (namesMapInfo.second <= static_cast(val)) {
return nullptr;
}
-
+
return namesMapInfo.first[static_cast(val)];
}
-
+
/// @brief Retrieve map of enum value names
static ValueNamesMapInfo valueNamesMap()
{
@@ -62,19 +59,15 @@ struct MsgIdCommon
"Message 2"
};
static const std::size_t MapSize = std::extent::value;
-
+
return std::make_pair(&Map[0], MapSize);
}
-
-
};
/// @brief Values enumerator for
/// @ref howto5::field::MsgId field.
using MsgIdVal = MsgIdCommon::ValueType;
-
} // namespace field
} // namespace howto5
-
diff --git a/howtos/howto5/include/howto5/field/Version.h b/howtos/howto5/include/howto5/field/Version.h
index 58627d19d..7da0887ef 100644
--- a/howtos/howto5/include/howto5/field/Version.h
+++ b/howtos/howto5/include/howto5/field/Version.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Version" field.
@@ -18,7 +18,6 @@ namespace howto5
namespace field
{
-
/// @brief Definition of "Version" field.
/// @tparam TOpt Protocol options.
/// @tparam TExtraOpts Extra options.
@@ -41,25 +40,20 @@ class Version : public
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto5::field::VersionCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto5::field::VersionCommon::name();
}
-
-
};
-
} // namespace field
} // namespace howto5
-
diff --git a/howtos/howto5/include/howto5/field/VersionCommon.h b/howtos/howto5/include/howto5/field/VersionCommon.h
index 0411bfd6f..3c3ddcbe9 100644
--- a/howtos/howto5/include/howto5/field/VersionCommon.h
+++ b/howtos/howto5/include/howto5/field/VersionCommon.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -14,7 +14,6 @@ namespace howto5
namespace field
{
-
/// @brief Common types and functions for
/// @ref howto5::field::Version field.
struct VersionCommon
@@ -22,23 +21,20 @@ struct VersionCommon
/// @brief Re-definition of the value type used by
/// howto5::field::Version field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto5::field::Version field.
static const char* name()
{
return "Version";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
} // namespace field
} // namespace howto5
-
diff --git a/howtos/howto5/include/howto5/field/VersionWithFlags.h b/howtos/howto5/include/howto5/field/VersionWithFlags.h
index 58a9211ad..ab226ab5b 100644
--- a/howtos/howto5/include/howto5/field/VersionWithFlags.h
+++ b/howtos/howto5/include/howto5/field/VersionWithFlags.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "VersionWithFlags" field.
@@ -20,7 +20,6 @@ namespace howto5
namespace field
{
-
/// @brief Scope for all the member fields of
/// @ref VersionWithFlags field.
/// @tparam TOpt Protocol options.
@@ -33,8 +32,7 @@ struct VersionWithFlagsMembers
TOpt,
comms::option::def::FixedBitLength<12U>
>;
-
-
+
/// @brief Definition of "Flags" field.
class Flags : public
howto5::field::InterfaceFlags<
@@ -53,11 +51,8 @@ struct VersionWithFlagsMembers
{
return howto5::field::VersionWithFlagsMembersCommon::FlagsCommon::name();
}
-
-
};
-
-
+
/// @brief All members bundled in @b std::tuple.
using All =
std::tuple<
@@ -98,18 +93,14 @@ class VersionWithFlags : public
version,
flags
);
-
+
/// @brief Name of the field.
static const char* name()
{
return howto5::field::VersionWithFlagsCommon::name();
}
-
-
};
-
} // namespace field
} // namespace howto5
-
diff --git a/howtos/howto5/include/howto5/field/VersionWithFlagsCommon.h b/howtos/howto5/include/howto5/field/VersionWithFlagsCommon.h
index 076cc6ae1..1ca50d3b2 100644
--- a/howtos/howto5/include/howto5/field/VersionWithFlagsCommon.h
+++ b/howtos/howto5/include/howto5/field/VersionWithFlagsCommon.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -15,7 +15,6 @@ namespace howto5
namespace field
{
-
/// @brief Scope for all the common definitions of the member fields of
/// @ref howto5::field::VersionWithFlags field.
struct VersionWithFlagsMembersCommon
@@ -23,7 +22,7 @@ struct VersionWithFlagsMembersCommon
/// @brief Common types and functions for
/// @ref howto5::field::VersionWithFlagsMembers::Version field.
using VersionCommon = howto5::field::VersionCommon;
-
+
/// @brief Common types and functions for
/// @ref howto5::field::VersionWithFlagsMembers::Flags field.
struct FlagsCommon : public howto5::field::InterfaceFlagsCommon
@@ -33,9 +32,7 @@ struct VersionWithFlagsMembersCommon
{
return "Flags";
}
-
};
-
};
/// @brief Common types and functions for
@@ -47,10 +44,8 @@ struct VersionWithFlagsCommon
{
return "VersionWithFlags";
}
-
};
} // namespace field
} // namespace howto5
-
diff --git a/howtos/howto5/include/howto5/frame/Frame.h b/howtos/howto5/include/howto5/frame/Frame.h
index d2d9ce4ea..39b45a866 100644
--- a/howtos/howto5/include/howto5/frame/Frame.h
+++ b/howtos/howto5/include/howto5/frame/Frame.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Frame" frame class.
@@ -25,7 +25,6 @@ namespace howto5
namespace frame
{
-
/// @brief Layers definition of @ref Frame frame class.
/// @tparam TOpt Protocol options.
/// @see @ref Frame
@@ -38,7 +37,7 @@ struct FrameLayers
comms::protocol::MsgDataLayer<
typename TOpt::frame::FrameLayers::Data
>;
-
+
/// @brief Definition of layer "VersionWithFlags".
using VersionWithFlags =
howto5::frame::layer::VersionWithFlags<
@@ -48,7 +47,7 @@ struct FrameLayers
Data,
typename TOpt::frame::FrameLayers::VersionWithFlags
>;
-
+
/// @brief Definition of layer "Id".
template
using Id =
@@ -61,7 +60,7 @@ struct FrameLayers
VersionWithFlags,
typename TOpt::frame::FrameLayers::Id
>;
-
+
/// @brief Scope for field(s) of @ref Size layer.
struct SizeMembers
{
@@ -80,26 +79,21 @@ struct FrameLayers
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto5::frame::FrameLayersCommon::SizeMembersCommon::SizeFieldCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto5::frame::FrameLayersCommon::SizeMembersCommon::SizeFieldCommon::name();
}
-
-
};
-
-
};
-
+
/// @brief Definition of layer "Size".
template
using Size =
@@ -107,11 +101,10 @@ struct FrameLayers
typename SizeMembers::SizeField,
Id
>;
-
+
/// @brief Final protocol stack definition.
template
using Stack = Size;
-
};
/// @brief Definition of "Frame" frame class.
@@ -150,5 +143,3 @@ class Frame : public
} // namespace frame
} // namespace howto5
-
-
diff --git a/howtos/howto5/include/howto5/frame/FrameCommon.h b/howtos/howto5/include/howto5/frame/FrameCommon.h
index ca47da774..c69c7d205 100644
--- a/howtos/howto5/include/howto5/frame/FrameCommon.h
+++ b/howtos/howto5/include/howto5/frame/FrameCommon.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -14,7 +14,6 @@ namespace howto5
namespace frame
{
-
/// @brief Common types and functions of fields using in definition of
/// @ref howto5::frame::Frame frame.
/// @see howto5::frame::FrameLayers
@@ -31,28 +30,22 @@ struct FrameLayersCommon
/// @brief Re-definition of the value type used by
/// howto5::frame::FrameLayers::SizeMembers::SizeField field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto5::frame::FrameLayers::SizeMembers::SizeField field.
static const char* name()
{
return "SizeField";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
-
};
} // namespace frame
} // namespace howto5
-
-
diff --git a/howtos/howto5/include/howto5/input/AllMessages.h b/howtos/howto5/include/howto5/input/AllMessages.h
index c95ff311a..3684daecf 100644
--- a/howtos/howto5/include/howto5/input/AllMessages.h
+++ b/howtos/howto5/include/howto5/input/AllMessages.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of the AllMessages messages bundle.
diff --git a/howtos/howto5/include/howto5/input/ClientInputMessages.h b/howtos/howto5/include/howto5/input/ClientInputMessages.h
index f64e9a40c..4276675ce 100644
--- a/howtos/howto5/include/howto5/input/ClientInputMessages.h
+++ b/howtos/howto5/include/howto5/input/ClientInputMessages.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of the ClientInputMessages messages bundle.
diff --git a/howtos/howto5/include/howto5/input/ServerInputMessages.h b/howtos/howto5/include/howto5/input/ServerInputMessages.h
index d641a722a..a9d729c98 100644
--- a/howtos/howto5/include/howto5/input/ServerInputMessages.h
+++ b/howtos/howto5/include/howto5/input/ServerInputMessages.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of the ServerInputMessages messages bundle.
diff --git a/howtos/howto5/include/howto5/message/Msg1.h b/howtos/howto5/include/howto5/message/Msg1.h
index 2880615b5..d96802f04 100644
--- a/howtos/howto5/include/howto5/message/Msg1.h
+++ b/howtos/howto5/include/howto5/message/Msg1.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Message 1" message and its fields.
@@ -16,14 +16,12 @@
#include "howto5/message/Msg1Common.h"
#include "howto5/options/DefaultOptions.h"
-
namespace howto5
{
namespace message
{
-
/// @brief Fields of @ref Msg1.
/// @tparam TOpt Extra options
/// @see @ref Msg1
@@ -46,24 +44,20 @@ struct Msg1Fields
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto5::message::Msg1FieldsCommon::F1Common::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto5::message::Msg1FieldsCommon::F1Common::name();
}
-
-
};
-
-
+
/// @brief Scope for all the member fields of
/// @ref F2 field.
struct F2Members
@@ -83,26 +77,21 @@ struct Msg1Fields
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto5::message::Msg1FieldsCommon::F2MembersCommon::FieldCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto5::message::Msg1FieldsCommon::F2MembersCommon::FieldCommon::name();
}
-
-
};
-
-
};
-
+
/// @brief Definition of "F2" field.
/// @details
/// The field exists only when B0 in interface flags is set.
@@ -123,11 +112,8 @@ struct Msg1Fields
{
return howto5::message::Msg1FieldsCommon::F2Common::name();
}
-
-
};
-
-
+
/// @brief Inner field of @ref F3 optional.
class F3Field : public
comms::field::IntValue<
@@ -143,23 +129,20 @@ struct Msg1Fields
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto5::message::Msg1FieldsCommon::F3Common::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto5::message::Msg1FieldsCommon::F3Common::name();
}
-
-
};
-
+
/// @brief Definition of version dependent
/// F3 field.
struct F3 : public
@@ -175,8 +158,7 @@ struct Msg1Fields
return F3Field::name();
}
};
-
-
+
/// @brief All the fields bundled in std::tuple.
using All = std::tuple<
F1,
@@ -231,19 +213,19 @@ class Msg1 : public
f2,
f3
);
-
+
// Compile time check for serialisation length.
static const std::size_t MsgMinLen = Base::doMinLength();
static const std::size_t MsgMaxLen = Base::doMaxLength();
static_assert(MsgMinLen == 2U, "Unexpected min serialisation length");
static_assert(MsgMaxLen == 6U, "Unexpected max serialisation length");
-
+
/// @brief Name of the message.
static const char* doName()
{
return howto5::message::Msg1Common::name();
}
-
+
/// @brief Custom read functionality
template
comms::ErrorStatus doRead(TIter& iter, std::size_t len)
@@ -251,31 +233,26 @@ class Msg1 : public
doRefresh(); // Update mode according to flags in the interface
return Base::doRead(iter, len);
}
-
-
+
// @brief Custom refresh functionality
bool doRefresh()
{
bool updated = Base::doRefresh(); // Don't forget default refresh functionality
-
+
auto expF2Mode = comms::field::OptionalMode::Missing;
if (Base::transportField_flags().getBitValue_B0()) {
expF2Mode = comms::field::OptionalMode::Exists;
}
-
+
if (field_f2().getMode() == expF2Mode) {
return updated;
}
-
+
field_f2().setMode(expF2Mode);
return true;
}
-
-
};
} // namespace message
} // namespace howto5
-
-
diff --git a/howtos/howto5/include/howto5/message/Msg1Common.h b/howtos/howto5/include/howto5/message/Msg1Common.h
index 6f25caa33..8d309b827 100644
--- a/howtos/howto5/include/howto5/message/Msg1Common.h
+++ b/howtos/howto5/include/howto5/message/Msg1Common.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -14,7 +14,6 @@ namespace howto5
namespace message
{
-
/// @brief Common types and functions for fields of
/// @ref howto5::message::Msg1 message.
/// @see howto5::message::Msg1Fields
@@ -27,22 +26,20 @@ struct Msg1FieldsCommon
/// @brief Re-definition of the value type used by
/// howto5::message::Msg1Fields::F1 field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto5::message::Msg1Fields::F1 field.
static const char* name()
{
return "F1";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
+
/// @brief Scope for all the common definitions of the member fields of
/// @ref howto5::message::Msg1Fields::F2 field.
struct F2MembersCommon
@@ -54,24 +51,21 @@ struct Msg1FieldsCommon
/// @brief Re-definition of the value type used by
/// howto5::message::Msg1Fields::F2Members::Field field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto5::message::Msg1Fields::F2Members::Field field.
static const char* name()
{
return "F3";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
-
+
/// @brief Common types and functions for
/// @ref howto5::message::Msg1Fields::F2 field.
struct F2Common
@@ -81,9 +75,8 @@ struct Msg1FieldsCommon
{
return "F2";
}
-
};
-
+
/// @brief Common types and functions for
/// @ref howto5::message::Msg1Fields::F3 field.
struct F3Common
@@ -91,22 +84,19 @@ struct Msg1FieldsCommon
/// @brief Re-definition of the value type used by
/// howto5::message::Msg1Fields::F3 field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto5::message::Msg1Fields::F3 field.
static const char* name()
{
return "F3";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
/// @brief Common types and functions of
@@ -118,12 +108,8 @@ struct Msg1Common
{
return "Message 1";
}
-
};
} // namespace message
} // namespace howto5
-
-
-
diff --git a/howtos/howto5/include/howto5/message/Msg2.h b/howtos/howto5/include/howto5/message/Msg2.h
index 960207abf..32ce51896 100644
--- a/howtos/howto5/include/howto5/message/Msg2.h
+++ b/howtos/howto5/include/howto5/message/Msg2.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Message 2" message and its fields.
@@ -17,14 +17,12 @@
#include "howto5/message/Msg2Common.h"
#include "howto5/options/DefaultOptions.h"
-
namespace howto5
{
namespace message
{
-
/// @brief Fields of @ref Msg2.
/// @tparam TOpt Extra options
/// @see @ref Msg2
@@ -51,26 +49,21 @@ struct Msg2Fields
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto5::message::Msg2FieldsCommon::F1MembersCommon::LengthCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto5::message::Msg2FieldsCommon::F1MembersCommon::LengthCommon::name();
}
-
-
};
-
-
};
-
+
/// @brief Definition of "F1" field.
class F1 : public
comms::field::String<
@@ -93,17 +86,14 @@ struct Msg2Fields
static const std::size_t StrSize = std::extent::value;
Base::setValue(typename Base::ValueType(&Str[0], StrSize - 1));
}
-
+
/// @brief Name of the field.
static const char* name()
{
return howto5::message::Msg2FieldsCommon::F1Common::name();
}
-
-
};
-
-
+
/// @brief Scope for all the member fields of
/// @ref F2 field.
struct F2Members
@@ -123,26 +113,21 @@ struct Msg2Fields
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto5::message::Msg2FieldsCommon::F2MembersCommon::FieldCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto5::message::Msg2FieldsCommon::F2MembersCommon::FieldCommon::name();
}
-
-
};
-
-
};
-
+
/// @brief Definition of "F2" field.
/// @details
/// The field exists only when B1 in interface flags is set.
@@ -163,11 +148,8 @@ struct Msg2Fields
{
return howto5::message::Msg2FieldsCommon::F2Common::name();
}
-
-
};
-
-
+
/// @brief Inner field of @ref F3 optional.
class F3Field : public
comms::field::IntValue<
@@ -183,23 +165,20 @@ struct Msg2Fields
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto5::message::Msg2FieldsCommon::F3Common::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto5::message::Msg2FieldsCommon::F3Common::name();
}
-
-
};
-
+
/// @brief Definition of version dependent
/// F3 field.
struct F3 : public
@@ -215,8 +194,7 @@ struct Msg2Fields
return F3Field::name();
}
};
-
-
+
/// @brief All the fields bundled in std::tuple.
using All = std::tuple<
F1,
@@ -271,17 +249,17 @@ class Msg2 : public
f2,
f3
);
-
+
// Compile time check for serialisation length.
static const std::size_t MsgMinLen = Base::doMinLength();
static_assert(MsgMinLen == 1U, "Unexpected min serialisation length");
-
+
/// @brief Name of the message.
static const char* doName()
{
return howto5::message::Msg2Common::name();
}
-
+
/// @brief Custom read functionality
template
comms::ErrorStatus doRead(TIter& iter, std::size_t len)
@@ -289,31 +267,26 @@ class Msg2 : public
doRefresh(); // Update mode according to flags in the interface
return Base::doRead(iter, len);
}
-
-
+
// @brief Custom refresh functionality
bool doRefresh()
{
bool updated = Base::doRefresh(); // Don't forget default refresh functionality
-
+
auto expF2Mode = comms::field::OptionalMode::Missing;
if (Base::transportField_flags().getBitValue_B1()) {
expF2Mode = comms::field::OptionalMode::Exists;
}
-
+
if (field_f2().getMode() == expF2Mode) {
return updated;
}
-
+
field_f2().setMode(expF2Mode);
return true;
}
-
-
};
} // namespace message
} // namespace howto5
-
-
diff --git a/howtos/howto5/include/howto5/message/Msg2Common.h b/howtos/howto5/include/howto5/message/Msg2Common.h
index 6c4d99422..8fd223d44 100644
--- a/howtos/howto5/include/howto5/message/Msg2Common.h
+++ b/howtos/howto5/include/howto5/message/Msg2Common.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -14,7 +14,6 @@ namespace howto5
namespace message
{
-
/// @brief Common types and functions for fields of
/// @ref howto5::message::Msg2 message.
/// @see howto5::message::Msg2Fields
@@ -31,24 +30,21 @@ struct Msg2FieldsCommon
/// @brief Re-definition of the value type used by
/// howto5::message::Msg2Fields::F1Members::Length field.
using ValueType = std::uint8_t;
-
+
/// @brief Name of the @ref howto5::message::Msg2Fields::F1Members::Length field.
static const char* name()
{
return "Length";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
-
+
/// @brief Common types and functions for
/// @ref howto5::message::Msg2Fields::F1 field.
struct F1Common
@@ -58,9 +54,8 @@ struct Msg2FieldsCommon
{
return "F1";
}
-
};
-
+
/// @brief Scope for all the common definitions of the member fields of
/// @ref howto5::message::Msg2Fields::F2 field.
struct F2MembersCommon
@@ -72,24 +67,21 @@ struct Msg2FieldsCommon
/// @brief Re-definition of the value type used by
/// howto5::message::Msg2Fields::F2Members::Field field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto5::message::Msg2Fields::F2Members::Field field.
static const char* name()
{
return "F2";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
-
+
/// @brief Common types and functions for
/// @ref howto5::message::Msg2Fields::F2 field.
struct F2Common
@@ -99,9 +91,8 @@ struct Msg2FieldsCommon
{
return "F2";
}
-
};
-
+
/// @brief Common types and functions for
/// @ref howto5::message::Msg2Fields::F3 field.
struct F3Common
@@ -109,22 +100,19 @@ struct Msg2FieldsCommon
/// @brief Re-definition of the value type used by
/// howto5::message::Msg2Fields::F3 field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto5::message::Msg2Fields::F3 field.
static const char* name()
{
return "F3";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
/// @brief Common types and functions of
@@ -136,12 +124,8 @@ struct Msg2Common
{
return "Message 2";
}
-
};
} // namespace message
} // namespace howto5
-
-
-
diff --git a/howtos/howto5/include/howto5/options/BareMetalDefaultOptions.h b/howtos/howto5/include/howto5/options/BareMetalDefaultOptions.h
index 0c8c1d77a..839f30753 100644
--- a/howtos/howto5/include/howto5/options/BareMetalDefaultOptions.h
+++ b/howtos/howto5/include/howto5/options/BareMetalDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol bare metal default options.
@@ -37,11 +37,9 @@ struct BareMetalDefaultOptionsT : public TBase
comms::option::app::FixedSizeStorage,
typename TBase::message::Msg2Fields::F1
>;
-
};
-
}; // struct message
-
+
/// @brief Extra options for frames.
struct frame : public TBase::frame
{
@@ -56,7 +54,7 @@ struct BareMetalDefaultOptionsT : public TBase
comms::option::app::FixedSizeStorage,
typename TBase::frame::FrameLayers::Data
>;
-
+
/// @brief Extra options for @ref
/// howto5::frame::FrameLayers::Id layer.
using Id =
@@ -64,13 +62,8 @@ struct BareMetalDefaultOptionsT : public TBase
comms::option::app::InPlaceAllocation,
typename TBase::frame::FrameLayers::Id
>;
-
-
}; // struct FrameLayers
-
}; // struct frame
-
-
};
/// @brief Alias to @ref BareMetalDefaultOptionsT with default template parameter.
diff --git a/howtos/howto5/include/howto5/options/ClientDefaultOptions.h b/howtos/howto5/include/howto5/options/ClientDefaultOptions.h
index 2aea44247..f2e40a273 100644
--- a/howtos/howto5/include/howto5/options/ClientDefaultOptions.h
+++ b/howtos/howto5/include/howto5/options/ClientDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol client default options.
diff --git a/howtos/howto5/include/howto5/options/DataViewDefaultOptions.h b/howtos/howto5/include/howto5/options/DataViewDefaultOptions.h
index 90646e083..3b6adde0e 100644
--- a/howtos/howto5/include/howto5/options/DataViewDefaultOptions.h
+++ b/howtos/howto5/include/howto5/options/DataViewDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol data view default options.
@@ -31,11 +31,9 @@ struct DataViewDefaultOptionsT : public TBase
comms::option::app::OrigDataView,
typename TBase::message::Msg2Fields::F1
>;
-
};
-
}; // struct message
-
+
/// @brief Extra options for frames.
struct frame : public TBase::frame
{
@@ -50,13 +48,8 @@ struct DataViewDefaultOptionsT : public TBase
comms::option::app::OrigDataView,
typename TBase::frame::FrameLayers::Data
>;
-
-
}; // struct FrameLayers
-
}; // struct frame
-
-
};
/// @brief Alias to @ref DataViewDefaultOptionsT with default template parameter.
diff --git a/howtos/howto5/include/howto5/options/DefaultOptions.h b/howtos/howto5/include/howto5/options/DefaultOptions.h
index 2b012907f..5bd102602 100644
--- a/howtos/howto5/include/howto5/options/DefaultOptions.h
+++ b/howtos/howto5/include/howto5/options/DefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol default options.
@@ -30,11 +30,9 @@ struct DefaultOptionsT : public TBase
/// @brief Extra options for @ref
/// howto5::message::Msg2Fields::F1 field.
using F1 = comms::option::EmptyOption;
-
};
-
}; // struct message
-
+
/// @brief Extra options for frames.
struct frame
{
@@ -45,22 +43,17 @@ struct DefaultOptionsT : public TBase
/// @brief Extra options for @ref
/// howto5::frame::FrameLayers::Data layer.
using Data = comms::option::EmptyOption;
-
+
/// @brief Extra options for @ref
/// howto5::frame::FrameLayers::VersionWithFlags
/// layer.
using VersionWithFlags = comms::option::EmptyOption;
-
+
/// @brief Extra options for @ref
/// howto5::frame::FrameLayers::Id layer.
using Id = comms::option::EmptyOption;
-
-
}; // struct FrameLayers
-
}; // struct frame
-
-
};
/// @brief Default (empty) options of the protocol.
diff --git a/howtos/howto5/include/howto5/options/ServerDefaultOptions.h b/howtos/howto5/include/howto5/options/ServerDefaultOptions.h
index d2356acdc..092530ae7 100644
--- a/howtos/howto5/include/howto5/options/ServerDefaultOptions.h
+++ b/howtos/howto5/include/howto5/options/ServerDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol server default options.
diff --git a/howtos/howto6/include/howto6/Interface.h b/howtos/howto6/include/howto6/Interface.h
index 2dd2123a3..4ca075991 100644
--- a/howtos/howto6/include/howto6/Interface.h
+++ b/howtos/howto6/include/howto6/Interface.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Interface" interface class.
@@ -16,7 +16,6 @@
namespace howto6
{
-
/// @brief Extra transport fields of @ref Interface interface class.
/// @see @ref Interface
/// @headerfile howto6/Interface.h
@@ -27,8 +26,7 @@ struct InterfaceFields
howto6::field::ChecksumType<
howto6::options::DefaultOptions
>;
-
-
+
/// @brief All the fields bundled in std::tuple.
using All = std::tuple<
ChecksumType
@@ -67,10 +65,6 @@ class Interface : public
COMMS_MSG_TRANSPORT_FIELDS_NAMES(
checksumType
);
-
-
};
} // namespace howto6
-
-
diff --git a/howtos/howto6/include/howto6/InterfaceCommon.h b/howtos/howto6/include/howto6/InterfaceCommon.h
index 45324e950..6695702a0 100644
--- a/howtos/howto6/include/howto6/InterfaceCommon.h
+++ b/howtos/howto6/include/howto6/InterfaceCommon.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -11,7 +11,6 @@
namespace howto6
{
-
/// @brief Common types and functions for fields of
/// @ref howto6::Interface interface.
/// @see howto6::InterfaceFields
@@ -20,8 +19,5 @@ struct InterfaceFieldsCommon
/// @brief Common types and functions for
/// @ref howto6::InterfaceFields::ChecksumType field.
using ChecksumTypeCommon = howto6::field::ChecksumTypeCommon;
-
};
} // namespace howto6
-
-
diff --git a/howtos/howto6/include/howto6/MsgId.h b/howtos/howto6/include/howto6/MsgId.h
index 6b616daea..f7ffa745c 100644
--- a/howtos/howto6/include/howto6/MsgId.h
+++ b/howtos/howto6/include/howto6/MsgId.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of message ids enumeration.
@@ -16,7 +16,7 @@ enum MsgId : std::uint8_t
MsgId_M1 = 1, ///< message id of Message 1 message. ,
MsgId_M2 = 2, ///< message id of Message 2 message. ,
MsgId_M3 = 3, ///< message id of Message 3 message. ,
-
+
// --- Extra values generated for convenience ---,
MsgId_FirstValue = 1, ///< First defined value.,
MsgId_LastValue = 3, ///< Last defined value.,
@@ -24,4 +24,3 @@ enum MsgId : std::uint8_t
};
} // namespace howto6
-
diff --git a/howtos/howto6/include/howto6/Version.h b/howtos/howto6/include/howto6/Version.h
index 36b19d47e..308e7ed93 100644
--- a/howtos/howto6/include/howto6/Version.h
+++ b/howtos/howto6/include/howto6/Version.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains protocol version definition.
@@ -22,6 +22,5 @@ inline constexpr unsigned specVersion()
} // namespace howto6
// Generated compile time check for minimal supported version of the COMMS library
-static_assert(COMMS_MAKE_VERSION(5, 0, 0) <= comms::version(),
+static_assert(COMMS_MAKE_VERSION(5, 0, 3) <= comms::version(),
"The version of COMMS library is too old");
-
diff --git a/howtos/howto6/include/howto6/dispatch/DispatchClientInputMessage.h b/howtos/howto6/include/howto6/dispatch/DispatchClientInputMessage.h
index ad5cfbd33..23d67e23c 100644
--- a/howtos/howto6/include/howto6/dispatch/DispatchClientInputMessage.h
+++ b/howtos/howto6/include/howto6/dispatch/DispatchClientInputMessage.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains dispatch to handling function(s) for client input input messages.
@@ -134,7 +134,7 @@ auto dispatchClientInputMessageDefaultOptions(
/// @tparam TProtOptions Protocol options struct used for the application,
/// like @ref howto6::options::DefaultOptions.
/// @headerfile howto6/dispatch/DispatchClientInputMessage.h
-template
+template
struct ClientInputMsgDispatcher
{
/// @brief Class detection tag
@@ -194,9 +194,7 @@ struct ClientInputMsgDispatcher
/// @ref howto6::options::DefaultOptions as template parameter.
/// @note Defined in howto6/dispatch/DispatchClientInputMessage.h
using ClientInputMsgDispatcherDefaultOptions =
- ClientInputMsgDispatcher;
-
-
+ ClientInputMsgDispatcher<>;
} // namespace dispatch
diff --git a/howtos/howto6/include/howto6/dispatch/DispatchMessage.h b/howtos/howto6/include/howto6/dispatch/DispatchMessage.h
index 983ab9d25..f1bb49cb4 100644
--- a/howtos/howto6/include/howto6/dispatch/DispatchMessage.h
+++ b/howtos/howto6/include/howto6/dispatch/DispatchMessage.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains dispatch to handling function(s) for all input messages.
@@ -134,7 +134,7 @@ auto dispatchMessageDefaultOptions(
/// @tparam TProtOptions Protocol options struct used for the application,
/// like @ref howto6::options::DefaultOptions.
/// @headerfile howto6/dispatch/DispatchMessage.h
-template
+template
struct MsgDispatcher
{
/// @brief Class detection tag
@@ -194,9 +194,7 @@ struct MsgDispatcher
/// @ref howto6::options::DefaultOptions as template parameter.
/// @note Defined in howto6/dispatch/DispatchMessage.h
using MsgDispatcherDefaultOptions =
- MsgDispatcher;
-
-
+ MsgDispatcher<>;
} // namespace dispatch
diff --git a/howtos/howto6/include/howto6/dispatch/DispatchServerInputMessage.h b/howtos/howto6/include/howto6/dispatch/DispatchServerInputMessage.h
index 0f71e0514..1ec1e1555 100644
--- a/howtos/howto6/include/howto6/dispatch/DispatchServerInputMessage.h
+++ b/howtos/howto6/include/howto6/dispatch/DispatchServerInputMessage.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains dispatch to handling function(s) for client input input messages.
@@ -134,7 +134,7 @@ auto dispatchServerInputMessageDefaultOptions(
/// @tparam TProtOptions Protocol options struct used for the application,
/// like @ref howto6::options::DefaultOptions.
/// @headerfile howto6/dispatch/DispatchServerInputMessage.h
-template
+template
struct ServerInputMsgDispatcher
{
/// @brief Class detection tag
@@ -194,9 +194,7 @@ struct ServerInputMsgDispatcher
/// @ref howto6::options::DefaultOptions as template parameter.
/// @note Defined in howto6/dispatch/DispatchServerInputMessage.h
using ServerInputMsgDispatcherDefaultOptions =
- ServerInputMsgDispatcher;
-
-
+ ServerInputMsgDispatcher<>;
} // namespace dispatch
diff --git a/howtos/howto6/include/howto6/field/ChecksumType.h b/howtos/howto6/include/howto6/field/ChecksumType.h
index 74d4eddfa..3864327ef 100644
--- a/howtos/howto6/include/howto6/field/ChecksumType.h
+++ b/howtos/howto6/include/howto6/field/ChecksumType.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "ChecksumType" field.
@@ -17,7 +17,6 @@ namespace howto6
namespace field
{
-
/// @brief Definition of "ChecksumType" field.
/// @see @ref howto6::field::ChecksumTypeCommon::ValueType
/// @tparam TOpt Protocol options.
@@ -41,46 +40,48 @@ class ChecksumType : public
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Single value name info entry.
using ValueNameInfo = howto6::field::ChecksumTypeCommon::ValueNameInfo;
-
+
/// @brief Type returned from @ref valueNamesMap() member function.
/// @see @ref howto6::field::ChecksumTypeCommon::ValueNamesMapInfo.
using ValueNamesMapInfo = howto6::field::ChecksumTypeCommon::ValueNamesMapInfo;
-
+
/// @brief Retrieve name of the enum value.
/// @see @ref howto6::field::ChecksumTypeCommon::valueName().
static const char* valueName(ValueType val)
{
return howto6::field::ChecksumTypeCommon::valueName(val);
}
-
+
+ /// @brief Retrieve name of the enum value.
+ /// @see @ref howto6::field::ChecksumTypeCommon::valueName().
+ static const char* valueNameOf(ValueType val)
+ {
+ return howto6::field::ChecksumTypeCommon::valueName(val);
+ }
+
/// @brief Retrieve name of the @b current value
const char* valueName() const
{
return valueName(Base::getValue());
}
-
+
/// @brief Retrieve map of enum value names.
/// @see @ref howto6::field::ChecksumTypeCommon::valueNamesMap().
static ValueNamesMapInfo valueNamesMap()
{
return howto6::field::ChecksumTypeCommon::valueNamesMap();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto6::field::ChecksumTypeCommon::name();
}
-
-
};
-
} // namespace field
} // namespace howto6
-
diff --git a/howtos/howto6/include/howto6/field/ChecksumTypeCommon.h b/howtos/howto6/include/howto6/field/ChecksumTypeCommon.h
index eb7f0f70d..5f8c76233 100644
--- a/howtos/howto6/include/howto6/field/ChecksumTypeCommon.h
+++ b/howtos/howto6/include/howto6/field/ChecksumTypeCommon.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -6,9 +6,7 @@
#pragma once
-#include
#include
-#include
#include
#include
@@ -18,7 +16,6 @@ namespace howto6
namespace field
{
-
/// @brief Common types and functions for
/// @ref howto6::field::ChecksumType field.
struct ChecksumTypeCommon
@@ -30,27 +27,27 @@ struct ChecksumTypeCommon
Sum8 = 0, ///< value @b Sum8.
Crc16 = 1, ///< value @b Crc16.
Crc32 = 2, ///< value @b Crc32.
-
+
// --- Extra values generated for convenience ---
FirstValue = 0, ///< First defined value.
LastValue = 2, ///< Last defined value.
ValuesLimit = 3, ///< Upper limit for defined values.
};
-
+
/// @brief Single value name info entry
using ValueNameInfo = const char*;
-
+
/// @brief Type returned from @ref valueNamesMap() member function.
/// @details The @b first value of the pair is pointer to the map array,
/// The @b second value of the pair is the size of the array.
using ValueNamesMapInfo = std::pair;
-
+
/// @brief Name of the @ref howto6::field::ChecksumType field.
static const char* name()
{
return "ChecksumType";
}
-
+
/// @brief Retrieve name of the enum value
static const char* valueName(ValueType val)
{
@@ -58,10 +55,10 @@ struct ChecksumTypeCommon
if (namesMapInfo.second <= static_cast(val)) {
return nullptr;
}
-
+
return namesMapInfo.first[static_cast(val)];
}
-
+
/// @brief Retrieve map of enum value names
static ValueNamesMapInfo valueNamesMap()
{
@@ -71,19 +68,15 @@ struct ChecksumTypeCommon
"Crc32"
};
static const std::size_t MapSize = std::extent::value;
-
+
return std::make_pair(&Map[0], MapSize);
}
-
-
};
/// @brief Values enumerator for
/// @ref howto6::field::ChecksumType field.
using ChecksumTypeVal = ChecksumTypeCommon::ValueType;
-
} // namespace field
} // namespace howto6
-
diff --git a/howtos/howto6/include/howto6/field/FieldBase.h b/howtos/howto6/include/howto6/field/FieldBase.h
index b8c4f87d2..9053276ea 100644
--- a/howtos/howto6/include/howto6/field/FieldBase.h
+++ b/howtos/howto6/include/howto6/field/FieldBase.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of base class of all the fields.
@@ -27,4 +27,3 @@ using FieldBase =
} // namespace field
} // namespace howto6
-
diff --git a/howtos/howto6/include/howto6/field/MsgId.h b/howtos/howto6/include/howto6/field/MsgId.h
index f83839eff..3db9a88af 100644
--- a/howtos/howto6/include/howto6/field/MsgId.h
+++ b/howtos/howto6/include/howto6/field/MsgId.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "MsgId" field.
@@ -17,7 +17,6 @@ namespace howto6
namespace field
{
-
/// @brief Definition of "MsgId" field.
/// @see @ref howto6::MsgId
/// @tparam TOpt Protocol options.
@@ -41,46 +40,48 @@ class MsgId : public
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Single value name info entry.
using ValueNameInfo = howto6::field::MsgIdCommon::ValueNameInfo;
-
+
/// @brief Type returned from @ref valueNamesMap() member function.
/// @see @ref howto6::field::MsgIdCommon::ValueNamesMapInfo.
using ValueNamesMapInfo = howto6::field::MsgIdCommon::ValueNamesMapInfo;
-
+
/// @brief Retrieve name of the enum value.
/// @see @ref howto6::field::MsgIdCommon::valueName().
static const char* valueName(ValueType val)
{
return howto6::field::MsgIdCommon::valueName(val);
}
-
+
+ /// @brief Retrieve name of the enum value.
+ /// @see @ref howto6::field::MsgIdCommon::valueName().
+ static const char* valueNameOf(ValueType val)
+ {
+ return howto6::field::MsgIdCommon::valueName(val);
+ }
+
/// @brief Retrieve name of the @b current value
const char* valueName() const
{
return valueName(Base::getValue());
}
-
+
/// @brief Retrieve map of enum value names.
/// @see @ref howto6::field::MsgIdCommon::valueNamesMap().
static ValueNamesMapInfo valueNamesMap()
{
return howto6::field::MsgIdCommon::valueNamesMap();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto6::field::MsgIdCommon::name();
}
-
-
};
-
} // namespace field
} // namespace howto6
-
diff --git a/howtos/howto6/include/howto6/field/MsgIdCommon.h b/howtos/howto6/include/howto6/field/MsgIdCommon.h
index ce151a0d6..cb2f1bffb 100644
--- a/howtos/howto6/include/howto6/field/MsgIdCommon.h
+++ b/howtos/howto6/include/howto6/field/MsgIdCommon.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -6,9 +6,7 @@
#pragma once
-#include
#include
-#include
#include
#include
#include "howto6/MsgId.h"
@@ -19,7 +17,6 @@ namespace howto6
namespace field
{
-
/// @brief Common types and functions for
/// @ref howto6::field::MsgId field.
struct MsgIdCommon
@@ -27,21 +24,21 @@ struct MsgIdCommon
/// @brief Values enumerator for
/// @ref howto6::field::MsgId field.
using ValueType = howto6::MsgId;
-
+
/// @brief Single value name info entry
using ValueNameInfo = const char*;
-
+
/// @brief Type returned from @ref valueNamesMap() member function.
/// @details The @b first value of the pair is pointer to the map array,
/// The @b second value of the pair is the size of the array.
using ValueNamesMapInfo = std::pair;
-
+
/// @brief Name of the @ref howto6::field::MsgId field.
static const char* name()
{
return "MsgId";
}
-
+
/// @brief Retrieve name of the enum value
static const char* valueName(ValueType val)
{
@@ -49,10 +46,10 @@ struct MsgIdCommon
if (namesMapInfo.second <= static_cast(val)) {
return nullptr;
}
-
+
return namesMapInfo.first[static_cast(val)];
}
-
+
/// @brief Retrieve map of enum value names
static ValueNamesMapInfo valueNamesMap()
{
@@ -63,19 +60,15 @@ struct MsgIdCommon
"Message 3"
};
static const std::size_t MapSize = std::extent::value;
-
+
return std::make_pair(&Map[0], MapSize);
}
-
-
};
/// @brief Values enumerator for
/// @ref howto6::field::MsgId field.
using MsgIdVal = MsgIdCommon::ValueType;
-
} // namespace field
} // namespace howto6
-
diff --git a/howtos/howto6/include/howto6/frame/Frame.h b/howtos/howto6/include/howto6/frame/Frame.h
index 94cee96b9..961c4225f 100644
--- a/howtos/howto6/include/howto6/frame/Frame.h
+++ b/howtos/howto6/include/howto6/frame/Frame.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Frame" frame class.
@@ -27,7 +27,6 @@ namespace howto6
namespace frame
{
-
/// @brief Layers definition of @ref Frame frame class.
/// @tparam TOpt Protocol options.
/// @see @ref Frame
@@ -40,7 +39,7 @@ struct FrameLayers
comms::protocol::MsgDataLayer<
typename TOpt::frame::FrameLayers::Data
>;
-
+
/// @brief Definition of layer "ChekcusmType".
using ChekcusmType =
comms::protocol::TransportValueLayer<
@@ -50,7 +49,7 @@ struct FrameLayers
0U,
Data
>;
-
+
/// @brief Definition of layer "Id".
template
using Id =
@@ -63,7 +62,7 @@ struct FrameLayers
ChekcusmType,
typename TOpt::frame::FrameLayers::Id
>;
-
+
/// @brief Scope for field(s) of @ref Size layer.
struct SizeMembers
{
@@ -82,26 +81,21 @@ struct FrameLayers
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto6::frame::FrameLayersCommon::SizeMembersCommon::SizeFieldCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto6::frame::FrameLayersCommon::SizeMembersCommon::SizeFieldCommon::name();
}
-
-
};
-
-
};
-
+
/// @brief Definition of layer "Size".
template
using Size =
@@ -109,7 +103,7 @@ struct FrameLayers
typename SizeMembers::SizeField,
Id
>;
-
+
/// @brief Scope for field(s) of @ref Sync layer.
struct SyncMembers
{
@@ -132,26 +126,21 @@ struct FrameLayers
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto6::frame::FrameLayersCommon::SyncMembersCommon::SyncFieldCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto6::frame::FrameLayersCommon::SyncMembersCommon::SyncFieldCommon::name();
}
-
-
};
-
-
};
-
+
/// @brief Definition of layer "Sync".
template
using Sync =
@@ -159,7 +148,7 @@ struct FrameLayers
typename SyncMembers::SyncField,
Size
>;
-
+
/// @brief Scope for field(s) of @ref Checksum layer.
struct ChecksumMembers
{
@@ -178,26 +167,21 @@ struct FrameLayers
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto6::frame::FrameLayersCommon::ChecksumMembersCommon::ChecksumFieldCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto6::frame::FrameLayersCommon::ChecksumMembersCommon::ChecksumFieldCommon::name();
}
-
-
};
-
-
};
-
+
/// @brief Definition of layer "Checksum".
template
using Checksum =
@@ -206,11 +190,10 @@ struct FrameLayers
Sync,
typename TOpt::frame::FrameLayers::Checksum
>;
-
+
/// @brief Final protocol stack definition.
template
using Stack = Checksum;
-
};
/// @brief Definition of "Frame" frame class.
@@ -253,5 +236,3 @@ class Frame : public
} // namespace frame
} // namespace howto6
-
-
diff --git a/howtos/howto6/include/howto6/frame/FrameCommon.h b/howtos/howto6/include/howto6/frame/FrameCommon.h
index b7dc852fc..a63aab485 100644
--- a/howtos/howto6/include/howto6/frame/FrameCommon.h
+++ b/howtos/howto6/include/howto6/frame/FrameCommon.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -14,7 +14,6 @@ namespace howto6
namespace frame
{
-
/// @brief Common types and functions of fields using in definition of
/// @ref howto6::frame::Frame frame.
/// @see howto6::frame::FrameLayers
@@ -31,24 +30,21 @@ struct FrameLayersCommon
/// @brief Re-definition of the value type used by
/// howto6::frame::FrameLayers::ChecksumMembers::ChecksumField field.
using ValueType = std::uint32_t;
-
+
/// @brief Name of the @ref howto6::frame::FrameLayers::ChecksumMembers::ChecksumField field.
static const char* name()
{
return "ChecksumField";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
-
+
/// @brief Scope for all the common definitions of the fields defined in
/// @ref howto6::frame::FrameLayers::SyncMembers struct.
struct SyncMembersCommon
@@ -60,24 +56,21 @@ struct FrameLayersCommon
/// @brief Re-definition of the value type used by
/// howto6::frame::FrameLayers::SyncMembers::SyncField field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto6::frame::FrameLayers::SyncMembers::SyncField field.
static const char* name()
{
return "SyncField";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
-
+
/// @brief Scope for all the common definitions of the fields defined in
/// @ref howto6::frame::FrameLayers::SizeMembers struct.
struct SizeMembersCommon
@@ -89,28 +82,22 @@ struct FrameLayersCommon
/// @brief Re-definition of the value type used by
/// howto6::frame::FrameLayers::SizeMembers::SizeField field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto6::frame::FrameLayers::SizeMembers::SizeField field.
static const char* name()
{
return "SizeField";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
-
};
} // namespace frame
} // namespace howto6
-
-
diff --git a/howtos/howto6/include/howto6/input/AllMessages.h b/howtos/howto6/include/howto6/input/AllMessages.h
index df8ef045b..e9a1ed249 100644
--- a/howtos/howto6/include/howto6/input/AllMessages.h
+++ b/howtos/howto6/include/howto6/input/AllMessages.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of the AllMessages messages bundle.
diff --git a/howtos/howto6/include/howto6/input/ClientInputMessages.h b/howtos/howto6/include/howto6/input/ClientInputMessages.h
index b318f2896..dfd472c58 100644
--- a/howtos/howto6/include/howto6/input/ClientInputMessages.h
+++ b/howtos/howto6/include/howto6/input/ClientInputMessages.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of the ClientInputMessages messages bundle.
diff --git a/howtos/howto6/include/howto6/input/ServerInputMessages.h b/howtos/howto6/include/howto6/input/ServerInputMessages.h
index a4e5d9f4e..0fce657a7 100644
--- a/howtos/howto6/include/howto6/input/ServerInputMessages.h
+++ b/howtos/howto6/include/howto6/input/ServerInputMessages.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of the ServerInputMessages messages bundle.
diff --git a/howtos/howto6/include/howto6/message/Msg1.h b/howtos/howto6/include/howto6/message/Msg1.h
index b8660e3ea..ce07aa950 100644
--- a/howtos/howto6/include/howto6/message/Msg1.h
+++ b/howtos/howto6/include/howto6/message/Msg1.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Message 1" message and its fields.
@@ -15,14 +15,12 @@
#include "howto6/message/Msg1Common.h"
#include "howto6/options/DefaultOptions.h"
-
namespace howto6
{
namespace message
{
-
/// @brief Fields of @ref Msg1.
/// @tparam TOpt Extra options
/// @see @ref Msg1
@@ -45,24 +43,20 @@ struct Msg1Fields
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto6::message::Msg1FieldsCommon::F1Common::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto6::message::Msg1FieldsCommon::F1Common::name();
}
-
-
};
-
-
+
/// @brief All the fields bundled in std::tuple.
using All = std::tuple<
F1
@@ -107,24 +101,20 @@ class Msg1 : public
COMMS_MSG_FIELDS_NAMES(
f1
);
-
+
// Compile time check for serialisation length.
static const std::size_t MsgMinLen = Base::doMinLength();
static const std::size_t MsgMaxLen = Base::doMaxLength();
static_assert(MsgMinLen == 2U, "Unexpected min serialisation length");
static_assert(MsgMaxLen == 2U, "Unexpected max serialisation length");
-
+
/// @brief Name of the message.
static const char* doName()
{
return howto6::message::Msg1Common::name();
}
-
-
};
} // namespace message
} // namespace howto6
-
-
diff --git a/howtos/howto6/include/howto6/message/Msg1Common.h b/howtos/howto6/include/howto6/message/Msg1Common.h
index 1b84b8c98..9469fa2ed 100644
--- a/howtos/howto6/include/howto6/message/Msg1Common.h
+++ b/howtos/howto6/include/howto6/message/Msg1Common.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -14,7 +14,6 @@ namespace howto6
namespace message
{
-
/// @brief Common types and functions for fields of
/// @ref howto6::message::Msg1 message.
/// @see howto6::message::Msg1Fields
@@ -27,22 +26,19 @@ struct Msg1FieldsCommon
/// @brief Re-definition of the value type used by
/// howto6::message::Msg1Fields::F1 field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto6::message::Msg1Fields::F1 field.
static const char* name()
{
return "F1";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
/// @brief Common types and functions of
@@ -54,12 +50,8 @@ struct Msg1Common
{
return "Message 1";
}
-
};
} // namespace message
} // namespace howto6
-
-
-
diff --git a/howtos/howto6/include/howto6/message/Msg2.h b/howtos/howto6/include/howto6/message/Msg2.h
index 67a7ac87c..450abf8fd 100644
--- a/howtos/howto6/include/howto6/message/Msg2.h
+++ b/howtos/howto6/include/howto6/message/Msg2.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Message 2" message and its fields.
@@ -15,14 +15,12 @@
#include "howto6/message/Msg2Common.h"
#include "howto6/options/DefaultOptions.h"
-
namespace howto6
{
namespace message
{
-
/// @brief Fields of @ref Msg2.
/// @tparam TOpt Extra options
/// @see @ref Msg2
@@ -45,24 +43,20 @@ struct Msg2Fields
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto6::message::Msg2FieldsCommon::F1Common::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto6::message::Msg2FieldsCommon::F1Common::name();
}
-
-
};
-
-
+
/// @brief All the fields bundled in std::tuple.
using All = std::tuple<
F1
@@ -107,24 +101,20 @@ class Msg2 : public
COMMS_MSG_FIELDS_NAMES(
f1
);
-
+
// Compile time check for serialisation length.
static const std::size_t MsgMinLen = Base::doMinLength();
static const std::size_t MsgMaxLen = Base::doMaxLength();
static_assert(MsgMinLen == 4U, "Unexpected min serialisation length");
static_assert(MsgMaxLen == 4U, "Unexpected max serialisation length");
-
+
/// @brief Name of the message.
static const char* doName()
{
return howto6::message::Msg2Common::name();
}
-
-
};
} // namespace message
} // namespace howto6
-
-
diff --git a/howtos/howto6/include/howto6/message/Msg2Common.h b/howtos/howto6/include/howto6/message/Msg2Common.h
index 66a7dbb67..138f3fa5c 100644
--- a/howtos/howto6/include/howto6/message/Msg2Common.h
+++ b/howtos/howto6/include/howto6/message/Msg2Common.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -14,7 +14,6 @@ namespace howto6
namespace message
{
-
/// @brief Common types and functions for fields of
/// @ref howto6::message::Msg2 message.
/// @see howto6::message::Msg2Fields
@@ -27,22 +26,19 @@ struct Msg2FieldsCommon
/// @brief Re-definition of the value type used by
/// howto6::message::Msg2Fields::F1 field.
using ValueType = std::uint32_t;
-
+
/// @brief Name of the @ref howto6::message::Msg2Fields::F1 field.
static const char* name()
{
return "F1";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
/// @brief Common types and functions of
@@ -54,12 +50,8 @@ struct Msg2Common
{
return "Message 2";
}
-
};
} // namespace message
} // namespace howto6
-
-
-
diff --git a/howtos/howto6/include/howto6/message/Msg3.h b/howtos/howto6/include/howto6/message/Msg3.h
index a32939340..bef31a4c7 100644
--- a/howtos/howto6/include/howto6/message/Msg3.h
+++ b/howtos/howto6/include/howto6/message/Msg3.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Message 3" message and its fields.
@@ -16,14 +16,12 @@
#include "howto6/message/Msg3Common.h"
#include "howto6/options/DefaultOptions.h"
-
namespace howto6
{
namespace message
{
-
/// @brief Fields of @ref Msg3.
/// @tparam TOpt Extra options
/// @see @ref Msg3
@@ -50,26 +48,21 @@ struct Msg3Fields
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto6::message::Msg3FieldsCommon::F1MembersCommon::LengthCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto6::message::Msg3FieldsCommon::F1MembersCommon::LengthCommon::name();
}
-
-
};
-
-
};
-
+
/// @brief Definition of "F1" field.
class F1 : public
comms::field::String<
@@ -90,11 +83,8 @@ struct Msg3Fields
{
return howto6::message::Msg3FieldsCommon::F1Common::name();
}
-
-
};
-
-
+
/// @brief All the fields bundled in std::tuple.
using All = std::tuple<
F1
@@ -139,22 +129,18 @@ class Msg3 : public
COMMS_MSG_FIELDS_NAMES(
f1
);
-
+
// Compile time check for serialisation length.
static const std::size_t MsgMinLen = Base::doMinLength();
static_assert(MsgMinLen == 1U, "Unexpected min serialisation length");
-
+
/// @brief Name of the message.
static const char* doName()
{
return howto6::message::Msg3Common::name();
}
-
-
};
} // namespace message
} // namespace howto6
-
-
diff --git a/howtos/howto6/include/howto6/message/Msg3Common.h b/howtos/howto6/include/howto6/message/Msg3Common.h
index 04bff8ba6..4170f0d7b 100644
--- a/howtos/howto6/include/howto6/message/Msg3Common.h
+++ b/howtos/howto6/include/howto6/message/Msg3Common.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -14,7 +14,6 @@ namespace howto6
namespace message
{
-
/// @brief Common types and functions for fields of
/// @ref howto6::message::Msg3 message.
/// @see howto6::message::Msg3Fields
@@ -31,24 +30,21 @@ struct Msg3FieldsCommon
/// @brief Re-definition of the value type used by
/// howto6::message::Msg3Fields::F1Members::Length field.
using ValueType = std::uint8_t;
-
+
/// @brief Name of the @ref howto6::message::Msg3Fields::F1Members::Length field.
static const char* name()
{
return "Length";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
-
+
/// @brief Common types and functions for
/// @ref howto6::message::Msg3Fields::F1 field.
struct F1Common
@@ -58,9 +54,7 @@ struct Msg3FieldsCommon
{
return "F1";
}
-
};
-
};
/// @brief Common types and functions of
@@ -72,12 +66,8 @@ struct Msg3Common
{
return "Message 3";
}
-
};
} // namespace message
} // namespace howto6
-
-
-
diff --git a/howtos/howto6/include/howto6/options/BareMetalDefaultOptions.h b/howtos/howto6/include/howto6/options/BareMetalDefaultOptions.h
index e0f044cdd..a93d5ace2 100644
--- a/howtos/howto6/include/howto6/options/BareMetalDefaultOptions.h
+++ b/howtos/howto6/include/howto6/options/BareMetalDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol bare metal default options.
@@ -37,11 +37,9 @@ struct BareMetalDefaultOptionsT : public TBase
comms::option::app::FixedSizeStorage,
typename TBase::message::Msg3Fields::F1
>;
-
};
-
}; // struct message
-
+
/// @brief Extra options for frames.
struct frame : public TBase::frame
{
@@ -56,7 +54,7 @@ struct BareMetalDefaultOptionsT : public TBase
comms::option::app::FixedSizeStorage,
typename TBase::frame::FrameLayers::Data
>;
-
+
/// @brief Extra options for @ref
/// howto6::frame::FrameLayers::Id layer.
using Id =
@@ -64,13 +62,8 @@ struct BareMetalDefaultOptionsT : public TBase
comms::option::app::InPlaceAllocation,
typename TBase::frame::FrameLayers::Id
>;
-
-
}; // struct FrameLayers
-
}; // struct frame
-
-
};
/// @brief Alias to @ref BareMetalDefaultOptionsT with default template parameter.
diff --git a/howtos/howto6/include/howto6/options/ClientDefaultOptions.h b/howtos/howto6/include/howto6/options/ClientDefaultOptions.h
index e4e835316..9514f12af 100644
--- a/howtos/howto6/include/howto6/options/ClientDefaultOptions.h
+++ b/howtos/howto6/include/howto6/options/ClientDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol client default options.
diff --git a/howtos/howto6/include/howto6/options/DataViewDefaultOptions.h b/howtos/howto6/include/howto6/options/DataViewDefaultOptions.h
index 38cfc500c..6c4da550e 100644
--- a/howtos/howto6/include/howto6/options/DataViewDefaultOptions.h
+++ b/howtos/howto6/include/howto6/options/DataViewDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol data view default options.
@@ -31,11 +31,9 @@ struct DataViewDefaultOptionsT : public TBase
comms::option::app::OrigDataView,
typename TBase::message::Msg3Fields::F1
>;
-
};
-
}; // struct message
-
+
/// @brief Extra options for frames.
struct frame : public TBase::frame
{
@@ -50,13 +48,8 @@ struct DataViewDefaultOptionsT : public TBase
comms::option::app::OrigDataView,
typename TBase::frame::FrameLayers::Data
>;
-
-
}; // struct FrameLayers
-
}; // struct frame
-
-
};
/// @brief Alias to @ref DataViewDefaultOptionsT with default template parameter.
diff --git a/howtos/howto6/include/howto6/options/DefaultOptions.h b/howtos/howto6/include/howto6/options/DefaultOptions.h
index db5c8a0b6..bb431b834 100644
--- a/howtos/howto6/include/howto6/options/DefaultOptions.h
+++ b/howtos/howto6/include/howto6/options/DefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol default options.
@@ -30,11 +30,9 @@ struct DefaultOptionsT : public TBase
/// @brief Extra options for @ref
/// howto6::message::Msg3Fields::F1 field.
using F1 = comms::option::EmptyOption;
-
};
-
}; // struct message
-
+
/// @brief Extra options for frames.
struct frame
{
@@ -45,22 +43,17 @@ struct DefaultOptionsT : public TBase
/// @brief Extra options for @ref
/// howto6::frame::FrameLayers::Data layer.
using Data = comms::option::EmptyOption;
-
+
/// @brief Extra options for @ref
/// howto6::frame::FrameLayers::Id layer.
using Id = comms::option::EmptyOption;
-
+
/// @brief Extra options for @ref
/// howto6::frame::FrameLayers::Checksum
/// layer.
using Checksum = comms::option::EmptyOption;
-
-
}; // struct FrameLayers
-
}; // struct frame
-
-
};
/// @brief Default (empty) options of the protocol.
diff --git a/howtos/howto6/include/howto6/options/ServerDefaultOptions.h b/howtos/howto6/include/howto6/options/ServerDefaultOptions.h
index b405563db..2f7b49250 100644
--- a/howtos/howto6/include/howto6/options/ServerDefaultOptions.h
+++ b/howtos/howto6/include/howto6/options/ServerDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol server default options.
diff --git a/howtos/howto7/include/howto7/Message.h b/howtos/howto7/include/howto7/Message.h
index 7fe2a9169..599c9ab59 100644
--- a/howtos/howto7/include/howto7/Message.h
+++ b/howtos/howto7/include/howto7/Message.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Message" interface class.
@@ -12,7 +12,6 @@
namespace howto7
{
-
/// @brief Definition of "Message" common interface class.
/// @tparam TOpt Interface definition options
/// @headerfile howto7/Message.h
@@ -25,5 +24,3 @@ using Message =
>;
} // namespace howto7
-
-
diff --git a/howtos/howto7/include/howto7/MsgId.h b/howtos/howto7/include/howto7/MsgId.h
index 4fa1f4778..e2c274f4a 100644
--- a/howtos/howto7/include/howto7/MsgId.h
+++ b/howtos/howto7/include/howto7/MsgId.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of message ids enumeration.
@@ -16,7 +16,7 @@ enum MsgId : std::uint8_t
MsgId_M1 = 1, ///< message id of Message 1 message. ,
MsgId_M2 = 2, ///< message id of Message 2 message. ,
MsgId_M3 = 3, ///< message id of Message 3 message. ,
-
+
// --- Extra values generated for convenience ---,
MsgId_FirstValue = 1, ///< First defined value.,
MsgId_LastValue = 3, ///< Last defined value.,
@@ -24,4 +24,3 @@ enum MsgId : std::uint8_t
};
} // namespace howto7
-
diff --git a/howtos/howto7/include/howto7/Version.h b/howtos/howto7/include/howto7/Version.h
index 248b122a4..9a132e186 100644
--- a/howtos/howto7/include/howto7/Version.h
+++ b/howtos/howto7/include/howto7/Version.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains protocol version definition.
@@ -22,6 +22,5 @@ inline constexpr unsigned specVersion()
} // namespace howto7
// Generated compile time check for minimal supported version of the COMMS library
-static_assert(COMMS_MAKE_VERSION(5, 0, 0) <= comms::version(),
+static_assert(COMMS_MAKE_VERSION(5, 0, 3) <= comms::version(),
"The version of COMMS library is too old");
-
diff --git a/howtos/howto7/include/howto7/dispatch/DispatchClientInputMessage.h b/howtos/howto7/include/howto7/dispatch/DispatchClientInputMessage.h
index 3629a4339..a87cca143 100644
--- a/howtos/howto7/include/howto7/dispatch/DispatchClientInputMessage.h
+++ b/howtos/howto7/include/howto7/dispatch/DispatchClientInputMessage.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains dispatch to handling function(s) for client input input messages.
@@ -134,7 +134,7 @@ auto dispatchClientInputMessageDefaultOptions(
/// @tparam TProtOptions Protocol options struct used for the application,
/// like @ref howto7::options::DefaultOptions.
/// @headerfile howto7/dispatch/DispatchClientInputMessage.h
-template
+template
struct ClientInputMsgDispatcher
{
/// @brief Class detection tag
@@ -194,9 +194,7 @@ struct ClientInputMsgDispatcher
/// @ref howto7::options::DefaultOptions as template parameter.
/// @note Defined in howto7/dispatch/DispatchClientInputMessage.h
using ClientInputMsgDispatcherDefaultOptions =
- ClientInputMsgDispatcher;
-
-
+ ClientInputMsgDispatcher<>;
} // namespace dispatch
diff --git a/howtos/howto7/include/howto7/dispatch/DispatchMessage.h b/howtos/howto7/include/howto7/dispatch/DispatchMessage.h
index 1ee50ff5a..48b850472 100644
--- a/howtos/howto7/include/howto7/dispatch/DispatchMessage.h
+++ b/howtos/howto7/include/howto7/dispatch/DispatchMessage.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains dispatch to handling function(s) for all input messages.
@@ -134,7 +134,7 @@ auto dispatchMessageDefaultOptions(
/// @tparam TProtOptions Protocol options struct used for the application,
/// like @ref howto7::options::DefaultOptions.
/// @headerfile howto7/dispatch/DispatchMessage.h
-template
+template
struct MsgDispatcher
{
/// @brief Class detection tag
@@ -194,9 +194,7 @@ struct MsgDispatcher
/// @ref howto7::options::DefaultOptions as template parameter.
/// @note Defined in howto7/dispatch/DispatchMessage.h
using MsgDispatcherDefaultOptions =
- MsgDispatcher;
-
-
+ MsgDispatcher<>;
} // namespace dispatch
diff --git a/howtos/howto7/include/howto7/dispatch/DispatchServerInputMessage.h b/howtos/howto7/include/howto7/dispatch/DispatchServerInputMessage.h
index eb63f604a..1b144fdca 100644
--- a/howtos/howto7/include/howto7/dispatch/DispatchServerInputMessage.h
+++ b/howtos/howto7/include/howto7/dispatch/DispatchServerInputMessage.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains dispatch to handling function(s) for client input input messages.
@@ -134,7 +134,7 @@ auto dispatchServerInputMessageDefaultOptions(
/// @tparam TProtOptions Protocol options struct used for the application,
/// like @ref howto7::options::DefaultOptions.
/// @headerfile howto7/dispatch/DispatchServerInputMessage.h
-template
+template
struct ServerInputMsgDispatcher
{
/// @brief Class detection tag
@@ -194,9 +194,7 @@ struct ServerInputMsgDispatcher
/// @ref howto7::options::DefaultOptions as template parameter.
/// @note Defined in howto7/dispatch/DispatchServerInputMessage.h
using ServerInputMsgDispatcherDefaultOptions =
- ServerInputMsgDispatcher;
-
-
+ ServerInputMsgDispatcher<>;
} // namespace dispatch
diff --git a/howtos/howto7/include/howto7/field/FieldBase.h b/howtos/howto7/include/howto7/field/FieldBase.h
index b2c43397e..d4bee8600 100644
--- a/howtos/howto7/include/howto7/field/FieldBase.h
+++ b/howtos/howto7/include/howto7/field/FieldBase.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of base class of all the fields.
@@ -27,4 +27,3 @@ using FieldBase =
} // namespace field
} // namespace howto7
-
diff --git a/howtos/howto7/include/howto7/field/MsgId.h b/howtos/howto7/include/howto7/field/MsgId.h
index 5e82848fb..510759c7d 100644
--- a/howtos/howto7/include/howto7/field/MsgId.h
+++ b/howtos/howto7/include/howto7/field/MsgId.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "MsgId" field.
@@ -17,7 +17,6 @@ namespace howto7
namespace field
{
-
/// @brief Definition of "MsgId" field.
/// @see @ref howto7::MsgId
/// @tparam TOpt Protocol options.
@@ -41,46 +40,48 @@ class MsgId : public
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Single value name info entry.
using ValueNameInfo = howto7::field::MsgIdCommon::ValueNameInfo;
-
+
/// @brief Type returned from @ref valueNamesMap() member function.
/// @see @ref howto7::field::MsgIdCommon::ValueNamesMapInfo.
using ValueNamesMapInfo = howto7::field::MsgIdCommon::ValueNamesMapInfo;
-
+
/// @brief Retrieve name of the enum value.
/// @see @ref howto7::field::MsgIdCommon::valueName().
static const char* valueName(ValueType val)
{
return howto7::field::MsgIdCommon::valueName(val);
}
-
+
+ /// @brief Retrieve name of the enum value.
+ /// @see @ref howto7::field::MsgIdCommon::valueName().
+ static const char* valueNameOf(ValueType val)
+ {
+ return howto7::field::MsgIdCommon::valueName(val);
+ }
+
/// @brief Retrieve name of the @b current value
const char* valueName() const
{
return valueName(Base::getValue());
}
-
+
/// @brief Retrieve map of enum value names.
/// @see @ref howto7::field::MsgIdCommon::valueNamesMap().
static ValueNamesMapInfo valueNamesMap()
{
return howto7::field::MsgIdCommon::valueNamesMap();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto7::field::MsgIdCommon::name();
}
-
-
};
-
} // namespace field
} // namespace howto7
-
diff --git a/howtos/howto7/include/howto7/field/MsgIdCommon.h b/howtos/howto7/include/howto7/field/MsgIdCommon.h
index 48ab7aa0b..90211bd7b 100644
--- a/howtos/howto7/include/howto7/field/MsgIdCommon.h
+++ b/howtos/howto7/include/howto7/field/MsgIdCommon.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -6,9 +6,7 @@
#pragma once
-#include
#include
-#include
#include
#include
#include "howto7/MsgId.h"
@@ -19,7 +17,6 @@ namespace howto7
namespace field
{
-
/// @brief Common types and functions for
/// @ref howto7::field::MsgId field.
struct MsgIdCommon
@@ -27,21 +24,21 @@ struct MsgIdCommon
/// @brief Values enumerator for
/// @ref howto7::field::MsgId field.
using ValueType = howto7::MsgId;
-
+
/// @brief Single value name info entry
using ValueNameInfo = const char*;
-
+
/// @brief Type returned from @ref valueNamesMap() member function.
/// @details The @b first value of the pair is pointer to the map array,
/// The @b second value of the pair is the size of the array.
using ValueNamesMapInfo = std::pair;
-
+
/// @brief Name of the @ref howto7::field::MsgId field.
static const char* name()
{
return "MsgId";
}
-
+
/// @brief Retrieve name of the enum value
static const char* valueName(ValueType val)
{
@@ -49,10 +46,10 @@ struct MsgIdCommon
if (namesMapInfo.second <= static_cast(val)) {
return nullptr;
}
-
+
return namesMapInfo.first[static_cast(val)];
}
-
+
/// @brief Retrieve map of enum value names
static ValueNamesMapInfo valueNamesMap()
{
@@ -63,19 +60,15 @@ struct MsgIdCommon
"Message 3"
};
static const std::size_t MapSize = std::extent::value;
-
+
return std::make_pair(&Map[0], MapSize);
}
-
-
};
/// @brief Values enumerator for
/// @ref howto7::field::MsgId field.
using MsgIdVal = MsgIdCommon::ValueType;
-
} // namespace field
} // namespace howto7
-
diff --git a/howtos/howto7/include/howto7/frame/Frame.h b/howtos/howto7/include/howto7/frame/Frame.h
index be66b3ba5..d816be5d7 100644
--- a/howtos/howto7/include/howto7/frame/Frame.h
+++ b/howtos/howto7/include/howto7/frame/Frame.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Frame" frame class.
@@ -24,7 +24,6 @@ namespace howto7
namespace frame
{
-
/// @brief Layers definition of @ref Frame frame class.
/// @tparam TOpt Protocol options.
/// @see @ref Frame
@@ -37,7 +36,7 @@ struct FrameLayers
comms::protocol::MsgDataLayer<
typename TOpt::frame::FrameLayers::Data
>;
-
+
/// @brief Definition of layer "Id".
template
using Id =
@@ -50,7 +49,7 @@ struct FrameLayers
Data,
typename TOpt::frame::FrameLayers::Id
>;
-
+
/// @brief Scope for field(s) of @ref Size layer.
struct SizeMembers
{
@@ -69,26 +68,21 @@ struct FrameLayers
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto7::frame::FrameLayersCommon::SizeMembersCommon::SizeFieldCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto7::frame::FrameLayersCommon::SizeMembersCommon::SizeFieldCommon::name();
}
-
-
};
-
-
};
-
+
/// @brief Definition of layer "Size".
template
using Size =
@@ -96,7 +90,7 @@ struct FrameLayers
typename SizeMembers::SizeField,
Id
>;
-
+
/// @brief Scope for field(s) of @ref AlternatingSync layer.
struct AlternatingSyncMembers
{
@@ -115,26 +109,21 @@ struct FrameLayers
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto7::frame::FrameLayersCommon::AlternatingSyncMembersCommon::SyncFieldCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto7::frame::FrameLayersCommon::AlternatingSyncMembersCommon::SyncFieldCommon::name();
}
-
-
};
-
-
};
-
+
/// @brief Definition of layer "AlternatingSync".
template
using AlternatingSync =
@@ -143,11 +132,10 @@ struct FrameLayers
Size,
typename TOpt::frame::FrameLayers::AlternatingSync
>;
-
+
/// @brief Final protocol stack definition.
template
using Stack = AlternatingSync;
-
};
/// @brief Definition of "Frame" frame class.
@@ -186,5 +174,3 @@ class Frame : public
} // namespace frame
} // namespace howto7
-
-
diff --git a/howtos/howto7/include/howto7/frame/FrameCommon.h b/howtos/howto7/include/howto7/frame/FrameCommon.h
index 108f84b59..9ef00f0d5 100644
--- a/howtos/howto7/include/howto7/frame/FrameCommon.h
+++ b/howtos/howto7/include/howto7/frame/FrameCommon.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -14,7 +14,6 @@ namespace howto7
namespace frame
{
-
/// @brief Common types and functions of fields using in definition of
/// @ref howto7::frame::Frame frame.
/// @see howto7::frame::FrameLayers
@@ -31,24 +30,21 @@ struct FrameLayersCommon
/// @brief Re-definition of the value type used by
/// howto7::frame::FrameLayers::AlternatingSyncMembers::SyncField field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto7::frame::FrameLayers::AlternatingSyncMembers::SyncField field.
static const char* name()
{
return "SyncField";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
-
+
/// @brief Scope for all the common definitions of the fields defined in
/// @ref howto7::frame::FrameLayers::SizeMembers struct.
struct SizeMembersCommon
@@ -60,28 +56,22 @@ struct FrameLayersCommon
/// @brief Re-definition of the value type used by
/// howto7::frame::FrameLayers::SizeMembers::SizeField field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto7::frame::FrameLayers::SizeMembers::SizeField field.
static const char* name()
{
return "SizeField";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
-
};
} // namespace frame
} // namespace howto7
-
-
diff --git a/howtos/howto7/include/howto7/input/AllMessages.h b/howtos/howto7/include/howto7/input/AllMessages.h
index 3ee71dd1a..93dc2e71e 100644
--- a/howtos/howto7/include/howto7/input/AllMessages.h
+++ b/howtos/howto7/include/howto7/input/AllMessages.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of the AllMessages messages bundle.
diff --git a/howtos/howto7/include/howto7/input/ClientInputMessages.h b/howtos/howto7/include/howto7/input/ClientInputMessages.h
index a752404ba..12b834a7c 100644
--- a/howtos/howto7/include/howto7/input/ClientInputMessages.h
+++ b/howtos/howto7/include/howto7/input/ClientInputMessages.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of the ClientInputMessages messages bundle.
diff --git a/howtos/howto7/include/howto7/input/ServerInputMessages.h b/howtos/howto7/include/howto7/input/ServerInputMessages.h
index 2a9cc76c8..378e5c1b9 100644
--- a/howtos/howto7/include/howto7/input/ServerInputMessages.h
+++ b/howtos/howto7/include/howto7/input/ServerInputMessages.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of the ServerInputMessages messages bundle.
diff --git a/howtos/howto7/include/howto7/message/Msg1.h b/howtos/howto7/include/howto7/message/Msg1.h
index f0f1a133c..848347405 100644
--- a/howtos/howto7/include/howto7/message/Msg1.h
+++ b/howtos/howto7/include/howto7/message/Msg1.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Message 1" message and its fields.
@@ -15,14 +15,12 @@
#include "howto7/message/Msg1Common.h"
#include "howto7/options/DefaultOptions.h"
-
namespace howto7
{
namespace message
{
-
/// @brief Fields of @ref Msg1.
/// @tparam TOpt Extra options
/// @see @ref Msg1
@@ -45,24 +43,20 @@ struct Msg1Fields
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto7::message::Msg1FieldsCommon::F1Common::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto7::message::Msg1FieldsCommon::F1Common::name();
}
-
-
};
-
-
+
/// @brief All the fields bundled in std::tuple.
using All = std::tuple<
F1
@@ -107,24 +101,20 @@ class Msg1 : public
COMMS_MSG_FIELDS_NAMES(
f1
);
-
+
// Compile time check for serialisation length.
static const std::size_t MsgMinLen = Base::doMinLength();
static const std::size_t MsgMaxLen = Base::doMaxLength();
static_assert(MsgMinLen == 2U, "Unexpected min serialisation length");
static_assert(MsgMaxLen == 2U, "Unexpected max serialisation length");
-
+
/// @brief Name of the message.
static const char* doName()
{
return howto7::message::Msg1Common::name();
}
-
-
};
} // namespace message
} // namespace howto7
-
-
diff --git a/howtos/howto7/include/howto7/message/Msg1Common.h b/howtos/howto7/include/howto7/message/Msg1Common.h
index 3b37e5419..ab734314f 100644
--- a/howtos/howto7/include/howto7/message/Msg1Common.h
+++ b/howtos/howto7/include/howto7/message/Msg1Common.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -14,7 +14,6 @@ namespace howto7
namespace message
{
-
/// @brief Common types and functions for fields of
/// @ref howto7::message::Msg1 message.
/// @see howto7::message::Msg1Fields
@@ -27,22 +26,19 @@ struct Msg1FieldsCommon
/// @brief Re-definition of the value type used by
/// howto7::message::Msg1Fields::F1 field.
using ValueType = std::uint16_t;
-
+
/// @brief Name of the @ref howto7::message::Msg1Fields::F1 field.
static const char* name()
{
return "F1";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
/// @brief Common types and functions of
@@ -54,12 +50,8 @@ struct Msg1Common
{
return "Message 1";
}
-
};
} // namespace message
} // namespace howto7
-
-
-
diff --git a/howtos/howto7/include/howto7/message/Msg2.h b/howtos/howto7/include/howto7/message/Msg2.h
index 6ffbc7af4..157504083 100644
--- a/howtos/howto7/include/howto7/message/Msg2.h
+++ b/howtos/howto7/include/howto7/message/Msg2.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Message 2" message and its fields.
@@ -15,14 +15,12 @@
#include "howto7/message/Msg2Common.h"
#include "howto7/options/DefaultOptions.h"
-
namespace howto7
{
namespace message
{
-
/// @brief Fields of @ref Msg2.
/// @tparam TOpt Extra options
/// @see @ref Msg2
@@ -45,24 +43,20 @@ struct Msg2Fields
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto7::message::Msg2FieldsCommon::F1Common::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto7::message::Msg2FieldsCommon::F1Common::name();
}
-
-
};
-
-
+
/// @brief All the fields bundled in std::tuple.
using All = std::tuple<
F1
@@ -107,24 +101,20 @@ class Msg2 : public
COMMS_MSG_FIELDS_NAMES(
f1
);
-
+
// Compile time check for serialisation length.
static const std::size_t MsgMinLen = Base::doMinLength();
static const std::size_t MsgMaxLen = Base::doMaxLength();
static_assert(MsgMinLen == 4U, "Unexpected min serialisation length");
static_assert(MsgMaxLen == 4U, "Unexpected max serialisation length");
-
+
/// @brief Name of the message.
static const char* doName()
{
return howto7::message::Msg2Common::name();
}
-
-
};
} // namespace message
} // namespace howto7
-
-
diff --git a/howtos/howto7/include/howto7/message/Msg2Common.h b/howtos/howto7/include/howto7/message/Msg2Common.h
index 6399a2bc1..6acf6b44d 100644
--- a/howtos/howto7/include/howto7/message/Msg2Common.h
+++ b/howtos/howto7/include/howto7/message/Msg2Common.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -14,7 +14,6 @@ namespace howto7
namespace message
{
-
/// @brief Common types and functions for fields of
/// @ref howto7::message::Msg2 message.
/// @see howto7::message::Msg2Fields
@@ -27,22 +26,19 @@ struct Msg2FieldsCommon
/// @brief Re-definition of the value type used by
/// howto7::message::Msg2Fields::F1 field.
using ValueType = std::uint32_t;
-
+
/// @brief Name of the @ref howto7::message::Msg2Fields::F1 field.
static const char* name()
{
return "F1";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
/// @brief Common types and functions of
@@ -54,12 +50,8 @@ struct Msg2Common
{
return "Message 2";
}
-
};
} // namespace message
} // namespace howto7
-
-
-
diff --git a/howtos/howto7/include/howto7/message/Msg3.h b/howtos/howto7/include/howto7/message/Msg3.h
index e6be6d5cc..b0125dd1b 100644
--- a/howtos/howto7/include/howto7/message/Msg3.h
+++ b/howtos/howto7/include/howto7/message/Msg3.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Message 3" message and its fields.
@@ -16,14 +16,12 @@
#include "howto7/message/Msg3Common.h"
#include "howto7/options/DefaultOptions.h"
-
namespace howto7
{
namespace message
{
-
/// @brief Fields of @ref Msg3.
/// @tparam TOpt Extra options
/// @see @ref Msg3
@@ -50,26 +48,21 @@ struct Msg3Fields
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return howto7::message::Msg3FieldsCommon::F1MembersCommon::LengthCommon::hasSpecials();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto7::message::Msg3FieldsCommon::F1MembersCommon::LengthCommon::name();
}
-
-
};
-
-
};
-
+
/// @brief Definition of "F1" field.
class F1 : public
comms::field::String<
@@ -90,11 +83,8 @@ struct Msg3Fields
{
return howto7::message::Msg3FieldsCommon::F1Common::name();
}
-
-
};
-
-
+
/// @brief All the fields bundled in std::tuple.
using All = std::tuple<
F1
@@ -139,22 +129,18 @@ class Msg3 : public
COMMS_MSG_FIELDS_NAMES(
f1
);
-
+
// Compile time check for serialisation length.
static const std::size_t MsgMinLen = Base::doMinLength();
static_assert(MsgMinLen == 1U, "Unexpected min serialisation length");
-
+
/// @brief Name of the message.
static const char* doName()
{
return howto7::message::Msg3Common::name();
}
-
-
};
} // namespace message
} // namespace howto7
-
-
diff --git a/howtos/howto7/include/howto7/message/Msg3Common.h b/howtos/howto7/include/howto7/message/Msg3Common.h
index 700e6e861..c7daa3563 100644
--- a/howtos/howto7/include/howto7/message/Msg3Common.h
+++ b/howtos/howto7/include/howto7/message/Msg3Common.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -14,7 +14,6 @@ namespace howto7
namespace message
{
-
/// @brief Common types and functions for fields of
/// @ref howto7::message::Msg3 message.
/// @see howto7::message::Msg3Fields
@@ -31,24 +30,21 @@ struct Msg3FieldsCommon
/// @brief Re-definition of the value type used by
/// howto7::message::Msg3Fields::F1Members::Length field.
using ValueType = std::uint8_t;
-
+
/// @brief Name of the @ref howto7::message::Msg3Fields::F1Members::Length field.
static const char* name()
{
return "Length";
}
-
+
/// @brief Compile time detection of special values presence.
static constexpr bool hasSpecials()
{
return false;
}
-
-
};
-
};
-
+
/// @brief Common types and functions for
/// @ref howto7::message::Msg3Fields::F1 field.
struct F1Common
@@ -58,9 +54,7 @@ struct Msg3FieldsCommon
{
return "F1";
}
-
};
-
};
/// @brief Common types and functions of
@@ -72,12 +66,8 @@ struct Msg3Common
{
return "Message 3";
}
-
};
} // namespace message
} // namespace howto7
-
-
-
diff --git a/howtos/howto7/include/howto7/options/BareMetalDefaultOptions.h b/howtos/howto7/include/howto7/options/BareMetalDefaultOptions.h
index d0fc0c598..da595a49a 100644
--- a/howtos/howto7/include/howto7/options/BareMetalDefaultOptions.h
+++ b/howtos/howto7/include/howto7/options/BareMetalDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol bare metal default options.
@@ -37,11 +37,9 @@ struct BareMetalDefaultOptionsT : public TBase
comms::option::app::FixedSizeStorage,
typename TBase::message::Msg3Fields::F1
>;
-
};
-
}; // struct message
-
+
/// @brief Extra options for frames.
struct frame : public TBase::frame
{
@@ -56,7 +54,7 @@ struct BareMetalDefaultOptionsT : public TBase
comms::option::app::FixedSizeStorage,
typename TBase::frame::FrameLayers::Data
>;
-
+
/// @brief Extra options for @ref
/// howto7::frame::FrameLayers::Id layer.
using Id =
@@ -64,13 +62,8 @@ struct BareMetalDefaultOptionsT : public TBase
comms::option::app::InPlaceAllocation,
typename TBase::frame::FrameLayers::Id
>;
-
-
}; // struct FrameLayers
-
}; // struct frame
-
-
};
/// @brief Alias to @ref BareMetalDefaultOptionsT with default template parameter.
diff --git a/howtos/howto7/include/howto7/options/ClientDefaultOptions.h b/howtos/howto7/include/howto7/options/ClientDefaultOptions.h
index 6b5ffa8c4..ef157df13 100644
--- a/howtos/howto7/include/howto7/options/ClientDefaultOptions.h
+++ b/howtos/howto7/include/howto7/options/ClientDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol client default options.
diff --git a/howtos/howto7/include/howto7/options/DataViewDefaultOptions.h b/howtos/howto7/include/howto7/options/DataViewDefaultOptions.h
index 80b561922..d01f15606 100644
--- a/howtos/howto7/include/howto7/options/DataViewDefaultOptions.h
+++ b/howtos/howto7/include/howto7/options/DataViewDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol data view default options.
@@ -31,11 +31,9 @@ struct DataViewDefaultOptionsT : public TBase
comms::option::app::OrigDataView,
typename TBase::message::Msg3Fields::F1
>;
-
};
-
}; // struct message
-
+
/// @brief Extra options for frames.
struct frame : public TBase::frame
{
@@ -50,13 +48,8 @@ struct DataViewDefaultOptionsT : public TBase
comms::option::app::OrigDataView,
typename TBase::frame::FrameLayers::Data
>;
-
-
}; // struct FrameLayers
-
}; // struct frame
-
-
};
/// @brief Alias to @ref DataViewDefaultOptionsT with default template parameter.
diff --git a/howtos/howto7/include/howto7/options/DefaultOptions.h b/howtos/howto7/include/howto7/options/DefaultOptions.h
index e558c100c..025d50f03 100644
--- a/howtos/howto7/include/howto7/options/DefaultOptions.h
+++ b/howtos/howto7/include/howto7/options/DefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol default options.
@@ -30,11 +30,9 @@ struct DefaultOptionsT : public TBase
/// @brief Extra options for @ref
/// howto7::message::Msg3Fields::F1 field.
using F1 = comms::option::EmptyOption;
-
};
-
}; // struct message
-
+
/// @brief Extra options for frames.
struct frame
{
@@ -45,22 +43,17 @@ struct DefaultOptionsT : public TBase
/// @brief Extra options for @ref
/// howto7::frame::FrameLayers::Data layer.
using Data = comms::option::EmptyOption;
-
+
/// @brief Extra options for @ref
/// howto7::frame::FrameLayers::Id layer.
using Id = comms::option::EmptyOption;
-
+
/// @brief Extra options for @ref
/// howto7::frame::FrameLayers::AlternatingSync
/// layer.
using AlternatingSync = comms::option::EmptyOption;
-
-
}; // struct FrameLayers
-
}; // struct frame
-
-
};
/// @brief Default (empty) options of the protocol.
diff --git a/howtos/howto7/include/howto7/options/ServerDefaultOptions.h b/howtos/howto7/include/howto7/options/ServerDefaultOptions.h
index 0e4776fa5..5926939ae 100644
--- a/howtos/howto7/include/howto7/options/ServerDefaultOptions.h
+++ b/howtos/howto7/include/howto7/options/ServerDefaultOptions.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of protocol server default options.
diff --git a/howtos/howto8/include/howto8/Interface.h b/howtos/howto8/include/howto8/Interface.h
index be21700dd..16e5f8a96 100644
--- a/howtos/howto8/include/howto8/Interface.h
+++ b/howtos/howto8/include/howto8/Interface.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Interface" interface class.
@@ -16,7 +16,6 @@
namespace howto8
{
-
/// @brief Extra transport fields of @ref Interface interface class.
/// @see @ref Interface
/// @headerfile howto8/Interface.h
@@ -27,8 +26,7 @@ struct InterfaceFields
howto8::field::Flags<
howto8::options::DefaultOptions
>;
-
-
+
/// @brief All the fields bundled in std::tuple.
using All = std::tuple<
Flags
@@ -66,10 +64,6 @@ class Interface : public
COMMS_MSG_TRANSPORT_FIELDS_NAMES(
flags
);
-
-
};
} // namespace howto8
-
-
diff --git a/howtos/howto8/include/howto8/InterfaceCommon.h b/howtos/howto8/include/howto8/InterfaceCommon.h
index 19b07272f..eae97604f 100644
--- a/howtos/howto8/include/howto8/InterfaceCommon.h
+++ b/howtos/howto8/include/howto8/InterfaceCommon.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -11,7 +11,6 @@
namespace howto8
{
-
/// @brief Common types and functions for fields of
/// @ref howto8::Interface interface.
/// @see howto8::InterfaceFields
@@ -20,8 +19,5 @@ struct InterfaceFieldsCommon
/// @brief Common types and functions for
/// @ref howto8::InterfaceFields::Flags field.
using FlagsCommon = howto8::field::FlagsCommon;
-
};
} // namespace howto8
-
-
diff --git a/howtos/howto8/include/howto8/MsgId.h b/howtos/howto8/include/howto8/MsgId.h
index d2b98d248..46ba39b65 100644
--- a/howtos/howto8/include/howto8/MsgId.h
+++ b/howtos/howto8/include/howto8/MsgId.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of message ids enumeration.
@@ -15,7 +15,7 @@ enum MsgId : std::uint8_t
{
MsgId_M1 = 1, ///< message id of Message 1 message. ,
MsgId_M2 = 2, ///< message id of Message 2 message. ,
-
+
// --- Extra values generated for convenience ---,
MsgId_FirstValue = 1, ///< First defined value.,
MsgId_LastValue = 2, ///< Last defined value.,
@@ -23,4 +23,3 @@ enum MsgId : std::uint8_t
};
} // namespace howto8
-
diff --git a/howtos/howto8/include/howto8/Version.h b/howtos/howto8/include/howto8/Version.h
index 41d993b09..d54f57459 100644
--- a/howtos/howto8/include/howto8/Version.h
+++ b/howtos/howto8/include/howto8/Version.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains protocol version definition.
@@ -22,6 +22,5 @@ inline constexpr unsigned specVersion()
} // namespace howto8
// Generated compile time check for minimal supported version of the COMMS library
-static_assert(COMMS_MAKE_VERSION(5, 0, 0) <= comms::version(),
+static_assert(COMMS_MAKE_VERSION(5, 0, 3) <= comms::version(),
"The version of COMMS library is too old");
-
diff --git a/howtos/howto8/include/howto8/dispatch/DispatchClientInputMessage.h b/howtos/howto8/include/howto8/dispatch/DispatchClientInputMessage.h
index 97c9a801f..b77218b5d 100644
--- a/howtos/howto8/include/howto8/dispatch/DispatchClientInputMessage.h
+++ b/howtos/howto8/include/howto8/dispatch/DispatchClientInputMessage.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains dispatch to handling function(s) for client input input messages.
@@ -129,7 +129,7 @@ auto dispatchClientInputMessageDefaultOptions(
/// @tparam TProtOptions Protocol options struct used for the application,
/// like @ref howto8::options::DefaultOptions.
/// @headerfile howto8/dispatch/DispatchClientInputMessage.h
-template
+template
struct ClientInputMsgDispatcher
{
/// @brief Class detection tag
@@ -189,9 +189,7 @@ struct ClientInputMsgDispatcher
/// @ref howto8::options::DefaultOptions as template parameter.
/// @note Defined in howto8/dispatch/DispatchClientInputMessage.h
using ClientInputMsgDispatcherDefaultOptions =
- ClientInputMsgDispatcher;
-
-
+ ClientInputMsgDispatcher<>;
} // namespace dispatch
diff --git a/howtos/howto8/include/howto8/dispatch/DispatchMessage.h b/howtos/howto8/include/howto8/dispatch/DispatchMessage.h
index c1de0251e..2673f3cd6 100644
--- a/howtos/howto8/include/howto8/dispatch/DispatchMessage.h
+++ b/howtos/howto8/include/howto8/dispatch/DispatchMessage.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains dispatch to handling function(s) for all input messages.
@@ -129,7 +129,7 @@ auto dispatchMessageDefaultOptions(
/// @tparam TProtOptions Protocol options struct used for the application,
/// like @ref howto8::options::DefaultOptions.
/// @headerfile howto8/dispatch/DispatchMessage.h
-template
+template
struct MsgDispatcher
{
/// @brief Class detection tag
@@ -189,9 +189,7 @@ struct MsgDispatcher
/// @ref howto8::options::DefaultOptions as template parameter.
/// @note Defined in howto8/dispatch/DispatchMessage.h
using MsgDispatcherDefaultOptions =
- MsgDispatcher;
-
-
+ MsgDispatcher<>;
} // namespace dispatch
diff --git a/howtos/howto8/include/howto8/dispatch/DispatchServerInputMessage.h b/howtos/howto8/include/howto8/dispatch/DispatchServerInputMessage.h
index 155f53d7e..eb1b73a0c 100644
--- a/howtos/howto8/include/howto8/dispatch/DispatchServerInputMessage.h
+++ b/howtos/howto8/include/howto8/dispatch/DispatchServerInputMessage.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains dispatch to handling function(s) for client input input messages.
@@ -129,7 +129,7 @@ auto dispatchServerInputMessageDefaultOptions(
/// @tparam TProtOptions Protocol options struct used for the application,
/// like @ref howto8::options::DefaultOptions.
/// @headerfile howto8/dispatch/DispatchServerInputMessage.h
-template
+template
struct ServerInputMsgDispatcher
{
/// @brief Class detection tag
@@ -189,9 +189,7 @@ struct ServerInputMsgDispatcher
/// @ref howto8::options::DefaultOptions as template parameter.
/// @note Defined in howto8/dispatch/DispatchServerInputMessage.h
using ServerInputMsgDispatcherDefaultOptions =
- ServerInputMsgDispatcher;
-
-
+ ServerInputMsgDispatcher<>;
} // namespace dispatch
diff --git a/howtos/howto8/include/howto8/field/FieldBase.h b/howtos/howto8/include/howto8/field/FieldBase.h
index af5fd87e2..2941e5617 100644
--- a/howtos/howto8/include/howto8/field/FieldBase.h
+++ b/howtos/howto8/include/howto8/field/FieldBase.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of base class of all the fields.
@@ -27,4 +27,3 @@ using FieldBase =
} // namespace field
} // namespace howto8
-
diff --git a/howtos/howto8/include/howto8/field/Flags.h b/howtos/howto8/include/howto8/field/Flags.h
index a67b57ef4..10ab65a4e 100644
--- a/howtos/howto8/include/howto8/field/Flags.h
+++ b/howtos/howto8/include/howto8/field/Flags.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "Flags" field.
@@ -17,7 +17,6 @@ namespace howto8
namespace field
{
-
/// @brief Definition of "Flags" field.
/// @tparam TOpt Protocol options.
/// @tparam TExtraOpts Extra options.
@@ -50,7 +49,7 @@ class Flags : public
B0,
B1
);
-
+
/// @brief Retrieve name of the bit.
/// @see @ref howto8::field::FlagsCommon::bitName().
static const char* bitName(BitIdx idx)
@@ -59,18 +58,14 @@ class Flags : public
howto8::field::FlagsCommon::bitName(
static_cast(idx));
}
-
+
/// @brief Name of the field.
static const char* name()
{
return howto8::field::FlagsCommon::name();
}
-
-
};
-
} // namespace field
} // namespace howto8
-
diff --git a/howtos/howto8/include/howto8/field/FlagsCommon.h b/howtos/howto8/include/howto8/field/FlagsCommon.h
index facdc8e63..b04790b9a 100644
--- a/howtos/howto8/include/howto8/field/FlagsCommon.h
+++ b/howtos/howto8/include/howto8/field/FlagsCommon.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -14,7 +14,6 @@ namespace howto8
namespace field
{
-
/// @brief Common types and functions for
/// @ref howto8::field::Flags field.
struct FlagsCommon
@@ -24,7 +23,7 @@ struct FlagsCommon
{
return "Flags";
}
-
+
/// @brief Retrieve name of the bit of
/// @ref howto8::field::Flags field.
static const char* bitName(std::size_t idx)
@@ -33,19 +32,16 @@ struct FlagsCommon
"B0",
"B1"
};
-
+
static const std::size_t MapSize = std::extent::value;
if (MapSize <= idx) {
return nullptr;
}
-
+
return Map[idx];
}
-
-
};
} // namespace field
} // namespace howto8
-
diff --git a/howtos/howto8/include/howto8/field/MsgId.h b/howtos/howto8/include/howto8/field/MsgId.h
index fca7fee23..1a96ecd6f 100644
--- a/howtos/howto8/include/howto8/field/MsgId.h
+++ b/howtos/howto8/include/howto8/field/MsgId.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains definition of "MsgId" field.
@@ -17,7 +17,6 @@ namespace howto8
namespace field
{
-
/// @brief Definition of "MsgId" field.
/// @see @ref howto8::MsgId
/// @tparam TOpt Protocol options.
@@ -41,46 +40,48 @@ class MsgId : public
public:
/// @brief Re-definition of the value type.
using ValueType = typename Base::ValueType;
-
+
/// @brief Single value name info entry.
using ValueNameInfo = howto8::field::MsgIdCommon::ValueNameInfo;
-
+
/// @brief Type returned from @ref valueNamesMap() member function.
/// @see @ref howto8::field::MsgIdCommon::ValueNamesMapInfo.
using ValueNamesMapInfo = howto8::field::MsgIdCommon::ValueNamesMapInfo;
-
+
/// @brief Retrieve name of the enum value.
/// @see @ref howto8::field::MsgIdCommon::valueName().
static const char* valueName(ValueType val)
{
return howto8::field::MsgIdCommon::valueName(val);
}
-
+
+ /// @brief Retrieve name of the enum value.
+ /// @see @ref howto8::field::MsgIdCommon::valueName().
+ static const char* valueNameOf(ValueType val)
+ {
+ return howto8::field::MsgIdCommon::valueName(val);
+ }
+
/// @brief Retrieve name of the @b current value
const char* valueName() const
{
return valueName(Base::getValue());
}
-
+
/// @brief Retrieve map of enum value names.
/// @see @ref howto8::field::MsgIdCommon::valueNamesMap().
static ValueNamesMapInfo valueNamesMap()
{
return howto8::field::MsgIdCommon::valueNamesMap();
}
-
-
+
/// @brief Name of the field.
static const char* name()
{
return howto8::field::MsgIdCommon::name();
}
-
-
};
-
} // namespace field
} // namespace howto8
-
diff --git a/howtos/howto8/include/howto8/field/MsgIdCommon.h b/howtos/howto8/include/howto8/field/MsgIdCommon.h
index 027fa3631..ef0489de4 100644
--- a/howtos/howto8/include/howto8/field/MsgIdCommon.h
+++ b/howtos/howto8/include/howto8/field/MsgIdCommon.h
@@ -1,4 +1,4 @@
-// Generated by commsdsl2comms v5.0.0
+// Generated by commsdsl2comms v5.2.0
/// @file
/// @brief Contains common template parameters independent functionality of
@@ -6,9 +6,7 @@
#pragma once
-#include
#include
-#include
#include
#include
#include "howto8/MsgId.h"
@@ -19,7 +17,6 @@ namespace howto8
namespace field
{
-
/// @brief Common types and functions for
/// @ref howto8::field::MsgId field.
struct MsgIdCommon
@@ -27,21 +24,21 @@ struct MsgIdCommon
/// @brief Values enumerator for
/// @ref howto8::field::MsgId field.
using ValueType = howto8::MsgId;
-
+
/// @brief Single value name info entry
using ValueNameInfo = const char*;
-
+
/// @brief Type returned from @ref valueNamesMap() member function.
/// @details The @b first value of the pair is pointer to the map array,
/// The @b second value of the pair is the size of the array.
using ValueNamesMapInfo = std::pair;
-
+
/// @brief Name of the @ref howto8::field::MsgId field.
static const char* name()
{
return "MsgId";
}
-
+
/// @brief Retrieve name of the enum value
static const char* valueName(ValueType val)
{
@@ -49,10 +46,10 @@ struct MsgIdCommon
if (namesMapInfo.second <= static_cast(val)) {
return nullptr;
}
-
+
return namesMapInfo.first[static_cast