Jump to content
VictorUs

Программирование джойстиков от VKB

Recommended Posts

Теперь один энкодер управляет разными группами цифр. Возможно и 3-в-1.  Замечательно:dance:

Share this post


Link to post
Share on other sites

При этом не теряется центральная кнопка энкодера.

  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)

После обновления прошивки замнтил странное, вроде не кажется: левая хатка на голове mcg стала работать чуть иначе, положения влево и вправо стали занимать меньшее пространство на всей окружности, то есть значения стали быстрее перескакивать на влево-вверх и влево-вниз при кручении в крайних положениях.

Надеюсь понятно объяснил.

Такое может быть? и регулируются ли эти секторы?

Спасибо.

Edited by Funk

Share this post


Link to post
Share on other sites
Posted (edited)
11 часов назад, Funk сказал:

левая хатка на голове mcg стала работать чуть иначе

Скорее всего это из-за калибровки (после прошивки нужно в обязательном порядке провести калибровку подвигав все оси на максимальный диапазон). После калибровки, думаю, скорость восстановится (при калибровке происходит подстройка диапазона электроники под размах механики и при этом скорость движения ползунка положения на оси снижается до такой, какой она и должна быть, чтобы отсчёты снимались равномерно, правильно и на весь диапазон).  КАЛИБРОВКА ОЧЕНЬ ВАЖНА для GF! 

 

ЗЫ: на вкладке "ТЕСТ" при запуске первоначальной калибровки (если что-то меняли/разбирали и она не запускалась ранее) невооруженным взглядом видно как при движениях ручки ползунок оси быстро снижает свою скорость при движении от первоначальной. Сам несколько раз попадался на эту "удочку" - смотрю чёт самолет за ручкой очень резко ходит стал (в два раза быстрее), ясно - калибровка...

Edited by 72AG_Olega

Share this post


Link to post
Share on other sites

Для этого не нужно и в Test заходить - могу со 100% уверенностью сказать по скриншоту из Axes - если там KdHi и KdLo = 255 (=не калиброванный) - у вас будет супер-чувствительный стик (или микростик).

  • Upvote 1

Share this post


Link to post
Share on other sites

Еще Мертвую Зону в настройках на министика посмотреть.

  • Upvote 1

Share this post


Link to post
Share on other sites
3 минуты назад, -DED-Ron сказал:

Для этого не нужно и в Test заходить - могу со 100% уверенностью сказать по скриншоту из Axes - если там KdHi и KdLo = 255 (=не калиброванный) - у вас будет супер-чувствительный стик (или микростик).

Test - это единственное место где можно наблюдать это изменение скорости визуально...😉

Share this post


Link to post
Share on other sites

да, на калибровке повертел хатку и лучше вроде стало

Share this post


Link to post
Share on other sites
3 часа назад, Funk сказал:

да, на калибровке повертел хатку и лучше вроде стало

Хатка это министик... мини джойстик с осями и конечно его нужно колибровать ))) . 

Share this post


Link to post
Share on other sites
21 час назад, Zorik79 сказал:

Хатка это министик... мини джойстик с осями и конечно его нужно колибровать ))) . 

 

Понимаю, забыл про него прикалибровке. А центральная верхняя хатка тоже осевая забыл?

Share this post


Link to post
Share on other sites
Posted (edited)
1 час назад, Funk сказал:

 

Понимаю, забыл про него прикалибровке. А центральная верхняя хатка тоже осевая забыл?

 

Конечно , думаю так будет понятнее ( см. картинки).



0001.jpg



00022.jpg



MCG_POV.jpg

  1. небольшой пример, определяем хатки и оси:
    Master Mode (красная): всегда хатка (4 позиционная) - 2 контроллер 2 и 3 оси
    Gate Cont - Хатка (8 позиционная)/ Оси на 1м контроллере 3 и 4 оси ( их мы кстати настраиваем в разделе "оси")
  2.  Master Mode  - прописан в первых 2 ячейках, 3-я и 4-я - Gate Cont ( всегда как я понял).

 

