Skip to content

SolidDesignNet/rp1210-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CAN Adapter API

J2534 is a work in progress, but RP1210 works.

Brokers packets from a queue to and from the attached RP1210 adapter. Includes:

  1. RP1210 calls
  2. RP1210 .INI file parsing
  3. Bus that supports multiple listeners
  4. packet that encapsulates the byte[]
  5. simulator for development on machines that don't support RP1210

Usage for command line J1939 logger

Usage: Usage: logger [OPTIONS] --adapter <ADAPTER> --device <DEVICE>

RP1210 Devices:
  PEAKRP32 PEAK-System PCAN Adapter
    --adapter PCAN-USB --device 1: PEAK-System CAN Adapter (USB, 1 Channel)

Options:
  -D, --adapter <ADAPTER>
          RP1210 Adapter Identifier
  -d, --device <DEVICE>
          RP1210 Device ID
  -C, --connection-string <CONNECTION_STRING>
          RP1210 Connection String [default: J1939:Baud=Auto]
  -a, --sa <SOURCE_ADDRESS>
          RP1210 Adapter Address (used for packets send and transport protocol) [default: F9]
  -v, --verbose

      --app-packetize

  -h, --help
          Print help

API

Example:

    // request VIN from ECM
    // start collecting packets
    let mut packets = rp1210.iter_for(Duration::from_secs(5));
    // send request for VIN
    rp1210.push(J1939Packet::new(1, 0x18EA00F9, &[0xEC, 0xFE, 0x00]));
    // filter for ECM result
    packets
        .find(|p| p.pgn() == 0xFEEC && p.source() == 0)
        // log the VINs
        .map(|p| {
            print!(
                "ECM {:02X} VIN: {}\n{}",
                p.source(),
                String::from_utf8(p.data.clone()).unwrap(),
                p
            )
        });

Applications

When combined with DBC or J1939DA parsing, this becomes a light weight CAN logger. See https://github.com/SolidDesignNet/j1939logger.

About

RP1210 library and bus.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages