Skip to content

Commit 6b94c92

Browse files
committed
Release 2026-01-06
2 parents 0ed13e9 + 99135be commit 6b94c92

File tree

1,687 files changed

+8020
-5725
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,687 files changed

+8020
-5725
lines changed

.github/workflows/actions_build.yml

Lines changed: 44 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
name: Github Actions Build
22

3-
on: [push]
3+
on:
4+
push:
5+
branches:
6+
- '**'
7+
tags-ignore:
8+
- '**'
49

510
env:
6-
COMMS_TAG: v5.4.2
7-
COMMSDSL_TAG: v7.1
11+
COMMS_TAG: v5.5
12+
COMMSDSL_TAG: v8.0
813
WIN_BOOST_VERSION: "1.87.0"
914
WIN_BOOST_DIR: "C:/local/boost_1_87_0"
1015

@@ -19,22 +24,22 @@ jobs:
1924
cpp: [11, 14, 17, 20, 23]
2025
exclude:
2126
- cc_ver: 9
22-
cpp: 23
27+
cpp: 23
2328
- cc_ver: 10
24-
cpp: 23
29+
cpp: 23
2530
- cc_ver: 11
26-
cpp: 23
31+
cpp: 23
2732
- cc_ver: 12
28-
cpp: 23
33+
cpp: 23
2934
- cc_ver: 13
30-
cpp: 23
35+
cpp: 23
3136

3237
steps:
3338
- uses: actions/checkout@v2
3439

3540
- name: Prepare Install
36-
run: sudo apt-get update --fix-missing
37-
41+
run: sudo apt-get update --fix-missing
42+
3843
- name: Install Packages
3944
run: sudo apt install libqt5gui5 libboost-all-dev libxml2-dev gcc-${{matrix.cc_ver}} g++-${{matrix.cc_ver}}
4045

@@ -53,7 +58,7 @@ jobs:
5358
COMMON_BUILD_TYPE: ${{matrix.type}}
5459
COMMON_CXX_STANDARD: ${{matrix.cpp}}
5560
COMMS_TAG: ${{env.COMMS_TAG}}
56-
COMMSDSL_TAG: ${{env.COMMSDSL_TAG}}
61+
COMMSDSL_TAG: ${{env.COMMSDSL_TAG}}
5762

5863
- name: Configure CMake
5964
shell: bash
@@ -70,7 +75,7 @@ jobs:
7075
shell: bash
7176
run: cmake --build . --config ${{matrix.type}} --target install
7277
env:
73-
VERBOSE: 1
78+
VERBOSE: 1
7479

7580
build_clang_ubuntu_22_04:
7681
runs-on: ubuntu-22.04
@@ -85,8 +90,8 @@ jobs:
8590
- uses: actions/checkout@v2
8691

8792
- name: Prepare Install
88-
run: sudo apt-get update --fix-missing
89-
93+
run: sudo apt-get update --fix-missing
94+
9095
- name: Install Packages
9196
run: sudo apt install libqt5gui5 libboost-all-dev libxml2-dev clang-${{matrix.cc_ver}}
9297

@@ -122,7 +127,7 @@ jobs:
122127
shell: bash
123128
run: cmake --build . --config ${{matrix.type}} --target install
124129
env:
125-
VERBOSE: 1
130+
VERBOSE: 1
126131

127132
build_clang_ubuntu_24_04:
128133
runs-on: ubuntu-24.04
@@ -134,24 +139,24 @@ jobs:
134139
cpp: [11, 14, 17, 20, 23]
135140
exclude:
136141
- cc_ver: 14
137-
cpp: 20
142+
cpp: 20
138143
- cc_ver: 14
139-
cpp: 23
144+
cpp: 23
140145
- cc_ver: 15
141-
cpp: 20
146+
cpp: 20
142147
- cc_ver: 15
143-
cpp: 23
148+
cpp: 23
144149
- cc_ver: 16
145150
cpp: 23
146151
- cc_ver: 17
147-
cpp: 23
152+
cpp: 23
148153

149154
steps:
150155
- uses: actions/checkout@v2
151156

152157
- name: Prepare Install
153-
run: sudo apt-get update --fix-missing
154-
158+
run: sudo apt-get update --fix-missing
159+
155160
- name: Install Packages
156161
run: sudo apt install libqt5gui5 libboost-all-dev libxml2-dev clang-${{matrix.cc_ver}}
157162

@@ -187,28 +192,29 @@ jobs:
187192
shell: bash
188193
run: cmake --build . --config ${{matrix.type}} --target install
189194
env:
190-
VERBOSE: 1
195+
VERBOSE: 1
191196

192-
build_msvc_2019:
193-
runs-on: windows-2019
197+
build_msvc_2022:
198+
runs-on: windows-2022
194199
strategy:
195200
fail-fast: false
196201
matrix:
197202
type: [Debug, Release]
198203
arch: [x64]
199-
cpp: [11, 14, 17]
204+
cpp: [11, 14, 17, 20]
200205

