0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Guillemot Force-Feedback Joystick

Руль, джойстик и геймпад с обратной связью (Force Feedback)

Поводом для этой статьи явился, принесенный мне на ремонт, руль GW21-FB китайского производства. Обычно в устройствах такого происхождения ужасная механика, дешевые электролитические конденсаторы, не качественная пайка и ремонт не вызывает проблем. Иногда выходит из строя контроллер (как правило бескорпусный, залитый компаундом), в этом случае приходится менять всю плату, т.е. создавать ее заново, т.к. купить ее негде. Если руль (джойстик, геймпад) без обратной связи, то схема получается небольшая и что-либо изобретать нет необходимости — примеров реализации таких устройств в сети предостаточно. Например: Mjoy16 , Analog Joystick

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

Далее последуют нудные разъяснения, кому это скучно, могут сразу перейти в конец статьи и скачать архив с готовыми схемами, платой, исходниками и прошивками.

Итак, для начала, как же работает «обратная связь»или точнее FFB (Force feedback)? Есть два ее вида — Вибрационная и Активная. В первом случае в устройство просто встроен вибромотор, такой же как в сотовом телефоне, только немного помощнее. В определенные моменты игры, например при столкновении, наезде на препятствие, этот мотор включается и руль (джойстик, геймпад) начинает вибрировать.

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

Однако, частоту, амплитуду и, главное, направление вибраций, при таком подходе, варьировать крайне сложно, поэтому в устройствах более высокого класса применяется Активная система FFB. В рулях это мотор, соединенный с колесом руля зубчатой или ременной передачей:

В джойстиках применяют два мотора — по осям X и Y:

Я не для красоты привожу эти картинки. Возможно кто-то захочет доработать свой «безответный» аппарат системой FFB и они могут послужить наглядным пособием для этого. Как видите, ничего заумно-хитрого здесь нет.

Итак, с механикой все понятно, управление моторами не представляет особой сложности, но нужно знать как и когда их включать/выключать. Требуется получить по шине USB информацию от компьютера. Обычный руль, джойстик, геймпад это HID-устройство, даже не требующее драйвера, они есть в системе, но для FFB все сложнее. Нужно либо представиться системе устройством, способным самостоятельно формировать сигнал управления мотором, получая от компьютера все данные (длина волны, амплитуда, фаза и т.д.), либо использовать драйвер-преобразователь.

В первом случае потребуется постоянно принимать большие объемы информации и иметь контроллер с функциями DSP. Кроме того, нужно глубоко изучить систему формирования сигнала для написания управляющей прошивки при том, что для выставления правильных коэффициентов для DSP потребуется оригинал для сравнения.

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

Собственно изначально задача была недорого и без головной боли отремонтировать (переделать) сабж, поэтому выбираем второй вариант. И без стеснений берем драйвер от фирмы Logitech. К концу повествования мы создадим несколько рулей, но начнем с самой сложной модели — G25:

Модель топовая, имеет три педали и 22 кнопки управления. Точнее говоря, из-за рычага переключения передач их кажется меньше, но информация о его положении передается как отдельные кнопки, а нам для выбора схемы важно знать их максимальное число, поэтому запомним — 22 кнопки + 3 педали.

Вот мы и подошли к схемной реализации. Сначала определимся с контроллером:

В современных рулях, джойстиках применяют высокоскоростной протокол USB 2.0, но мы попробуем обойтись низкоскоростным 1.1. Во первых принимаемый/передаваемый объем информации не столь уж велик, а во вторых микроконтроллеры с аппаратным USB довольно дороги, да и конвертеры USB/RS232 тоже. Попробуем применить «ширпотреб» — ATmega8 с программным вариантом реализации USB.

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

11 08 ХХ 80 00 00 00

означает включение мотора FFB, при этом ХХ определяет силу и направление вращения. ХХ принимает значение от 0 до 255, при этом 128 — «начало координат», все, что меньше — вращение влево, больше- вращение вправо. Т.е. данные можно сразу подавать на 8-битный ШИМ с мостовой схемой включения мотора. Комбинация

13 00 00 00 00 00 00

означает выключение мотора. Это тоже важно, т.к. при ШИМ=128 мотор, конечно, не крутится, но ток через него идет и, если уж компьютер разрешает, то лучше ток отключать.

Итак со схемой теперь все понятно:

Чтобы меньше сверлить отверстий в плате, применим SMD резисторы и конденсаторы:

Прошивку контроллера напишем в среде Bascom-AVR . Для программной реализации USB воспользуемся библиотекой SWUSB.LBX . Для удобства работы оформим дескрипторы и константы USB отдельными файлами, соответственно Descriptors.inc и USB_config.inc .

Сразу зададим начальное состояние портов ввода/вывода:

Назначим выводы D+ и D- для USB (D+ должна быть на INT0):

Зададим PID и VID, соответствующие Logitech G25:

В нашем распоряжении всего 8 байт для передачи хосту, а устройство имеет , как мы помним, 22 кнопки, руль и три педали. Плюс к этому нужно еще передать байт «Combined Pedals» — как выяснилось, при активации/деактивации этой опции драйвер не передает никаких управляющих сигналов устройству и даже не пытается скомбинировать этот режим из имеющейся информации о педалях. Оригинального дескриптора достать не удалось, да он нам и не помог бы, ведь настоящий G25 работает в USB 2.0 и не ограничен пространством — может передавать до 64 байт за раз. Поэтому пришлось ограничить разрядность данных для педалей до 7 бит, а для руля до 12 бит, и репорт-дескриптор в финале получился таким:

