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

Tahorg

code.google.com/p/rcjoy/

Выложил текущую рабочую версию. Ближайшие попробую сделать видео с обьяснением что и как. Кстаи - чем бы экран закепчурить простым и удобным?

Papercut
Tahorg:

Кстаи - чем бы экран закепчурить простым и удобным?

В винде начиная с семерки есть опупительная тулзовина для этого, “Ножницы” назвается. В разделе “Стандартные”.

9 days later
Tahorg

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

Archer_snp

Спасибо! Очень нужный и интересный проект!

Basil

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

Tahorg

Одновременно, к сожалению, 1 джойстик. Тут проблема с библиотекой USB от STM. Технически можно ставить хаб, но тогда весь код работы с USB надо переписывать с 0, что я не потяну просто по затратам времени.

Но джойстиков в проекте может быть несколько. Т.е. можно делать связки модель-джойстик. Каждой конкретной моделью можно рулить только конкретным 1 джойстиком. Но разные модели можно разными джойстиками. Вот у меня есть модель ская с флай5 и есть отдельно тот-же скай с х52, введены в систему как разные модели. В зависимости от того, какой джой привез в поле выбираю соотвественную модель.

На джойстик есть ограничение - он должен быть HID устройством. Т.е. джойстик для комьютера, а не для плейстейшена или xbox. Я попробовал с Saitek FLY5, Saitek X45, Saitek X52, Thrustmaster HOTAS Cougar, Logitech Extreme 3d Pro - все работает. А вот Saitek Aviator PS3 нет. Там нестандартный протокол и разобрать я его не смог. Других джойстиков в наличии нету попробовать.

Количество выходных каналов ограничено количеством входных каналов LRS. Т.е. прошивке все равно какой длины PPM фрейм генерить, я поставил 16 максимум, в деле пробовал 10 с моей Immersion EzUHF.

Basil
Tahorg:

На джойстик есть ограничение - он должен быть HID устройством.

Интересно почему мой адаптер работает с ограниченным списком джойстиков, само собой HID, но не со всеми?

Платка в пути:).

Tahorg

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

Arsen_A

Добрый вечер, заказал уже основную плату, но есть пара глупых вопросов по прошивке.
Можно подробнее про эту FTDI плату? Подойдёт такой bendermag.ru/product/adapter_usb-uart_ttl адаптер для прошивки? Просто у меня только он и есть, прошивал им зарядник. Если нет, то тыкните носом в искомую, пожалуйста…
И ещё, может не подключать плюс от адаптера, питать только от батареи? Тогда, насколько я понял, снимается вероятность спалить при одновременном подключении…

Tahorg

Вообще, теоретически, любая плата пойдет, главное чтоб могла работать на стандартных скоростях и переключать парити чек. Но практически я работал только с основанными на FT232RL чипе. Питание в момент прошивки можно подать через USB - с “верхнего” входа. Просто 2 USB провода тогда тянуть. А в отстальном проблем нет. Т.е. если заработает - хорошо. Если нет - любой на FT232 (читай любой от ардуины).

Питать от батарейки в момент прошивки не подключая 5 вольт от FTDI - я так делал неоднократно. Ничего не сгорело, но тут уже гарантий дать не могу, не силен в этом, и может оно сгореть или нет - не знаю. Вот подавать разные 5 вольт (от FTDI и от SBEC) точно нехорошо. Но опять же - не значит, что сгорит 100%, но уже вероятность есть, хотя с девелоперской платой пару раз по запарке я так делал, каюсь. Не погорело. Но делать так постоянно не советую.

Tahorg

А тут и второе видео поспело:

С акцентом на блоки. В ближайшее время выложу третье.

Arsen_A

Расположение элементов на плате проектировал какой то нелюдь! Кнопки над дисплеем, пины торчат с лицевой стороны на пол сантиметра высше дисплея! Как это вписать в корпус? В связи с этим есть вопрос: а нам вообще могут понадобиться эти джамперы и разъёмы на лицевой стороне при дальнейшем развитии проекта? Может их тупо выпаять/закоротить?

Прошился нормально. В процессе создания модели джойстик отвалился. Я так понял, что промежуточного сохранения нет? Возможно питания от USB на всех не хватило? Завтра попробую с внешним источником, уже засыпаю… Второй раз не получилось сохраниться - ППМ пас не понравился. Что это такое не осталось уже сил выяснять…

Интерфейс с линками весьма впечатлил!!

Tahorg

Плата дискавери, для разработки, специально сделали, чтоб в корпус не вставала. И отверстий нету крепежных по той-же причине. Это одна из причин, почему я прошлую реализацию делал под плату PORT от wvshare - там нет таких проблем. Но “все в одном” у них нету.

Записываться - файл можно записать всегда (Ctrl+S) чтоб труды не пропадали. А вот сгенерить и залить уже не всегда, тут надо чтоб проверка прошла.

Я вечером (как дотестирую) выложу новую версию, там есть изменения/улучшения существенные. Но надо будет перезаливать прошивку, они не совместимые. Добавлены 2 новых блока и реализована проверка джойстика, что оказалось важно если в систему заведено больше одного. Теперь если у модели вписан джойстик, модель выбрана, но подключен не тот джойстик - рассчет не будет производиться. А то при перетыкании джойстиков у меня начинали срабатывай фейковые нажатия разнык кнопок.

Arsen_A

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

Tahorg

Дисплей перевернуть низзя. Ну тоесть можно теоретически, но сложно.

Пины вокруг экрана торчащие вверх не нужны, ну кроме бут0 и пб2, чтоб для перепрошивки вниз не лазить, хотя можно и их тоже.
Пины выше кнопок - если эта плата не будет использована для разработки - то там один важный джампер - JP3, что рядом с синей кнопкой. Это разьем куда можно воткнуть амперметр для замеров, соотвественно если снять - питания не будет. Его надо оставить закороченным (ну или с обраной стороны чего припаять). Остально можно пилить все. Можно снять джамперы и пилить …

Да, разрешения файлов уже поправил.

Arsen_A

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

Arsen_A

Я не специалист, конечно, но зачем специально делать плату, чтобы в корпус нельзя было вставить? Какие то правовые вопросы?
А то можно было ещё дисплей мордой в текстолит присобачить, а кнопки снизу, как раз для нас - для людей, которые любят преодолевать трудности… 😃