j2534 0.3.1

PassThru (SAE J2534) bindings.
Documentation
J2534
=====
Low-level SAE J2534 (PassThru) support for rust.

## J2534 Introduction

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 layer required for accessing vehicle diagnostics services as
well as downloading and reflashing control modules.

## Usage

The J2534 specification requires PassThru libraries to be compiled for 32 bit, so any program using this crate must be compiled as 32 bit.

### Example

```rust
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(())
}
```