Jump to content

VKB TECS: МОДУЛЬНОСТЬ НА ПОЛНОМ ГАЗУ


UIV

Recommended Posts

  • ED Team
20 часов назад, Aero4000 сказал:

Но, было бы неплохо иметь опцию мгновенной остановки энкодера, с этим не поспоришь. И было бы неплохо иметь динамически увеличивающийся тайминг, когда энкодер крутится быстро и/или много.

Вообще-то мгновенная остановка выдачи тиков must have, а не просто "неплохо бы иметь".  И задача эта для энкодеров достаточно типовая, насколько я понимаю. Например, в автоматизированных (или вообще в CNC) токарных станках. Там один из энкодеров связан со шпинделем* и прекрасно отрабатывает старт-стоп и смену направления вращения. А диапазон изменения оборотов там - два порядка как минимум, что гораздо больше, чем крутилка в РУД и рука вирпила.

Зная Алекса Oz по его софту заочно (и немного очно) и видя, какие вещи он способен творить - я не сомневаюсь, что он это сделает.

* Шпиндель (токарного станка например) - вал, на котором закреплён патрон, в котором закреплена деталь, которую обрабатывает резец, который закреплён на подвижной каретке (суппорте), которая движется синхронно со шпинделем, который связан с энкодером, который обеспечивает этот синхрон и выдаёт импульсы в мозги станка, который...

Men may keep a sort of level of good, but no man has ever been able to keep on one level of evil. That road goes down and down.  
Можно держаться на одном уровне добра, но никому и никогда не удавалось удержаться на одном уровне зла. Эта дорога ведёт вниз и вниз.

G.K. Chesterton

DCS World 2.5: Часто задаваемые вопросы

Link to comment
Share on other sites

21 час назад, Aero4000 сказал:

И было бы неплохо иметь динамически увеличивающийся тайминг, когда энкодер крутится быстро и/или много.

Я бы даже сказал, неплохо было бы иметь динамически меняющееся соотношение времени нажатия и паузы, таким образом, что при быстром вращении кнопка бы вообще становилась полностью нажатой, что позволило бы, к примеру, поднимать РЛС Хорнета с максимально доступной скоростью. Сейчас, такие энкодер-нефрендли инпуты управления позволяют развить только около 50% максимальной скорости изменения чего либо (рлс), по сравнению с просто нажатой кнопкой поднятия той же РЛС. Потому что время срабатывания нажатия энкодера равно времени последующей паузы.

Спойлер

13700F, 64Gb DDR5 6000 MHz, RTX4080 16Gb, 27’ QHD 75 Гц FreeSync; Windows 11; VKB STECS Max HOTAS, VKB Gunfighter MK IV+ MCG Ultimate; VKB TRudder pedals MK V; VKB UCM Stronghold holders; Wireless TrackIR.

icon summary feb 2024 500.jpg

 

Link to comment
Share on other sites

Ребята, но у нас же и сам DCS не способен воспринимать короткие импульсы от контроллера. Конечно, может не сам симулятор, а где-то в цепочке что-то не может передать симулятору. Тут прошу прощения, не силён в этом. В общем, выставляя сверх короткие паузы между импульсами, DCS просто перестаёт их воспринимать и если бы не было этой проблемы, то и не возникала некая очередь импульсов? Но однозначно, "сброс" этой очереди хорошо бы сделать опционально в контроллере.

Link to comment
Share on other sites

При тайминге 15 ms (минимально рекомендованный) не остается никакой очереди, потому что все импульсы успевают «улететь» из устройства прямо во время довольно быстрого вращения энкодера. Такой минимальный тайминг подходит для тех инпутов в игре, где команда исполнения не зависит от времени нажатия (например, листание страниц наколенника, переключение каналов радиостанций). Чуть сложнее, но пока хорошо, с теми командами, которые зависят от времени нажатия, но в которых не заложено ускорение при зажатии (например, крутилки яркости символики и FLIR в нашлемке Апача).

