8000 GitHub - dscheerens/ikbus-core: Core abstractions for I/K-bus vehicle networks.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

dscheerens/ikbus-core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

I/K-bus core abstractions

This package contains the core abstractions for establishing communication links with I-bus and K-bus vehicle networks found in various car models (primarily BMW). The abstractions provided by this package include: packets, messages, parsers, module descriptors and vehicle network profiles. Furthermore a set of I/O interfaces and classes are provided for setting up a communication link to read and write I/K-bus packets using generic InputStream and OutputStream objects.

By itself this package only offers the foundation for building applications that process I/K-bus packets. To actually decode/parse packets and to obtain their semantics you need an additional package. Soon I will publish an ikbus-bmw package that provides an I/K-bus network profile for BMW E38, E39, E46, and E53 models. As soon as this package is published I will add a link to that repository.

In addition you may want your application to communicate with the I/K-bus network of your vehicle. For this you will need a physical interface like Rolf Resler's IBUS interface. This IBUS interface adds a serial/COM port to your computer, which can be used to read and write data to/from the I/K-bus network of your vehicle. The ikbus-jssc-connector package provides a SerialPortIKBusConnection class that can be used to read and write I/K-bus packets from a serial port.

Usage

NOTE: This package is currently not yet available on Maven. I will fix this a.s.a.p.

To use this package in your application add the following Maven dependency:

<dependency>
	<groupId>net.novazero.ikbus</groupId>
	<artifactId>ikbus-core</artifactId>
	<version>1.0.0</version>
</dependency>

API

Javadoc for this package can be found at the following location: https://dscheerens.github.io/docs/ikbus-core/latest/javadoc/

The most important classes and interfaces of the ikbus-core package are listed below:

Interface / Class Description
IKBusPacket Class that encapsulates I/K-bus packets.
IKBusMessage Interface for classes that implement the semantics of I/K-bus messages.
IKBusMessageParser Interface for classes that can parse I/K-bus messages from packets.
UnknownIKBusMessageCatcher A class that implements IKBusMessageParser and which is used to capture unrecognized I/K-bus packets and wrap those in UnknownIKBusMessage instances.
CompoundIKBusMessageParser A IKBusMessageParser implementation that iterates over a list of delegate parsers to parse I/K-bus messages.
IKBusProfile Interface for classes that define an I/K-bus network profile, by providing an IKBusMessageParser and an IKBusModuleDescriptionProvider.
IKBusConnection Interface to represent I/K-bus connections. Provides an IKBusPacketReader and an an IKBusPacketWriter.

Related packages

  • ikbus-jssc-connector - I/K-bus communication link for serial ports.
  • ikbus-bmw - Provides an I/K-bus network profile for several BMW car models. (coming soon)

Links

  • I-BUS Inside - Great introduction of the I-bus in the BMW E39.
  • BMW bus systems - Gives an overview of various bus systems used in BMW vehicles from 1991 to 2001.
  • IBUS interface - A place where you can buy an USB and RS232 interface to connect to the I/K-bus of your vehicle.
  • NavCoder - A Windows application to reprogram various BMW I-bus devices.

About

Core abstractions for I/K-bus vehicle networks.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0