THIS PROJECT IS NO LONGER MAINTAINED.
Additionally, it is not in a working condition.
I have decided to not further develop this library as it works very similar to the original Freematics library listed under "About".
Feel free to check out my fork of the Freematics library, which supports adding additional INIT commands, here: https://github.com/fust/ArduinoOBD.
A word of warning
This library is a Work-In-Progress. Use at your own risk.
About this library
This library is largely inspired by https://github.com/stanleyhuangyc/ArduinoOBD
It expands on a couple of the original library's functions but adds an API that enables modification of some of the initialization processes. It also offers a slightly different begin() API to support both HardwareSerial and SoftwareSerial for both the ELM327 communication port and the debug communication port.
This library requires the LinkedList library by Ivan Seidel (can be installed from the Arduino IDE)