Характерным примером «кнопки с ускорением» можно назвать торможение колес, когда при нажатии кнопки плавно нарастают тормозные усилия. Такие кнопки часто представляют собой некий костыль, подменяющий аутентичное управление, допустим, осью. И это максимально не совместимые команды для назначения на них энкодеров или переделки оси под такие команды (с генераторами импульсов). Потому складывается парадокс порой: у тебя есть супер-джойстик с суперсофтом, есть тормозная гашетка, такая-же, какую ты видишь в кабине самолёта. Но ты не можешь сделать свою гашетку гашеткой в самолете, с нормальным пропорциональным обжатием тормозов, потому что этот самолет имеет только кнопочный тормоз в настройках управления (Су-25).

Спойлер

13700F, 64Gb DDR5 6000 MHz, RTX4080 16Gb, 27’ QHD 75 Гц FreeSync; Windows 11; VKB STECS Max HOTAS, VKB Gunfighter MK IV+ MCG Ultimate; VKB TRudder pedals MK V; VKB UCM Stronghold holders; Wireless TrackIR.

icon summary feb 2024 500.jpg

 

Link to comment
Share on other sites

Я тогда не могу понять, что же не так у VKB? С очередью, понятно, необработанные импульсы продолжают поступать после остановки энкодера. Оставим её. Есть такие параметры как длительность и интервалы между импульсами. Параметром T_Enc мы задаём длительность. Интервалы это скорость вращения энкодера. Что ещё и кто должен делать, чтобы меня устраивала работа энкодера? 

Link to comment
Share on other sites

У всех энкодеров и генераторов импульсов длительность импульса равна длительности последующей паузы. У ВКБ всё в порядке, энкодеры, я думаю, получат свои обоснованные доработки. Тот же автостоп, или чтоб цикл энкодера можно было сделать, например, 35 ms нажатие кнопки / 15 ms пауза. А DCS должен быть дружелюбен к энкодерам. Ограничения самого симулятора таковы, что их не разрешить на 100% настройками энкодеров.

Разберем пример Хорнета. 
На настоящем самолёте за возвышением антенны РЛС отвечает подпружиненная ось с возвратом в центр (спереди РУД), где степень отклонения от центра отвечает за скорость подъёма/опускания антенны. Так называемая относительная ось. ОК. В симуляторе можно назначить такую же ось. Супер. Аутентично, круто. Но, много ли РУДов на рынке, у которых есть такая подпружиненная ось, да ещё и в этом месте? Не очень. Поэтому разработчик дает возможность управлять радаром кнопками вверх вниз, реализуя это таким образом, что-бы антенну можно было двигать и точно и быстро одновременно, путем ускорения при долгом зажатии. Классно. Но. У многих хороших РУД в этом месте имеются энкодеры или абсолютные оси-крутилки, на этом же самом месте, где у Хорнета подпружиненная относительная ось. Но нечего радоваться, у нас не выйдет их адекватно использовать для управления антенной. Потому что разработчик не предусмотрел назначение абсолютной оси для радара, когда положение оси отвечало бы за угол радара непосредственно. Кнопку, как подмену, предусмотрел, ось - нет. На просьбы пользователей сделать это, ответа не нашел. 
И для VKB нарастающие просьбы сделать на STECS второй министик, спереди, а не только сбоку - не пустой звук. Гляньте, и в этом случае с Хорнетом помог бы. Ведь оси министика это и есть подпружиненные оси с возвратом в центр.

Спойлер

13700F, 64Gb DDR5 6000 MHz, RTX4080 16Gb, 27’ QHD 75 Гц FreeSync; Windows 11; VKB STECS Max HOTAS, VKB Gunfighter MK IV+ MCG Ultimate; VKB TRudder pedals MK V; VKB UCM Stronghold holders; Wireless TrackIR.

icon summary feb 2024 500.jpg

 

Link to comment
Share on other sites

On 3/14/2024 at 2:08 PM, USSR_Rik said:

