7 releases

new 0.1.6 Oct 28, 2024
0.1.5 Oct 25, 2024
0.1.0 Sep 29, 2024
0.1.0-alpha0 Aug 30, 2024

#684 in Network programming

Download history 84/week @ 2024-08-24 186/week @ 2024-08-31 159/week @ 2024-09-07 64/week @ 2024-09-14 9/week @ 2024-09-21 165/week @ 2024-09-28 485/week @ 2024-10-05 88/week @ 2024-10-12 93/week @ 2024-10-19 184/week @ 2024-10-26

856 downloads per month
Used in zlgcan

GPL-3.0 license

370KB
9K SLoC

A UDS PROTOCOL for ECU

Latest version Documentation LGPL MIT

Overview

ecu-uds is dedicated to implementing ISO 14229. ISO-TP (ISO 15765) is a UDS protocol used in automotive communication.

Prerequisites

  • Rust 1.70 or higher
  • Cargo (included with Rust)

Adding to Your Project

To use ecu-uds in your Rust project, add it as a dependency in your Cargo.toml:

[dependencies]
ecu-uds = { version="lastest-version" }

supported service

  • note:
    • the service marked with is completed.
    • the service marked with is partially completed.
    • The service marked with is not implemented.
  • SessionCtrl = 0x10, // ✅
  • ECUReset = 0x11, // ✅
  • ClearDiagnosticInfo = 0x14, // ✅
  • ReadDTCInfo = 0x19, // ⭕
  • ReadDID = 0x22, // ✅
  • ReadMemByAddr = 0x23, // ✅
  • ReadScalingDID = 0x24, // ✅
  • SecurityAccess = 0x27, // ✅
  • CommunicationCtrl = 0x28, // ✅
  • Authentication = 0x29, // ✅
  • ReadDataByPeriodId = 0x2A, // ✅
  • DynamicalDefineDID = 0x2C, // ✅
  • WriteDID = 0x2E, // ✅
  • IOCtrl = 0x2F, // ✅
  • RoutineCtrl = 0x31, // ✅
  • RequestDownload = 0x34, // ✅
  • RequestUpload = 0x35, // ✅
  • TransferData = 0x36, // ✅
  • RequestTransferExit = 0x37, // ✅
  • RequestFileTransfer = 0x38, // ✅
  • WriteMemByAddr = 0x3D, // ✅
  • TesterPresent = 0x3E, // ✅
  • AccessTimingParam = 0x83, // ✅
  • SecuredDataTrans = 0x84, // ✅
  • CtrlDTCSetting = 0x85, // ✅
  • ResponseOnEvent = 0x86, // ❌
  • LinkCtrl = 0x87, // ✅

Contributing

We're always looking for users who have thoughts on how to make ecu-uds better, or users with interesting use cases.

Of course, we're also happy to accept code contributions for outstanding feature requests!

Dependencies

~1–7MB
~53K SLoC