Jump to content

Alex Oz

Members
  • Posts

    124
  • Joined

  • Last visited

Everything posted by Alex Oz

  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. Можно еще долго продолжать описание функций, но смысла нет - по факту и так "аргентина-ямайка" получилась.
  15. По STECS - всякая полезная и не очень информация здесь.
  16. Совершенно не знаком с софтом Virpil, посему очень интересно узнать, как там реализуются следующие пожелания реальных пользователей: 1. Цитата с другого форума , вопрос там повис без ответа: 2. Штатно для министика на ручках MCG есть переключение режимов оси ( абсолютные/ относительные - Хатка, для относительных осей - сброс, способы переключения режима - от простой фиксации, Tempo, глобальными шифтами/сабшифтами ) 3. Не так давно была высказана хотелка иметь более сложную модель управления министиком - ввести в дело кнопку (Pinky) - SHIFT Смысл мода такой: когда министик находится в аналоговом режиме, нажатие кнопки Pinky переводит министик в режим управления мышью. В режиме хатки - модификатор SHIFT не влияет. Даже не потребовалось что-то изобретать - все реализуется штатными средствами И да, для всех трех режимов - настройки МЗ министика должны быть свои. 4. Ещё одна пользовательская хотелка - на STECS управлять кривыми для министика с помощью галетника на базе (5 позиций) т.е. 5 разных кривых, переключаемых на лету. 5. Был еще запрос как сделать из одного министика несколько переключаемых хаток - ну это вообще на уровне ясельной группы. Надеюсь, не составит труда показать вышеперечисленное на примерах реализации.
  17. Теоретически да. При определенных знаниях и навыках можно даже подключить BB к STECS хардварно как внешнее устройство. Но лучше пробовать через VKB-Link. Скорей всего для общего воркспейса не потребуется передавать очень много регистров. Смотреть надо по железке/задаче.
  18. Use firmware NG - configurator will change( Note: NG differs in many respects from the usual version ) PS: profiles was created for GF with MCG PRO
  19. ​Ok, let's see. Pre-enable the virtual keyboard: 1 profile - simple but not correct way: GF MCG uSwitch F1F2 (1).zip There is a potential loss of synchronization between ButAlt mode uSSw and RT. 2 profile - uses only one element RT to memorize the state:​ GF MCG uSwitch F1F2 (2).zip The easiest and most elegant way is to use NG version GF MCG uSwitch F1F2 NG.zip GF MCG uSwitch F1F2 (2).zip GF MCG uSwitch F1F2 NG.zip GF MCG uSwitch F1F2 (1).zip
  20. Use fw _BlackBox_GF(MK2)_MULTIDEVICE_v2_01_0 NG. Сalibrate all profiles before use. Reconnect the joystick after changing grip.
  21. NG version have more precise special A2B function - dual threshold comparators:
  22. Additional A2B Hint - how to add Upper & Lower Limit swithes (buttons) to axis:
×
×
  • Create New...