iso14229 0.9.0
ISO14229-1 (UDS) C Library
|
iso14229 is a UDS (ISO14229) library for writing servers and clients.
Source Code: https://github.com/driftregion/iso14229
iso14229.c
and iso14229.h
from the releases page and add them to your project.To access the examples, clone or download the repository from https://github.com/driftregion/iso14229
Example | Description |
---|---|
linux_server | Basic Linux server using socketcan ISO-TP |
linux_rdbi_wdbi | Read/Write Data By Identifier (0x22/0x2E) |
linux_server_0x27 | Security Access (0x27) |
arduino_server | Arduino server |
esp32_server | ESP32 server |
s32k144_server | NXP S32K144 server |
Configure the library at compilation time with preprocessor defines:
Transport | Define | Description | Suitable For Targets | Example Implementations |
---|---|---|---|---|
isotp_sock | -DUDS_TP_ISOTP_SOCK | Linux kernel ISO-TP socket | Linux newer than 5.10 | linux_server_0x27 |
isotp_c_socketcan | -DUDS_TP_ISOTP_C_SOCKETCAN | isotp-c over SocketCAN | Linux newer than 2.6.25 | linux_server_0x27 |
isotp_c | -DUDS_TP_ISOTP_C | Software ISO-TP | Everything else | arduino_server esp32_server s32k144_server |
isotp_mock | -DUDS_TP_ISOTP_MOCK | In-memory transport for testing | platform-independent unit tests | see unit tests |
The system is usually detected by default, but can be overridden with the following options:
Define | Values |
---|---|
-DUDS_SYS= | UDS_SYS_UNIX , UDS_SYS_WINDOWS , UDS_SYS_ARDUINO , UDS_SYS_ESP32 , UDS_SYS_CUSTOM |
For examples of UDS_SYS_CUSTOM
, see arduino_server, esp32_server, s32k144_server.
Logging is disabled by default. However, it is very helpful to identify problems during initial server/client bringup.
Define | Values |
---|---|
-DUDS_LOG_LEVEL= | UDS_LOG_NONE , UDS_LOG_ERROR , UDS_LOG_WARN , UDS_LOG_INFO , UDS_LOG_DEBUG , UDS_LOG_VERBOSE |
-DUDS_SERVER_...
- Server configuration options (see Configuration)-DUDS_CLIENT_...
- Client configuration options (see Configuration)