Jump to content

Alex Oz

Members
  • Posts

    124
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Согласен, выбирать несуществующий булевский или неиспользуемую кнопку хоть и рабочий вариант, но не самый корректный. Но там 3 бита на входы с версии XT, расширение приведет к несовместимости. Пока не придумал как разрулить. FLASH не бесконечный, поэтому приходится вырезать дублирующие устаревшие функции ( так понимаю речь про CSW/RSW) - тут сорри, но приходится оптимизировать.
  2. MPL оси триммера должен быть 8 либо при других значениях её надо калибровать
  3. Протестил под нагрузкой проца под 80% (+OCCT) на экстремально коротких импульсах (~ 12 mS) Тулза показала около 30 сек общего времени для 2499 импульсов , высотомер накрутил чуть более оборота. таймер ввода 2 mS. Расхождения в рамках погрешностей измерений, можно оценить, что подсистема инпута DCS имеет таймер не хуже 1-2 mS - что очень круто для игр. Для более реальной оценки надо иметь инструментарий на уровне 100 микросекунд, но во первых у меня такого нет, во вторых - и не требуется такая ловля блох.
  4. Добавил селектор Mode STD : стандартный энкодер GT+ : режим с очередью без пауз - формирует общий импульс равный текущей длине очереди GT1 : режим одного импульса, в течение которого очередь обнуляется. Как и параметр Tx10mS, действует только на выбранный энкодер.
  5. Ну тут похоже вообще паузу для DCS надо убирать. То есть это будет совсем не классический энкодер в данном случае.Потому что паузы уменьшают среднее время воздействия для тех функций, которые управляются временем. Только это уже не энкодер, а просто детектор направления вращения получается - пока крутим - держим уровень и никаких импульсов. Тайминг энкодера будет задавать как бы минимальную скорость вращения, при которой держится уровень. Я так понимаю решение этой проблемы.
  6. Очередь нажатий кнопок - это не проблема. Это, наоборот, решение для любых игр c малым фпс инпута. В DCS похоже таймер инпута на уровне 1 мс ( под нагрузкой под 100% не проверял), поэтому вполне должен справится и с короткими импульсами - а это пользователь может установить сам под конкретную игру. И если пользователь крутанул ручку на полный оборот ( к примеру это 24 детента) - то и на выход должно уйти 24 импульса. А иначе - как? вот крутанул я энкодер на полоброта за 50 мс. а тайминг стоит 25мс. То есть полный цикл ипульса - 50 мс. С какого перепугу надо отдать только один импульс? А так я знаю, что элемент управления где-то в игре получит 12 импульсов при любой скорости вращения. Если же мне нужен один импульс - то я и должен сделать один клик энкодером. В аналоговом режиме никаких задержек нет - если только специально накрутить фильтр ручной. Вот в чем я вижу проблему - это то что элементы, которые в DCS заточены под управление временем нажатия кнопки пытаются управлять числом иппульсов от энкодера, таком образом через одно место задавая это самое время. Как пример - установка высотомера P51 на земле на + 1 оборот приблизительно одинаково происходит: от одного импульса длительностью 30 сек от пакета 119 импульсов по 252 мс от 9 пакетов по 119 импульсов (1071 имп) по 28 мс ---------- Вообщем то контроллер всегда прибавляет 4 мс к установленному времени, и выдача пакетов контроллера также 4 мс. Просто имейте ввиду - при установке 12 мс реально в среднем будет 16.
  7. Немного теории. Указав тип энкодера, отличающийся от EncV - вы заставляете контроллер судорожно искать его в физических подключениях и пытаться его обрабатывать. Результат предсказуем, поскольку сам энкодер находится в ручке - а это отдельный контроллер на шине (см состав External Devices в конфигураторе) Функция "Виртуальный энкодер" говорит контроллеру - не cуетись, нужный обработчик ( в данном случае это соответствующий экстернал девайс ) сам предоставит эти данные. В принципе можно убрать функцию EncV - внешний девайс будет отдавать энкодер только как кнопки с фиксированным таймингом. EncV позволяет менять тайминги ( Global -> Common -> T_Enc : если правильно понимаю именно это и требуется) или превратить в ось. Также шифтование и модальность (но это при условии включенной виртуализации энкодеров на мастере) .
  8. Это к Биллу Гейтсу Если вы знаете производителя министиков лучше чем ALPS - сообщите. Как минимум их использует сони для своих джойстиков, но там вшитая огромная МЗ без возможности регулировки. У вас такая возможность есть, вшитой МЗ - нет и бонусом 85 миллиардов нейронов в помощь .
  9. Теперь обратная передача. Мастер может передать слейвам только состояние шифтов/сабшифтов и слейв их сможет заюзать только при указании глобальности Для примера я сделал кнопку с фиксацией на левой ручке (красную) конверсия её состояния в сабшифт: Здесь обнаружился баг - сдвиг индексов сабшифтов - поэтому пока ставим со сдвигом ( SubSHIFT #2) [ пофиксено v2_16_8] Но на слейве он проявится как #1: также его можно использовать как операнд для булевых (конвертировать в кнопки) : Патч индексов будет позже - уже не успеваю. Done. fw v2_16_8 Также буду отсутствовать какое-то время . PS/ описанная конфигурация проверена на работоспособность
  10. Создать вирт. шинный девайс с нужным адресом и двумя регистрами На этом этапе Мастер уже принимает данные с двух регистров слейва: Для проверки я использовал вирт ось №7 из энкодера на левой ручке
  11. как пример - STECS мастер, GNX - слейв <-Здесь нужно взять шинный адрес слейва Далее вписать его в в настройки и все остальное: Ещё на GNX надо выбрать регистры (клик по Reg#) для передачи мастеру и сделть Button на линии 37 (No Function в дефолте): Для примера я взял 2 регистра, но можно было и все 5 Создать компаратор для обработки концевиков: Переходим к мастеру
  12. Мне передал Alex из дискорда Кнопка с фиксацией где? Остальное не вкурил. Посколько времени особо нет, хоть какой-то пример постараюсь по линку сделать.
  13. Передавать кнопки/шифты/сабшифты можно только в одну сторону (VKB-Link) Опишите хотя бы приблизительно что требуется - попробую сделать. ( Предложения актуально только сегодня ) PS/ по триммированию 6-й оси по умолчанию 6-я ось занята под переключатель STEM. Скорей всего искать надо тут, но хорошо бы видеть конфиг целиком null
  14. Можно еще долго продолжать описание функций, но смысла нет - по факту и так "аргентина-ямайка" получилась.
×
×
  • Create New...