Т.е. получилась дискретность педалей 0,78% , а руля 0,024% . Не так уж и плохо.

Для составления репорт-дескриптора можно воспользоваться справочником HID Usage Tables или специальной программой HID Descriptor tool.

Дескриптор продукта и изготовителя не важны, можно поставить любые — драйвер все равно вместо них подставит в систему название «Logitech G25».

В основной программе принимаем данные от хоста и по первому байту сортируем: если $11 (dec 17), то включаем мотор и выставляем ШИМ, если $13 (dec 19) — выключаем мотор:

Частоту ШИМ задаем 375кГц (12МГц/32), т.о. частота на выходе будет около1,5кГц (375/256):

Выше частоту выставлять не рекомендую — транзисторы моста начнут греться, т.к. для их раскачки применен самый примитивный вариант (для удешевления конструкции). При этом в близи среднего положения руля мотор воспроизводит частоту 1,5кГц и для борьбы с этим эффектом последовательно с мотором включен дроссель, а параллельно конденсатор. Если имеются в наличии, то лучше для раскачки применить стандартные драйверы верхнего и нижнего плеч CMOS, тогда частоту ШИМ можно повысить до максимума (47кГц), не опасаясь перегрева и исключить дроссель.

АЦП в ATmega8 10-разрядный, поэтому для получения 12-разрядного значения сложим 4 последовательных значения с потенциометра колеса руля, заодно таким образом уменьшив флуктуации сигнала:

Состояние кнопок определим, выставляя поочередно на линиях Row0. Row3 низкий уровень. Резисторы, включенные в линии кнопок, защищают порты контроллера от короткого замыкания при одновременном нажатии двух и более кнопок. Программно для этого так же предусмотрены защитные временные интервалы.

Разъем GEAR дублирует кнопки S1 и S2 — его наличие необязательно.

На вторую ножку разъема кнопок выведен порт С3 — сюда можно будет подключить светодиод (пока не задействовано).

Данные переключателя видов «HAT» перед передачей хосту нужно перевести в градусы. Дискретность — 45°, при этом отжатое состояние соответствует 360°. Кроме того, эти данные нужно вписать в свободный верхний нибл старшего байта колеса руля, т.к. мы так задали в дескрипторе:

Потенциометры педалей опрашиваем аналогично колесу руля, так же 4 раза для снижения флуктуаций, затем делим на 32 (сдвигом на 5 разрядов вправо). В результате получаем данные в масштабе 7 бит. Далее создаем «Combined Pedals» — если не нажата педаль «тормоза», то она равна данным педали «газа». Если нажат «тормоз», то равна его инверсии — так требует драйвер.

Далее следует пересортировать биты данных в соответствии с заданной очередностью в репорт-дескрипторе. Обычно такого делать не требуется, но в данном случае мы вынужденно пошли на такие сложности из-за стесненных условий. Зато мы уместили в пакете большой объем информации. После пересортировки передаем данные хосту:

Программа закончена, можно ее скомпилировать и зашить в контроллер.

Скачиваем драйвер с сайта Logitech, устанавливаем его и подключаем наше устройство. Драйвер определит его как G25, заходим в свойства, здесь можно протестировать поворот руля, нажатие педалей — все сразу отразится на экране. Кроме того, нажимая на кнопки, можно протестировать FFB — «езда по деревянному мосту», «лопнувшая покрышка», «взрыв».

Второй руль, который мы будем создавать — Logitech Driving Force™ Pro:

Это престижная модель с двумя педалями и переключателем передач на встроенной консоли. Передачи переключаются только «вперед/назад». На консоли руля больше кнопок, чем на G25, но их суммарное число меньше — 18. Такая конфигурация очень распространена среди рулей с FFB, поэтому прошивка под нее будет наиболее востребована для ремонта или апгрейда.

Читать еще:  Microsoft Windows Longhorn

Схема остается прежняя, вместо отсутствующей педали сцепления подключим потенциометр чувствительности. С его помощью можно будет, не заходя в настройки, прямо во время игры подстроить силу воздействия FFB:

У нас освободились 11 бит, поэтому мы можем установить на педали разрядность в 8 бит, а на колесо руля — 14. Это повысило точность и плавность управления. Изменения в дескрипторе и программе здесь приводить не буду — их можно посмотреть в прилагаемых исходниках.

Теперь попробуем сделать геймпад. За основу возьмем Logitech Rumblepad 2 :

Здесь FFB вибрационного типа, т.е. установлены два вибромотора, направление вращения которых не регулируется, только скорость. Поэтому вместо мостовой схемы применяются просто ключевые транзисторы и два выхода ШИМ. В ATmega8 два выхода имеет Таймер1, они уже выведены на разъем. Кроме того, для одномоторного случая можно задействовать освободившийся выход Таймера2 и подавать на него мажоритарный уровень левого и правого моторов FFB:

Теперь, не меняя схему и прошивку, можно подключить либо один, либо два мотора, в зависимости от конструкции устройства.

Съем данных с потенциометров и кнопок аналогичен предыдущим. Репорт-дескриптор имеет незначительные изменения.

Пакет для отправки хосту имеет следующий вид:

Последний байт всегда равен 64, таково требование драйвера — это своеобразный пароль.

