Еще одна попытка управления джойстиком, или USB -> PPM конвертор с преферансом и гейшами.

Chester_kz

что-то не хочет моя cobra m5 нормально софтиной определяться. к примеру двигаешь газ а он на рудере значения скачут. подозреваю из за не верной битности осей.
вот как определяет софтина:
<Joystick Name=“myjoy” Code=“MYJOY” VendorID=“11C0” ProductID=“5603” ID=“012d153b-0c13-4f1a-995d-412e15b3bcc5”>
<Axle Name=“Ailerons” CName=“AILERONS” Length=“10” MinValue=“0” DataIndex=“0” MaxValue=“1023” />
<Axle Name=“Elevator” CName=“ELEVATOR” Length=“10” MinValue=“0” DataIndex=“2” MaxValue=“1023” />
<Axle Name=“Throttle” CName=“THROTTLE” Length=“10” MinValue=“0” DataIndex=“4” MaxValue=“1023” />
<Axle Name=“Rudder” CName=“TWIST” Length=“10” MinValue=“0” DataIndex=“6” MaxValue=“1023” />
<HatSwitch Name=“Hat 1” ConstantName=“HAT_1” DataIndex=“8” Length=“4” MinValue=“0” MaxValue=“15” />
<Leveler Name=“DMMY” Length=“4” />
<Buttons Name=“Buttons 1” ConstantName=“BUTTONS_1” DataIndex=“10” ButtonsCount=“26” ButtonsStateBits=“1” />
<Leveler Name=“DMMY” Length=“6” />
</Joystick>
Может кто поделится своим для сравнения?

Chester_kz

Перепробовал разные версии прошивок. Не работает адекватно и все тут. в raw дата не адекватно показывает оси и все тут… ума не приложу что делать. Обидно джой и плату под этот проект покупал.

Basil

Обещанного три года ждут, осталось четыре месяца;).

Tahorg

По поводу кобры, а так-же AVR-08 для PS, и еще нескольких джойстиков: они работать не будут, в принципе, потому что USB 1.1. В этой, старой, версии пакет (если он длинее 8 байт) шлется разбитый на куски по 8 байт. И тут-то нас ждет облом, поскольку понять, который это кусок пакета, никак нельзя. И если хоть 1 кусок пропадает - будет срыв синхронизации и все перестанет работать. В USB 2.0 такой проблемы нет - там размер кадра 1024 байта. А реальность такова, что в реализации USB от STM32 пакеты переодически таки пропадают. И если с 2.0 это приводит к пропуску 1 репорта, и задержке в несколько милисекунд, то в 1.1 это смертельно.

Вот такая фигня.

Chester_kz

да уж… видно погорячился я с джойстиком. Буду брать другой. Можете написать список джойстиков которые реально заработают. склоняюсь к X52 но он вроде как тоже двух видов бывает (обычный и про)

Tahorg

Я летаю на X52 обычном и FLY 5. Второй похуже, ценр переодически слегка плавает, брался как джой для отладки, но оказалось, что его хватает и все чаще и чаще лениво тащить Х52. Есть люди с Logitech 3D.

24 days later
hax0r
Tahorg:

Господа, проверьте, пожалуйста - починилось ли, да я начну новую версию собирать.

Когда ждать новую версию? А то уже сезон начался )

24 days later
Arsen_A

Я снова в деле! 😃 Раздобыл позднюю версию AV8R с отъёмной ручкой, определился нормально. Потихоньку вспоминаю как там конфигурации лепить. Сильно напрягают постоянные обрывы связи с компом. Причём потом приходится несколько раз передёргивать разъём, и сканировать порты. Причём в списке всегда есть порт №1, но к нему невозможно подключиться. Обычно в начале работы с ним в паре появляется порт №5, подключаюсь к нему. Когда связь обрывается, то он тоже недоступен. После танцев с бубном вместо 5-го появляется 7-й. К нему и получается подключиться. Ну и так по кругу… Может это быть от самой Винды 7-64? Может в ней порты “гуляют”? 😃 На работе есть такой комп с ХР, постоянно отваливается один из портов в произвольном порядке…
И, кстати, основную прошивку мне проще прошивать через родную утилиту STI, не надо перемычки дёргать. Жалко, что нельзя без FTDI обойтись совсем…

