diff --git a/doc/history/2026-06-07-plans.md b/doc/history/2026-06-07-plans.md new file mode 100644 index 0000000..1f44a13 --- /dev/null +++ b/doc/history/2026-06-07-plans.md @@ -0,0 +1,46 @@ +# Планы на 2026-06-07 (вечер) + +## 1. 🔴 Исправить 16-ричный вывод параметров +**Проблема**: при считывании PID'ов на экран выводятся hex-коды вместо человеческих значений. +- Температура ОЖ: `41053C` вместо `ОЖ: 20°C` +- Обороты: `410C1A2B` вместо `Обороты: 850 об/мин` +**Причина**: ObdDecoder.decode() не чистит `\r` `\n` из raw ответа → parseInt падает → возвращает raw. +**Фикс**: добавить `.replace("\r", "").replace("\n", "")` в clean. + +## 2. 🟡 Кнопки СЕРВЕР/ELM/ЭБУ — только до первой диагностики +После первого успешного "done" — убрать эти кнопки. Они нужны только для первоначальной проверки. + +## 3. 🟢 Динамические тесты (две новые кнопки) +Появляются после первичной диагностики вместо СЕРВЕР/ELM/ЭБУ. + +### Тест 1: «На месте» +- Подсказка: «Нажмите на педаль газа, поднимите обороты до 3000, держите 3-4 секунды, затем резко сбросьте газ. Нажмите СТАРТ когда готовы.» +- Кнопка: «⏱ Тест на месте» → после нажатия → «▶ Старт» +- После Старт: мониторинг RPM, MAP, STFT, LTFT — 5-10 секунд +- Анализ: отклик дросселя, провалы, богатая/бедная смесь при сбросе + +### Тест 2: «В движении» +- Подсказка: «Включите 2-ю передачу (АКПП — ручной режим), разгонитесь до ~3000 об/мин, держите несколько секунд, затем резко сбросьте газ. Нажмите СТАРТ ДО начала движения — программа сама отследит параметры.» +- Кнопка: «🚗 Тест в движении» → после нажатия → «▶ Старт (нажать до движения)» +- После Старт: мониторинг скорости, RPM, нагрузки, STFT — автоматическое определение начала движения и сброса газа +- Анализ: поведение под нагрузкой, детонация, пропуски + +## 4. 🟢 Flow кнопок +``` +[Начало] → СЕРВЕР | ELM | ЭБУ | ОШИБКИ | ДИАГНОСТИКА + ↓ после диагностики +[Результат] → ✕ Закрыть | ⏱ Тест на месте | 🚗 Тест в движении | поле ввода + ➤ +``` + +## 5. 🟡 История — не терять +При переключении между тестами и чатом — сохранять вывод. + +## 6. 🔧 Скрипты для тестов +Нужно создать server-side скрипты: +- `script/dynamic_idle.json` — тест на месте (RPM, MAP, STFT, LTFT, дроссель, нагрузка) +- `script/dynamic_drive.json` — тест в движении (RPM, скорость, нагрузка, STFT, MAP) + +Оба скрипта должны: +- Считывать параметры с высокой частотой (ATAT1 если v2) +- Автоматически определять фазы: разгон → удержание → сброс +- Отправлять результаты на сервер → LLM-анализ