2.5 KiB
2.5 KiB
2026-06-06 — Полная сессия (полевой тест + 9 багов + фиксы)
Текущий статус
- Версия: v0.47.0-dev
- APK: https://obdai.ru/elmer.apk
- Сервер: https://obdai.ru (5.172.178.213, nginx+gunicorn)
- Android repo: github.com/Repinoid/elmer-android
- Server repo: gitea.services.ngcloud.ru/Nail/elmer
Хронология коммитов (Android)
| Коммит | Описание |
|---|---|
6a33048 |
fix: checkDevice() забыл connectAndInit() |
739afa9 |
fix: connect() идемпотентный + run() без двойного connect |
94b890f |
bump v0.43.0-dev |
71618c6 |
fix: статус-строка — append вместо overwrite |
d49f6d6 |
fix: все appendStatus с \n, таймер на своей строке |
3ef3532 |
fix: scriptRegistered сброс в onDestroy |
dead66c |
fix: init без ретраев, v1.5-совместимость |
Все 9 багов
- checkDevice без connectAndInit — AT-команды без BT-сокета
- connect не идемпотентный — guard socket.isConnected
- run двойной connect
- Статус-строка overwrite — всё на appendStatus(\n...)
- Таймер съедал заголовок — \n вместо пробела
- scriptRegistered не сбрасывался после поворота
- init() 70 секунд на ATAT1 — write+tryRead(2s) вместо exec
- checkDevice слал v2-команды на v1.5 — проверка isV2
- recover/updateAtst/handle длинные таймауты — 2000-3000мс
ELM327: версии и команды (Wikipedia)
- v1.5 НЕ СУЩЕСТВУЕТ — клон v1.0/v1.4 с фейковой версией
- ATAT1 (adaptive timing): с v1.2
- AT@1/AT@2 (device ID): с v1.3
- ATST (set timeout): с v1.2
- Базовые (ATI, ATDP, ATRV, ATSP, ATE0, ATL0, ATS0, ATWS): с v1.0
Правила для Copilot
- Коммит после каждой правки: git add -A && git commit -m "..." && git push
- При деплое bump версии в android/app/build.gradle.kts
- Формат: fix:/feat:/refactor:/bump:/docs:
TODO
- Разбить MainActivity.kt (~470 -> <=200 строк)
- Разбить ElmChecker.kt (~270 -> <=200 строк)
- Подробные комментарии перед каждой функцией
- Полевой тест v0.47.0-dev на машине