Проблема обработки всех энкодеров на STECS - длинная очередь команд в памяти (точнее, память кликов полностью не очищается при останове). Т.е. крутнули ручку, остановили и несколько кликов энкодера продолжают "выстреливаться". Это же говорили и где-то в дискорде. В случае преобразования энкодера в ось - то же самое, получается "перебег" оси. Лечение длительностью импульса энкодера полностью проблему не решает, корректная обработка стопа должна делаться на уровне микропрограммы.

Очередь нажатий кнопок - это не проблема. Это, наоборот, решение для любых игр c малым фпс инпута. В DCS похоже таймер инпута на уровне 1 мс ( под нагрузкой под 100% не проверял), поэтому вполне должен справится и с короткими импульсами - а это пользователь может установить сам под конкретную игру.

И если пользователь крутанул ручку на полный оборот ( к примеру это 24 детента) - то и на выход должно уйти 24 импульса. А иначе - как? вот крутанул я энкодер на полоброта  за 50 мс. а тайминг стоит 25мс. То есть полный цикл ипульса - 50 мс. С какого перепугу надо отдать только один импульс? А так я знаю, что элемент управления где-то в игре получит 12 импульсов при любой скорости вращения. Если же мне нужен один импульс - то я и должен сделать один клик энкодером.

В аналоговом режиме никаких задержек нет - если только специально накрутить фильтр ручной.

Вот в чем я вижу проблему - это то что элементы, которые в DCS заточены под управление временем нажатия кнопки пытаются управлять числом иппульсов от энкодера, таком образом через одно место задавая это самое время.

 

Как пример - установка высотомера P51 на земле на + 1 оборот приблизительно одинаково происходит:

от одного импульса длительностью 30 сек

от пакета 119 импульсов по 252 мс

от 9 пакетов по 119 импульсов (1071 имп)  по 28 мс

 

----------

Вообщем то контроллер всегда прибавляет 4 мс к установленному времени, и выдача пакетов контроллера также 4 мс. Просто имейте ввиду - при установке 12 мс реально в среднем будет 16.

 


Edited by Alex Oz

Все знают как играть в футбол и делать джойстики.

 

 

Крайние версии прошивок и софта - здесь : http://alex-oz.strana.de/

Link to comment
Share on other sites

On 3/16/2024 at 2:12 PM, Aero4000 said:

Тот же автостоп, или чтоб цикл энкодера можно было сделать, например, 35 ms нажатие кнопки / 15 ms пауза.

Ну тут похоже вообще паузу для DCS надо убирать. То есть это будет совсем не классический энкодер в данном случае.Потому что паузы уменьшают среднее время воздействия для тех функций, которые управляются временем. Только это уже не энкодер, а просто детектор направления вращения получается - пока крутим - держим уровень и никаких импульсов. Тайминг энкодера будет задавать как бы минимальную скорость вращения, при которой держится уровень. Я так понимаю решение этой проблемы.


Edited by Alex Oz

Все знают как играть в футбол и делать джойстики.

 

 

Крайние версии прошивок и софта - здесь : http://alex-oz.strana.de/

Link to comment
Share on other sites

10 часов назад, Alex Oz сказал:

Ну тут похоже вообще паузу для DCS надо убирать. То есть это будет совсем не классический энкодер в данном случае.Потому что паузы уменьшают среднее время воздействия для тех функций, которые управляются временем. Только это уже не энкодер, а просто детектор направления вращения получается - пока крутим - держим уровень и никаких импульсов. Тайминг энкодера будет задавать как бы минимальную скорость вращения, при которой держится уровень. Я так понимаю решение этой проблемы.

 

Ну как то так, получается. Только такой энкодер, пока крутится медленно, должен оставаться обычным энкодером. Наверное.

Спойлер

13700F, 64Gb DDR5 6000 MHz, RTX4080 16Gb, 27’ QHD 75 Гц FreeSync; Windows 11; VKB STECS Max HOTAS, VKB Gunfighter MK IV+ MCG Ultimate; VKB TRudder pedals MK V; VKB UCM Stronghold holders; Wireless TrackIR.

icon summary feb 2024 500.jpg

 

Link to comment
Share on other sites

