# Планы на 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-анализ