[−][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 |
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 |
Error | |
FilterType | |
IoctlId | |
Protocol |
Constants
SHORT_TO_GROUND | |
VOLTAGE_OFF |
Functions
drivers | Returns a list of all installed PassThru drivers |