Mode.jpg

Добавил селектор Mode

STD : стандартный энкодер

GT+ : режим с очередью  без пауз - формирует общий импульс равный  текущей длине очереди

GT1 : режим одного импульса, в течение которого очередь обнуляется.

Как и параметр Tx10mS, действует только на выбранный энкодер.


Edited by Alex Oz
  • Like 1
  • Thanks 1

Все знают как играть в футбол и делать джойстики.

 

 

Крайние версии прошивок и софта - здесь : http://alex-oz.strana.de/

Link to comment
Share on other sites

Афигеть! Комбинация GT+ с таймингом 50...60 Позволяет управлять РЛС Хорнета точнее, чем кнопками -=, но все так же быстро, стоит быстрее крутнуть энкодер, сформировав очередь импульсов на физическом уровне. Пару минут на привыкание и подбор тайминга, и вот ты уже по ковбойски вертишь антенной, интуитивно/машинально покручивая энкодер мизинцем!!! Я думаю, это лучший на данный момент способ управления конкретно этой штукой на конкретно этом самолете. Браво!

Единственное, расширенные настройки энкодера перестают оторбражаться при каждом новом запуске конфигуратора (99.5), хотя энкодеры работают как задумано. Надо текущий .cfg загружать - тогда появляются снова.

 

Screenshot 2024-03-18 185249.png

Screenshot 2024-03-18 185503.png

Спойлер

13700F, 64Gb DDR5 6000 MHz, RTX4080 16Gb, 27’ QHD 75 Гц FreeSync; Windows 11; VKB STECS Max HOTAS, VKB Gunfighter MK IV+ MCG Ultimate; VKB TRudder pedals MK V; VKB UCM Stronghold holders; Wireless TrackIR.

icon summary feb 2024 500.jpg

 

Link to comment
Share on other sites

3 hours ago, Aero4000 said:

Единственное, расширенные настройки энкодера перестают оторбражаться при каждом новом запуске конфигуратора (99.5), хотя энкодеры работают как задумано. Надо текущий .cfg загружать - тогда появляются снова.

не нашёл

Все знают как играть в футбол и делать джойстики.

 

 

Крайние версии прошивок и софта - здесь : http://alex-oz.strana.de/

Link to comment
Share on other sites

13 минут назад, Alex Oz сказал:

не нашёл

Перестало проявляться, когда все устройства с отдельными контроллерами перешил на 2_17F, а не только STECS

Спойлер

13700F, 64Gb DDR5 6000 MHz, RTX4080 16Gb, 27’ QHD 75 Гц FreeSync; Windows 11; VKB STECS Max HOTAS, VKB Gunfighter MK IV+ MCG Ultimate; VKB TRudder pedals MK V; VKB UCM Stronghold holders; Wireless TrackIR.

icon summary feb 2024 500.jpg

 

Link to comment
Share on other sites

Протестил под нагрузкой проца под 80% (+OCCT) на экстремально коротких импульсах (~ 12 mS)

r.jpg

Тулза показала около 30 сек общего времени для 2499 импульсов , высотомер накрутил чуть более оборота.

 таймер ввода 2 mS.

Расхождения в рамках погрешностей измерений, можно оценить, что подсистема инпута DCS имеет таймер не хуже 1-2 mS - что очень круто для игр.

Для более реальной оценки надо иметь инструментарий на уровне 100  микросекунд, но во первых у меня такого нет, во вторых -  и не требуется такая ловля блох.


Edited by Alex Oz
  • Like 1

Все знают как играть в футбол и делать джойстики.

 

 

Крайние версии прошивок и софта - здесь : http://alex-oz.strana.de/

Link to comment
Share on other sites

Блин, а у меня пошло что-то не так. Скачал я новые прошивки от вчерашнего числа, запустил VKBDevCfg-C.exe, далее хотел прошить STECS и NXT с SEM модулем. STECS прошился нормально, всё как обыxно. Но вот NXT ... .

