Внешними устройствами (ведомыми) являются устройства, работающие по шине BUS (либо по виртуальной шине через USB).
Это могут быть другие контроллеры платформы NJoy32 или специализированные оконечные устройства типа ручек джойстиков или панелей управления. Всего к ведущему контроллеру можно подключить до 8 таких устройств.
Порядок представления соответствует порядку опроса устройств по шине. Менять порядок можно перетаскиванием с правой кнопкой мыши.
Для подключения других контроллеров NJoy32 в роли ведомых необходимо использовать тип устройства Generic Device.
Тип Generic Device позволяет свободное изменение любых параметров устройства, в то время как другие типы имеют жестко заданные ограничения для штатных устройств, поэтому его акже можно использовать и для любых других - когда надо использовать нештатные функции таких устройств.
Ещё одно специальное устройство - NXT Joker.
Оно используется в дефолтных конфигурациях семейства контроллеров NXT (EVO) и STECS.
Такие устройства как правило имеют большую вариативность подключаемых ручек ( SCG-R, SCG-L, F14, KG12, MTG-R MTG-L, STG-R STG-R) и внешних модулей (SEM THQ FSM-GA STEM), при этом самых модулей может быть несколько - THQ - до 4-х, SEM до 2-х), что позволяет сконфигурировать самые разнообразные варианты управляющих панелей/модулей.
Такие устройства требуют обязательную процедуру автоконфигурирования.
Во время этой процедуры ведущий контроллер ищет периферийные устройствам и располагает их в свободные слоты NXT Joker c уже необходимыми параметрам по привязке и количеству регистров ввода, осей, LEDs.
Также при необходимости присваиваются необходимые в конфигурации функции для физических линий ( типа uSSw для ручек SCG), конфигурируются параметры осей и т.п.
Обнаружены подключенные модули THQ и FSM.GA и сгенерирована необходимая конфигурация всего контроллера:
🚩 При изменении физического состава таких контроллеров ( NXT / STECS ) необходимо сбросить конфигурацию в дефолт и проивести автокнфигурацию заново!
Физические настройки обмена по шине
Port - порт подключения устройства [ USART1..3, Virtual ] . Штатно подключения осуществляются через порт USART2. Опция Virtual используется для виртуального устройства через USB.
Poll, mS - период поллинга (опроса) устройства. Штатно в большинстве конфигураций следует выбирать 4 mS.
AdrH, AdrL - шинный адрес устройства.
Alt.Group - объединение нескольких устройств в альтернативную группу.
Например для контроллеров Gunfighter могут быть использованы две базы - левая и правая. Это необходимо для формирования разных PID USB для одновременного использования. Или к базе могут быть подключены левая или правая ручки SCG. Для таких случаев однотипные устройства объединяются в группу, но физически может присутствовать только одно. Это позволяет работать только с подключенным оборудованием и не опрашивать по шине отсутствующие устройства. Также для отсутствующих устройств не ведется статистика ошибок связи и не формируется событие BUS Error
Параметры передачи данных
LEDsN, Base -количество передаваемых светодиодов и смещение ( номер в глобальном массиве LEDs )
Используется для управления светодиодами периферийного устройства.
Параметры приема данных
Ax N - число принимаемых осей,
Reg N, Bias - число принимаемых регистров и смещение в общем массиве физических регистров конфигурации
Auto - позволяет автоматическую привязку смещения.
Enc N - число принимаемых энкодеров.
Структура приема осей:
Ведомое устройство может передавать данные до 8-ми осей.
NONE - не использовать данные оси
Virtual - виртуальная ось. В физической оси должен быть указан для Input тип Virtual. Данные будут переданы на вход оси и пройдут всю обработку - фильтрацию, нормализацию, кривые, триммирование и т.д.
Normal - нормализованная ось. Данные будут напрямую использованы на входе логической оси .
Trimmer - данные будут использованы в качестве триммера оси. На физической оси должен быть включен триммер.
V_MaRS X,V_MaRS Y - ортогональные компоненты датчиков MaRS. Расчет угла производится на стороне мастера.
В физической оси должен быть указан для Input тип V_MaRS. Обе компоненты должны ссылаться на одну ось.
V_MaRS - виртуальный MaRS. Расчет угла производится на стороне ведомого (передатчика).В физической оси должен быть указан для Input тип V_MaRS.
NC - номер виртуального контроллера [1..4]
Axis - номер оси [1..8]
В концепте виртуальных контроллеров (VC) количество осей на контроллер ограничено 8-ю.
Расчетная формула номера оси для привязки:
Real Axis N = (NC-1)*8 + Axis
При привязке данных к 9-й оси необходимо указать NC=2 и Аxis=1 и т.д.
Для мониторинга работы шины и подключенных устройств можно посмотреть статистику ошибок связи (кнопка STAT):
Также состояние всех внешних устройств можно посмотреть на вкладке TEST - External DEvices
Кликнув а картинку интересующего устройства также можно получить статистику работы шины: