EVDx v1.4.0 Pre-Release
Pre-release
Pre-release
EVDx v1.4.0 — Production-Grade OBD-II Connection Overhaul + Critical Fixes
🔧 OBD-II Device Connection & Protocol Improvements
BLE Service (ble-service.ts)
- Complete ELM327 initialization per ELM Electronics datasheet
- Protocol auto-detection with
ATSP0(SAE J1979 protocols 1–9, A–C) - Adapter identification: firmware (
ATI), description (AT@1), identifier (AT@2) - Clone chip detection: STN vs genuine ELM327 vs PIC clone
- 10 BLE adapter profiles
- PID support detection per SAE J1979
- DTC reading: Mode 03 (stored), Mode 07 (pending), Mode 0A (permanent)
- DTC clearing: Mode 04
- VIN retrieval: Mode 09 PID 02
- WiFi ELM327 support via WebSocket
- Adapter voltage reading (
ATRV) - Response buffer cleared on timeout to prevent stale data
🐛 Critical Bug Fixes (from comprehensive code review)
DTC Parser (store.ts + ble-service.ts)
- Fixed Mode 03 parser: skip count byte correctly
- Fixed DTC code encoding: hex for low nibble, preserve first digit from high nibble
- Fixed DTCEvent objects: add required
active/countfields - Fixed DTC severity: use valid
DTCSeverityvalues
VoiceAssistant.tsx
- Fixed Rules of Hooks violation: moved early return after all
useCallbackhooks
ChargingView + LiveDataView
- Fixed
Math.random()in render path causing infinite re-renders - Used
useMemo+ stable sine-based variation
BatteryView.tsx
- Fixed division by zero: guard
cellMaxVwith fallback 3.7V
Permissions (permissions.ts)
- Fixed
granted: truereturned even when permissions were missing
SessionsView.tsx
- Now uses
settings.electricityCostPerKwhinstead of hardcoded value
I18nProvider.tsx
- Added document-level
dir/langsetup for proper RTL support
Android Network Security
- Fixed
network_security_config.xml: removed brokenincludeSubdomainson IPs - Added comprehensive list of common ELM327 adapter IPs across subnets
Android config.xml
- Replaced wildcard
<access origin="*" />with local-only patterns
RTL Fixes
- Replaced
text-leftwithtext-startacross all components
Package Cleanup
- Removed incompatible:
next-auth,prisma/@prisma/client - Removed version-mismatched:
@dnd-kitpackages - Removed unused:
i18next-http-backend,next-intl,sharp
📚 References
- ELM327 Datasheet (ELM Electronics)
- SAE J1979-2016 OBD-II Standard
- ISO 15765-4 CAN Bus Protocol
⚠️ Pre-Release Notice
This is a pre-release version for testing.
Author: Dr. Waleed Mandour