201206
steps:
202207
- uses: actions/checkout@v4
203208

204209
- name: Create Build Environment
205-
run: cmake -E make_directory ${{runner.workspace}}/build
210+
run: cmake -E make_directory ${{runner.workspace}}/build
206211

207212
- name: Install Boost
213+
if: matrix.arch == 'x64'
208214
shell: cmd
209215
run: |
210-
choco install boost-msvc-14.2 --version=${{env.WIN_BOOST_VERSION}}
211-
echo BOOST_DIR=${{env.WIN_BOOST_DIR}}/lib64-msvc-14.2/cmake >>%GITHUB_ENV%
216+
choco install boost-msvc-14.3 --version=${{env.WIN_BOOST_VERSION}}
217+
echo BOOST_DIR=${{env.WIN_BOOST_DIR}}/lib64-msvc-14.3/cmake >>%GITHUB_ENV%
212218
213219
- name: Prepare externals
214220
shell: cmd
@@ -234,27 +240,27 @@ jobs:
234240
-DCMAKE_POLICY_DEFAULT_CMP0167=NEW ^
235241
-DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DOPT_FORCE_EXTRA_BOOST_LIBS=ON
236242
237-
- name: Build Target
243+
- name: Build Target
238244
working-directory: ${{runner.workspace}}/build
239245
shell: cmd
240246
run: cmake --build . --config ${{matrix.type}} --target install
241247
env:
242-
VERBOSE: 1
248+
VERBOSE: 1
243249

244-
build_msvc_2022:
245-
runs-on: windows-2022
250+
build_msvc_2025:
251+
runs-on: windows-2025
246252
strategy:
247253
fail-fast: false
248254
matrix:
249255
type: [Debug, Release]
250256
arch: [x64]
251-
cpp: [11, 14, 17, 20]
257+
cpp: [11, 14, 17, 20, 23]
252258

253259
steps:
254260
- uses: actions/checkout@v4
255261

256262
- name: Create Build Environment
257-
run: cmake -E make_directory ${{runner.workspace}}/build
263+
run: cmake -E make_directory ${{runner.workspace}}/build
258264

259265
- name: Install Boost
260266
if: matrix.arch == 'x64'
@@ -285,11 +291,11 @@ jobs:
285291
cmake %GITHUB_WORKSPACE% -A ${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install ^
286292
-DCMAKE_PREFIX_PATH="${{runner.workspace}}/build/install;${{env.BOOST_DIR}}" ^
287293
-DCMAKE_POLICY_DEFAULT_CMP0167=NEW ^
288-
-DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DOPT_FORCE_EXTRA_BOOST_LIBS=ON
294+
-DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DOPT_FORCE_EXTRA_BOOST_LIBS=ON
289295
290-
- name: Build Target
296+
- name: Build Target
291297
working-directory: ${{runner.workspace}}/build
292298
shell: cmd
293299
run: cmake --build . --config ${{matrix.type}} --target install
294300
env:
295-
VERBOSE: 1
301+
VERBOSE: 1

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ option (OPT_USE_SANITIZERS "Compile with sanitizers." OFF)
1111

1212
#####################################################
1313

14-
set (MIN_COMMSDSL_VERSION "7.1")
14+
set (MIN_COMMSDSL_VERSION "8.0")
1515

1616
if ("${CMAKE_CXX_STANDARD}" STREQUAL "")
1717
set(CMAKE_CXX_STANDARD 11)

cmake/CC_Prefetch.cmake

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# This file contains contains a function that prefetches comms library project.
1+
# This file contains contains a function that prefetches comms library project.
22

33
# ******************************************************
44
# cc_prefetch(
@@ -24,11 +24,11 @@ function (cc_prefetch)
2424

2525
if (NOT CC_FETCH_SRC_DIR)
2626
message (FATAL_ERROR "The SRC_DIR parameter is not provided")
27-
endif ()
27+
endif ()
2828

2929
if (NOT CC_FETCH_REPO)
3030
set (CC_FETCH_REPO ${CC_FETCH_DEFAULT_REPO})
31-
endif ()
31+
endif ()
3232

3333
if (NOT CC_FETCH_TAG)
3434
set (CC_FETCH_TAG ${CC_FETCH_DEFAULT_TAG})
@@ -40,24 +40,24 @@ function (cc_prefetch)
4040

4141
if (EXISTS "${CC_FETCH_SRC_DIR}/cmake/CC_CommsExternal.cmake")
4242
return ()
43-
endif()
43+
endif()
4444

4545
execute_process (
4646
COMMAND ${CMAKE_COMMAND} -E remove_directory "${CC_FETCH_SRC_DIR}"
4747
)
48-
48+
4949
execute_process (
5050
COMMAND ${CMAKE_COMMAND} -E make_directory "${CC_FETCH_SRC_DIR}"
51-
)
52-
51+
)
52+
5353
execute_process (
54-
COMMAND
54+
COMMAND
5555
${GIT_EXECUTABLE} clone -b ${CC_FETCH_TAG} ${CC_FETCH_REPO} ${CC_FETCH_SRC_DIR}
5656
RESULT_VARIABLE git_result
5757
)
5858

