Просмотр полной версии : По кривым Х52. Размышления...
В принципе тема вполне даже для всех, просто создана для обсуждения одного момента, связанного с кривыми Х52. Назвал так, чтобы ни у кого не возникало желание заходить в тему с мыслью "а сейчас я ему посоветую ту темку, где паяют вон ту схемку и детище Сайтека становится практически идеальном в своей линейности" :)
Дело вот в чем. На Х52 старательно борятся с нелинейностью и пытаются для ощущения мира и покоя на душе нарисовать круг в джойтестере. Это факт довольно известный. Вплоть до того, что в результате получают обратную нелинейность, когда ромб вместо круга начинает превращаться в подобие квадрата с закругленными углами.
Дело вот в чем. Я пытаюсь понять, почему проблема нелинейности не решается выставлением кривых отклика... Например, с кривыми 10-20-30-и т.д. типовой линейный джойстик в Иле фактически рисует этот самый ромб. Т.е. джойстик становится более мягким в центре за счет ужесточения крайних положений. Это, вроде как, то, что имеется на Х52, но в усиленном варианте и усугубляется тем фатком, что джойстик имеет больший ход по сравнению с большенством других, т.е., чем больше ход рукоятки, тем меньше нужно смягчение кривых в центральном положении, т.к. джойстик уже имеет достаточный ход для получения должной точности прицеливания в центре.
Я рассмотрел типовой ромб, нарисованный на Х52 в джойтестере, принял его за условный круг, т.е. в качестве допущения принял, что самой рукояткой был нарисован именно круг и провел анализ кривых отклика для данного девайса. Как я думаю понятно, джойстик требует выставления кривых из стандартных 10-20-30... во что-то более резкое типа 50-55-60... для увеличения резкости отклика рукоятки в центре.
Так вот, с помощью небольшой самодельной софтины я просто начал подбирать такое "искривление" кривых, чтобы нарисованные виртуальной палкой круги стали как можно точнее повторять исходные, нарисованные в джойтестере, ромбы. После этого я сделал обратный пересчет так, чтобы получились значения для отклика такие, чтобы в Иле джойстик стал "рисовать" круги или что-то достаточно к ним близкое.
Вот, что у меня получилось:
Стандартные линеризованные кривые Ила - 10,20,30 и т.д.:
26 39 49 58 67 74 81 88 94 100
Линеризованные кривые "все по 100" (выставлять вручную в
conf.ini):
258 194 164 146 133 123 116 110 104 100
Промежуточные кривые различной степени мягкости, начиная от наиболее
мягких к наиболее жестким:
41 54 63 70 76 82 87 92 96 100
65 74 80 84 88 91 94 96 98 100
163 141 129 122 116 111 108 105 102 100
205 165 145 133 124 117 112 108 103 100
К слову говоря, из-за большого хода Х51 для некоторых, возможно, были бы предпочтительны кривый с "обратной нелинейностью" - когда центр станосится более чувствительным, чем на линейном джойстике, но этот вариант я не просчитывал (можно и его просчитать).
Данный пост уже имел место быть на Желтом, где мне в частости сказали, что нечто подобное уже пробовали сделать, основываясь на расчетах движения датчиков Холла, но более конкретной инфы я не нашел (скажу честно, не так уж и искал, т.к. обсуждений Х52 было довольно много и перелопачивать их большого желания не возникло).
Данные кривые, в большинстве своем придется выставлять вручную в Conf.ini, т.к. их значения превышают 100, но это, думаю, не слишком страшно :)
Далее, может появиться вполне законный вопрос вот по какому поводу: дело в том, что когда производится обратная компрессия значений, особенно, если эти значения начинают подбираться к 300, при этом, при выравнивании, снижается точность джойстика в центральных положениях. Т.е. по идее начинает проявляться дискретность показаний микросхемы. На это у меня соображение довольно простое: Х52 имеет, прямо скажем, избыточную точность по осям (2048, если не ошибаюсь). Даже при слижении точности в 3 раза (кривые порядка 300), эта точность продолжает составлять порядка 600-700 значений, что вполне достаточно, т.е. говорить при этом, что точность значительно снижается, было бы не совсем верным. Еще одним вопросом может быть то, что, мол, это лишь приблизительный подбор, он не позволит точно высчитать значения "круга", т.к. за основу был взят вполне неточный вариант попытки "нарисовать" его рукояткой. На это могу сказать, что точный круг, вообще говоря, не слишком нужен, т.е. джойстик вполне может иметь некоторую нелинейность в том или ином направлении (после аппаратной линеризации возможен эффект того, что сигнал начинает иметь "обратную нелинейность", то, что было описано в начале поста), главное, чтобы эта нелинейность не выходила за рамки разумного.
Но вполне понимаю, что вопросы все равно остаются. Дело в том, что в центральных положения датчик фиксирует очень малые "значения", т.е. вполне возможно, что в районе слабого сигнала имеет место быть шум. Я не знаком с датчиками Холла и их реализацией в Х52 (например, может влиять цепь питания) и не знаю, имеют ли они свойство "шуметь". Второй момент: уже не раз встречал информацию, что оцифровывающая микросхема тоже неидеальна. Она вполне может сама давать шум, выдавая, например, постоянный шум +/-4 значения. Это, естесственно, уменьшит точность в районе центра и центр может стать достаточно "шумным", чтобы такой метод решения данной проблемы становился довольно нереальным. Но этого я на данный момент не знаю.
Что касается аппаратного решения проблемы схемой Гогоблина, установке гвоздей на магните :) и прочего, понятно, что такое решение лучше именно по причине того, что при этом не будут проявляться возможные шумы в центре. Плюс, это несомненно поможет в играх, где нет возможности выставления кривых отклика.
И тем не менее вопрос остается: не решается ли проблема хотя бы на условно достаточном уровне таким методом. Просто уже не раз встречал ситуацию, когда, просто например, от обратки отказывались просто по причине того, что ее нужно было вначале грамотно настроить через fedit и, как вариант, вообще удалить эффекты пулеметов и пушек, и в результате чего писали, что обратка "своими детскими эффектами только снижает точность"; или когда РУД 45 называли неудобным из-за неважного расположения качалки (сам РУД кроме качалки, ИМХО, вполне даже удобен), ну и прочего в таком роде.
Предлагаю обсудить.
Я например ставил на свой х52 МАРСы после того как попробовал его после х45.
Он у меня был их "второй серии" без МЗ.
Так вот...по ощущениям моим нелинейность требовала крайне осторожной работы РУС...при большом отклонении ручки сваливание наступало, на х45 такого эффекта небыло.
Поступил просто, вживил туда МАРСы, спасибо Илье, поставил кривые по 100% и получил весьма точный джой.
Я далеко не снайпер, но попадать стал намного чаще.
Мне например это решение было проще чем подбор кривых и т.д.
Мда... Вот это вот и удивляет, что проще перепаять, чем подобрать кривые. Это как в ситуации, когда человек поменял монитор, вместо того, чтобы подвинуть стол - он оказывался слишком близко от монитора, т.к. не мог его дальше отодвинуть, т.к. тот упирался в стену, а можно было подвинуть стол и таким образом решить проблему. Как я уже сказал, интересно, есть ли прямая разница между перепайкой схемы (или другого аппаратного решения) и софтовыми кривыми?
Дело в том, что есть люди, с паяльником незнакомые и оно им, прям скажем, не слишком надо. Им, если так проблема решается, не было бы большого смысла заниматься аппаратной переделкой джойстика. Просто они, хочешь-не хочешь, переделывают стик, потом сами же пишут, что стало круче и по-другому ничего сделать нельзя, в результате усугубляют "войну с нелинейностью" еще больше.
Интересно бы посмотреть тестирования людей, у кого Х52 без переделки.
LazyCamel
21.01.2007, 16:17
Мда... Вот это вот и удивляет, что проще перепаять, чем подобрать кривые. Это как в ситуации, когда человек поменял монитор, вместо того, чтобы подвинуть стол - он оказывался слишком близко от монитора, т.к. не мог его дальше отодвинуть, т.к. тот упирался в стену, а можно было подвинуть стол и таким образом решить проблему. Как я уже сказал, интересно, есть ли прямая разница между перепайкой схемы (или другого аппаратного решения) и софтовыми кривыми?
Прямая и непосредственная. Хардварные переделки давно работают, а вот математические извращения дальше теоретических выкладок не идут как-то.
Прямая и непосредственная. Хардварные переделки давно работают, а вот математические извращения дальше теоретических выкладок не идут как-то.
Удивляет меня это :) Как я уже сказал, я вполне мог бы понять, если бы описанная мною схема была бы нереализуема по техническим причинам, которые я описал выше, но в ответ я пока увидел лишь "ну нафиг, мне проще перепаять". Извиняюсь за флейм, но это получается из оперы "русские изобретут любой вездеход, лишь бы дороги не ремонтировать". Я вполне понимаю, что аппаратная переделка имеет очевидные плюсы в том, что джойстик можно без проблем считать линейным (или условно линейным), что дает возможность крутить кривые в случае чего более нормальным методом, не выставляя их значения выше 100, также актуально для игр, которые не поддерживают изменения кривых отклика. Но тем не менее, я уже сказал, что тем пользователям, которые "кушают" только Ил на Х52 и не имеют большого желания брать лишний раз в руки паяльник, это бы вполне пригодилось вместо того, чтобы почитав форум "понять", что кроме как аппаратно это не решаемо.
Я уже сказал, что возможно такая схема нереализуема в принципе из-за технических ограничений датчиков Холла, АЦП Х52 и еще чего-нибудь, что я вообще не учел, но если на то пошло, пусть бы кто-нибудь не поленился и это проверил. А писать намеками на то, что это все "извращение по определению"... Я ведь не только теорию описал, но и привел конкретные значения кривых в различных вариантах мягкости/жесткости.
2BAG_Karas
21.01.2007, 20:13
Прописал твои кривые, попробовал на Кобре и Лавке. Кобру стало легче удерживать, Лавке-пофигу. Но общее впечатление-положительные.
Ну вообщем как я и предполагал... Кривую делать надо выпуклой.... И помоему если посчитать все достаточно точно, то и никакой переделки делать не надо...
Хммм... Если б еще кто программу сделал, которая сама бы вносила в стандртную кривую требуемые изменения... было бы ваапще замечательно...
Т.е. заходит юзер в программу... Выставляет КАК ОБЫЧНО кривые, допустим 10 20 30 40, программа уже сама в конфиг заносит 50 40 30 25... Вот размышления для тех кто программер... (я конечно тож программер, но пользуюсь не Х52 =))) )
Я думаю тот кто делал конектор (там есть в настройках возможность менять кривые, причем с выводом результатов, что то типа того что и в игре... графически... ) были бы не сильно против предоставить исходники...
Хммм... Если б еще кто программу сделал, которая сама бы вносила в стандртную кривую требуемые изменения... было бы ваапще замечательно...
Это я бы делать не взялся. Можно уговорить автора Il2 Commander'а (если не ошибаюсь - я ее не пользовал, вроде говорили, что в ней можно прописывать кривые к Илу) дописать модуль в свою программу благо в плане математики все там вполне просто - по-минимуму можно просто галочку "Линеризация для Х52" добавить, не знаю. К слову, есть также возможность обсчета кривых различной степени мягкости для любого джойстика. Сам давно пользую :)
Выставляет КАК ОБЫЧНО кривые, допустим 10 20 30 40, программа уже сама в конфиг заносит 50 40 30
Понимаю. Если не считать софтиной, то обсчет там довольно несложный. Нужно лишь помножить каждый из чисел обычной кривой на соответсвующий ее номеру коэффициент:
2.58 1.94 1.64 1.46 1.33 1.23 1.16 1.10 1.04 1.00
Прописал твои кривые, попробовал на Кобре и Лавке. Кобру стало легче удерживать, Лавке-пофигу. Но общее впечатление-положительные.
Которые из них ты поставил?
На всякий случай для всех еще раз приведу полный список кривых различной мягкости от "Все по 100" до "10-20-30" в поряке убывания:
258 194 164 146 133 123 116 110 104 100
205 165 145 133 124 117 112 108 103 100
163 141 129 122 116 111 108 105 102 100
100 100 100 100 100 100 100 100 100 100
65 74 80 84 88 91 94 96 98 100
41 54 63 70 76 82 87 92 96 100
26 39 49 58 67 74 81 88 94 100
2BAG_Karas
22.01.2007, 02:40
26 39 49 58 67 74 81 88 94 100
205 165 145 133 124 117 112 108 103 100
Вот еще. Паять тут, кривые подбирать... :rolleyes:
Все элементарное просто - пара капель клея, пара винтиков и полчаса свободного времени и все пучком. :)
Круглые круги на x52 http://forum.sukhoi.ru/showpost.php?p=790413&postcount=53
Да и потом - в ЛО например кривые так не настроишь, а с ромбом я пробовал - не то что на авианосец - на ВПП не смог сесть.
Убрал ромб - все - я теперь с 2 тысячами отсчетов вообще как прилипший к глиссаде летаю - хоть на Кузю, хоть так.
Вот еще. Паять тут, кривые подбирать... :rolleyes:
Все элементарное просто - пара капель клея, пара винтиков и полчаса свободного времени и все пучком. :)
Круглые круги на x52 http://forum.sukhoi.ru/showpost.php?p=790413&postcount=53
Да и потом - в ЛО например кривые так не настроишь, а с ромбом я пробовал - не то что на авианосец - на ВПП не смог сесть.
Убрал ромб - все - я теперь с 2 тысячами отсчетов вообще как прилипший к глиссаде летаю - хоть на Кузю, хоть так.
Но прошу заметить... Если джойстик новый, и еще на гарантии... То такими действиями мы теряем эту самую гарантию...
Мне Илья ставил МАРСы именно тогда когда гарантия была ещё...забил я на это дело...все работает до сих пор без проблем...
Мне Илья ставил МАРСы именно тогда когда гарантия была ещё...забил я на это дело...все работает до сих пор без проблем...
А еще тут на форуме кое-кто говорил, что без проблем приобрел ФФ2 за 40 евро на аукционе, но когда я спросил про стоимость доставки (это действительно интересно, т.к. доставка сама порядка 40 евро стоит), сказал, что ему его друзья бесплатно привезли :) Когда самому делать и даже джойстик не раскручивал, а он еще и на гарантии, не каждый возьмется. Понимаю, что "кому надо, сделает", но все же...
Все элементарное просто - пара капель клея, пара винтиков и полчаса свободного времени и все пучком.
Как я уже сказал, ничего против любой аппаратной переделки не имею, но если берут джой для Ила, не имеют желания в него лезть, то почему бы и не поставить кривые? Хотя согласен, что вариант "переделки" с клеем и болтами действительно звучит довольно просто.
Но прошу заметить... Если джойстик новый, и еще на гарантии... То такими действиями мы теряем эту самую гарантию...
Во-первых джойстик гарантию может и не потерять - если делать все аккуратно и грамотно - необратимых изменений в конструкцию не вносится - магниты можно точно также вернуть обратно на планочку и планочку вставить. Главное не поцарапать краску на саморезах.
Пломб я на своем Х52 не заметил.
Во-вторых я никогда особо не верил в гарантию на просторах РФ (Москву исключаем как отдельное государство).
В-третьих гарантия мне нужна на джойстик на котором можно летать.
Лично я в ЛО на ромбовом Х52 летать не могу.
Ну и наконец мне за 1.5 тысячи км от ближайшего сервис-центра (находящегося к тому же за границей) от этой гарантии абсолютно ни жарко, ни холодно.
ЗЫ. А переделки - делов полчаса-час.
Поздно увидел топик.
Для сторонников метода решения проблемы с нелинейностью Х-52 путем экспериментов с кривыми, предлагаю свою программку IL2-JoyControl (http://forum.sukhoi.ru/showthread.php?t=40692)
Ну почему бы не заняться саморекламой? :D
Проект сейчас заморожен в связи с отсутствием свободного времени как такового, т.е. может и допишу когда то кусочек с автоматическим введением коэффициента кривых для 52-го, но не скоро.
Ну а пока можно воспользоваться тем, что прога позволяет сохранять пресеты.
Алгоритм примерно следующий.
1) В окне с перечнем кривых, выбираем требуемую ось (например элероны).
2) Выставляем в окошечках начальное и конечное значения кривой в диапазоне 0-200. К примеру Начало - 163, конец - 100.
3) Жмем кнопку "Парабола" (это чтобы меньше ползунки двигать ручками)
4) Ползунками подгоняем значения к требуемым. (значения в сообщениях выше)
5) Жмем кнопку "Copy"
6) Выбираем вторую ось для которой надо установить аналогичные параметры кривой (например Руль высоты)
7) Жмем кнопку "Paste", при этом значения кривой станут такие же как и для предыдущей.
8) Сохраняем профайл с именем "Кривая - 80%"
9) Повторяем п.1-8 для других значений кривых.
В итоге получаем набор профайлов между которыми можно легко переключаться при необходимости.
Ну и заодно, хотя бы прикидочно, можно покрутить ручку джоя и по поведению зеленого квадратика оценить на глаз степень "круглости" получаемых окружностей :)
Единственное ограничение, ДжойКонтрол работает со значениями до 200 включительно, т.е. 258 в варианте "все по 100" не выставить.
Да, Олег, если будет время и если программа пользуется спросом, при случае добавь, пожалуйстагалочку коррекции кривых для Х52. По-сути просто добавляется свой коэффициент домножения для каждого значения кривой.
Да, Олег, если будет время и если программа пользуется спросом, при случае добавь, пожалуйстагалочку коррекции кривых для Х52. По-сути просто добавляется свой коэффициент домножения для каждого значения кривой.
В части реализации это сделать не сложно. Поставить крыжик и перемножить на коэффициенты это элементарно. Намного большая проблема в том, что изначально прога затачивалась под значения кривых не выше 200, и это значение (200) во многих местах кода используется. Т.е. если добавлять этот функционал то придется перелопачивать достаточно много кода, а сейчас просто нет на это времени.
Но идею я запомнил, если руки когда нибудь дойдут - сделаю.
Попробовал сейчас кривые все по 100 по этомй методике. Пока что нравится, совсем другое дело. ИМХО, вполне эффективный вариант
Бонифаций
05.03.2007, 09:39
Да и потом - в ЛО например кривые так не настроишь, а с ромбом я пробовал - не то что на авианосец - на ВПП не смог сесть........
Лично я в ЛО на ромбовом Х52 летать не могу.
Вчера опробовал X52Pro :ups: ...
Джойтестер его вообще не увидел :) , как не парился, до этого X45 стоял, кажется тестер всё ещё не смог смирится с его утратой :D .
Запустил Foxy4, на картинке как и обещали ромбы, типичные и обыкновенные, с X52 сравнить не могу, не имел такого.
Запустил LockOn, по умолчанию там жуткие кривые стоят, убрал их нафиг, хотя бы в самом LO нелинейность убрал, запустил....
Ромб не ромб, но полёт просто идеальный, по сравнению с X45 управление НАМНОГО точнее, и "ромбовистость" как-то в глаза не бросается и не мешает.
В иле то же особо не обращал внимания, хотя.. может с непривычки :ups: .
Harh, спасибо! Не от себя лично, но от других. Сам не дожил - переделал по методу Kondor'a. Кстати, не потеряв гарантию.
Можно я твою методу в свою статью (http://2gvshad.ru/forum/viewtopic.php?p=38889#38889) включу? Разумеется, с указанием авторства! :)
Огромное человеческое спасибо Harh и Oleg_BS. Очень помогли. Ато я на третий день полётов на X52 уже начал отчаиваться. Тем более, что ромбы устранять полностью мне не хотелось, т.к. все мы летаем на ромбах. Даже у кого полностью линейный джостик:)
В принципе тема вполне даже для всех, просто создана для обсуждения одного момента, связанного с кривыми Х52. Назвал так, чтобы ни у кого не возникало желание заходить в тему с мыслью "а сейчас я ему посоветую ту темку, где паяют вон ту схемку и детище Сайтека становится практически идеальном в своей линейности" :)
Дело вот в чем. На Х52 старательно борятся с нелинейностью и пытаются для ощущения мира и покоя на душе нарисовать круг в джойтестере. Это факт довольно известный. Вплоть до того, что в результате получают обратную нелинейность, когда ромб вместо круга начинает превращаться в подобие квадрата с закругленными углами.
Дело вот в чем. Я пытаюсь понять, почему проблема нелинейности не решается выставлением кривых отклика... Например, с кривыми 10-20-30-и т.д. типовой линейный джойстик в Иле фактически рисует этот самый ромб. Т.е. джойстик становится более мягким в центре за счет ужесточения крайних положений. Это, вроде как, то, что имеется на Х52, но в усиленном варианте и усугубляется тем фатком, что джойстик имеет больший ход по сравнению с большенством других, т.е., чем больше ход рукоятки, тем меньше нужно смягчение кривых в центральном положении, т.к. джойстик уже имеет достаточный ход для получения должной точности прицеливания в центре.
Я рассмотрел типовой ромб, нарисованный на Х52 в джойтестере, принял его за условный круг, т.е. в качестве допущения принял, что самой рукояткой был нарисован именно круг и провел анализ кривых отклика для данного девайса. Как я думаю понятно, джойстик требует выставления кривых из стандартных 10-20-30... во что-то более резкое типа 50-55-60... для увеличения резкости отклика рукоятки в центре.
Так вот, с помощью небольшой самодельной софтины я просто начал подбирать такое "искривление" кривых, чтобы нарисованные виртуальной палкой круги стали как можно точнее повторять исходные, нарисованные в джойтестере, ромбы. После этого я сделал обратный пересчет так, чтобы получились значения для отклика такие, чтобы в Иле джойстик стал "рисовать" круги или что-то достаточно к ним близкое.
Вот, что у меня получилось:
Стандартные линеризованные кривые Ила - 10,20,30 и т.д.:
26 39 49 58 67 74 81 88 94 100
Линеризованные кривые "все по 100" (выставлять вручную в
conf.ini):
258 194 164 146 133 123 116 110 104 100
Промежуточные кривые различной степени мягкости, начиная от наиболее
мягких к наиболее жестким:
41 54 63 70 76 82 87 92 96 100
65 74 80 84 88 91 94 96 98 100
163 141 129 122 116 111 108 105 102 100
205 165 145 133 124 117 112 108 103 100
К слову говоря, из-за большого хода Х51 для некоторых, возможно, были бы предпочтительны кривый с "обратной нелинейностью" - когда центр станосится более чувствительным, чем на линейном джойстике, но этот вариант я не просчитывал (можно и его просчитать).
Данный пост уже имел место быть на Желтом, где мне в частости сказали, что нечто подобное уже пробовали сделать, основываясь на расчетах движения датчиков Холла, но более конкретной инфы я не нашел (скажу честно, не так уж и искал, т.к. обсуждений Х52 было довольно много и перелопачивать их большого желания не возникло).
Данные кривые, в большинстве своем придется выставлять вручную в Conf.ini, т.к. их значения превышают 100, но это, думаю, не слишком страшно :)
Далее, может появиться вполне законный вопрос вот по какому поводу: дело в том, что когда производится обратная компрессия значений, особенно, если эти значения начинают подбираться к 300, при этом, при выравнивании, снижается точность джойстика в центральных положениях. Т.е. по идее начинает проявляться дискретность показаний микросхемы. На это у меня соображение довольно простое: Х52 имеет, прямо скажем, избыточную точность по осям (2048, если не ошибаюсь). Даже при слижении точности в 3 раза (кривые порядка 300), эта точность продолжает составлять порядка 600-700 значений, что вполне достаточно, т.е. говорить при этом, что точность значительно снижается, было бы не совсем верным. Еще одним вопросом может быть то, что, мол, это лишь приблизительный подбор, он не позволит точно высчитать значения "круга", т.к. за основу был взят вполне неточный вариант попытки "нарисовать" его рукояткой. На это могу сказать, что точный круг, вообще говоря, не слишком нужен, т.е. джойстик вполне может иметь некоторую нелинейность в том или ином направлении (после аппаратной линеризации возможен эффект того, что сигнал начинает иметь "обратную нелинейность", то, что было описано в начале поста), главное, чтобы эта нелинейность не выходила за рамки разумного.
Но вполне понимаю, что вопросы все равно остаются. Дело в том, что в центральных положения датчик фиксирует очень малые "значения", т.е. вполне возможно, что в районе слабого сигнала имеет место быть шум. Я не знаком с датчиками Холла и их реализацией в Х52 (например, может влиять цепь питания) и не знаю, имеют ли они свойство "шуметь". Второй момент: уже не раз встречал информацию, что оцифровывающая микросхема тоже неидеальна. Она вполне может сама давать шум, выдавая, например, постоянный шум +/-4 значения. Это, естесственно, уменьшит точность в районе центра и центр может стать достаточно "шумным", чтобы такой метод решения данной проблемы становился довольно нереальным. Но этого я на данный момент не знаю.
Что касается аппаратного решения проблемы схемой Гогоблина, установке гвоздей на магните :) и прочего, понятно, что такое решение лучше именно по причине того, что при этом не будут проявляться возможные шумы в центре. Плюс, это несомненно поможет в играх, где нет возможности выставления кривых отклика.
И тем не менее вопрос остается: не решается ли проблема хотя бы на условно достаточном уровне таким методом. Просто уже не раз встречал ситуацию, когда, просто например, от обратки отказывались просто по причине того, что ее нужно было вначале грамотно настроить через fedit и, как вариант, вообще удалить эффекты пулеметов и пушек, и в результате чего писали, что обратка "своими детскими эффектами только снижает точность"; или когда РУД 45 называли неудобным из-за неважного расположения качалки (сам РУД кроме качалки, ИМХО, вполне даже удобен), ну и прочего в таком роде.
Предлагаю обсудить.
изменил conf.ini.вот что получилось :
[rts_joystick]
X=0 41 54 63 70 76 82 87 92 96 100 0
Y=0 65 74 80 84 88 91 94 96 98 100 0
Z=0 163 141 129 122 116 111 108 105 102 100
RZ=0 205 165 145 133 124 117 112 108 103 100 0
FF=0
U=0 26 39 49 58 67 74 81 88 94 100 0
V=0 26 39 49 58 67 74 81 88 94 100 0
rudder=0 0 0 0 0 0 0 0 0 0 0 0
elevator=0 0 0 0 0 0 0 0 0 0 0 0
aileron=0 0 0 0 0 0 0 0 0 0 0 0
trimelevator=0 0 0 0 0 0 0 0 0 0 0 0
trimaileron=0 0 0 0 0 0 0 0 0 0 0 0
power=0 0 0 0 0 0 0 0 0 0 0 0
1X=0 258 194 164 146 133 123 116 110 104 100 0
1Y=0 258 194 164 146 133 123 116 110 104 100 10
1Z=0 258 194 164 146 133 123 116 110 104 100 0
1RX=0 258 194 164 146 133 123 116 110 104 100 0
1RY=0 258 194 164 146 133 123 116 110 104 100 0
1RZ=0 258 194 164 146 133 123 116 110 104 100 20
1U=0 258 194 164 146 133 123 116 110 104 100 0
1V=0 258 194 164 146 133 123 116 110 104 100 0
правильно?
а кто нить пробовал нарисовать эту самую нелинейность на бумаге?
у меня Х52 нет, но были похожие страхи с самодельным джоем.
Берем ниточку с узелком, вяжем её к голове джоя, рядом крепим линеечку, запускаем DXtweak, делаем график - сдвинули РУС на 1 см - записали показатели DXtweak. Астрономической точности не будет, естессно, но в 2-3 прохода вполне достоверную кривую можно получить. После этого уже проще в Иле выставить ползунки для получения реально линейного отклика.
Я бы занялся, если бы не линейность моего Х52... ;)
Берем ниточку с узелком, вяжем её к голове джоя, рядом крепим линеечку, запускаем DXtweak, делаем график - сдвинули РУС на 1 см - записали показатели DXtweak. Астрономической точности не будет, естессно, но в 2-3 прохода вполне достоверную кривую можно получить. После этого уже проще в Иле выставить ползунки для получения реально линейного отклика.
Вместо бумаги и карандаша я взял просто нарисованный кем-то в джойстестере "круг". Потом на компе смоделил, каким должно быть искажение, чтобы вместо круга рисовалась такая ромбовидная конструкция, после просто подогнал коэффициент искажения и получил готовую кривую линеризации. По-смыслу, это как раз то, про что ты говоришь, но сделано быстро и просто. Дело в том, что астрономической точности линейности не нужно в принципе - Ил своими кривыми 10,20,30 как раз задает очень сильную нелинейность, на которую вроде еще никто не жаловался. Просто нелинейность обычного Х52 (у Про она, похоже, ниже) оказалась выше "порога чувтвительности", отсюда весь хай и пошел.
Как-то я читал статью про MP3 кодер. Так там автор наворотил полной дури просто потому, что не понял суть того, о чем он пишет. В свое время, похоже, просто народ не догадался, что можно все линеризовать цифрами, т.к. точность холлов и дискретность контроллера Х52 это вполне позволяли. В результате родилась куча воплей о нелинейности и методах их линеризации. Я со своими "размышлениями" очень сильно запоздал, сейчас юдям уже проще разобрать Х52 и приклеить пару болтов - вполне могу понять.
На самом деле я уже много раз видел нарисованный в джойтестере "типа-круг" после переделки по некоторым методикам (это уже довольно давно было). Там было очевидно, что джойстик в результате сделали нелинейным в обратную сторону и он после ромба вместо круга начинал рисовать сглаженный восьмиугольник. Т.е. джой "перелинеризовали".
Я еще почему создал тему, хотя понимал, что уже большого смысла нет, заметил, что у народа выработался своеобразный рефлекс: если Х52 рисует в джойтестере круг, то это полный экстаз и его надо обизательно добиться на своем экземпляре кажому неленивому. Но в общем случае это совсем даже необязательно. Что Ил, что Локон позволяют регулировать кривые, которые эту нелинейность выравнивают. На это могли наложиться шумы датчиков Холла в центральных положениях, где токи в них слабые (тогда аппаратная переделка однозначно имеет смысл), но пока вроде жалоб не было... Хотя и попробовало, в общем, только два-три человека :)
В идеальном варианте моего расчета кривых было бы, чтобы кто-то действительно на обычном нелинейном Х52 нарисовал более-менее идеальный круг (по какой-нибудь форме, например), в смысле, что не просто ручку от балды покрутил - при этом "круглость" довольно сомнительна. В этом случае можно было бы линеризовать кривые так, что отличить поведение "софтово" линериованного Х52 от аппаратного варианта было бы вообще нельзя.
Но, с чем не поспоришь, аппаратная линеризация лучше тем, что "сделал и забыл" и ни в какие Ил2Конфиги лезть не надо и прописывать там что-то вручную. Вообще, плохо, что в Иле нельзя прописывать кривые более нормальным способом, а не "на ассемблере", как сейчас, когда не все даже понимают, что эти числа значат :) И чтобы была возможность ставить отклик выше реального отклика джойстика (выше 100%), чтобы была возможность линеризации отклика внутри игры. Кстати, еще один момент о кривых: с моей точки зрения кривые для любого среднеходового джойстика, которыми часто делились в инете для Х52 (что линеризованного, что нет) мало подходят, т.к. при его ходе ручки они будут слишком мягкими.
Сейчас только заметил, что давно тему не читал. Каюсь :)
Вчера опробовал X52Pro
Если понадобится линеризация по моему методу, скинь нарисованный в джойтестере "круг", линеризую.
Тем более, что ромбы устранять полностью мне не хотелось, т.к. все мы летаем на ромбах. Даже у кого полностью линейный джостик
Да, действительно. Почти все летают на ромбах :) По-настоящему линейный отклик - это когда на линейном джойстике летаешь с кривыми по 100.
правильно?
Вроде уже в аське обговорили.
Кстати, люди, кому не лень, посмотрите, пожалуйста, какие оси в Ил2Конфиге соответствуют осям X и Y на Х52. Просто я бы добавил, чтобы такого вопроса более не было. Понимаю, что наверняка 1X и 1Y, Но все же...
Можно я твою методу в свою статью включу? Разумеется, с указанием авторства!
Конечно, включай.
Бонифаций
23.03.2007, 23:15
Если понадобится линеризация по моему методу, скинь нарисованный в джойтестере "круг", линеризую.
Ой, не умею я круги рисовать :( .... старался как мог, полчаса :D , и всё равно криво вышло :ups: .
Да и ещё косячок - у меня по оси У вниз резистор не весь ход руса отрабатывает :( .
Но вроде получилось терпимо :D , в архиве три варианта.
Заранее благодарен :ups: (сейчас выставлено по рекомендациям для X52).
ОК. Сегодня уже делать не буду, т.к. время у нас уже очень позднее, постараюсь завтра найти время. Софтину на работе оставил :) Похоже, надо заново писать.
Ой, не умею я круги рисовать :( .... старался как мог, полчаса :D , и всё равно криво вышло :ups: .
Да и ещё косячок - у меня по оси У вниз резистор не весь ход руса отрабатывает :( .
Но вроде получилось терпимо :D , в архиве три варианта.
Заранее благодарен :ups: (сейчас выставлено по рекомендациям для X52).
Ну что ж. Посидел сегодня. Проанализировал твой график. Переписал софтину. Ввел неучтенную мною раньше поправку на то, что рисуют на джойстике обычно действительно не совсем круг. В результате получил таблицу кривых. Они не претендуют на абсолютную точность и сделаны на основе твоих "кругов", т.е. их точность сильно зависит именно от них.
Далее, таблица:
0.0: 479 299 227 186 160 142 127 116 107 100
0,1: 380 255 201 170 149 135 123 113 106 100
0.2: 302 217 178 155 139 128 118 111 105 100
0.3: 240 184 158 141 130 122 114 108 104 100
0.4: 191 157 140 129 121 116 110 106 103 100
0.5: 151 134 124 118 113 110 106 104 102 100
0.6: 120 114 110 107 106 105 103 101 100 100
0.7: 96 97 98 98 98 99 99 99 99 100
0.8: 76 83 87 89 92 94 95 97 98 100
0.9: 60 70 77 82 86 90 92 95 97 100
1.0: 48 60 68 74 80 85 89 93 96 100
1.1: 38 51 60 68 75 81 86 91 95 100
1.2: 30 43 54 62 70 77 83 89 94 100
Поясняю. вначале идет коэффициент компрессии. Он просто для справки. 0.0 соответствует самым жестким кривым "все по 100", далее кривые идут в направлении смягчения. 1.0 соответствует кривым "10 20 30" Ила. 1.1 и 1.2 - это, пожалуй, уже "пересмягченные кривые", для порядка запостил. Попробуй повставлять их в игру, посмотри, какие больше понравятся. Коэффициент перевода нелинейных кривых в линейные (тебе дали кривые линейного Х52 попробовать - чтобы сделать их соответствующими своему джойстику, нужно помножить какждый их элемент соответственно):
4.79 2.99 2.27 1.86 1.60 1.42 1.27 1.16 1.07 1.00
Как уже сказал, все сделано на основе одного графика и на точность реально претендовать не может. Т.е. если я точно также перестрою кривые для другого такого же джоя, но по-другому нарисованные, то и результаты изменятся. Здесь у меня вообще получилось, что коэффициент пересчета оказался даже выше, чем у Х52 обычного :o
2 Harh
У меня девственный Х52 уж с год. Лень его переделывать и гарантия пока не кончилась. Попробовал вот эти твои кривые:
X=41 54 63 70 76 82 87 92 96 100
Y=65 74 80 84 88 91 94 96 98 100
Да, нелинейность стала ощущаться меньше, по сравнению с моими кривыми. Пожалуй, оставлю их, потом надо будет попробовать более «жесткие» варианты.
Зы. Кстати, кривые больше 100 удобно ставить через Ил2конфиг Филлипка.
Бонифаций
24.03.2007, 21:02
Интересно, вроде бы говорили, что у 52Pro нелинейность наоборот меньше :) .
опять же, как уже говорил - я и так рисовать не умею, джоем тем более, да и лёгкие косяки с осбю У имеются :) .
Кстати, вопросик, по какому из трёх скриншотов кривые писались, и сильно ли изменятся данные если выбрать другой ???
Стояли кривые
X=41 54 63 70 76 82 87 92 96 100
Y=65 74 80 84 88 91 94 96 98 100
от 52-го, в принипе не жаловался, попробую сменить на вариант 1.0 под мой :) .
P.S. Но всё равно в голову лезут мысли о МаРСах и контроллере..... останавливает только нелюбовь к паяльнику и отвёртке :) .
Так что шаманство с кривыми - этой мой путь :D .
P.P.S> Спасибо, ушёл пробовать :) .
X=41 54 63 70 76 82 87 92 96 100
Y=65 74 80 84 88 91 94 96 98 100
Ты на крен и тангаж используешь разные? Я просто в смысле, что никогда не задумывался об использовании разных кривых на них... :)
Интересно, вроде бы говорили, что у 52Pro нелинейность наоборот меньше
Понимаю :) Я тоже сказал "Ой", когда сравнил :) Дело в том, что подгонялось под твой индивидуальный скриншот, плюс я учел один дополнительный фактор, связанный с рисованием кругов: насколько я понял, когда кто-то рисует круг, он у него получается немного "квадратный" - не ромбовидный, а наоборот. Я это учел. Он увеличивает эффект учета нелинейности. Плюс сказалось индивидуальная форма кривой на скрине.
Если бы был более-менее идеальный круг, то можно было бы и пересчет соответствующий сделать.
Кстати, вопросик, по какому из трёх скриншотов кривые писались, и сильно ли изменятся данные если выбрать другой ???
По 3333 (второй), т.к. он самый детальный. Кстати, похоже, что если пересчитать по другим, получится то же самое один в один. Изменится таблица только в случае, если я уберу из нее учет того, что круги на самом деле не совсем круги при рисовании.
Если уж на то пошло (для сравнения с прошлым обсчетом по Х52 обычному), то так выглядит эта таблица, если фактор "квадратности" не учитывать (как я считал изначально):
0.0 316 224 183 158 141 129 120 112 105 100
На самом деле возможно, что рисование кругов на одном и другом джойстике отличается и введенная мною поправка не совсем верна, но думаю, что в общем случае она должна быть достаточно корректной, хоть и не стопроцентно точной.
Ты на крен и тангаж используешь разные? Я просто в смысле, что никогда не задумывался об использовании разных кривых на них... :)
Ага. Люблю по крену большую отзывчивость, а по тангажу надо точнее.
Залес сюда, так как недавно случайно убил свои кривые, вот пришел еще посмотреть. Пока на все по 100 остановился. Переделывать лень до сих пор джой :) Да и летаю мало сейчас :(
А в ЛО просто спямил кривые, вроже Су-25 нормально себя ведет.
Вот моя не линейность X52Pro http://s48.radikal.ru/i119/0906/73/1b2f9c398cbd.jpg Что делать?
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot