Дискретные параметры наиболее просты для поиска, так как их состояние легко воспроизвести и зафиксировать. Обычно они принимают ограниченный набор значений, например «включено/выключено», и позволяют точечно воздействовать на систему.
Например, можно пристегнуть и отстегнуть ремень безопасности, практически не изменяя состояние остальных систем автомобиля. В отличие от этого, изменение оборотов двигателя одновременно влияет на положение педали газа, расход топлива, температуру двигателя, напряжение бортовой сети и другие параметры.
В большинстве случаев достаточно снять два лога:
При записи первого лога нельзя выполнять никаких действий с автомобилем — фиксируется текущее состояние системы.
При записи второго лога воздействуем только на датчик, который требуется разобрать.
В результате получаем два лога с максимально схожим содержимым. За счёт контраста между ними можно выделить данные, связанные с активацией датчика.
Этот алгоритм применим, если одним воздействием активируется только один датчик. Если одной кнопкой активируется несколько датчиков (например, при блокировке осей одновременно срабатывают два индикатора), такой подход не подходит. В этом случае лог с «произвольным дискретным датчиком» фиксирует уже два состояния: «всё активно» и «всё неактивно», без разделения.
В такой ситуации необходимо записывать фоновый лог (зажигание включено) с видеофиксацией. Это позволяет определить момент и последовательность активации каждого датчика.
Для поиска реакции удобнее всего использовать инструмент Анализировать лог.
В анализ добавляются оба лога, каждому назначается свой цвет маркера. В сводной таблице слева ищем байты, отмеченные цветом лога «Произвольный дискретный датчик». При выборе такого байта должен появиться характерный график, соответствующий периодическому переключению датчика.

График не всегда будет выражен явно, однако наличие маркера гарантирует наличие данных, отличающихся от фонового лога, и это повод взять сигнал в кандидаты для дальнейшего анализа с использованием фильтров и условий.
Пример:

После отбора кандидатов можно переходить к настройке параметра и проверке срабатывания датчика.
Для удобства проверки рекомендуется включить воспроизведение лога.

Во вкладке Редактор добавляем параметр.

Сначала настраиваются поля ID и номер байта, в котором находится значение. После этого в таблице результатов должны появиться данные.

В данном примере наблюдаются значения 0 и 64. Это не означает, что датчик определяется целым байтом. Как правило, за состояние отвечает 1–2 бита, которые необходимо определить и задать через битовую маску.
Это можно сделать напрямую, если известна двоичная структура значения, либо с помощью инструмента Побайтовый анализ, который позволяет определить активные биты по индикации.

Изменение может выглядеть как один бит (0 → 1), так и несколько (01 → 10).
После определения задаются длина маски (в битах) и позиция первого бита.

Далее задаётся тип параметра — Дискрет, и условие, при котором параметр принимает значение 1.
Например, датчик ремня водителя часто активируется в состоянии «не пристёгнут». Для удобства восприятия сигнал имеет смысл инвертировать. Тогда параметр «Контроллеры аварии. Ремень водителя» будет равен 1, когда ремень пристёгнут.
Последним шагом задаются параметр FLEX и название.
После настройки в таблице результатов в столбце FLEX отображается итоговое значение параметра.

Архив с логами vw_tiguan_(2016_-_2016)_discrete.7z
В архиве представлены логи, снятые при изменении параметров:
Лог на выбранную передачу КПП снят при заведенном двигателе, остальные — при включенном зажигании.
Сделайте разбор этих параметров самостоятельно.
Проверьте результаты с нашим файлом caf.
vw_tiguan_(2011-2016)_v1.0.caf