Files
elmer/doc/legacy/sonnet/sonnet-response-post-tests-2026-06-29.md
T

3.0 KiB
Raw Blame History

Ответ Соннета — по результатам тестов 28.06.2026

(Отправлено по ошибке вместо Опуса)

1. Природа залипания

Известный баг клонов (особенно v1.5 на CH340/PIC18F). Залипает обычно CAN-контроллер внутри клона — накапливает необработанные фреймы и перестаёт принимать команды через UART. Настоящий ELM327 сбрасывает буфер сам; клоны — нет.

2. Детект залипания

Лучший вариант — сравнивать ATRV до и после цикла (у живого ELM всегда выдаёт реальное напряжение ~12.x V). Дополнительно: если два последних ответа на разные PID идентичны побайтово — залип. Трёх совпадений достаточно.

3. Паузы

2–3 секунды между циклами по 4 PID обычно помогают. Минимум ~1.5 сек. При 6+ PID в цикле лучше 3–5 сек. Чем больше PID, тем больше CAN-трафика, тем быстрее переполняется буфер.

4. Auto-recovery

ATZ (полный сброс, ~1 сек) — самый надёжный программный способ. ATWS (warm start) — мягче, но не всегда помогает клонам. ATPC (protocol close) — иногда достаточно. Последовательность: ATPC → 500 мс → если не помогло → ATZ → переинициализация.

5. Оптимальный размер цикла

При паузе 2–3 сек: 4 PID — хороший баланс. 6 PID уже рискованно на нагруженной шине. 2 PID — безопасно, но медленно.

6. Влияние оборотов

Да, напрямую. При высоких оборотах CAN-шина загружена больше (ECU шлёт больше фреймов), буфер клона заполняется быстрее. На холостых — залипает позже.

7. Замена адаптера

Приоритет: OBDLink EX/MX+ (оригинальный чип STN2120, нет этой проблемы) → оригинальный ELM327 v1.4b/v2.1 (реже). Клоны v2.1 — лотерея, та же болезнь. Китайские v1.5 — для продакшена непригодны.

8. Стратегия для продакшена

Адаптироваться под клонов, но с явными ограничениями:

  • Медленный режим (4 PID, пауза 3 сек) как default
  • Детект залипания + авто-ATZ
  • В UI показывать «адаптер нестабилен, рекомендуем OBDLink/оригинал»