Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
350 commits
Select commit Hold shift + click to select a range
8457dbd
Make pointer arguments const where mutation is not required
robamu May 31, 2024
df3afda
waf: Update to 2.1.4
yashi Dec 2, 2024
9ae9647
sample: simple-send-canbus: Fix buffer length
yashi Dec 2, 2024
5011649
sample: simple-send-usart: Fix buffer length
yashi Dec 2, 2024
93e69dd
interfaces: csp_if_zmqhub: Mark ret __maybe_unsed
yashi Dec 2, 2024
793e10b
cmake: Add CSP_BUILD_SAMPLES option
robamu Jun 3, 2024
0dee6a6
buildall.py: cmake: Tell how to build samples & examples
yashi Dec 2, 2024
8649f14
github: workflow: build-test-zephyr: Replace with HWMv2 board name
yashi Dec 3, 2024
e945ab1
github: workflow: build-test-zephyr: Add Python 3.12
yashi Dec 3, 2024
6de44fb
cmake: Remove compile options for Zephyr
yashi Dec 3, 2024
926ee7c
cmake: Add build support for FreeRTOS
dimitrovand Dec 16, 2024
935506a
cmake: arch: freertos: Remove excessive newline
yashi Dec 16, 2024
da00bc5
cmake: Replace explicit CMAKE_SYSTEM_NAME checks with CSP_* variables
yashi Dec 16, 2024
6b14035
cmake: Move Zephyr to CSP_SYSTEM_NAME
yashi Dec 16, 2024
2b0af62
cmake: Make CSP_SYSTEM_NAME case-insensitive
yashi Dec 16, 2024
a4d2181
doc: INSTALL: Add Python bindings build instructions for CMake
yashi Dec 22, 2024
f2ac619
doc: INSTALL: Fix typo in PYTHONPATH path
yashi Dec 22, 2024
5a3ca0d
waf: interfaces: Add csp_if_tun
wookhyunshin Dec 26, 2024
c045333
github: workflows: doc: rollback to ubuntu-2204
yashi Jan 4, 2025
0057b25
github: workflows: build-test: Remove MacOS
yashi Jan 4, 2025
fc3de68
github: workflows: build-test: Test with various GCC versions
yashi Jan 4, 2025
7371a61
examples: zmqproxy: Use `size_t` for datalen
yashi Jan 5, 2025
bb9d76f
examples: zmqproxy: Include csp_id.h instead of declaring functions
yashi Jan 5, 2025
6c85979
interfaces: csp_if_zmqhub: Use `size_t` for datalen
yashi Jan 5, 2025
1c13b4c
interfaces: csp_if_zmqhub: Remove `const` qualifier from `rx_data`
yashi Jan 5, 2025
bdc7f57
csp_id: Add CSPv1 fixup versions of prepend and strip functions
yashi Jan 5, 2025
b4cdceb
csp_id: Use second parameter to indicate whether fixup is needed
yashi Jan 5, 2025
b7f4f01
csp_id: Make fixup functions a compile-time option
yashi Jan 14, 2025
eaf40ba
interfaces: csp_if_zmqhub: Restore destination byte for CSPv1
n-log-gos Nov 22, 2024
c8158c4
interfaces: csp_if_zmqhub: Fix CSPv1 endianness issue
yashi Jan 14, 2025
dddf647
examples: zmqproxy: Fix CSPv1 endianness issue
yashi Jan 14, 2025
146c290
cmake: Add option to align ZMQ quirk with CSPv1
yashi Jan 14, 2025
e16c77b
meson: Add option to align ZMQ quirk with CSPv1
yashi Jan 14, 2025
6cd564e
waf: Add option to align ZMQ quirk with CSPv1
yashi Jan 14, 2025
39a31a0
examples: Remove check NULL for packet in csp_server_client
moonlight83340 Jan 23, 2025
e094a27
include: csp: Remove union in csp_packet_t
takumiando Oct 15, 2024
a4af8a9
csp_hooks: Fix EOF newlines
moonlight83340 Feb 5, 2025
63e1b05
csp_if_tun: Fix EOF newlines
moonlight83340 Feb 5, 2025
176bbc6
Add .gitlint
yashi Mar 5, 2025
8cbb70f
csp_conn: Fix typo
moonlight83340 Jan 28, 2025
4bcb0ec
csp_driver_can: Fix commentary typo in csp_driver_can_init
moonlight83340 Sep 4, 2024
fd48208
interfaces: csp_if_udp: Fix typo
moonlight83340 Feb 3, 2025
c5216fa
interfaces: csp_if_tun: Fix typo
moonlight83340 Feb 3, 2025
7d779ef
Use struct initializer
troelsjessen Feb 17, 2025
a5cdf8f
doc: conf.py: Add find_libclang method
IlievIliya92 Feb 7, 2025
6fa9d43
doc: Dockerfile: Use ubuntu-latest
IlievIliya92 Feb 7, 2025
0d2b743
workflows: develop-build-sphinx-docs: Change version to ubuntu-latest
IlievIliya92 Feb 7, 2025
6b6e2dd
reset rtable_inptr in csp_rtable_free() to avoid segfaults
clorch Feb 12, 2025
acefc85
Zephyr: Use C linkage for C++ builds
surligas Feb 13, 2025
e6555c5
experimental cygwin port
d-a-v Jan 9, 2025
352dd73
interfaces: kiss: Prevent possible NULL dereference
moonlight83340 Apr 18, 2025
a0cfa71
github: workflows: Remove Ubuntu 20.04 from workflows
moonlight83340 Apr 8, 2025
be6fd9e
buffer: Ensure buffer allocation respects reserve limit
moonlight83340 Mar 26, 2025
5883840
buffer: Replace hardcoded reserve value by a define value
moonlight83340 May 24, 2025
56b2e83
drivers: eth_linux: Use C linkage for C++ builds
moonlight83340 Mar 7, 2025
7dfe8b0
interfaces: csp_if_eth: Use C linkage for C++ builds
moonlight83340 Mar 7, 2025
e006b05
interfaces: csp_eth_pbuf: Use C linkage for C++ builds
moonlight83340 Mar 7, 2025
18191d2
github: workflow: build-test-zephyr: Add Python 3.13
moonlight83340 Apr 3, 2025
f69821f
python: bindings: Add missing CSP_ERR_NOSYS constant
moonlight83340 Apr 21, 2025
b2f81f9
doc: Improve debug API documentation
moonlight83340 Apr 11, 2025
5809f7c
doc: Add missing functions to documentation for csp_buffer
moonlight83340 Apr 10, 2025
6ae4c2b
doc: Clarify CMake build command usage
moonlight83340 Mar 21, 2025
9d9cd8d
doc: Add ETH driver to directory structure table
moonlight83340 Apr 11, 2025
c781a43
doc: Add Zephyr to architecture section in structure table
moonlight83340 Apr 11, 2025
b73e2f5
doc: Remove Windows from architecture section
moonlight83340 Apr 11, 2025
97e9534
doc: Remove transport and rtable directories from structure
moonlight83340 Apr 11, 2025
3c476ec
doc: Update structure table to missing directory
moonlight83340 Apr 11, 2025
7d28492
doc: Add sphinx gh-page extension to handle .nojekyll file
moonlight83340 Apr 9, 2025
8fa4496
doc: conf.py: Remove duplicate sticky_navigation
moonlight83340 Apr 9, 2025
188683f
doc: Add CAN Zephyr driver to documentation
moonlight83340 Mar 21, 2025
7f3fbb7
github: workflow: python: Add Python 3.13
moonlight83340 Apr 3, 2025
12c1039
build: warn about unused parameters
6arms1leg Mar 7, 2025
bf904f5
build: fix unused parameters
6arms1leg Mar 8, 2025
af65f26
buffer: Add warning about csp_buffer_get_always()
yashi Jul 19, 2025
a864978
drivers: usart_zephyr: Fix potential heap overflow
moonlight83340 May 22, 2025
dd1ad4d
drivers: eth: Fix potential heap overflow
moonlight83340 May 22, 2025
efdde2a
csp_if_udp: Fix typo
moonlight83340 Mar 7, 2025
728e41a
csp_rdp: Fix typo
moonlight83340 Mar 7, 2025
6ee8d63
csp_yaml: Fix typo
moonlight83340 Mar 7, 2025
105cd91
csp_services: Fix typo
moonlight83340 Mar 7, 2025
9edfd1d
csp_route: Fix typo
moonlight83340 Mar 7, 2025
0224fcd
arch: zephyr: csp_clock: Fix typo
moonlight83340 Mar 7, 2025
8a6e79c
csp_conn: Fix typo
moonlight83340 Mar 7, 2025
d7cd8a1
csp_buffer: Fix typo
moonlight83340 Mar 7, 2025
4525307
csp_iflist: Fix typo
moonlight83340 Mar 7, 2025
2ea1df3
csp_qfifo: Fix typo
moonlight83340 Mar 7, 2025
a946782
drivers: can: can_zephyr: Fix typo
moonlight83340 Mar 7, 2025
ff0d703
drivers: eth: eth_linux: Fix typo
moonlight83340 Mar 7, 2025
5077a17
csp_io: Fix typo
moonlight83340 Mar 7, 2025
0aa6aa3
utils: cspsplit: Fix typo
moonlight83340 Mar 7, 2025
575b0c2
examples: csp_server: Fix typo
moonlight83340 Mar 7, 2025
2220046
examples: csp_server_client: Fix typo
moonlight83340 Mar 7, 2025
1c6f109
examples: iflist: Fix typo
moonlight83340 Mar 7, 2025
4dde8b8
include: csp: Fix typo
moonlight83340 Mar 7, 2025
9e004d1
include: csp_cmp: Fix typo
moonlight83340 Mar 7, 2025
dfb7cda
include: csp_debug: Fix typo
moonlight83340 Mar 7, 2025
03a398a
interfaces: csp_if_udp: Fix typo
moonlight83340 Mar 7, 2025
80dec90
interfaces: zmq: Fix typo
moonlight83340 Mar 7, 2025
706e7c1
interfaces: kiss: Fix typo
moonlight83340 Mar 7, 2025
3fe3c86
interfaces: csp_if_eth: Fix typo
moonlight83340 Mar 7, 2025
23c409a
interfaces: can: Fix typo
moonlight83340 Mar 7, 2025
093a4e6
interfaces: csp_if_eth_pbuf: Fix typo
moonlight83340 Mar 7, 2025
7f6eac5
drivers: usart: Fix typo
moonlight83340 Mar 7, 2025
73c3e6a
include: csp_types: Fix typo
moonlight83340 Mar 7, 2025
cdf1093
include: csp_sfp: Fix typo
moonlight83340 Mar 7, 2025
8943ef2
contrib: zephyr: Kconfig: Fix typo
moonlight83340 Mar 7, 2025
c7319f8
doc: basic: Fix typo
moonlight83340 Mar 7, 2025
5ca9049
contrib: macosx: pthread_queue: Fix typo
moonlight83340 Mar 7, 2025
88bb6de
doc: git-commit: Fix typo
moonlight83340 Mar 7, 2025
eb51d97
doc: memory: Fix typo
moonlight83340 Mar 7, 2025
e935fce
doc: outflow: Fix typo
moonlight83340 Mar 7, 2025
7fc6684
doc: tunnel: Fix typo
moonlight83340 Mar 7, 2025
83be973
include: csp_yaml: Fix typo
moonlight83340 Mar 7, 2025
b3d3606
contrib: zephyr: samples: server-client: Fix typo
moonlight83340 Mar 7, 2025
7d5df8d
interfaces: csp_if_tun: Fix typo
moonlight83340 Mar 7, 2025
6bcb903
arch: posix: pthread_queue: Fix typo
moonlight83340 Mar 7, 2025
54902b7
licence: Fix typo
moonlight83340 Mar 7, 2025
c3b82ae
authors: Fix typo
moonlight83340 Mar 7, 2025
bebd052
changelog: Fix typo
moonlight83340 Mar 7, 2025
0535533
example: python: client: Fix typo
moonlight83340 Mar 10, 2025
c4777b4
contrib: windows: uart_windows: Fix typo
moonlight83340 Mar 10, 2025
886a93e
contrib: drivers: can: Fix typo
moonlight83340 Mar 10, 2025
d1f913b
Fixed compilation in release mode
troelsjessen Feb 12, 2025
8252c70
build: make static/shared lib. build optional
6arms1leg Mar 9, 2025
133fe30
posix: fix cleanup after partial queue creation
6arms1leg Mar 9, 2025
bb2b82f
interfaces: csp_if_tun: replace csp_buffer_get_always()
moonlight83340 Jul 20, 2025
997d3c9
contrib: zephyr: avoid csp_buffer_get_always()
moonlight83340 Jan 31, 2025
e981c78
build: warn about and fix missing prototypes
6arms1leg Mar 5, 2025
3e13fcd
Fix compiler warnings
6arms1leg Jul 20, 2025
b54956d
workflow: codespell: Add codespell github workflow
moonlight83340 Mar 7, 2025
c7d598c
workflow: codespell: Add "re-use" to the ignore list
moonlight83340 Mar 10, 2025
fbb131c
samples: simple-send-usart: avoid csp_buffer_get_always()
moonlight83340 Jul 20, 2025
564e9d8
samples: simple-send-can: avoid csp_buffer_get_always()
moonlight83340 Jul 20, 2025
e9deea0
samples: hmac: avoid csp_buffer_get_always()
moonlight83340 Jul 20, 2025
678f6f8
csp: Remove remaining references to csp_free_resources
moonlight83340 May 27, 2025
3b1a7ac
csp_buffer: Fix pointers in csp_buffer_clone
moonlight83340 Apr 13, 2025
859b7af
unittests: Add test to verify frame_begin cloning behavior
moonlight83340 Apr 13, 2025
1e82efd
csp_iflist: Remove unnecessary 'continue' statement
moonlight83340 Apr 1, 2025
3747c67
drivers: can: can_socketcan: Fix memory leak
moonlight83340 Mar 21, 2025
dcb0907
drivers: can: can_socketcan: Clean up interface if pthread_create fails
moonlight83340 Mar 21, 2025
82933a2
interfaces: zmq: Destroy thread attributes after pthread_create
moonlight83340 Apr 1, 2025
7d7ced8
arch: posix: refactor pthread_queue_create error handling
yashi Jul 21, 2025
d1c414d
github: workflow: limit permissions to least required
moonlight83340 Apr 4, 2025
2f98eeb
hotfix: restore write access for documentation generation
yashi Jul 23, 2025
6123540
drivers: can_zephyr: Replace CAN_MAX_DLC by CAN_MAX_DLEN
moonlight83340 Apr 17, 2025
6cb73e2
drivers: can_zephyr: Drop CAN frames with invalid size
moonlight83340 Apr 17, 2025
b9582fd
csp_types: Ensure csp_id_t structure is properly packed
moonlight83340 Apr 3, 2025
9e70aae
sample: udp: Add simple send udp
moonlight83340 Feb 6, 2025
8e13b96
example: csp_server: Add UDP interface support to CSP example
moonlight83340 Mar 4, 2025
7747cd6
example: csp_client: Add UDP interface support to CSP example
moonlight83340 Mar 4, 2025
1b52d3f
github: workflow: Add UDP interface testing
moonlight83340 Mar 4, 2025
9e88fc9
interfaces: udp: Fix socket protocol for UDP socket creation
moonlight83340 Feb 7, 2025
6d7bba4
csp_id: Add helper function to get CSP header size
moonlight83340 May 23, 2025
ec07f79
interfaces: csp_if_eth: Fix incorrect frame length check
moonlight83340 May 23, 2025
f0f3c17
examples: python: Fix typo
moonlight83340 Jan 23, 2025
912c666
examples: python: Remove unused import
moonlight83340 Jan 24, 2025
c0d1dd7
pycsp: Fix route_start_task() arguments
moonlight83340 Jan 26, 2025
cbeeb41
examples: python: Remove outdated comment
moonlight83340 Jul 23, 2025
9ce8eb8
samples: Add sample code for sending via zmqhub
moonlight83340 Nov 27, 2024
7929c88
examples: csp_server_client: replace csp_buffer_get_always
moonlight83340 Jul 24, 2025
57adec5
doc: Dockerfile: Remove false comment
IlievIliya92 Jul 31, 2025
c1aa74e
doc: Improve documentation for csp_crc32
moonlight83340 Apr 14, 2025
b9140c0
csp_id: remove unnecessary parentheses
moonlight83340 Jul 24, 2025
f31a8c2
csp_route: remove unnecessary parentheses
moonlight83340 Jul 24, 2025
5eb61a0
csp_io: remove unnecessary parentheses
moonlight83340 Jul 24, 2025
f595931
csp_rdp: remove unnecessary parentheses
moonlight83340 Jul 24, 2025
4daf9f4
csp_rtable_stdio: remove unnecessary parentheses
moonlight83340 Jul 24, 2025
0531750
interfaces: csp_if_eth: remove unnecessary parentheses
moonlight83340 Jul 24, 2025
32be594
doc: Add documentation to csp_id
moonlight83340 Apr 14, 2025
c96137d
doc: update CSP hooks RST to include undocumented functions
moonlight83340 Apr 11, 2025
200c918
csp_hook: add documentation for CSP hook functions
moonlight83340 Apr 11, 2025
334b1ee
build(deps): bump actions/checkout from 4 to 5
dependabot[bot] Aug 12, 2025
948334a
build(deps): bump actions/setup-python from 5 to 6
dependabot[bot] Sep 4, 2025
23d2a99
Make csp_buffer_get_always() internal
yashi Jul 24, 2025
516ee7e
wrong text in LOG_ERR message in usart_zephyr drivers
JoseMorenoJ Sep 24, 2025
e9a37c6
Fix typo
inad9300 Oct 1, 2025
f8c366e
zephyr: Conditionally include <time.h> for POSIX time functions
yashi Oct 3, 2025
48f7fb0
CHANGELOG: Update entries for v2.1 release
yashi Oct 3, 2025
afc1661
CHANGELOG: Update release date
yashi Oct 11, 2025
0813f5c
Bump version to v2.2
yashi Oct 11, 2025
4ca6a1d
github: workflow: Add Python 3.14
moonlight83340 Oct 16, 2025
6d167a6
contrib: zephyr: Fix Kconfig warnings related to POSIX_TIMERS
moonlight83340 Oct 16, 2025
9adf571
csp_sfp: Remove malloc usage
dimitrovand Oct 24, 2025
6d5f9a1
examples: Add SFP protocol test
dimitrovand Oct 24, 2025
7521878
samples: posix: Add SFP protocol sample
dimitrovand Oct 24, 2025
9e17e0a
csp_sfp: Update csp_sfp_recv_fp docs
dimitrovand Oct 24, 2025
192ff0c
CHANGELOG: Update to add results of sfp rework
yashi Oct 25, 2025
0c37a17
github: workflows: build-test: Remove trailing white spaces
yashi Oct 26, 2025
65bc556
contrib: zephyr: Re-enable POSIX_MONOTONIC_CLOCK
moonlight83340 Oct 21, 2025
e7cb78f
examples: csp_sfp_server_client: Remove trailing white spaces
yashi Oct 27, 2025
469c609
examples: csp_sfp_server_client: Fix typo
yashi Oct 27, 2025
f02d28e
build(deps): bump actions/upload-artifact from 4 to 5
dependabot[bot] Oct 27, 2025
c425172
contrib: zephyr: samples: Fix build errors in Zephyr CSP example
moonlight83340 Oct 15, 2025
e0544c9
contrib: zephyr: samples: Separate UART and CAN addresses
moonlight83340 Oct 23, 2025
9f40f26
doc: Include samples/*/README.md
moonlight83340 Jul 25, 2025
a0c8990
samples: posix: Clarify README title for simple-sfp-send-recv
moonlight83340 Nov 10, 2025
f24e19d
csp_rdp: Remove redundant cast
moonlight83340 Jul 24, 2025
cad87ef
zephyr: Replace symbolic link to zephyr module
stadlero Nov 4, 2025
a02cb1c
build(deps): bump actions/checkout from 5 to 6
dependabot[bot] Nov 21, 2025
b4d2d1c
examples: csp_server: Fix `csp_read` timeout value in comment
wookhyunshin Dec 2, 2025
e034293
pycsp: Add conditional compile flag for SocketCAN support
olmanqj Nov 7, 2025
8e1a424
interfaces: csp_if_kiss: Make KISS CRC optional
moonlight83340 Nov 11, 2025
306bdae
CHANGELOG: Document optional CRC support for KISS interface
moonlight83340 Dec 14, 2025
2626f38
csp_io: csp_accept: Reject connection-less sockets
moonlight83340 Feb 7, 2025
b4eac6c
CHANGELOG: Document csp_accept() rejection of connection-less sockets
moonlight83340 Dec 14, 2025
1edf764
build(deps): bump actions/upload-artifact from 5 to 6
dependabot[bot] Dec 15, 2025
5db8d65
github: workflow: Check PRs for merge commits
yashi Dec 20, 2025
e7ff407
Allow setting mask and is_default itf attributes from Python bindings
jeanbaptistelab Dec 16, 2025
7e8efa5
meson: Bump minimum required version to 0.61.2
yashi Dec 22, 2025
90711fb
github: workflows: build: Enable cancel-in-progress
yashi Dec 22, 2025
a0ee6ac
github: workflows: build-test-python: Remove Python 3.9
yashi Dec 22, 2025
08371df
meson: remove redundant install_headers() for autoconfig.h
yashi Dec 22, 2025
f1cbb00
csp_buffer: Export CSP_BUFFER_RESERVED_COUNT
yashi Dec 19, 2025
bfec45a
CHANGELOG: Update with recent changes
yashi Dec 22, 2025
ac8d965
meson: Enable installation of libcsp.so
yashi Dec 22, 2025
fb900f7
meson: Avoid using '.' as install_dir in install_subdir()
yashi Dec 22, 2025
7f3da29
meson: Exclude include/csp/meson.build from installation
yashi Dec 22, 2025
7dc01ca
github: workflows: build-test-zephyr: Rename board to match upstream
yashi Jan 29, 2026
8e1508b
drivers: eth: eth_linux: Include endian.h for byte order functions
yashi Jan 29, 2026
1e3c424
service: peek/poke v2 with 64 bit memory support
Lykkeberg Aug 7, 2024
5858a84
cmp: correct poke/peek length check for v2
edvardxyz Oct 8, 2024
ddc6bbe
Allow CAN broadcast reception when not configuring interface to promisc
troelsjessen Apr 8, 2025
92dc058
Allow CAN broadcast reception when not configuring interface to promi…
troelsjessen Feb 14, 2026
6c3b18c
Fix CSP v1 over CAN
troelsjessen May 13, 2025
192568a
check timeout even if userspace
edvardxyz Jun 2, 2025
5f8f0d0
Fix off-by-one in `csp_rtable_set()`
kivkiv12345 Jul 31, 2025
0ca43de
Fix `sec_key` valgrind warning in `csp_zmqhub_init_filter2()`
kivkiv12345 Aug 9, 2025
f3e6a07
Use `CSP_IFLIST_NAME_MAX` for iface name len in `csp_rtable_parse()`
kivkiv12345 Aug 10, 2025
0d6f034
Post init promisc config (#30)
kivkiv12345 Aug 13, 2025
97d806e
Improve some comments for `csp_zmqhub_<add/remove>_filters()`
kivkiv12345 Sep 8, 2025
7efb57b
Add function to get iface from broadcast node
troelsjessen Oct 18, 2025
26daa13
Support for CSP alias
troelsjessen Oct 23, 2025
3ec28e4
Add alias support to ZMQ
troelsjessen Nov 3, 2025
9163081
rdp: Reduce conn RX reserved queue size to 1 times the window.
johandc Jan 21, 2026
263af5a
Avoid function scope statics
johandc Jan 29, 2026
3c5b3bd
do not build csp_posix_helper as default
johandc Feb 13, 2026
89b6fb4
use proper stdint or inttypes header where needed
johandc Feb 13, 2026
2e25917
alias: make csp_alias_iterate static
johandc Feb 13, 2026
e9bfa6c
fix static scope new functions
johandc Feb 13, 2026
3215e5c
re-add packet->timestamp_rx
johandc Feb 13, 2026
dfbcd0f
rdp: Fixed signed compare
johandc Feb 13, 2026
a5f3324
inttypes.h fix
johandc Feb 13, 2026
583c9eb
proper inclusion of string.h
johandc Feb 16, 2026
bf5eae0
updated string.h in sampels dir
johandc Feb 16, 2026
cd6daa2
Remove packet copy when transmitting CSP packets (#942)
johandc Feb 17, 2026
b74a81a
Remove packet copy when transmitting CSP packets
troelsjessen Jan 15, 2026
a03ac28
inlined helper function
johandc Feb 16, 2026
8f9302e
zmqhub: make iflist iterator public, return err in zmq funcs
edvardxyz Feb 17, 2026
0f79fdc
meson option: change default to not zero csp packets
edvardxyz Feb 17, 2026
aceef30
csp_buffer: memcpy only what is used in the packet
edvardxyz Feb 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .codespell-ignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
re-use
8 changes: 5 additions & 3 deletions .github/workflows/abi-checker.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
name: ABI Compliance Check
on: [pull_request]
permissions:
contents: read
jobs:
abi-check:
strategy:
Expand All @@ -20,7 +22,7 @@ jobs:
sudo apt-get install abi-compliance-checker abi-dumper

- name: Checkout merged-base
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
ref: ${{ github.event.pull_request.base.ref }}

Expand All @@ -30,7 +32,7 @@ jobs:
abi-dumper build/libcsp.so -lver "merged-base" -o ../tmp/libcsp-merged-base.dump

- name: Checkout Current PR
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
fetch-depth: 0
ref: ${{github.event.pull_request.head.ref}}
Expand All @@ -51,7 +53,7 @@ jobs:

- name: Upload ABI Report
if: always()
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: abi-compliance-report-${{ github.run_id }}
path: compat_reports
Expand Down
11 changes: 8 additions & 3 deletions .github/workflows/build-test-freertos.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
name: FreeRTOS Build and Test
on: [push, pull_request]
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
build-freertos:
runs-on: ubuntu-latest
Expand All @@ -12,18 +17,18 @@ jobs:
sudo apt-get install ninja-build meson tree

- name: Checkout Test App
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
repository: libcsp/libcsp-freertos

- name: Checkout FreeRTOS Kernel
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
repository: FreeRTOS/FreeRTOS-Kernel
path: freertos

- name: Checkout libcsp under subprojects
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
path: subprojects/libcsp

Expand Down
15 changes: 10 additions & 5 deletions .github/workflows/build-test-python.yml
Original file line number Diff line number Diff line change
@@ -1,26 +1,31 @@
name: Python Bindings
on: [push, pull_request]
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
build-test-python:
strategy:
fail-fast: false
matrix:
python-version:
- '3.9'
- '3.10'
- '3.11'
- '3.12'
- '3.13'
- '3.14'
os:
- ubuntu-24.04
- ubuntu-22.04
- ubuntu-20.04
buildsystem:
- meson
- cmake
runs-on: ${{ matrix.os }}
steps:
- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}

Expand All @@ -34,7 +39,7 @@ jobs:
sudo apt-get install ninja-build ${{ matrix.buildsystem }}

- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Build libcsp examples
run: python3 examples/buildall.py --build-system=${{ matrix.buildsystem }}
Expand All @@ -46,7 +51,7 @@ jobs:

- name: Install the latest Meson using Pip if Python is 3.12 or later
# Meson 1.3+ supports Python 3.12 (distutils removed)
if: ${{ matrix.buildsystem == 'meson' && matrix.python-version == '3.12' }}
if: ${{ matrix.buildsystem == 'meson' && matrix.python-version >= '3.12' }}
run: |
pip install meson
meson --version
Expand Down
16 changes: 11 additions & 5 deletions .github/workflows/build-test-zephyr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,30 @@ on:
schedule:
- cron: '0 10 * * 0' # Run it every Sunday 10am UTC

permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
build-zephyr:
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
board:
- scobc_module1
- scobc_a1
- qemu_cortex_m3
- mps2_an385
- mps2/an385
python-version:
- '3.9'
- '3.10'
- '3.11'
- '3.12'
- '3.13'

steps:
- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}

Expand All @@ -31,7 +37,7 @@ jobs:
python3 --version

- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
path: libcsp-zephyr
repository: yashi/libcsp-zephyr
Expand Down
92 changes: 69 additions & 23 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
name: Build and Test
on: [push, pull_request]
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
run-tests:
strategy:
Expand All @@ -8,16 +13,42 @@ jobs:
os:
- ubuntu-24.04
- ubuntu-22.04
- ubuntu-20.04
buildsystem:
- meson
- cmake
- waf
compiler:
- CC: gcc
CXX: g++
- CC: gcc-10
CXX: g++-10
- CC: gcc-11
CXX: g++-11
- CC: gcc-12
CXX: g++-12
- CC: gcc-13
CXX: g++-13
- CC: gcc-14
CXX: g++-14
- CC: clang
CXX: clang++
csp_version:
- 1
- 2
exclude:
# Ubuntu 22.04 only has GCC 10, 11, 12
- os: ubuntu-22.04
compiler:
CC: gcc-13
- os: ubuntu-22.04
compiler:
CC: gcc-14
# Ubuntu 24.04 only has GCC 12, 13, 14
- os: ubuntu-24.04
compiler:
CC: gcc-10
- os: ubuntu-24.04
compiler:
CC: gcc-11

runs-on: ${{ matrix.os }}
steps:
- name: Setup packages on Linux
Expand All @@ -32,15 +63,8 @@ jobs:
run: |
sudo apt-get install ninja-build ${{ matrix.buildsystem }}

- name: Setup packages on MacOS
if: ${{ runner.os == 'macOS' && matrix.buildsystem != 'waf' }}
run: |
brew update
brew install ninja ${{ matrix.buildsystem }}
brew install zeromq

- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Build
env:
Expand All @@ -57,30 +81,30 @@ jobs:
run: |
socat -d -d -d pty,raw,echo=0,link=/tmp/pty1 pty,raw,echo=0,link=/tmp/pty2 &
sleep 1
./build/examples/csp_server -k /tmp/pty1 -a 1 -T 10 &
./build/examples/csp_client -k /tmp/pty2 -a 2 -C 1 -t
./build/examples/csp_server -k /tmp/pty1 -a 1 -T 10 -v ${{ matrix.csp_version }} &
./build/examples/csp_client -k /tmp/pty2 -a 2 -C 1 -t -v ${{ matrix.csp_version }}
pkill socat

- name: Run KISS Server Test
run: |
socat -d -d -d pty,raw,echo=0,link=/tmp/pty1 pty,raw,echo=0,link=/tmp/pty2 &
sleep 1
./build/examples/csp_client -k /tmp/pty2 -a 2 -C 1 -T 10 &
./build/examples/csp_server -k /tmp/pty1 -a 1 -t
./build/examples/csp_client -k /tmp/pty2 -a 2 -C 1 -T 10 -v ${{ matrix.csp_version }} &
./build/examples/csp_server -k /tmp/pty1 -a 1 -t -v ${{ matrix.csp_version }}
pkill socat

- name: Run ZMQ Client Test
run: |
./build/examples/zmqproxy &
./build/examples/csp_server -z localhost -a 1 -T 10 &
./build/examples/csp_client -z localhost -a 2 -C 1 -t
./build/examples/csp_server -z localhost -a 1 -T 10 -v ${{ matrix.csp_version }} &
./build/examples/csp_client -z localhost -a 2 -C 1 -t -v ${{ matrix.csp_version }}
pkill zmqproxy

- name: Run ZMQ Server Test
run: |
./build/examples/zmqproxy &
./build/examples/csp_client -z localhost -a 2 -C 1 -T 10 &
./build/examples/csp_server -z localhost -a 1 -t
./build/examples/csp_client -z localhost -a 2 -C 1 -T 10 -v ${{ matrix.csp_version }} &
./build/examples/csp_server -z localhost -a 1 -t -v ${{ matrix.csp_version }}
pkill zmqproxy

- name: Setup vcan0
Expand All @@ -96,10 +120,32 @@ jobs:

- name: Run CAN Server Test
run: |
./build/examples/csp_server -c vcan0 -a 1 -T 10 &
./build/examples/csp_client -c vcan0 -a 2 -C 1 -t
./build/examples/csp_server -c vcan0 -a 1 -T 10 -v ${{ matrix.csp_version }} &
./build/examples/csp_client -c vcan0 -a 2 -C 1 -t -v ${{ matrix.csp_version }}

- name: Run CAN Client Test
run: |
./build/examples/csp_client -c vcan0 -a 2 -C 1 -T 10 &
./build/examples/csp_server -c vcan0 -a 1 -t
./build/examples/csp_client -c vcan0 -a 2 -C 1 -T 10 -v ${{ matrix.csp_version }} &
./build/examples/csp_server -c vcan0 -a 1 -t -v ${{ matrix.csp_version }}

- name: Run UDP Server Test
run: |
./build/examples/csp_server -u "127.0.0.1" -a 1 -T 10 -v ${{ matrix.csp_version }} &
./build/examples/csp_client -u "127.0.0.1" -a 2 -C 1 -T 10 -v ${{ matrix.csp_version }}
wait "$!"

- name: Run UDP Client Test
run: |
./build/examples/csp_client -u "127.0.0.1" -a 2 -C 1 -T 10 -v ${{ matrix.csp_version }} &
./build/examples/csp_server -u "127.0.0.1" -a 1 -T 10 -v ${{ matrix.csp_version }}

- name: Run SFP Test
run: |
./build/examples/csp_sfp_server_client --mtu 1 --size 1
./build/examples/csp_sfp_server_client --mtu 1 --size 128
./build/examples/csp_sfp_server_client --mtu 128 --size 1
./build/examples/csp_sfp_server_client --mtu 128 --size 10
./build/examples/csp_sfp_server_client --mtu 128 --size 100
./build/examples/csp_sfp_server_client --mtu 128 --size 1000
./build/examples/csp_sfp_server_client --mtu 128 --size 10000
./build/examples/csp_sfp_server_client --mtu 128 --size 100000
32 changes: 32 additions & 0 deletions .github/workflows/check-merge-commits.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Merge Commits Check

on:
pull_request:

permissions:
contents: read

jobs:
check_merge_commits:
runs-on: ubuntu-latest
steps:

- name: Checkout PR head
uses: actions/checkout@v6
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0

- name: Print commits for debugging
run: git log --graph --oneline -n 50

- name: Check for merge commits
env:
BASE_SHA: ${{ github.event.pull_request.base.sha }}
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
run: |
merges=$(git rev-list --merges --count "${BASE_SHA}..${HEAD_SHA}")
if [ "$merges" != "0" ]; then
echo "::error ::Merge commits not allowed; please rebase."
exit 1
fi
22 changes: 22 additions & 0 deletions .github/workflows/codespell.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Codespell Check

on:
pull_request:
push:
permissions:
contents: read

jobs:
spellcheck:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v6

- name: Install codespell
run: pip install codespell

- name: Run codespell
run: |
codespell --skip="waf" --ignore-words=.codespell-ignore --quiet-level=2
8 changes: 7 additions & 1 deletion .github/workflows/develop-build-sphinx-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,19 @@ on:
push:
branches:
- develop
permissions:
contents: read
jobs:
build-docs:
if: github.repository_owner == 'libcsp'
runs-on: ubuntu-latest

permissions:
contents: write

steps:
- name: Checkout the repository
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Setup packages on Linux
if: ${{ runner.os == 'Linux' }}
Expand Down
Loading