Tahorg

Настройки тоже можно заливать через STI - на адрес 0x080E0000, ф вот отладка всего этого не получится. По поведению похоже на проблемный FTDI

Arsen_A

Ну, отладка и так у меня выносит мозг…
Вообще, эта штука определяется в разделе “Порты COM и LPT” как “Prolific USB-to-Serial Comm Port (COM5)”. Я её покупал для прошивки зарядного устройства Гиперионовского.
А купленная специально плата с надписью на чипе “FTDI” определяется в разделе “Контроллеры USB” как “Неизвестное устройство”, и дров не находится на неё…
А вот эта подойдёт? www.avito.ru/moskva/…/ft232rl_789307824

Tahorg

Что-то вроде этого, в смысле на 232RL чипе должно работать.

Arsen_A

Купил сегодня (за жалкие 100 рублей!!) плату на CH340G, скачал дрова и т.д. Не помогло. Тогда, по совету друга программиста, в системном реестре удалил какой то лимит. Пока работает. Причём я и дисконектился через меню, и разъём передёргивал по нескольку раз, программу перезапускал, а плата подключается всегда штатно!

Старая плата на 230-м тоже теперь работает. По FTDI плате друг сказал, что это может быть неоригинальный чип, и родные дрова ему прошивку сносят… Восстановить её можно, но у меня теперь этих плат… 😃 Уже не тянет с ней разбираться.
Короче, это как всегда был Виндоуз…

“WINDOWS загружена - система в опасности!” 😃

Arsen_A

Почти всё заработало. Модуль Спектрум ДМ-9 не понимает выход более 8-ми каналов. Где подправить?
В Турниге настраивал под него длительность импульса 22,5 мсек, пауза 350 мсек, число каналов 10. А здесь где копать?

Tahorg

В настройках модели попробовать поменять длительность каналов. Хотя да - надо бы добавить длительность паузы.

Arsen_A

А можно поподробнее про длительность каналов? Что вообще за цифры в настройках модели? Единицы измерения там нет, а порядок цифр не пляшет с турниговскими…

Ещё не вполне понятно, как точно настраивать центр и ход машинок? Я так понял, что это в маппере делается. Но если нет возможности менять с компа онлайн, то это ж как муторно! Поменял, прошил, посмотрел, опять поменял, опять перепрошил… А если это можно с тачскрина проделать, то не вполне ясно, как это потом в программу перекачать, чтобы сохранить в файле настроек?

Tahorg
Arsen_A:

А можно поподробнее про длительность каналов? Что вообще за цифры в настройках модели? Единицы измерения там нет, а порядок цифр не пляшет с турниговскими…

Ещё не вполне понятно, как точно настраивать центр и ход машинок? Я так понял, что это в маппере делается. Но если нет возможности менять с компа онлайн, то это ж как муторно! Поменял, прошил, посмотрел, опять поменял, опять перепрошил… А если это можно с тачскрина проделать, то не вполне ясно, как это потом в программу перекачать, чтобы сохранить в файле настроек?

Длительность каналов настраивается в модели, в микросекундах. Обычно 1020-2020 с центром 1520, или 1000-2000. Можно настраивать.

Центры и ход машинок именном мапером. Причем если его поставить с галочкой EPP то можно прямо на тачскрине править. Обратно в программу перекачивать не надо - в программе записанны значения по умолчанию, если нет записанных значений. Там-же (если поставить обратный линк - макс 0, мин 1000) можно делать и инверт каналов.

Arsen_A

Я всё с прошлого года забыл… 😃 Вчера настраивал на тачскрине, а потом в программу вручную вводил. Я же не хочу каждый раз после заливки модели центра и расходы выставлять… А нельзя там шрифт покрупнее сделать? И не совсем удобно показалось вводить цифры, может “+” и “-” там лучше будет? Выделил нужный параметр, и наплюсовал сколько надо глядя на руль…