На ГФ : оси министиков цепляйте к 1-му контроллеру . 
у меня частный случай : т.к. на Fat Mamba оси заняты: пришлось  воспользоваться 2 контроллером 

Edited by Zorik79

Share this post


Link to post
Share on other sites

Возможно ли самому задать скорость возвращения оси к центру при использовании функции TrimmerAuto+ после отжатия кнопки?

Насколько я понял, она задана в каком-то соотношении к параметру Multiplier.

Share this post


Link to post
Share on other sites

1:1, поменять самому нельзя. А надо?

Share this post


Link to post
Share on other sites
Posted (edited)

После обновления педалей (T-rudder MkIV) до версии 1.96.F возвращение в центр стало намного медленнее самого нажатия.

В профиле выставлены BrakeV3 вместо BrakeV на обеих осях тормозов и Multiplier триммера 32x вместо 64x. В остальном профиль дефолтный.

Версия T-Link - 0.7.2.

Гифка:

Скрытый текст

QqIJqIg.gif

Edited by FurryTaco

Share this post


Link to post
Share on other sites

-есть такое, "буду посмотреть".

  • Thanks 1

Share this post


Link to post
Share on other sites
Posted (edited)

Посмотрите  v1_97_3

-----------------------

Кроме того, добавлен параметр соотношения скоростей спада к нарастанию  функции автотриммера (Tr..Auto Rate)

1:X ускоряют спад, X:1 замедляют

image.thumb.png.8a8f3672c9554f06a4618bf037a1dac2.png

 

PS/ В NG версии этот параметр введен непосредственно в настройки функции.

Edited by Alex_Oz
  • Thanks 3

Share this post


Link to post
Share on other sites

Попробовал прошиться, выдает ошибку "file is corrupt, operation break".

Шил версию _BlackBox_MK2_TRudder_v1_97_3.vkb

Share this post


Link to post
Share on other sites

Выложил повторно ( v1_97_3 _)

  • Thanks 2

Share this post


Link to post
Share on other sites
Posted (edited)
5 минут назад, Alex_Oz сказал:

Выложил повторно ( v1_97_3 _)

Прошился успешно, все ок, соотношение скоростей работает. Спасибо! 

Edited by FurryTaco

Share this post


Link to post
Share on other sites

Аналогично.Все отлично.Спасибо большое!

Share this post


Link to post
Share on other sites

Добрый день, подскажите как расход оси перенастроить. Сделать  при движение ручки руда до середины допустим от 100 до 75 процентов, а далее до 0...

Share this post


Link to post
Share on other sites
Posted (edited)

Здравствуйте, попробуйте кривую вроде такой (выбрать для нужной оси):

Eq.jpg.eb4b4cb3de0492652bb66985c152bc67.jpg

(+ чекбокс  Eq в физике нужной оси)

Edited by Alex_Oz

Share this post


Link to post
Share on other sites

NG

 

AdvMapping.jpg.121257d26b2c598c265798a366f1a51b.jpg

 

Virt_llayer.jpg.fb9aced6a15c233673b98bcef0b80e93.jpg

 

Tempo.jpg.667ec4990584eaf33d87bca537a5e4e8.jpg  Shift-gEN.png.5d2be521e5646af6b4187dc7ba060edb.png

 

Можно пробовать..

 

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites

Добавлена возможность объединения Ext.Devices в альтернативные  группы.

 

Alt.group1.jpg.25c11feb87bc75b2222f8b694cb2027a.jpg

 

Alt.group2.jpg.11302957a530a2fbf429d69632d2638a.jpg

Номер назначенной группы добавляется в заголовок вкладки внешнего устройства [N].

Альтернативные девайсы имеют разные шинные адреса (собственно в этом и смысл) - но идентичны по остальным параметрам.

Это дает возможность подключения левых/правых ручек/баз с разными адресами - но с одинаковой  конфигурацией.

 

