| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
can_uds is an RT-Thread-oriented ISO 14229-1 / UDS server-side integration repository focused on the ECU / server side. The repository currently provides:
The repository contents are centered on the RT-Thread server component, and this README has been rewritten to match the code that actually exists today.
Typical use cases include:
This is not just a bare protocol core. It is a practical RT-Thread UDS integration framework.
can_uds/
├── examples/
├── service/
├── docs/
│ ├── zh/
│ └── en/
├── iso14229.c
├── iso14229.h
├── iso14229_rtt.c
├── iso14229_rtt.h
├── rtt_uds_config.h
├── Kconfig
├── SConscript
├── README.md
├── README_en.md
└── package.json
| SID | Service | Implementation file | Notes |
|---|---|---|---|
| 0x10 | Diagnostic Session Control | service_0x10_session.c | default / extended / programming sessions |
| 0x11 | ECU Reset | service_0x11_reset.c | delayed reset after positive response |
| 0x22 | ReadDataByIdentifier | service_0x22_0x2E_param.c | parameter-read adapter |
| 0x27 | Security Access | service_0x27_security.c | Seed / Key unlock flow |
| 0x28 | Communication Control | service_0x28_comm.c | application RX/TX gating |
| 0x2A | ReadDataByPeriodicIdentifier | service_0x2A_periodic.c | provider registration and scheduling |
| 0x2E | WriteDataByIdentifier | service_0x22_0x2E_param.c | parameter-write adapter |
| 0x2F | InputOutputControlByIdentifier | service_0x2F_io.c | takeover / return-control handling |
| 0x31 | RoutineControl | service_0x31_console.c | remote-console routine |
| 0x34/0x36/0x37/0x38 | File-transfer related services | service_0x36_0x37_0x38_file.c | file I/O with CRC closure |
| 0x3E | TesterPresent | core | session keep-alive |
This repository mainly provides a UDS server (ECU-side) implementation.
If you need a corresponding diagnostic client (tester), refer to the Linux example below:
👉 https://github.com/wdfk-prog/iso14229/tree/rtt/examples/rtt_server/client_demo
This demo is based on Linux + SocketCAN / ISO-TP and can be used for:
Recommendation: use this client_demo during early bring-up and protocol validation.
#include "rtt_uds_service.h"
static rtt_uds_env_t *g_env;
RTT_UDS_SEC_SERVICE_DEFINE(security_service, 0x01, 0xA5A5A5A5);
RTT_UDS_IO_SERVICE_DEFINE(io_service);
RTT_UDS_FILE_SERVICE_DEFINE(file_service);
RTT_UDS_0X2A_SERVICE_DEFINE(periodic_service);
static int uds_app_init(void)
{
rtt_uds_config_t cfg = {0};
g_env = rtt_uds_create(&cfg);
if (g_env == RT_NULL)
{
return -RT_ERROR;
}
rtt_uds_sec_service_mount(g_env, &security_service);
rtt_uds_io_service_mount(g_env, &io_service);
rtt_uds_file_service_mount(g_env, &file_service);
rtt_uds_0x2a_service_mount(g_env, &periodic_service);
return RT_EOK;
}For a guided setup path, see docs/en/quick-start.md.
The complete API reference (HTML) is published through GitHub Pages:
➡️ https://wdfk-prog.space/can_uds/
See README_ZN.md for the Chinese entry, or go directly to docs/zh/.
| Back | FazBrowse Home | New Git URL |