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

Tahorg

V.094.A1, тестовая.

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

Что хочется:

  1. Создать джойстик с нуля, захватом с платы.
  2. Собрать простую модель. Джойстик->PPM Output.
  3. Записать все и залить в плату. Записать еще раз. В лайввью убедиться, что часть работает неверно.
  4. Зафиксировать что работает верно, а что нет в обоих режимах отображения джойстика - правильно ли парсится в Raw data, правильно ли в Parsed data и как оно в PPM Output.
  5. Самое интересное
    5.1 отключить live view.
    5.2 компорт должен быть приконнекчен
    5.3 открыть joystick -> capture debug data
    5.4 нажимаем кнопку начала захвата и медленно водим одну ось, пока в окне не будет примерно 50 строчек захваченных, при этом ось должна проийти суда-сюда пару раз.
    5.5 записываем файл типа “FLY 5 - ось Х - правильная.txt” или “HOTAS - slider - неправильный.txt”
    5.6 повторяем с пункта 5.4 для всех осей.
    5.7 можно в отдельный файл еще и хатки (по одной на файл)
    5.8 можно и кнопки (тоже по одной на файл), можно не все
  6. собираем все вместе:
    6.1 файл проекта
    6.2 пачку файлов txt с осями
    6.3 текстовый же файл с своим ником и результатами пункта 4: Правильно ли отображаются оси в режиме RAW data? в режиме Parsed data? в блокеPPM Output?
    6.4 все это зипом на почту sergey[на]kilimnik.me

Спасибо за сотрудничество.

13 days later
Tahorg

V.094.A2

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

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

hax0r
Tahorg:

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

Будем посмотреть.)

Витик

Шалом эврибади. Интересно, подписался. неспешно изучаю. Приглянулся Saitek x55. Подходит?

Tahorg
Витик:

Шалом эврибади. Интересно, подписался. неспешно изучаю. Приглянулся Saitek x55. Подходит?

Нет, Х55 - это 2 джойстика. Х52 подходит.

Витик
Tahorg:

Нет, Х55 - это 2 джойстика. Х52 подходит.

Ок! так даже дешевле, появятся вопросы- обязательно обращусь.

Tahorg

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

Basil
Tahorg:

да я начну новую версию собирать.

Желесяка та же?

Tahorg

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

Basil

А нет подходящей железки с дисплеем побольше?

hax0r
Tahorg:

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

Баг с осями, вроде бы, починен. Но в новой прошивке другой баг…) Не работает лайв дата… again… После генерации проекта и сохранения xml в ЕЕР менеджере пусто. Оси проверял в channels monitor на плате.

Tahorg
Basil:

А нет подходящей железки с дисплеем побольше?

Можно к этой плате присоединить порядка 18 проводочков и тогда прицепить больший дисплей.

hax0r:

Баг с осями, вроде бы, починен. Но в новой прошивке другой баг…) Не работает лайв дата… again… После генерации проекта и сохранения xml в ЕЕР менеджере пусто. Оси проверял в channels monitor на плате.

Это нормально. Когда проверятся баг - берется 0я версия без остальных правок и проверяятся только эта правка. Лафвдата в другой правке лежит. Теперь надо все вместе собрать и протестировать.

Basil
Tahorg:

Можно к этой плате присоединить порядка 18 проводочков и тогда прицепить больший дисплей.

Андроид прицепить можно?

Tahorg
Basil:

Андроид прицепить можно?

Нет. Это же микроконтороллер, а не микрокомпьютер.

23 days later
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:

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

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