При старте контроллера при обнаружении одного устройства из группы оно становится активным и в дальнейшем обмен происходит только с ним.

Соответственно не возникает события BUS Error (LED Event) - это считается штатной ситуацией при отсутствии парного устройства.

 

На вкладке тест Альтернативные группы также обозначаются цифрами:

Alt.group_Test.jpg.9d48e2e392729484d44e341153b3decc.jpg

  • Like 1

Share this post


Link to post
Share on other sites

Некоторые изменения в AUX Axes ((VKBDevCfg-C_v0.90.51 / fw v1_97_6):

 

Манипуляции с осями  - в соответствии с пиктограммами:

 

Swap.jpg.652e6a5ba33be15f2e1fc63e09b18716.jpg        Remap.jpg.80cacf74ca3f4569d7156a0d0004b0ba.jpg     Switch.jpg.7d4c680b85228b06d267a4b1dbc28399.jpg     Inv.jpg.777ea11f8660d0eca667f0a9d4eb0b73.jpg

 

 

 

 

 

 

  • Like 2

Share this post


Link to post
Share on other sites
03.07.2019 в 15:09, -DED-Ron сказал:

Теперь один энкодер управляет разными группами цифр. Возможно и 3-в-1.  Замечательно:dance:

 

04.07.2019 в 13:25, -DED-Ron сказал:

При этом не теряется центральная кнопка энкодера.

 

 

Интересно. А где почитать о настройках?

Share this post


Link to post
Share on other sites
Posted (edited)

del

 

 

 

 

 

 

 

 

 

 

 

 

 

Edited by VictorUs

Share this post


Link to post
Share on other sites
Posted (edited)

 

 

30.07.2019 в 07:36, Alex_Oz сказал:

Некоторые изменения в AUX Axes ((VKBDevCfg-C_v0.90.51 / fw v1_97_6)...  

 

Как это использовать в мирных целях.

Есть простейшая самоделка. Пара энкодеров и несколько тумблеров/кнопок. Энкодеры работают осями. На Ла-5 входные/выходные створки регулировать. Первые три оси отданы МАРСам - для педалей. Пять осей виртуальные. Две (4 и 5) отданы энкодерам. Три оси свободны.

Скрытый текст

axes.jpg.d2306ccb47fa93970425cb9e06622740.jpg

Функция Switch позволяет сформировать оси "из ничего". 

Назначаем на кнопку функцию Switch.

Скрытый текст

BMW_switch.jpg.ca2a6e0249a4391f3f6699fa93732944.jpg

Виртуальная ось 5, работающая от энкодера, будет переключаться на совсем уж виртуальную 6. Alternate action - кнопка будет работать как триггер. Повторное нажатие выполнит обратное переключение. Более того. Аналогично можно назначить эту же функцию на другую кнопку. Эту же ось 5 переключать на ось 7. Как оно работает. Сместил ось 5. Нажал кнопку. Ось 5 осталась в текущем положении, крутится ось 6. Нажал кнопку повторно - 6 зафиксировалась, откликается 5. Нажаты обе кнопки - ось 5 стоит, работают 6 и 7.

Главное -не перепутать, что включено. Для этого можно использовать индикацию. 

Это уже на примере другой самоделки, хотя методика абсолютно одинакова. К ней (самоделке) подключена лента RGB светодиодов. Можно заставить работать и штатные светодиоды, например BlackBox. В чем сложность? В том, что кнопка работает в альтернативном режиме. Штатные события, отображаемые индикацией, это физические нажатия кнопок. Механизм не знает, что линия кнопки продолжает быть в сработанном состоянии после того, как ее отпустили. Будем использовать самый простой вариант - Булевы функции. Поговаривают, что в скором времени появится еще более простой способ, но пока повеселимся).

Скрытый текст

RMP.jpg.96f9e12865dafa6c7ad652fd5c749087.jpg

Возьмем совсем неиспользуемую линию, здесь №77, и назначим на нее Булеву функцию RT триггер. Как указано в руководстве пользователя "Состояние кнопки-триггера изменяется при каждом нажатии на кнопку Operand 2. Это происходит только в том случае, если кнопка Operand 1 не нажата. Если она нажата, то состояние кнопки-триггера не будет изменяться при нажатиях кнопки Operand 2. Если при нажатии кнопки Operand 1 кнопка-триггер была нажата, то ее состояние изменится на противоположное."

Operand 1 = Off. Нам не надо перекидывать триггер. Operand 2  - физическая линия №64, та самая, сработавшее состояние которой необходимо отобразить.

Скрытый текст

BMW_RT.jpg.319192824fe3c252d501b0101496da68.jpg

Откроем вкладку Logical Buttons и, отключив Automapping, назначим кнопке 77 ту же самую №64.

Скрытый текст

QLW_RT.jpg.67dc57481dea8fe6b1bc3e1cf0d2a698.jpg

Теперь необходимо, собственно, настроить работу индикатора. На вкладке External - LEDs Выберем событие Logical Button, назначим ее номер  - 64. Нужно, конечно, задать номер LED и параметры его свечения.

Скрытый текст

LEDs.jpg.d76b06f25ad2be6fb11cbde7a35b0ef8.jpg

Теперь кнопку с альтернативной функцией можно нажать и отпустить. Функция будет включена и об этом - до следующего нажатия кнопки - будет свидетельствовать LED. Для функции Switch он покажет, какая ось работает.

На представленных картинках, однако, линия №64 имеет функцию Remap. Зачем она? В самоделке 2 рычага от Мастера Dvik используются для управлением RPM и Throttle поршневых самолетов. Совсем в другой галактике, там, где можно сесть на палубу Кузнецова, они управляют двигателями МиГ-33. Какой бы качественной ни была механика (даже при жесткой сцепке рычагов), какими точными не были бы датчики МАРС ВКБ, может возникнуть разнотяг. Это очень нежелатедьно, когда палуба приближается со скоростью 260 км/час. Функция Remap позволяет синхронизировать отклики двух осей от одного рычага.

Скрытый текст

BMW_rmp.jpg.c920b0d115fd983e5e50d6b74a112b90.jpg

В данном случае рычаг оси 2 будет управлять и осью №1. Функция имеет Alternate actionи рассмотренный способ индикации для нее так же важен.

Чтобы управлять индикацией состояния линии с рассмотренной функцией Switch просто необходимо в качестве параметров задать свои номера линий. И еще замечание. При использовании Remap рычаг оси Target никакого воздействия на свою ось не оказывает. Рекомендую, тем не менее, перемещать его вместе с вторым рычагом. Чтобы не возник неожиданный рывок этой оси при выключении Remap.

Edited by VictorUs
  • Like 4
  • Thanks 4

Share this post


Link to post
Share on other sites
Posted (edited)

Для NG версии добавлен LED Event Alternate Function :

 

image.png.1d55db9f599f6b90119d28996d994508.png

 

 

Событие отслеживает фиксацию Alternate Action для разных функций с такой опцией ( кроме фиксаторов осей FA_X - для них есть свое событие )

 

image.png.f1782392c3b678bdc23dc512d0e56d76.png  image.png.1bc35feb6082e4c6ede0f77b097141ae.png

 

и т.п.

 

В качестве параметра OP1 задаётся номер линии (кнопки).

 

Edited by Alex_Oz
  • Like 3
  • Thanks 1
  • Upvote 1

Share this post


Link to post
Share on other sites
Posted (edited)

VKBDevCfg-C_v0.90.55 - сделан  запуск  на мультимониторных конфигурациях ( теперь стартует на том мониторе, где был закрыт)

 

Edited by Alex_Oz
  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)

