Physical layer functions
fw v2.12.0 XT2 / Configurator v0.92.50
Encoder
Энкодер
Данная функция предназначена для обработки сигналов инкрементального энкодера
Инкрементальный энкодер – это простейший поворотный датчик.
Выходной сигнал инкрементального энкодера представляет собой 2 импульсных сигнала со скважностью 50% сдвинутых относительно друг друга на 90°. Сигналы с этих двух каналов (квадратура выхода (обычно A и B)) позволяют определить направление вращения энкодера и величину углового перемещения. Направление вращения определяется опережением или отставанием импульсов одного из каналов относительно второго канала.
Конструктивно энкодер может разное число фазовых переходов на детент (клик) и ещё может быть совмещен с нажимной кнопкой.
Поскольку энкодер имеет два выхода, в конфигураторе всегда занимает две линии и должен располагаться по нечетной линии.
Параметры:
Type
Привязка физического типа энкодера
Условные значения 1/4, 2/4, 4/4 - обозначают 1,2,4 фазовых перехода на детент
Adv - тоже что и 4/4, но с улучшенным алгоритмом обработки пропуска фаз.
Virt - виртуальный энкодер для приема данных с внешних (External) устройств
Обычно пользователю не требуется изменять привязку типа энкодера - она задаётся в заводской конфигурации и соответствует используемым для конкретных устройств.
Fuctionality
Функциональность
Discrete - использование энкодера как пары кнопок контроллера ( кнопка будет отрабатывать при каждом клике). Первая задаётся параметром But, вторая - как But+1. Какая кнопка будет отрабатываться - зависит от направления вращения энкодера.
Поскольку энкодер может вращаться с высокой скоростью, а игры/симуляторы практически неспособны принимать очень короткие нажатия кнопок контроллера - выдача серии нажатий происходит с таймингом, который задаётся глобальным параметром T_Enc ( в миллисекундах).
Обычно игры вполне способны работать с таймингом 20-30 мс, для гарантированного ввода рекомендуется 50. Пользователь может скорректировать эту величину для более комфортной работы ( уменьшения времени отработки серии нажатий) для конкретного симулятора
Trimmer - энкодер используется как триммер аналоговой оси ( либо как ось ) контроллера.
AxN - номер оси привязки энкодера, второй параметр - относительная скорость изменения оси на один клик. Полная вирт. ось от ноля имеет 8192 значений.
Инкрементальные энкодеры можно использовать в режиме виртуализации (шифтинга) при действии модификаторов.
В качестве модификаторов в "классическом" варианте могут быть использованы SHIFT1/SHIFT2.
Во время действия соответствующего модификатора в рассматриваемом примере будут активированы пары кнопок 73-74 / 75-76 соответственно вместо стандартных виртуальных кнопок 1-2 . Оба модификатора используют функциональность Discrete.
Возможно использование только одного модификатора.
Для функциональности Trimmer возможно применение шифтинга для изменения одной оси разной скоростью при действии модификаторов
Возможно применения шифтинга для изменения разных осей с разными скоростями.
Также возможно использование смешанных кнопочно-осевых функциональностей при шифтинге
Начиная с версии fw 2.12.0 XT2 добавлена возможность использовать в качестве модификаторов переключатели Modal Switch (для функциональности Discrete) :
Для коэффициентов MPL ( Trimmer) есть возможность устанавливать любые пользовательские значения ( штатно кэффициенты степени 2)
Для этого надо включить опцию New Opt и заполнить таблицу коэффициентов. Таблица глобальная, т.е. распространяется на все энкодеры.
Также будет доступна привязка и к старшим осям 9...16
с версии 2.17.A доступна привязка энкодера к колесу мыши с параметрами направления и скорости
с версии 2.17.F добавлены параметры T, x10 mS и Mode :
T, x10 mS - позволяет использовать индивидуальные тайминги (до 150 mS) для кнопок энкодера в режиме Dicrete.
При выборе 0 - используется глобальный параметр T_ENC
Mode:
STD : стандартный энкодер
GT+ : режим с очередью без пауз - формирует общий импульс равный текущей длине очереди
GT1 : режим одного импульса, в течение которого очередь обнуляется.