Вот теперь, собственно, и все. По аналогии с вышеизложенным можно сделать джойстик, самолетный штурвал и проч. В приложении все схемы, пример платы в формате Cadsoft Eagle , исходники и откомпилированные коды. Библиотеку SWUSB.LBX перед компиляцией следует поместить в каталог Lib.

P.S. Использование драйвера не противозаконно, у меня были сомнения на этот счет, поэтому я испросил разрешение у фирмы Logitech и ответ был таков: мы не можем запретить Вам такое использование, однако, в этом случае мы не несем никакой ответственности за . и т.д.

Последнюю версию драйвера можно скачать здесь.

Обзор манипулятора Thrustmaster Top Gun Afterburner Force Feedback Joystick

Система HOTAS (Hands on throttle and stick) — мечта любого фаната авиасимуляторов. Не так давно Ашот Ахвердян уже писал о Thrustmaster HOTAS Cougar (см. www.ferra.ru/online/input/20478/) — шикарном девайсе стоимостью около трех с половиной сотен у.е. Но далеко не каждый «летчик» в состоянии заплатить такие деньги. Поэтому и приходится смотреть в сторону вариантов поскромнее.

Например, в сторону этого. Top Gun Afterburner Joystick от Thrustmaster был слегка модифицирован, и новая модель совсем недавно появилась в продаже. Под легкой модификацией подразумевается то, что и без того неплохое устройство было скрещено с технологией Force Feedback.

Ручка, пипка, подставка, рога

Само по себе устройство состоит из двух соединенных воедино блоков: непосредственно джойстика и ручки газа. Размер комплекта действительно имеет значение — не на каждом столе получится поместить аппарат, основание которого чуть меньше клавиатуры. К счастью, при помощи обычной отвертки девайс можно разделить пополам и расставить в разных частях стола.

В плане эргономики практически ничего нового не придумано. Внешне джойстик Top Gun Afterburner ничем не отличается от самого простого Thrustmaster USB Joystick. Все те же четыре кнопки и головка для того, чтобы, летая, оглядываться по сторонам. Все та же резиновая вставка на том месте, где ладонь касается устройства. На круглом сером основании имеется пластиковое кольцо, стилизованное под металл.

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

Ручка газа фиксируется в двух положениях — 15 и 85% от нулевого уровня. Эти две метки означают переход с холостого хода на обычный и включение форсажа соответственно. Место контакта ручки с рукой опять-таки покрыто резиной. Под большим пальцем находятся три кнопки. Еще одна — под указательным. Под остальными тремя находится кнопка руля направления, при должной сноровке отлично заменяющая педали. Здесь тоже стоит отметить некоторые просчеты в эргономике. Затруднение возникло в связи с очень неудачным расположением этой самой кнопки руля направления. При взлете обычно приходится весьма активно действовать педалями. Соответственно, разгоняясь по взлетной полосе, необходимо постоянно корректировать курс короткими нажатиями на кнопку. Делать это с помощью мизинца и среднего пальца левой руки все же достаточно неудобно.

Кстати, вместо того, чтобы приподнимать левую руку и рулить при помощи кнопки, можно делать это, просто поворачивая рукоятку джойстика. Приятно, что способ управления можно менять непосредственно во время игры с помощью специального переключателя на задней панели устройства.

К компьютеру вся эта радость подключается через USB-порт. Следует также учесть, что девайс требует питания от сети — перед покупкой полюбопытствуйте на предмет наличия лишней розетки.

Снабженный одиннадцатью резиновыми ножками, девайс вообще не двигается по столу — сказывается здесь и его приличный вес. Кстати, на случай, если вы все же решите разделить комплект, в коробке с устройством находится дополнительная деталь. Обратите внимание на фотографии — видите по бокам устройства серые «рога» с оранжевыми полосками? Запасной «рог» можно прицепить сбоку на джойстик, тем самым, добавив ему лишние 3 ножки.

Провод в порт, и понеслось

После подключения и установки драйверов с прилагаемого диска устройство без проблем определяется системой и, в общем, начать его использовать вам ничего не мешает.

Guillemot Force-Feedback Joystick

Немного предыстории. Выбирая игровые контроллеры, я во многом опирался на обзоры с 3dnews. Мне очень понравилось описание руля от Guillemot, и я решил обзавестись джойстиком от этой французской фирмы. Джойстик несет на себе гордую надпись «Made in China», и, как и вся продукция Guillemot, он произведен руками китайского пролетариата и стоит в России порядка 100$. Спешу поделиться с вами своими впечатлениями.

Характеристики:

  • 12 программируемых кнопок с двойным курком.
  • Мини-манипулятор с 8-ю направлениями.
  • 19 программируемых функций.
  • Резиновая текстура ручки.
  • Прочная, не скользящая основа.
  • 4 раздельных управления по осям.
  • Регулируемая по высоте опора для руки (2cm).
  • Мощные двигатели с увеличенным сроком службы Johnson.
  • Подключение к последовательному (COM — порт) или USB порту компьютера.

Совместимость:

  • Microsoft Windows 95 и Windows 98.
  • I-Force 2.0 (Immersion Corporation).
  • Microsoft Direct-X 5.0 или выше.
  • Microsoft DirectInput.

Комплектация:

  • Джойстик с обратной связью.
  • Руководство по установке.
  • Источник питания.
  • Кабели для подключения.
  • Программное обеспечение для установки джойстика (CD-ROM).

Системные требования:

  • Pentium-II или выше.
  • Последовательный или USB порт.
  • Microsoft Windows 95, 98.

Внешний вид и органы управления

