[][src]Crate j2534

SAE J2534 PassThru defines a standard library interface for communicating with vehicle control modules. All automakers in the US are required to provide J2534-compatible service software. J2534 provides access to the communication layers required for accessing vehicle diagnostics services as well as downloading and reflashing control modules.

Example

use j2534::{Interface, PassThruMsg, Protocol, ConnectFlags, RxStatus, TxFlags};

fn main() -> j2534::Result<()> {
    // Open the library and connect to a device
    let interface = Interface::new("C:\\device.dll")?;
    let device = interface.open_any()?;

    // Create a CAN channel
    let channel = device
        .connect(Protocol::CAN, ConnectFlags::NONE, 500000)
        .unwrap();

    // Create a new message with an arbitration id of `8` and payload of `[0, 1, 2, 3]`.
    let message = PassThruMsg::new_can(8, &[0, 1, 2, 3]);
    channel.write(&mut [message], 1000)?;
    Ok(())
}

Structs

Channel

A communication channel

ConnectFlags

Flags used when creating a communication channel

Device

A device created with Interface::open

Driver

Information about an installed PassThru driver

FilterId

Message filter ID

Interface

A J2534 library

MessageId

Periodic message ID

PassThruMsg

A message sent a received from the device

RxStatus

Receive status flags

TxFlags

Transmit status flags

VersionInfo

Information about a device's version.

Enums

ConfigId

Channel configuration parameters. Use with Channel::get_config and Channel::set_config

Error
FilterType
IoctlId
Protocol

Constants

SHORT_TO_GROUND
VOLTAGE_OFF

Functions

drivers

Returns a list of all installed PassThru drivers