В общем, после перепрошивки STECS, посмотрел я наличие новых параметров и приступил к прошивке новых устройств. Сначала в VKBDevCfg-C_v0.92.98.5 со старой прошивкой для NXT стал джой отображаться как NJoy32, но джой при при подключении просто стал гаснуть. Всё что я до этого делал, запускал прошивальщик ZBootloader2, но не выбирал прошивку и не нажимал на SexIT, или как там эту кнопку называют, не помню. В общем, закрыл ZBootloader2 до перепрошивки и выбора файла прошивки. ВАЖНО, ПРОШИВКУ Я НЕ НАЧИНАЛ ))) В итоге, теперь не операционная, ни VKBDevCfg не видит контроллера. Хотя, ещё утром он определялся как NJoy32.

Думаю, что нужно в мануале найти как сбросить контроллер к заводским и перепрошить заново. Ну, или на крайний случать ввести в режим FASTBOOT и заллить прошивку заново. Если не прав, пока не полез в мануал и не натворил чего, поправьте пожалуйста.

Ах, да, у меня VKBDevCfg-C_v0.92.98.5 стал блокировать фаервол виндовский и удалять как вирус. Хотя предыдущую версию не удаляет 🤪


Edited by HeXa4yPa6oTaTb(Юрий)
Link to comment
Share on other sites

1 час назад, HeXa4yPa6oTaTb(Юрий) сказал:

Сначала в VKBDevCfg-C_v0.92.98.5 со старой прошивкой для NXT стал джой отображаться как NJoy32

Так и должно быть, стоит лишь выбрать устройство с красивым полным именем в списке, в лоадере. Оно превращается просто в безымянный Njoy32, его и надо шить, не глядя на всякие лампочки.

Спойлер

13700F, 64Gb DDR5 6000 MHz, RTX4080 16Gb, 27’ QHD 75 Гц FreeSync; Windows 11; VKB STECS Max HOTAS, VKB Gunfighter MK IV+ MCG Ultimate; VKB TRudder pedals MK V; VKB UCM Stronghold holders; Wireless TrackIR.

icon summary feb 2024 500.jpg

 

Link to comment
Share on other sites

4 минуты назад, Aero4000 сказал:

Так и должно быть, стоит лишь выбрать устройство с красивым полным именем в списке, в лоадере. Оно превращается просто в безымянный Njoy32, его и надо шить, не глядя на всякие лампочки.

Ну пусть должно быть, ладно. Хотя, только что я прошивал STECS и было чуть иначе. Но вопрос не в этом ))) Сейчас вообще, не видит джой ни ZBootloader2, ни VKBDevCfg, Windows видит как неизвестное устройство. В приложениях выше, вообще, пустота в зонах, где можно что-то выбрать )

А, ну и да, NXT+SEM зависает при любом обращении к нему. А так, даже индикация работает исправно )

Link to comment
Share on other sites

Сегодня случайно обнаружил, что появилось обновление для VKBDevCfg-C, скачал, запустил, Windows перестала ругаться на вирус и удалять файл. А главное, мой мёртвый NXT+SEM стал опознаваться программой и программой ZBootloader2. Обновил прошивку на _Gladiator_NXT_v2_17_F.vkb, прошивальщик написал, что всё успешно прошилось, но джойстик снова погасил индикацию и не определяется ни чем. Любопытно, что он снова не виден нигде из программ и в системе. Перезагрузка джойстика по питанию, вроде бы живой, но как-только что-то его опрашивает, снова гаснет индикация и ничего его не видит. Посоветуйте пожалуйста, к кому можно обратиться, или что-то может сам смогу сделать? Спасибо.

Всё заработало после повторной прошивки. Перезагрузил джой и пока он был не зависший, прошил его повторно. Всё заработало и не зависает.


Edited by HeXa4yPa6oTaTb(Юрий)
Link to comment
Share on other sites

  • ED Team
В 18.03.2024 в 17:55, Alex Oz сказал:

Добавил селектор Mode

