# Итоги тестирования протокола ELM327 v1.5 — 28.06.2026 ## Результаты | Версия | Условия | Результат | |--------|---------|-----------| | v0.2.3 | Зажиг ON, двиг OFF, старый код | 12/12 (100%) один раз, потом нестабильно | | v0.2.4 | Двиг OFF, с drain (сломан) | 1/20 | | v0.2.4 | Двиг OFF, без drain | 9/12 (после чистки очереди) | | v0.2.6 | Двиг ON (заведён), без info-команд | 8/12 (первые 4 — хвост инита, потом 8/8) | | v0.2.6 | Двиг ON, после сброса ELM | 16/16 (100%) — но ELM залип на одном ответе | ## Что работает - Канонический протокол (ATE0→ATL0→ATS0→ATI→detectClone→ATST96→ATSP0) — стабилен - ElmActor (single-thread executor) — без нареканий - SQLite command_queue с gunicorn -w 4 — работает - Поллинг Android↔сервер — стабилен - hello чистит очередь для device_id — новые сессии без мусора - VERSION_NAME через val appVersionName — больше не хардкод ## Проблемы 1. **Клон v1.5 залипает** — после ~10 команд начинает повторять один ответ (`410405\n7F0112`). Нужен сброс питания (вынуть из OBD) для восстановления. 2. **ATI/ATDPN/ATRV засоряют буфер** — убраны из relayLoop, но init() всё ещё делает ATI. 3. **Без заведённого двигателя ~50% ответов пустые** — ECU медленнее отвечает. ## Что дальше 1. Тест с паузами 2-3 сек между циклами — проверить, уходит ли залипание 2. Тест с меньшим числом PID в цикле (2-3 вместо 4) 3. После стабилизации — перенос фиксов в основное приложение (:app) 4. Смержить opus-fixes в master