Фильтр¶
Идея¶
Прежде чем описывать фильтр, расскажем идею и принцип работы.
И так, мы подключились с помощью CAN-Hacker к шине данных. Сообщения сообщения из неё, прежде чем обработаться прошивкой, проходят через встроенный в кремний аппаратный фильтр, позволяющий задать 28 правил фильтрации. После этого прошивка CAN-Hacker делает обработку данных и преобразует их в поток данных согласно принятому протоколу, о котором знает наша программа. После обработки, данные уходят в USB и прилетают в программу, которая общается с CAN-Hacker через эмулируемый "железкой" последовательный порт. Далее программа полученные данные преобразует в удобные и понятные структуры у себя внутри и раскладывает в 2 очереди. Первая очередь обрабатывается программным фильтром. Так, в очереди, которая обрабатывается программным фильтром, регистрируются такие элементы интерфейса, как монитор, функция записи потока, окна отображения битовых представлений данных. Ко второй очереди, которая работает в обход программного фильтра, подключаются задачи из панели передачи данных, бомбер и отладчик.
Панель и окно фильтрации¶
В зависимости от настроек и разрешающей способности экрана монитора, программа отображает фильтр либо в виде боковой панели на основной форме программы, либо в виде отдельного окна. Ниже представлен вид фильтра в виде панели для CAN-Hacker на протоколе Lawicel, в виде панели для CAN-Hacker v3.x и в виде отдельного окна.
Как видим окно фильтрации представлено двумя областями. Область с настройками шлюза и область настройки самого аппаратного фильтра. Сам фильтр можно вызвать нажав на кнопку в панели быстрого доступа или на комбинацию клавиш Ctrl+F.
Note: На данный момент разработка интерфейса для настройки программного фильтра приостановлена в угоду
реализации более важного на данный момент функционала.
После его реализации разработка интерфейса программного фильтра продолжится.
Шлюз¶
CAN-Hacker v3.x предоставляет возможность пересылки сообщений из одного канала в другой.
На этой панели у нас расположены "галки", отвечающие за включение и выключение функции пересылки сообщений из канала 1 в канал 2 "Transmit CAN1 => CAN2" и из канала 2 в канал 1 "Transmit CAN2 => CAN1".
Ниже располагается интерфейс функционала блокировки пересылки заданного сообщения из канала 1 в канал 2 и наоборот. Блокировка включается путём задания кода сообщения и нажатия кнопки "Lock". Если мы хотим заблокировать другое сообщение, то достаточно указать новый код и нажать на кнопку "Lock". Отключение функционала происходит по нажатию кнопки "Unlock".
Аппаратный фильтр¶
Фильтр представлен в виде таблицы из 5 столбцов: индикатор активности фильтра, номер канала, номер фильтра в канале и маска/код фильтра. Если фильтр активен, то в первом столбце появляется индикатор . Сделать активным фильтр можно щёлкнув левой кнопкой мышки по ячейке первого столбца необходимого фильтра или кнопками клавиатуры выбрать необходимую строку с фильтром и нажать пробел.
Если мы хотим отредактировать значения фильтра, то необходимо по нужной строке щёлкнуть 2 раза левой кнопкой мыши или на нужно строке нажать клавишу Enter. В результате откроется окно настройки фильтра.