Работает, спасибо. Но в случае маппинга как триммер есть проблема: докручиваем ось до насыщения и прокручиваем энкодер ещё дальше. Теперь крутим энкодер назад - ось остаётся на максимуме (или в нуле), пока энкодер не прощёлкает все "лишние" тики. Или я что-то не так навертел (вторая картинка)?

И ещё проблема (опять таки, не уверен, что мой конфиг корректен) - энкодер передает тики из физического уровня в логические кнопки только если выбран Virt. Если выбрать 1/4, 2/4 и так далее - я не вижу тестером этих кликов на логическом уровне (первая картинка). Исключение - многофункциональный энкодер на ATEM, тот у меня почему-то работает как надо.

df2cc-clip-54kb.png

63513-clip-57kb.png

Men may keep a sort of level of good, but no man has ever been able to keep on one level of evil. That road goes down and down.  
Можно держаться на одном уровне добра, но никому и никогда не удавалось удержаться на одном уровне зла. Эта дорога ведёт вниз и вниз.

G.K. Chesterton

DCS World 2.5: Часто задаваемые вопросы

Link to comment
Share on other sites

39 minutes ago, USSR_Rik said:

Работает, спасибо. Но в случае маппинга как триммер есть проблема: докручиваем ось до насыщения и прокручиваем энкодер ещё дальше. Теперь крутим энкодер назад - ось остаётся на максимуме (или в нуле), пока энкодер не прощёлкает все "лишние" тики. Или я что-то не так навертел (вторая картинка)?

MPL оси триммера должен быть 8 либо при других значениях её надо калибровать

image.png

Все знают как играть в футбол и делать джойстики.

 

 

Крайние версии прошивок и софта - здесь : http://alex-oz.strana.de/

Link to comment
Share on other sites

  • ED Team

Да, калибровка решила, спасибо

  • Thanks 1

Men may keep a sort of level of good, but no man has ever been able to keep on one level of evil. That road goes down and down.  
Можно держаться на одном уровне добра, но никому и никогда не удавалось удержаться на одном уровне зла. Эта дорога ведёт вниз и вниз.

G.K. Chesterton

DCS World 2.5: Часто задаваемые вопросы

Link to comment
Share on other sites

В 18.03.2024 в 17:55, Alex Oz сказал:

Добавил селектор Mode

STD : стандартный энкодер

GT+ : режим с очередью  без пауз - формирует общий импульс равный  текущей длине очереди

GT1 : режим одного импульса, в течение которого очередь обнуляется.

Как и параметр Tx10mS, действует только на выбранный энкодер.

Спасибо большое за проделанную работу и за обновление в мануале. Не особо трудно разобраться, а главное, вроде бы всё работает.

Жалко только, что убрали функцию переключателя у кнопок (забыл как она точно называется) Там то можно было разобраться легко, а с MCounter пришлось повозиться. Было бы здорово,  если бы входящие сигналы типа сброса и реверса можно было выбрать отсутствие, выбор типа "None". Но это уже придираюсь. Спасибо огромное за проделанную работу ещё раз.

Link to comment
Share on other sites

Согласен, выбирать несуществующий булевский или неиспользуемую кнопку хоть и рабочий вариант, но не самый корректный. Но там 3 бита на входы с версии XT, расширение приведет к несовместимости. Пока не придумал как разрулить.

FLASH не бесконечный, поэтому приходится вырезать дублирующие устаревшие функции ( так понимаю речь про CSW/RSW) - тут сорри, но приходится оптимизировать.

 


Edited by Alex Oz

Все знают как играть в футбол и делать джойстики.

 

 

Крайние версии прошивок и софта - здесь : http://alex-oz.strana.de/

Link to comment
Share on other sites

А ни кто свой STECS не собирался дорабатывать? Я о том, чтобы при несильной затяжке РУДов они не падали. Я не знаю как у всех, но на моих приходится затягивать довольно плотно и это не совсем устраивает лично меня. На тех же вертолётах хотелось бы сильно легче сделать затяжку.

В общем, разобрал я свой РУД и там прям много вариантов для модернизации. Кто-то что-то уже смотрел может быть? Разбирал?

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...