# Changelog
All notable changes to `esp_obd_ii` are documented here. The format follows
[Keep a Changelog](https://keepachangelog.com/) and the project uses
[Semantic Versioning](https://semver.org/).
## [0.1.0] - 2026-06-17
### Added
- Initial release.
- Shared decode layer: Mode 01 PID table, supported-PID bitmaps, Mode 03/07
DTC decoding, ISO-TP (ISO 15765-2) reassembly, ELM327 ASCII response parsing.
- Pluggable links behind a common interface:
- `elm327` link over a byte-stream transport (Bluetooth Classic SPP via
Bluedroid, or BLE GATT via NimBLE).
- `can` link: OBD-II over CAN (ISO 15765-4) via the on-chip TWAI controller.
- High-level facade `obd.h`: `obd_begin`, `obd_read_pid`, `obd_read_supported`,
`obd_read_dtcs`, `obd_query_raw`.
- Kconfig configuration (link/transport choice, BLE UUIDs, CAN pins/bitrate,
device name, timeouts).
- Host unit tests for the pure logic and an `obd_demo` example.
### Known limitations
- The BLE/SPP scan/connect/subscribe flow is API-correct and builds for all
targets, but has not yet been validated against physical adapters on hardware.
idf.py add-dependency "lahirunirmalx/esp_obd_ii^0.1.0"