@Alex_Oz

все спрашивают в основном о «железках», хотел спросить  о планах ПО :
NG это параллельный проект или он всё-таки заменит когда нибудь 1.9x и т.п?
и какое основное отличие NG от текущей версии ? К тому же разрабатывать 2 ПО параллельно это 2я нагрузка. 
Стоит ли нам ждать сюрпризов в будущем. Ранее Вы писали что с LCD панелями вроде как не получается (надеюсь покаместь ). 

Edited by Zorik79

Share this post


Link to post
Share on other sites
Posted (edited)

Лет 5 назад, когда появились первые мысли по версии 2.0 - основной идеей был доступ к программированию "промежуточного" виртуального уровня. По большей части это реализовано (см выше). По умолчанию этот уровень отключен - присутствуют только традиционные Physical/Logical уровни.

 

Также из глобального изменился концепт параметров - они разделены на два блока - Basic и Profile. Basic отвечает непосредственно за всё что связано с железкой (вводом-выводом),  Profile - за все виртуальные преобразования.

Такой концепт позволяет менять профиль (на лету). Это позволяет хранить до 9 профилей при одном блоке Basic.

Профили можно менять через ZLink2 (описание есть в этой ветке ранее)

 

Увеличено количество обрабатываемых осей до 32 ( ко всем осям есть явный доступ для конфигурирования - ранее в некоторых случаях "лишние" оси ручки MCG приходилось прикручивать изолентой через неявные оси второго виртуального контроллера).

 