Из-за нестандартного размещения кнопок джойстик занимает на столе столько же места, но не вдоль, а поперек, что может вызвать некоторые проблемы с его размещением.

В остальном Guillemot Force-Feedback Joystick очень удобен. Благодаря мягкой регулируемой опоре рука не устает даже после продолжительных игр. Кстати, специально для регулировки этой самой опоры для руки в комплект джойстика входит ключик, который надежно крепится снизу на основании джойстика. В инструкции об этом ключике не сказано ни слова, и я долго искал, к чему его можно применить. Форма рукоятки также весьма приятны. Конечно, рукоятка не похожа ни на одну из используемых в самолетах/вертолетах, но разве это важно?

К преимуществам также можно отнести выключатель, расположенный на основании джойстика. Выключатель пригодится тем, кто подолгу не выключает компьютер, но не хочет, чтобы вся периферия была включена. Хотя джойстик и не потребляет много энергии, но зачем же держать его включенным?

Кнопки на рукоятке под большой палец руки также достаточно удобны. Восьминаправленный грибок расположен сверху, что исключает его случайное нажатие. Ниже расположены 2 кнопки. Еще ниже, не перекрываясь с кнопками, расположено рулевое колесико. Так что можно смело использовать любой из перечисленных органов управления, не боясь задеть ненужный.

В деле

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

Также нельзя не отметить одну занимательную особенность джойстиков с обратной связью: если вдруг в разгар боя вы (случайно или специально) выпустили рукоятку из рук, игра совсем не останавливается. Из-за обратной связи рукоятка продолжает двигаться во все стороны тем самым посылая команды в игру. Как-то раз я специально отпустил ручку во FreeSpace 2, чтобы посмотреть к чему это приведет. Джойстик продолжил играть, как заправский асс выписывая фигуры высшего пилотажа. Также достаточно забавно смотрится джойстик, если во время игры оторвать основание джойстика от стола.

Технические характеристики

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

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

Каркас выглядит надежно. Крепление к основанию джойстика также не вызывает нареканий (еще 8 шурупов).

Ничего особенного в устройстве джойстика нет. Традиционные поворотные резисторы. Будем надеяться, что они добротно сделанны и прослужат долго. Аналогичный резистор использован на колесике тротла. Обратная связь создается при помощи двух моторчиков (как выяснилось в процессе игры — достаточно мощных), которые соединены с осями джойстика ременной передачей. Мне кажется, что это оптимальный вариант для устройств такого типа, т.к. когда вы крепко держите ручку, то моторчики не блокируются, а продолжают вращаться. При этом ремень просто проскальзывает.

Озадачивает наличие внутри корпуса на плате двух светодиодов (красного и зеленого). Красный загорается сразу после включения, зеленый моргает когда джойстик используется в игре. Для кого они предназначены? Для маленьких китайцев, которые обеспечивают работу джойстика? 🙂

Установка

Установка джойстика достаточно проста. Подключите джойстик с COM-порту или USB, подсоедините внешний источник питания (ведь эффекты обратной связи требуют немало энергии), не забудьте включить выключатель на джойстике (я 5 минут не мог понять, почему Windows отказывается найти новое USB устройство), вставьте компакт и вперед. Программа инсталляции сама найдет джойстик и установит драйвера. После этого она попросит перезагрузить компьютер.

У меня возникли проблемы с нахождением игровых устройств. После того, как я отключил руль (кстати, Guillemot FF Racing Wheel) и вставил в USB джойстик, Windows упрямо твердил мне, что у меня подключен руль, а не джойстик. Приходилось удалять драйвер руля и добавлять драйвер джойстика вручную. После этого джойстик работал отлично.

Заслуживают внимания возможности настройки джойстика. Драйвера джойстика позволяют проверить работоспособность всех кнопочек, собственно джойстика раздельно по осям и обратной связи. Также приятно то, что они стандартны для большинства продуктов от Guillemot (драйвера джойстика аналогичны драйверам рулей). Не нужно ломать голову и искать какие-то свойства. Все они на привычных местах.

Читать еще:  Обзор акустической системы Creative SBS350 2.1

Первая закладка предназначена для калибровки джойстика и проверки работоспособности кнопок. Для калибровки джойстика достаточно перевести его рукоятку и тротл в крайние положения, когда открыта первая закладка свойств джойстика. Джойстик автоматически устанавливает рукоятку в центральное положение используя калибровочные данные и обратную связь. После этого при отводе рукоятки в сторону обратная связь автоматически возвращает её в центральное положение.

Вторая закладка (Test Forces) дает возможность протестировать обратную связь. Нажимая на кнопки, можно испытать массу интересных эффектов, начиная от пистолетного выстрела и удара кулаком и заканчивая ощущениями открытого моря и водоворота (который очень похож на водоворот в унитазе 🙂 ). Все эффекты озвучены (например, звук выстрела при соответствующем эффекте), что придает реализм тестированию.

Третья закладка (Gain Settings) позволяет настроить силу обратной связи для 3-х типов эффектов и включить обратную связь для игр, которые её не поддерживают.

Программы

Редактор клавиатурных команд может быть очень полезен. Хотя большинство игр сейчас поддерживают назначение любой команды на кнопки джойстика и такой редактор для них не очень нужен, всегда ведь есть старые добрые игры в которые иногда хочется поиграться. 🙂 В редакторе есть возможность создать и сохранить много вариантов настроек. Также приятно то, что этот редактор по умолчанию не активен и не занимает системные ресурсы. Чтобы использовать макросы, вам нужно сначала активизировать его.

