Удалось победить проблему рвавшегося лога на 3 передаче спустя год) Была сдвинута нагрузка в таблицах с 2.7 до 3.2 g/rev
Там два основных фактора:
1. Помехи в проводке, которые вышибают USB-порт ноута. Обычно из-за безрезисторных свечей зажигания возникали. Решается нормальным проводом USB с ферритовыми кольцами. Или развязкой шнура. Кстати, если причина в помехах - OpenPort 2.0 работает сильно хуже простого K-Line адаптера.
2. Граничные данные во время движения. Boost error в небесах по передуву, а WG duty упёрся в максимум; или нагрузка далеко за рамками ожиданий. Понять причину быстро сложно.
Здесь помогает логирование по CAN вместо K-Line.
Объяснить причину могу, это специфика метода Fast Polling'а.
K-Line -
медленный. Одна команда (цикл вопрос-ответ для нескольких параметров) выполняется секунду-две. От количества параметров зависит не сильно.
Был обнаружен метод, при котором запрос послать можно
один раз. А данные сами будут периодически течь до следующего запроса. Назвали Fast Polling.
Скорость опроса поднялась очень заметно.
Но, когда мозг сильно занят, например, выправлением буста или заглядыванием за карту - данные течь перестают. И, чтобы они потекли заново - нужен
повторный запрос. А RomRaider/ecuEdit не сразу понимает, что это обрыв потока. И только,
когда данных уже нет несколько секунд - происходит переинициализация (
ещё секунды 3), повторный запрос (
секунда-две) - и, вуаля, данные текут снова. Т.е. в логе итоговая пауза в
6...10 секунд. И без гарантий отсутствия обрыва сразу после восстановления.
По CAN шине обмен проще - вопрос - ответ. Никакого "вопрос"-"непрерывный поток данных" не предусмотрено.
Но этот "вопрос-ответ" занимает считанные миллисекунды. И результат - ещё быстрее, чем Fast Polling-ом.
Беда в одном: CAN поддерживается машинами 2006+ годов. И то, например, JDM STI GDB в их число не попали.
PS: Вчера оттестировал CAN-патч для Legacy 06+, аналогичный имеющемуся в ecuFlash патчу для STI GRB 08+.
Смысл - без патча по CAN логировать можно только стандартные SSM-параметры, никаких произвольных адресов в оперативной памяти недоступно. Зато скорость - на 20 параметров - 20...25 запросов в секунду. Быстрее раз в 15, чем fast-poll метод K-Line'а. И не рвётся.
С патчем - доступна вся оперативная память. Так называемые extended parameters, задающиеся не смещением в SSM-таблице, а простым адресом в оперативе. В RomRaider'е они со звёздочками и с суффиксом (n-byte).
Облагорожу, сделаю патчер прошивки и выложу скоро.
Логирование по CAN поддерживается RomRaider'ом, ecuEdit с ходу не умеет, но глубоко не копал. Аффтару напишу. EcuExplorer не тестил.