В принципе можно все 32 оси вытащить на один HID-контроллер - и пользовать в XPlane. Возможно через 20-30 лет это будет доступно и в других современных  симах с боевой авиацией.

Для реалий сегодняшнего дня можно эти 32 оси разделить на 4 виртуальных контроллера (описание есть в этой ветке ранее).

 

Изменился концепт использования кривых -  их осталось 8, но 1 кривую можно использовать для любого количества осей.

Это удобно в случае однотипных контролов - например на два миростика ( 4 оси) достаточно 1 кривой.

 

В дополнение к A2B добавлен функциональный блок двухуровневых аналоговых компараторов (8).

 

Изменился формат некоторых данных, в частности по линиям ввода (кнопкам) - это дало возможность увеличить вдвое  потенциально доступных функций и расширить их функционал ( посмотреть можно здесь  ).

 

Булевские функции переехали в свой отдельный блок параметров и более "не едят" пространство входных линий. Кроме того их состав расширился, появились трехвходовые элементы, набор входов также увеличен ( физ. /вирт/ лог линии, шифты/сабшифты  , компараторы).

image.png.aff375f120ea215cb2fb53003cb1aed8.png   image.png.49ac4aef2091b94eb0c5993347a950c5.png и т.п.

 

Выход любого элемента можно вывести на виртуальный либо физический уровень - таким образом необходимость в классическом "джампере" отпала - его роль с успехом выполняет одновходовый повторитель (либо инвертор - по необходимости)

image.png.e0f60b09d4a7e4a3fa3cc90b9b2393a9.png

 

Если не вдаваться далее в подробности, то на этом можно и ограничится.

 

На данный момент проект параллельный ( 2-в-1), в будущем он должен будет заменить обычную версию.

 

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

 

Как-то так ¯\_(ツ)_/¯

 

Edited by Alex_Oz
  • Like 2
  • Thanks 2

Share this post


Link to post
Share on other sites
08.08.2019 в 13:00, Alex_Oz сказал:

Для NG версии добавлен LED Event Alternate Function :

Событие отслеживает фиксацию Alternate Action для разных функций с такой опцией ( кроме фиксаторов осей FA_X - для них есть свое событие )

и т.п.

Это неспортивно!:fly:

https://youtu.be/F_UFps3hMiE

  • Haha 1

Share this post


Link to post
Share on other sites
10.08.2019 в 02:31, Alex_Oz сказал:

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

 

жаль...

в принципе, современные виртуальные кокпиты очень хорошо прорисованы, и работашь в основном там. А в VR - только там.

Но даже для VR (особенно - для нынешних с довольно убогой детализацией картинки) LCD-панели были бы полезны: в VR нихрена не видно, что изображено на некоторых важных индикаторах. Особенно это касается стралочных индикаторов частот на советских ЛА...

 

