Igor пишет:Спасибо.
Пока не получилось организовать такой обмен. Только приступил к изучению.
Мне надо организовать выборочную инверсию поступающих данных.
При поступлении id00С 01 0D 0D 0D 00 00 00 00 отправить id00С 01 05 05 05 00 00 00 00
При поступлении id00С 01 0С 0С 0С 00 00 00 00 отправить id00С 01 04 04 04 00 00 00 00
При поступлении id00С 01 0B 0B 0B 00 00 00 00 отправить id00С 01 03 03 03 00 00 00 00
все остальные команды с других id пропустить без изменений.
Было бы правильнее создать для этого вопроса отдельную тему, т.к. он выходит за рамки данной.
Судя по контексту, речь о LIN-фильтре (хотя тема посвящена работе CAN/LIN монитора).
Непосредственно по вопросу:
1. Фильтровать данные лучше разрывая шину в районе slave-устроства - скорее всего потребуется работать только с одним идентификатором.
2. Если известно, данные какого устройства требуется фильтровать, то нужно попробовать отключить его от сети и посмотреть, пропадаут ли его данные в шине. Таким же способом, отключая данные от шины, можно найти идентификаторы соответствующие тем или иным slave-устройствам.
3. Есть ли другие варианты данных, полкучаемых в данном идентификаторе, помимо приведенных вариантов? Если во всех случаях нужно только обнулить 3й бит (начинаем считать с 0) в байтах 1,2,3, то подход один (lin_bridge_s2m_1.cfd), если замена требуется только при полном соответствии сообщения приведенным в задаче, то другой (lin_bridge_s2m_2.cfd).
В вложенных диаграммах осуществляется работа с одним идентификатором (0x00C). Может потребоваться изменение частоты опроса slave (блоки №№2 и 3), которую можно получить по логу CAN/LIN монитора - с какой периодичностью встречается этот идентификатор с данными. Также нужно установить соответствующую конфигурацию каналов LIN.