Skip to content

Commit 4d46208

Browse files
pavel-kirienkoserges147sshirokov-mwb
authored
Changes for the upcoming v4 release (#244)
- Fixed issue #216 (#233): - Extended `CanardTxQueueItem` with extra `allocated_size` field to remember original size allocated for the item (and its embedded payload). - Extended `CanardRxTransfer` with extra `allocated_size` field to report to the client original size allocated for the payload buffer (which is normally equal to session `extent`). - New memory API for the TX pipeline only -- #225 #234 (not RX yet). Introduced new memory related types: - `CanardMemoryAllocate` - `CanardMemoryDeallocate` - `CanardMemoryDeleter` - `CanardMemoryResource` - Fix potential memory leak in tests - Introduce CanardPayload #235 - added `struct CanardPayload` to combine payload size and data. - added `struct CanardMutablePayload` to combine payload size, data and `allocated_size`. - `canardTxPeek` now returns mutable item - needed for payload ownership transfer. #236 - Eliminated elaborated type typedefs. #237 - Introduce deadline queue #238 - Introduce TX polling helper #239 --------- Co-authored-by: Sergei <sergej.shirokov@gmail.com> Co-authored-by: Sergei Shirokov <sshirokov@malwarebytes.com> Co-authored-by: Sergei Shirokov <sergei.shirokov@zubax.com>
1 parent 03fc5fe commit 4d46208

18 files changed

+2563
-1017
lines changed

.github/workflows/main.yml

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
name: Main Workflow
1+
name: Verification & Static Analysis
22
on: [push, pull_request]
33
env:
4-
LLVM_VERSION: 15
4+
LLVM_VERSION: 19
55
jobs:
66
debug:
77
if: github.event_name == 'push'
@@ -22,7 +22,7 @@ jobs:
2222
wget https://apt.llvm.org/llvm.sh
2323
chmod +x llvm.sh
2424
sudo ./llvm.sh $LLVM_VERSION
25-
sudo apt update -y && sudo apt upgrade -y
25+
sudo apt-get update -y && sudo apt-get upgrade -y
2626
sudo apt-get -y install gcc-multilib g++-multilib clang-tidy-$LLVM_VERSION
2727
sudo update-alternatives --install /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-$LLVM_VERSION 50
2828
clang-tidy --version
@@ -37,12 +37,13 @@ jobs:
3737
run: |
3838
make VERBOSE=1
3939
make test
40-
- uses: actions/upload-artifact@v3
40+
- uses: actions/upload-artifact@v4
4141
if: always()
4242
with:
43-
name: ${{github.job}}
43+
name: ${{github.job}}-#${{strategy.job-index}}-${{job.status}}-${{join(matrix.*, ',')}}
4444
path: ${{github.workspace}}/**/*
45-
retention-days: 2
45+
retention-days: 7
46+
include-hidden-files: true
4647

4748
optimizations:
4849
if: github.event_name == 'push'
@@ -61,8 +62,8 @@ jobs:
6162
steps:
6263
- uses: actions/checkout@v4
6364
- run: |
64-
sudo apt update -y && sudo apt upgrade -y
65-
sudo apt install gcc-multilib g++-multilib
65+
sudo apt-get update -y && sudo apt-get upgrade -y
66+
sudo apt-get install gcc-multilib g++-multilib
6667
- run: >
6768
cmake
6869
-B ${{ github.workspace }}/build
@@ -75,12 +76,13 @@ jobs:
7576
run: |
7677
make VERBOSE=1
7778
make test
78-
- uses: actions/upload-artifact@v3
79+
- uses: actions/upload-artifact@v4
7980
if: always()
8081
with:
81-
name: ${{github.job}}
82+
name: ${{github.job}}-#${{strategy.job-index}}-${{job.status}}-${{join(matrix.*, ',')}}
8283
path: ${{github.workspace}}/**/*
83-
retention-days: 2
84+
retention-days: 7
85+
include-hidden-files: true
8486

8587
avr:
8688
if: github.event_name == 'push'
@@ -91,8 +93,8 @@ jobs:
9193
steps:
9294
- uses: actions/checkout@v4
9395
- run: |
94-
sudo apt update -y && sudo apt upgrade -y
95-
sudo apt install gcc-avr avr-libc
96+
sudo apt-get update -y && sudo apt-get upgrade -y
97+
sudo apt-get install gcc-avr avr-libc
9698
avr-gcc --version
9799
- run: avr-gcc libcanard/*.c -c -std=c99 -mmcu=${{ env.mcu }} ${{ env.flags }}
98100
- run: avr-gcc libcanard/*.c -c -std=c11 -mmcu=${{ env.mcu }} ${{ env.flags }}
@@ -107,7 +109,7 @@ jobs:
107109
steps:
108110
- uses: actions/checkout@v4
109111
- run: |
110-
sudo apt update -y && sudo apt upgrade -y
112+
sudo apt-get update -y && sudo apt-get upgrade -y
111113
sudo apt-get install -y gcc-arm-none-eabi
112114
- run: arm-none-eabi-gcc libcanard/*.c -c -std=c99 ${{ env.flags }}
113115
- run: arm-none-eabi-gcc libcanard/*.c -c -std=c11 ${{ env.flags }}
@@ -117,7 +119,7 @@ jobs:
117119
runs-on: ubuntu-latest
118120
steps:
119121
- uses: actions/checkout@v4
120-
- uses: DoozyX/clang-format-lint-action@v0.17
122+
- uses: DoozyX/clang-format-lint-action@v0.20
121123
with:
122124
source: './libcanard ./tests'
123125
exclude: './tests/catch'
@@ -144,8 +146,8 @@ jobs:
144146

145147
- name: Install Dependencies
146148
run: |
147-
sudo apt update -y && sudo apt upgrade -y
148-
sudo apt install -y gcc-multilib g++-multilib
149+
sudo apt-get update -y && sudo apt-get upgrade -y
150+
sudo apt-get install -y gcc-multilib g++-multilib
149151
150152
- name: Set up JDK
151153
uses: actions/setup-java@v4
@@ -195,12 +197,13 @@ jobs:
195197
--define sonar.sources=libcanard
196198
--define sonar.exclusions=libcanard/_canard_cavl.h
197199
--define sonar.cfamily.gcov.reportsPath=.
198-
--define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}"
200+
--define sonar.cfamily.compile-commands="${{ env.BUILD_WRAPPER_OUT_DIR }}/compile_commands.json"
199201
--define sonar.host.url="${{ env.SONAR_SERVER_URL }}"
200202
201-
- uses: actions/upload-artifact@v3
203+
- uses: actions/upload-artifact@v4
202204
if: always()
203205
with:
204-
name: ${{github.job}}
206+
name: ${{github.job}}-#${{strategy.job-index}}-${{job.status}}-${{join(matrix.*, ',')}}
205207
path: ${{github.workspace}}/**/*
206-
retention-days: 2
208+
retention-days: 7
209+
include-hidden-files: true

.idea/dictionaries/project.xml

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)