Share this post


Link to post
Share on other sites
Posted (edited)

 

Дополнение:

 

Кнопкой PUSH энкодера удобно шифтить вирткальные энкодеры через циклический свич CSw.

Но эта кнопка в простом варианте применения (прямое назначение свича CSw) бесполезно теряется для сима.

Очевидный способ возвратить её функциональность - использовать ТЕMPO.

 

image_2019_08_12T17_14_13_294Z).thumb.png.1d77af43afbad1f68a413fa74731e3b6.png

 

Выход "короткого" нажатия (V16) коннектим на первые входы  элементов 2AND. Вторые входы этих элементов соединяем с виртуальными выходами циклического переключателя Cs#2. Вход этого переключателя джампером V121-P122 подключен к "длинному" выходу TEMPO (V121).

 

В итоге: по "короткому" нажатию - нажимаются кнопки V115-117 в зависимости от состояния переключателя CS. Это состояние меняется "длинным" нажатием на кнопку.

Одновременно "шифтуется" родительский энкодер по этому же переключателю. Ну и  индикацию привязять для полноты картинки.

 

Если не надо иметь выход на три кнопки - всё значительно упрощается.

 

PS - NG(!)

 

 

 

 

Edited by Alex_Oz
  • Like 3

Share this post


Link to post
Share on other sites
Posted (edited)

По мотивам вышесказанного.

 

По факту комбинация булевских 2AND - это классический демультиплексор. Для вторых входов 2AND пришлось использовать явные вирт. кнопки переключателя CSw.

Если же использовать внутренний счетчик CSw в качестве адресной шины демультиплексора - нет проблем сделать новую функцию и упростить всю эту историю.

 

Функция BCS (Button demultiplexed by Cyclic Switch).

BCS.jpg.6d08ad2b7ae2b1bc4a51c1b6d9cedf62.jpg 

 

Вход демультиплексора - его основная линия ( кнопка), адрес (и количество) выходных линий функции задает связанный номерной переключатель CSw :

 

CSw.jpg.128c0844d01785835855990ae73c19a6.jpg

В данном случае нет необходимости в наличии у него выходных виртуальных линий ( No VB).

 

В случае с предыдущим примером  получится приблизительно такая история:

Demux.thumb.jpg.4d5fc11beb8c884eec435d68c4e0815e.jpg

 

Всё та же функция TEMPO уходит двуми концами на джамперы - но теперь их осталось всего два

Boolean.jpg.0bd8092add8eecc0253d87e49d092d5a.jpg

 

Джамперы связывают TEMPO c входом демультиплексора BCS (V8-P122) и переключателем CSw (V121-P123).

 

Итого: размножение на 8 линий одной короткой кнопки TEMPO в зависимости от состояния переключателя CSw ( управляемого длинной кнопкой) - хотя по факту используется всего одна физическая кнопка.

 

PS: fw NG v1.97.8 / cfg v0.90.56

 

PPS Попутно есть изменения по настройкам функций SHIFT, SubSHift, BS, BX - проверьте настройки если используете.

ченжлог по этим изменения -позже.

 

 

 

Edited by Alex_Oz
  • Like 3

Share this post


Link to post
Share on other sites

Upd

 

Добавлена возможность назначать некоторые функции с множественными выходами на виртуальный уровень.

Список доступных функций на данный момент выглядит так:

image.png.164a43e9b2d21c24bc60ef04f1b11ebe.png

Как можно видеть, для каждой виртуальной линии теперь можно настроить до 8 выходных линий логического уровня.

 

Теперь реализация  вышеописанной задачи  будет выглядеть таким образом:

1622009708_Njoy32_virtualBCSCSW.thumb.png.c2726d3f367853ff0798c8f663baef90.png

 

И никаких булевских ;)

 

PS/ 2000-й. Юбилейный.

 

 

Edited by Alex_Oz
  • Like 4

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...