docs: история 2026-06-10 — speed-test, адаптивный интервал, threading lock
This commit is contained in:
+21
-5
@@ -1,7 +1,7 @@
|
||||
# elmAI — Changelog / Полное описание проекта
|
||||
|
||||
> Файл для нового агента: прочитай — и ты в курсе всего.
|
||||
> Актуально: v0.77.0-dev, 7 июня 2026
|
||||
> Актуально: v0.93.0-dev, 10 июня 2026
|
||||
|
||||
---
|
||||
|
||||
@@ -132,6 +132,14 @@
|
||||
|
||||
### История версий (сервер)
|
||||
|
||||
#### v0.93.0-dev (10 июня 2026)
|
||||
- **Speed-test ELM327:** при первом подключении нового ELM — замер скорости ответа на 3 PID (RPM, MAF, STFT) × 3 раза каждый
|
||||
- **Адаптивный интервал:** динамический тест использует `max(250, avg_response × 3 × 1.5)` вместо жёстких 250ms
|
||||
- **Профиль устройства:** колонка `response_time_ms` в `device_profiles`, API `PUT /api/v1/elm/profile/<mac>`
|
||||
- **Fix:** `threading.Lock()` в `Database` — 0 ошибок при 20 конкурентных записях (было 8/20)
|
||||
- **UI:** прогресс speed-теста показывается пользователю
|
||||
- Деплой v0.93.0-dev на obdai.ru
|
||||
|
||||
#### v0.48.0 (7 июня 2026)
|
||||
- **Пробинг ELM327:** трехуровневый каскад (L0/L1/L2)
|
||||
- **Рефакторинг `obd/`:** разделение на независимые сервисы
|
||||
@@ -268,7 +276,7 @@ scp app/build/outputs/apk/debug/app-debug.apk obdai.ru:/opt/elmer/web/static/app
|
||||
|
||||
---
|
||||
|
||||
## 9. Динамический тест — START/STOP (v0.92+, 10.06.2026)
|
||||
## 9. Динамический тест — START/STOP (v0.93+, 10.06.2026)
|
||||
|
||||
### Цель
|
||||
Выявить **потерю мощности, подсос воздуха, забитый фильтр, проблемы смеси** — ловля STFT/LTFT на сбросе газа.
|
||||
@@ -281,9 +289,17 @@ scp app/build/outputs/apk/debug/app-debug.apk obdai.ru:/opt/elmer/web/static/app
|
||||
5. **TPS** (0111)
|
||||
|
||||
→ После тестов #43-#45 выяснилось: ELM327 v1.5 не успевает 5 PID за 250ms (данные склеиваются).
|
||||
→ **Решение (текущее): 3 PID × 250ms + остальные статикой ДО старта.**
|
||||
→ После тестов #47-#48 (v0.93.0-dev): даже 3 PID × 250ms — 94% ошибок, ELM перестаёт отвечать после ~15 сэмплов.
|
||||
→ **Решение (текущее, v0.93.0): Speed-test при первом подключении ELM + адаптивный интервал.**
|
||||
|
||||
### Текущая стратегия (v0.92+)
|
||||
### Текущая стратегия (v0.93+)
|
||||
|
||||
#### Этап 0 — Speed-test (только при первом подключении нового ELM)
|
||||
- После инициализации ELM: замерить время ответа на 010C, 0110, 0106 — каждый 3 раза
|
||||
- Показать пользователю: `"⏱ Тест скорости: RPM 82ms MAF 91ms STFT 82ms"`
|
||||
- Сохранить `response_time_ms` в профиль устройства (по BT MAC)
|
||||
- Интервал = `max(250, avg_response × 3 × 1.5)`
|
||||
- При повторных запусках — использовать сохранённое значение
|
||||
|
||||
#### Этап 1 — Статика (перед СТАРТ)
|
||||
- Снять все доступные PID по одному разу
|
||||
@@ -317,6 +333,6 @@ scp app/build/outputs/apk/debug/app-debug.apk obdai.ru:/opt/elmer/web/static/app
|
||||
|
||||
### Планы
|
||||
- Скорость — потом через GPS (не через OBD)
|
||||
- Адаптивный интервал если ELM быстрее (v2.x)
|
||||
- ~~Адаптивный интервал если ELM быстрее (v2.x)~~ ✅ Сделано в v0.93.0
|
||||
- Логирование в историю каждого теста
|
||||
|
||||
|
||||
Reference in New Issue
Block a user