Skip to content
/ jeep Public

CAN bus parsing for Jeep JL (including 4xE)

Notifications You must be signed in to change notification settings

mdegans/jeep

Repository files navigation

jeep CAN bus parsing for Jeep JL and 4xE

jeep is an easy-to-use event handling library for your Jeep. It is designed with safety in mind and is currently read-only for the Jeep's IHS network. There is also no C network support, since even connecting to it poses some risk.

Use at your own risk. There is no warranty. Don't do dumb or illegal stuff with this library. This library is currently a WIP and the API is not yet stable. This project is not affiliated with Jeep or Stellantis.

Requirements

  • Rust toolchain.
  • For development, the rust-analyzer extension for vscode is recommended.

This library is tested to work in WSL-2 along with Raspberry Pi.

Building

To build the library alone, for development, from this directory, run:

$ cargo build

To install all examples, from this directory, run:

$ cargo install --examples --features examples --path .

To view documentation in a browser offline, run:

cargo doc --all-features --open

Examples

The examples folder contains several examples, such as:

  • jeep-alarm that runs a custom command when any doors are opened (such as a silent alarm).
  • jeep-listen that listens to the can bus and parses events in realtime.
  • jeep-converter to parse events from a candump -L style dump into json lines.

Development Notes:

  • This library is an in alpha state and assuredly has errors.
  • See TODO.md for future plans.

(Optional) Features

  • serde - enables serialization of events, frames, and errors.
  • examples - required features for example binaries.
  • embedded-can - enables the embedded_can::Frame trait for our jeep::Frame.
  • socketcan - enables conversion to/from socketcan::CANFrame and the jeep::Listener.

Credits