OBD Releases
v1.0.0 - TBD
Section titled “v1.0.0 - TBD” Feature
Command-object pattern with generic return types (
IObdCommand<T>, ObdCommand<T>) for compile-time safe OBD communication Feature
9 standard OBD-II commands: Vehicle Speed, Engine RPM, Coolant Temperature, Throttle Position, Fuel Level, Calculated Engine Load, Intake Air Temperature, Runtime Since Start, VIN
Feature
ELM327 protocol handling with hex response parsing, multi-frame CAN support, and automatic error detection
Feature
Adapter auto-detection — probes via ATI to identify ELM327 vs OBDLink (STN) adapters and selects the appropriate initialization sequence
Feature
Adapter profile system (
IObdAdapterProfile) with built-in Elm327AdapterProfile and ObdLinkAdapterProfile Feature
Device discovery via
IObdDeviceScanner and ObdDiscoveredDevice for scanning available adapters before connecting Feature
Pluggable transport abstraction (
IObdTransport) for BLE, WiFi, USB, or any communication channel Feature
BLE transport (
BleObdTransport) using Shiny.BluetoothLE v4 with auto-scan, pre-discovered peripheral, or discovered device constructors Feature
BLE device scanner (
BleObdDeviceScanner) with optional name filtering and UUID-based deduplication Feature
Configurable BLE defaults (
BleObdConfiguration) for GATT UUIDs, device name filter, and command timeout Feature
DI extension method
AddShinyObdBluetoothLE() for one-call BLE OBD service registration Feature
Fully task-based async throughout — no Reactive Extensions required in consuming code