5959
if (NOT "${git_result}" STREQUAL "0")
6060
message (WARNING "git clone/checkout failed")
61-
endif ()
61+
endif ()
6262

6363
endfunction()

howtos/howto1/README.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,26 @@
22
Custom remaining size framing information preceding `<id>`.
33

44
This howto demonstrates having remaining size information in message framing sharing its 2 bytes with
5-
extra flags which influence the way message payload is read.
5+
extra flags which influence the way message payload is read.
66

7-
Having values (flags) in the message framing which influence how message payload is read and/or how
7+
Having values (flags) in the message framing which influence how message payload is read and/or how
88
message is processed requires definition of common message interface:
99
```xml
1010
<fields>
1111
<set name="InterfaceFlags" length="1">
1212
<bit name="B0" idx="0" />
1313
<bit name="B1" idx="1" />
14-
</set>
15-
14+
</set>
15+
1616
</fields>
1717

1818
<interface name="Interface" description="Common Interface for all the messages.">
1919
<ref field="InterfaceFlags" name="Flags" />
20-
</interface>
20+
</interface>
2121
```
2222

2323
When remaining message length information in the message framing is split into multiple
24-
values, the default `<size>` cannot be used, the `<custom>` one needs to be used
24+
values, the default `<size>` cannot be used, the `<custom>` one needs to be used
2525
instead:
2626
```xml
2727
<frame name="Frame">
@@ -30,26 +30,26 @@ instead:
3030
<int name="Size" type="uint16" bitLength="12"/>
3131
<ref field="InterfaceFlags" name="Flags" bitLength="4" />
3232
</bitfield>
33-
</custom>
33+
</custom>
3434
<id name="Id" field="MsgId" />
3535
<value name="Flags" interfaceFieldName="Flags" pseudo="true" field="InterfaceFlags" />
3636
<payload name="Data" />
3737
</frame>
3838
```
39-
When _size_ layer precedes `<id>` it is not possible to assign flags to message object
40-
(because the latter is not allocated yet) and then forward the `read()` operation to the next
41-
layer. In order to solve the problem the **pseudo** (marked with **pseudo="true"** property)
39+
When _size_ layer precedes `<id>` it is not possible to assign flags to message object
40+
(because the latter is not allocated yet) and then forward the `read()` operation to the next
41+
layer. In order to solve the problem the **pseudo** (marked with **pseudo="true"** property)
4242
`<value>` layer is added right before the `<payload>`.
4343

4444
---
4545

46-
**REMINDER**: The **pseudo** `<value>` layer does not produce any output or consumes any input, it just
47-
contains its field as a private data member (value of which can be assigned externally) and
46+
**REMINDER**: The **pseudo** `<value>` layer does not produce any output or consumes any input, it just
47+
contains its field as a private data member (value of which can be assigned externally) and
4848
pretends to read the value when its `read()` member function is invoked.
4949

5050
---
5151

52-
When the `SizeWithFlags` reads its value it needs to access the `Flags` `<value>` layer and
52+
When the `SizeWithFlags` reads its value it needs to access the `Flags` `<value>` layer and
5353
assign the pseudo field value, see [dsl_src/include/howto1/frame/layer/SizeWithFlags.h](dsl_src/include/howto1/frame/layer/SizeWithFlags.h)
5454
for details:
5555
```cpp
@@ -60,22 +60,22 @@ class SizeWithFlags : public
6060

6161
public:
6262
// Repeat some types from the base class
63-
using Field = typename Base::Field;
63+
using Field = typename Base::Field;
6464

65-
template<typename TMsg>
65+
template<typename TMsg>
6666
void beforeRead(const Field& field, TMsg* msg)
6767
{
6868
static_cast<void>(msg);
6969
COMMS_ASSERT(msg == nullptr); // The message object is not created yet
7070
Base::nextLayer().nextLayer().pseudoField().value() = field.field_flags().value();
71-
}
71+
}
7272

7373
...
7474
};
7575
```
76-
**Note** that `nextLayer()` function is called twice: first time gives an access to the `Id` layer
77-
that follows, and second time gives an access to the `Flags` one. After that the
78-
`<value>` layer will do its job of re-assigning its field to the `<interface>` the
76+
**Note** that `nextLayer()` function is called twice: first time gives an access to the `Id` layer
77+
that follows, and second time gives an access to the `Flags` one. After that the
78+
`<value>` layer will do its job of re-assigning its field to the `<interface>` the
7979
normal way it's designed to do.
8080
8181
Also for more details please read [Defining Custom Message Size Frame Layer](https://commschamp.github.io/comms_doc/page_custom_size_layer.html)

0 commit comments

Comments
 (0)