Документация

Для любителей электронной документации на компакте есть та же инструкция в формате PDF.

Плюсы:

  • Отличное качество обратной связи;
  • USB & Serial интерфейсы;
  • Большое количество кнопок;
  • Эргономичность

Минусы:

  • Слабая обратная связь в некоторых играх (FreeSpace2, но видимо это свойство самой игры)

Guillemot Force Feedback Racing Wheel

Вам нравится Феррари?

Риторический вопрос. Мне тоже. Любому человеку, которому нравятся машины вообще, должен нравиться Феррари. А теперь представьте себе, что вам говорят: «А хочешь подержаться за руль от Феррари?». Вы бы смогли отказаться? Может быть, но я не смог. Поэтому когда мне позвонили из компании «Мегатрейд» (дистрибьюторы Guillemot в России) и предложили протестировать новый руль с обратной связью, в создании которого принимали участие. специалисты от Феррари, уговаривать им меня долго не пришлось.

Если кто помнит, некоторое время назад я уже тестировал один руль с обратной связью от Guillemot – Race Leader Force Feedback. И вот ко мне попала следующая модель – что ж, посмотрим, чем нас Guillemot порадуют на сей раз.

Комплект

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

Внешний вид

Вам нравится Феррари?

Ой, кажется, я это уже спрашивал. А что бы вы подумали, купив компьютерный аксессуар, если на коробке у него гордо вздыбился черный жеребец на желтом фоне, под которым скромно, но со вкусом написано: «Официально лицензировано Ferrari Idea S. A.»? Каково, а? Ну ладно, думаю, коробка – она коробка и есть, мало ли что на ней нарисуют. Открываю, достаю. а прямо из центра «баранки» на меня машет копытами знакомый лошадиный силуэт.

Вспоминая первый руль, могу сказать только одно: небо и земля. Вместо пластмассового чего-то, которое было похоже на все, кроме руля, я держал в руках шикарное спортивное трехспицевое рулевое колесо! Строгий дизайн с преобладающим черным цветом, великолепная форма, удобное сечение, выемки под большие пальцы – сразу видно, откуда ноги (копыта?) растут! Материал оплетки – приятный на ощупь мягкий каучук, фрикционные свойства которого такие, что руки не то что не скользят, они с трудом двигаются по нему!

Руль стал меньше по размерам – и само рулевое колесо, и корпус. Это хорошо – я, к примеру, от избытка места на компьютерном столе не страдаю, так что тут каждый сантиметр – победа.

Органы управления

Первое, что бросается в глаза – справа от руля появился очень удобный и симпатичный рычаг переключения передач секвентального типа (качающийся вперед-назад). Имеются также два подрулевых переключателя (т. н. шифтеры). И здесь я должен с большим удовлетворением отметить, что создатели руля сделали очень серьезное усовершенствование по сравнению с предыдущей моделью. Во-первых, теперь правый и левый шифтеры никак механически не связаны друг с другом. Если помните, раньше они были выполнены в виде цельной пластмассовой пластины, закрепленной посередине на уровне рулевого вала. Теперь это два отдельных «лепестка». Вернее, лепестков, на самом деле, четыре – по два с каждой стороны, но рабочими является только верхняя пара. Нижние «лепестки» – просто бутафория, хотя они тоже нажимаются. Честно говоря, я так и не понял этого прикола, однако нижние лепестки никак не мешают процессу управления. Но самое главное – теперь шифтеры поворачиваются вместе с рулевым колесом. Это очень серьезный плюс, и именно фиксированные шифтеры так не понравились мне у первого руля. При переключении передач в повороте, что происходит практически всегда, фиксированными шифтерами пользоваться было невозможно – руки-то у вас повернулись, а переключатели остались на месте. Зато теперь все стало очень удобно.

Еще одним положительным моментом является то, что на руле поубавилось кнопок. А те, которые остались, были очень удачно сгруппированы. Так, собственно кнопок теперь только две – справа и слева. Плюс к этому слева – 8-позиционный грибок, а справа – рычажок, являющий из себя четыре кнопки. Оба «грибка» идеально попадают под большие пальцы.

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

Установка и подключение

И вновь браво! У новой модели принципиально новое и намного более удачное крепление. Так, вместо двух узковатых съемных струбцин, которые так и норовили перекоситься, теперь имеется мощный центральный кронштейн с двумя винтовыми прижимами и дополнительным фиксатором спереди. На конце одного прижима – опорный диск, как на старых мясорубках, а на конце второго – шаровидный упор. Расположены они друг за другом, вдоль оси руля. Вы отщелкиваете фиксатор, устанавливаете руль на стол, при этом он уже надежно фиксируется очень мощными присосками, после чего вы затягиваете винт с диском, потом поджимаете вторым винтом, опять подтягиваете диск, опять поджимаете, и когда руль будет уже достаточно надежно зафиксирован – защелкиваете фиксатор, просто-таки цементируя его на месте. Я тут попытался его подергать, и понял, что скорее оторву столешницу! После этого вам никакой «крэйзи драйвинг» не страшен, главное стол не своротить.

Руль имеет возможность подключения как к COM, так и к USB-порту, для чего на конце интерфейсного кабеля имеется разветвление с соответствующими коннекторами. Это тоже очень приятно, так как, с одной стороны, не у всех еще есть USB, а с другой стороны, к примеру, у меня все СОМ-порты заняты. Педальный узел подключается сзади к рулю с помощью разъема, напоминающего мышиный PS/2. Туда же подключается и питание от адаптера. Еще одним приятным усовершенствованием является выключатель питания, расположенный там же, где все разъемы. Все нижесказанное относится к подключению устройства через шину USB.

