2.1 KiB
2.1 KiB
Итоги тестирования протокола 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 — больше не хардкод
Проблемы
- Клон v1.5 залипает — после ~10 команд начинает повторять один ответ (
410405\n7F0112). Нужен сброс питания (вынуть из OBD) для восстановления. - ATI/ATDPN/ATRV засоряют буфер — убраны из relayLoop, но init() всё ещё делает ATI.
- Без заведённого двигателя ~50% ответов пустые — ECU медленнее отвечает.
Что дальше
- Тест с паузами 2-3 сек между циклами — проверить, уходит ли залипание
- Тест с меньшим числом PID в цикле (2-3 вместо 4)
- После стабилизации — перенос фиксов в основное приложение (:app)
- Смержить opus-fixes в master