|
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)