Подключив все провода, включаем питание. Через несколько секунд Windows обнаруживает новое устройство, опознает его, как Guillemot Force Feedback Racing Wheel (USB) и запрашивает диск производителя. Только теперь вставляем компакт-диск с драйверами и утилитами. Если сделать это раньше, то сработает автозапуск, за открывшимся окном вы можете не заметить, что Винды тоже нашли новое устройство, и весь процесс инсталляции пройдет дважды, что со мной и случилось по первому разу. После инсталляции у вас в списке игровых устройств появится новое устройство:

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

Помимо этого, появляется новое устройство в разделе Sound, video and game controllers в System Properties Device Manager:

И, наконец, устанавливается также программа создания файлов настроек для программирования кнопок и иных органов руля – Guillemot Force Feedback Racing Wheel Editor.

Если заглянуть в Game Controllers Properties, то обнаружатся собственные закладочки Guillemot:

На первой страничке можно проверить сигнал всех каналов ввода – осей руля и педалей, десяти кнопок и грибка. Здесь же находим еще одно очень существенное усовершенствование: теперь имеется возможность переключения режима работы педалей – на одной или на двух осях. Напомню, что разные игры по-разному адресуют контроль педалей. В некоторых они обе являются одной осью – Y, при этом газ – это как бы «вверх», а тормоз – как бы «вниз». В других играх каждая педаль висит на отдельной оси – тормоз является осью Y, а газ – осью Z. Таким образом, проблема совместимости с играми была снята полностью, за что Guillemot заслуживают похвалы.

Одно небольшое нарекание: немного трудно сориентироваться в этом десятке красных кружочков-кнопок, не снабженных никакой маркировкой. Было бы неплохо разнести и отдельно, графически более наглядно, расположить функциональные группы органов управления – шифтеры, секвентальный рычаг, кнопку-грибок и две обычные кнопочки. К тому же, нигде в инструкции не сказано, какая кнопка имеет какой номер. Вот это не очень хорошо, так как игра не знает, чем вы там рулить собираетесь, и какой рычажок где расположен. Там все строго: Button 4, Button 9, а ты уж сам разбирайся. Выяснить это можно только экспериментальным путем, что я и сделал. Дабы сэкономить ваше время, приведу табличку нумерации органов управления Guillemot Force Feedback Racing Wheel:

Guillemot Force-Feedback Joystick

Racing wheel is not detected in linux version (it works fine on windows).
dmesg output

[26141.576059] usb 8-1: new full-speed USB device number 4 using uhci_hcd
[26141.767915] /build/buildd/linux-3.2.0/drivers/input/joystick/iforce/iforce-packets.c: info cmd = ff01, data = 43
[26141.769920] /build/buildd/linux-3.2.0/drivers/input/joystick/iforce/iforce-packets.c: info cmd = ff03, data = 45 00 01
[26141.771919] /build/buildd/linux-3.2.0/drivers/input/joystick/iforce/iforce-packets.c: info cmd = ff01, data = 4f
[26141.773920] /build/buildd/linux-3.2.0/drivers/input/joystick/iforce/iforce-packets.c: info cmd = ff04, data = 56 02 05 00
[26141.774068] input: Guillemot Force Feedback Racing Wheel as /devices/pci0000:00/0000:00:1d.2/usb8/8-1/input/input12

output from jstest (number of axes and buttons listed)

$ jstest /dev/input/js0
Driver version is 2.1.0.
Joystick (Guillemot Force Feedback Racing Wheel) has 5 axes (Wheel, Gas, Brake, Hat0X, Hat0Y)
and 13 buttons (Trigger, ThumbBtn, TopBtn, TopBtn2, BaseBtn, BaseBtn2, BaseBtn3, BaseBtn4, BaseBtn5, BtnC, BtnX, BtnY, BtnZ).

Processor Information:
Vendor: GenuineIntel
Speed: 2400 Mhz
2 logical processors
2 physical processors
HyperThreading: Unsupported
FCMOV: Supported
SSE2: Supported
SSE3: Supported
SSSE3: Supported
SSE4a: Unsupported
SSE41: Unsupported
SSE42: Unsupported

Network Information:
Network Speed:

Читать еще:  Redmi Band: фитнес-трекер с датчиком ЧСС

Operating System Version:
Ubuntu 12.04.1 LTS (64 bit)
Kernel Name: Linux
Kernel Version: 3.2.0-51-generic
X Server Vendor: The X.Org Foundation
X Server Release: 11103000
X Window Manager: awesome
Steam Runtime Version: steam-runtime-release-i386_2013-06-28

Video Card:
Driver: NVIDIA Corporation GeForce GTX 260/PCIe/SSE2

Driver Version: 3.3.0 NVIDIA 310.14
Desktop Color Depth: 24 bits per pixel
Monitor Refresh Rate: 60 Hz
VendorID: 0x10de
DeviceID: 0x5e2
Number of Monitors: 1
Number of Logical Video Cards: 1
Primary Display Resolution: 1280 x 1024
Desktop Resolution: 1280 x 1024
Primary Display Size: 13,31″ x 10,63″ (17,01″ diag)
33,8cm x 27,0cm (43,2cm diag)
Primary Bus: PCI Express 16x
Primary VRAM: 896 MB
Supported MSAA Modes: 2x 4x 8x 16x