Значит, если в Турниге настраивал длину импульса в 22,5 мсек, а число каналов 10, то на канал нужно выставлять 1250 - 2250?

Tahorg

центры и расходы отдельно от программы заливаются, они не меняются если перезалить программу. В программе стоят дефолтные, которые отработают, когда был полный сброс. Если только программу заливать - они не стираются. + и - можно попробовать, но есть проблема с шагом. 1000 раз кликать тяжко. Надо подумать.

Не совсем. 22.5 это 10 каналов + стоп. Надо знать длинну стопа, а остаток делить на 10, и получится длина импульса + разделитель 😎. Т.е. все сложно … Надо поискать, как генерится.

Arsen_A

1000 раз нажимать не придётся, 1000 - полный ход от края до края. Я же говорю о точной настройке центра, типа сабтримера, и ограничении хода… А сейчас получается: стоит по дефолту 500, руль не по центру. Меняешь на 400, например - перелёт. Ставим 450… Долго, как мне кажется.

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

“Пауза” в настройках Турниги прокатит за “Стоп”? Может они там порядки перепутали: вместо 350 мксек написали 350 мсек? И какое сейчас значение этого параметра прописано в программе?

На 9-м пищалка для поиска, пока можно и без неё поблизости полетать попробовать, только экспоненты ещё докурю…

Tahorg

Пауза это конечный синхростоп. 350мкс - нормальное для его значение, т.е. 22500-350 = 19000 остается на каналы.

Про переменные:

  1. Есть значение записанное в флешпамять. Оно используется платой.
  2. Есть значение видимое в блоаках в программе. Оно используется ТОЛЬКО если нет значения из п.1, и то - оно записывается на старте во флеш и используется.
  3. Когда заливаем настройки мы заливаем п.2, при этом п.1 никак не изменяется. Т.е. даже если мы изменили значение в блоке, оно не будет работать, оно “справочное”, не настоящее
  4. Есть такое в программке окно - EPP manager, вот там можно посмотреть и изменить с компа все значения переменных, записанные во флеш.
  5. Если добавили модель, то да - надо открыть EPP manager и вписать/проверить таки значения. Сам знаю, что неудобно, но пока не могу ничего нормального придумать.

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

Arsen_A

ИМХО, но 22500-350 должно быть 22150, нет? Я же поэтому и спросил про порядок цифр… Сегодня заберу модуль домой, поиграюсь…

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

Я сразу после заливки модели (новой, или изменённой) тупо сбрасываю все переменные, потому как мне трудно пока понять что там к чему, и к какой из моделей в памяти относится. Как по мне, то я бы вообще этот процесс автоматизировал, совместил с заливкой. ИМХО, для большинства это тёмный лес. Записываю на бумаге значения центра и хода, и ввожу в блоке маппера. Надо бы опрос устроить среди пользователей…

Basil:

Название темы как никогда отражает содержание.
Ключевое слово “попытка”.
Так есть надежда обещанного результата?

Ну, не знаю… Конечно, сыровато ещё, не хватает отзывов для отладки, наверное. Но у некоторых уже несколько лет работает.
В воздухе не пробовал, на земле уже работает. Если бы я два года назад знал про невозможность корректного подключения USB1.0 джойстиков, то уже давно летал бы… Этим летом обязательно подниму.
Вообще, для меня, весь этот гиморой - обязательная часть программы. 😃 Мы же модели тоже не в RTF версии покупаем, вешаем камеры и т. д… Ведь вообще не понятно, понравится мне управлять джойстиком, или нет, а воспоминания останутся… 😃
Готовые варианты стоят по 200 бакинских, и хатки для поворотки я там (ИМХО) не встречал. Я про остальные фичи от Сергея молчу, я их не использую. Плюс для меня у “магазинных” вариантов один - настройка как в аппаратуре, привычная…