Sound card:
Audio device: Realtek ALC883

Manette de jeu : généralités

Pré-requis

Préambule

Cette page vous permet de faire fonctionner une manette de jeu sous Ubuntu.

Retour de Force (ou Force Feedback)

Depuis Ubuntu 9.04 (noyau 2.6.28), le retour de force est supporté en standard. Cela concerne un nombre limité de joysticks et volants. La liste est la suivante (d’après le source Linux/drivers/HID/KConfig 2.6.30 ainsi que http://sourceforge.net/apps/mediawiki/libff/index.php?title=SupportedDevices) :

Pour tester le retour de force sur un joystick, il faut utiliser les outils ff-utils (nécessite le paquet libsdl1.2-dev).

Calibration, test

Nous allons vous présenter ici les différentes méthodes pour calibrer (mais surtout tester) votre manette de jeu.

Avec jstest-gtk

Installez le paquet jstest-gtk puis calibrez la manette de jeu avec la commande :

Par le mode console

Pour tester votre manette tapez :

Si vous voyez des signes bizarre qui bougent selon les boutons appuyé, c’est que ça doit marcher !

Vous pouvez également calibrer et tester votre manette grâce aux programmes jscal/jstest. Joystick est un programme pour calibrer la manette en mode console.

Méthode manuelle

La manette n’est pas détectée ? Vous venez de brancher votre manette et ne voulez pas redémarrer votre ordinateur ? OK !

Créer les port jeux dans Linux

Dans un terminal (une console) :

Chargement des modules

Les manettes demandent un certains nombre de «Pilotes». Sous Ubuntu, ce sont des modules qui doivent être chargé avec le noyau linux.

Dans un premier temps, nous allons le faire manuellement. Si tout marche, on va modifier certains fichiers afin que tout soit fait au démarrage de l’ordinateur.

Tester la solution avant de modifier les fichiers

Dans un terminal (une console) charger en mémoire les pilotes requis selon votre manette.

Par exemple, pour une SideWinder GamePad (/! cf plus bas pour connaître les bons modules !! /!) :

À tout moment vous pouvez voir les modules chargés avec la commande :

Pour tester si le tout fonctionne essayez donc de calibrer votre manette :

Si vous avez réussi la calibration de la manette c’est que vous avez chargé les bons pilotes. Passez à la section suivante.

Si vous avez eu un message d’erreur et n’avez pas réussi la calibration de la manette vous devez regarder le reste du présent document pour y trouver les bons pilotes.

Rappel : Pour décharger un module, il faut utiliser la commande modprobe -r (remove) :

Charger les modules automatiquement au démarrage

Pour cela, il faut éditer le fichier de configuration «/etc/modules». Ce fichier « modules » regroupe une partie des pilotes à charger avec votre noyau Linux.

Ajoutez à la fin du fichier, le texte suivant :

Cela donne un fichier /etc/modules qui devrait ressembler à ceci :

En plus de cela, vous devez créer ou modifier le fichier /etc/modules.conf, pour y ajouter les lignes suivantes :

Enregistrez les modifications puis redémarrez votre ordinateur.

Liste des modules

Port jeu (port MIDI)

Cas particuliers

Pour une carte son à base de ens1371

Si vous avez une carte son à base de chipset ens1371 (Ex. : Sounblaster 64 et 128), une petite manipulation préliminaire s’impose.

Tout d’abord, vérifier le modèle de votre carte son : dans une console tapez

Si vous avez quelque chose, c’est bon, continuez, sinon, vous avez une autre carte son. (Mais vous pouvez tout de même tenter de continuer en remplaçant dans ce qui suit « joystick_port=1 » par « joystick=1 » ou « joystick » et en adaptant le nom du pilote de votre carte son.)

Éditez le fichier /etc/modprobe.d/options et rajoutez-y la ligne :

Redémarrez, et refaites le tuto depuis le début.

Pour une carte son intégrée de marque via

Si vous avez une carte son intégrée à un chipset Via (ex. : Via-PT800 ou n’importe quel autre chipset de cette marque ), et que vous n’avez pas réussi à faire marcher votre joystick, une petite manipulation préliminaire s’impose.

Tout d’abord, vérifier le modèle de votre carte son : dans une console tapez

Si vous obtenez quelque chose en retour, c’est bon continuez, vous avez bien une carte son Via.

Éditez le fichier /etc/modprobe.d/options et rajoutez-y la ligne :

Redémarrez, et refaites le tuto depuis le début.

Pour une carte son Aztech

(récupéré de l’ancienne page)

Apparemment, là aussi il faut activer le port son.

Donc, dans /etc/modules.conf ajoutez :

Cas généraux

Classic ISA/PnP gameports
Crystal SoundFusion gameports
Aureal Vortex and Trident 4DWave gameports
SoundBlaster Live! gameports
Autres

Manettes/Joysticks

Pour une manette analogique

Ce pilote marche bien avec les manettes bas de gamme :

Pour une manette de jeu Microsoft SideWinder

Pour une manette MS SideWinder ForceFeedBack Pro

Pour une manette de jeu Logitech WingMan ADI digital

Pour «Assassin 3D and MadCatz Panther»

Pour «Genius Flight2000 Digital joysticks and gamepads»

Pour «Gravis GrIP joysticks and gamepads»

Pour «InterAct digital joysticks and gamepads»

Pour «ThrustMaster DirectConnect joysticks and gamepads»

Pour une manette Guillemot dual analog gamepad (port jeu)

Pensez aussi au bouton qui active/désactive les mini-sticks de cette manette.

Pour une manette Microsoft Xbox 360

À partir de Ubuntu 8.04 «Hardy Heron», la manette fonctionne nativement et directement dès qu’on la branche (la led supérieure gauche devrait clignoter), complètement plug & play

Pour une manette de jeux pour port USB

Si l’auto détection ne fonctionne pas (cas très rare !)…

Maintenant, si vous branchez votre manette (au cas ou vous ne l’aurez pas déjà fait) et testez-la.

Il ne vous restera plus qu’à mettre usbhid et joydev dans /etc/modules comme indiqué plus haut.

Autres manettes

Pour obtenir une liste complète des modules, vous pouvez taper modprobe -l

Vous pouvez aussi installer le paquet modconf.

Lancez ensuite modconf en sudo (en ayant préalablement agrandi la fenêtre) :

Vous atterrirez sur une liste COMPLÈTE de tous les modules disponibles. Rendez-vous dans le dossier joystick, et vous verrez tous les modules joystick possibles et inimaginables !

Problèmes

On me détecte un bouton qui n’existe pas

Que ce soit avec kcontrol ou jscal, on vous détecte un bouton qui n’existe pas et qui est enfoncé par défaut ? Suivez ceci:

/jscal-patched-amd4-ubuntu7.10/jscal’ /dev/input/js0 -c pour calibrer le volant.

/jscal-patched-amd4-ubuntu7.10/jscal’ /dev/input/js0 -u 3,0,1,5,9,288,289,290,291,292,293,294,295,511

pour désactiver le 9ème bouton par exemple.

La dernière commande donne la valeur maximum 511 au bouton 9 pour le désactiver (256 étant le minimum).

Concernant la signification des nombres, le 3 correspond aux nombres d’axes, donc 3 pour accélération, frein et gauche/droite. Le 9 correspond au nombre de boutons et les nombres qui suivent à leurs valeurs par défaut.

Le module analog se charge automatiquement

Il peut arriver qu’un module non-désiré se charge automatiquement au démarrage de l’ordinateur. L’exemple le plus fréquent est le module «analog» , qui n’est pas nécessaire pour toutes les manettes. Il faut donc le «black-lister» :

Pour les versions avant Lucid: modifiez le fichier /etc/modprobe.d/blacklist Depuis Ubuntu Lucid: modifiez le fichier /etc/modprobe.d/blacklist.conf

Et ajouter une ligne :

Enregistrez et quittez.

Mes directions ne fonctionnent pas

Vous devez surement être sur Ubuntu ou Xubuntu 🙂

Le fait est que la plupart des développeurs se basent sur des Axes de -32000 +32000, et ce, quel que soit votre manette.

Que faire ?

Il n’y a alors pas d’autres choix que d’installer le centre de contrôle KDE :

Rendez-vous dans la catégorie joystick et calibrer tout cela !!

Autre méthode

Ca marche aussi avec joystick via jscal et jstest (si vous savez utiliser le mode console) :

Autres solutions

Pour les jeux et également les émulateurs type GFCE, il existe une solution permettant de programmer votre manette de jeux en lui assignant certaines touches du clavier, voir les logiciels ci-dessous.

Configuration des touches

qJoypad

QJoyPad permet d’assigner des touches du clavier à votre manette.

AntiMicro

AntiMicro Un peu plus évolué que Qjoypad car il permet les combinaisons de touches complexes et n’a pas le souci de la limite des identifiants des touches.

Rejoystick

Pour cela téléchargez le paquet rejoystick (une recherche google vous permettra de le trouver sans problème)ou télécharger le paquet à cette adresse : http://sourceforge.net/projects/rejoystick/ Le paquet ne nécessite aucune dépendance, mais n’est pas présent dans les dépôts d’Ubuntu.

Une fois installé, utilisez votre console :

le programme est en anglais et s’utilise en mode ligne de commande. Pour débuter choisissez une touche du clavier qui une fois pressée indiquera au programme que l’assignation des touches est terminée (ex : echap). Ensuite, le programme vous demande de choisir une touche du clavier. Pressez une touche au choix. Ensuite, le programme vous demande de choisir une touche de la mannette de jeu. Par exemple : la touche du clavier A correspond au bouton 1 de ma manette de jeu. Répetez l’opération pour toutes les touches de la manette et les directions. Puis quitter le programme (echap dans l’exemple).

Dans la console, tapez ensuite rejoystick -d. Le programme se lance, fermez la console, démarrez votre jeu, et configurer l’interface de jeu avec le choix de touches du clavier auparavant effectué…et…une fois dans le jeu, votre joystick fonctionne.

Attention : ce programme ne fonctionne que si votre manette est reconnue initialement par le système. Avantage, le programme rejoystick permet de savoir si le système reconnaît votre manette !

Pour éventuellement reprogrammer la manette utiliser la commande :

vous donnera toutes les indications pour créer et sauvegarder des profils de programmation pour vos jeux favoris !

Jojsticken

Jojsticken est le successeur de rejoystick puisqu’il est développé par le même auteur de ce dernier.

L’application est en java et est par conséquent multi-plateforme.

jstest-gtk

Probablement obsolète, mais utile éventuellement pour des vielles version d’ubuntu (comme la 12.04). Lien officiel

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector