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

Archer_snp

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

Basil

Почему эту плату не прошить через USB?

Tahorg
Archer_snp:

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

Ну я вот не готов раздербанить мой X52.

Basil:

Почему эту плату не прошить через USB?

Можно прошить через USB. Можно даже залить программу через USB. А вот чего нельзя - это получить текущие данные с платы по USB. Потому что USB на этой плате - это выход дебагера ST-Link, со своим протоколом, и там есть проблемы - я не смог через usblib с ней пообщаться, как ни хотел. Если бы я разобрался как работать с ST-Link, то можно было бы убрать FTDI. Но … не могу пока. Не выходит.

Archer_snp

Зачем раздербанивать? Можно просто отдельно джойстики купить, для рс2 например. Маловато 4-5 пропорциональных каналов.

Tahorg

Последнее доснял, вроде все охватил.

Осталось только на английский дубляж сделать.

Archer_snp:

Зачем раздербанивать? Можно просто отдельно джойстики купить, для рс2 например. Маловато 4-5 пропорциональных каналов.

Потому что абы какой джойстик не интересно, у них резисторы шумят, кнопки дребезжат … хочется нормальный. А нормальный дербанить не хочется.

Arsen_A

Разобрался, как из фактически двухпозиционного переключателя сделать трёхпозиционный. 😃
У джойстика Сайтек Авиатор есть трёхпозиционный переключатель, и хотелось его использовать для переключения режимов автопилота. Но оказалось, что крайнее левое положение переключателя не детектируется. Среднее соответствует постоянному нажатию кнопки 13, а правое - 14. Конкретнейшая, однако, засада! Такой красивый переключатель…

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

Кстати, как нормальную картинку выложить?

Tahorg

Типа многоканальный ButtonHold ? Можно будет добавить.

Arsen_A

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

Tahorg

Ну да, это я и называю многоканальный холд.

Tahorg

В процессе работы с разными джойстиками обнаружилась крайне неприятная ситуация с USB 1.1 джойстиками. Не со всеми, а только с “многокнопочными”, типа X45 или CH. В USB 1.1 HID размер пакета 8 байт. И если отчет о состоянии джойстика больше - данные делятся на несколько частей. Но прикол в том, что узнать сколько частей и какая эта часть от общего репорта невозможно, надо парсить заголовок в прошивке платы, а этого делать совсем не хотелось, потому что там не совсем тривиально. С USB 2.0 такого нет, там 64 байта, что хватит для любого современного джойстика.

Вобщем пока думаю.

20 days later
Tahorg

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

Arsen_A

Ну я то, как минимум, всегда тут… 😃

Basil

А можно выложить процесс загрузки прошивки через внешний FTDI, со схемой коннекта, или можно как то использовать встроенный?
А то первую часть инструкции выполнил, купил плату и джойстик:).

Archer_snp

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

ZayFly

В выходные допелю репорт Кобры и если получится Microsoft SideWinder Force Feedback 2, работа как то прижала )))

Basil
Basil:

А можно выложить процесс загрузки прошивки через внешний FTDI, со схемой коннекта,

Или кто нить на ссыль расщедрится?

Arsen_A
Basil:

Или кто нить на ссыль расщедрится?

83-й пост посмотрите, там всё есть.
Я теперь заливалю основную прошивку в плату через встроенный прошивальщик. Пришлось этим заняться когда плата зависла намертво, через FTDY не получалось. Но модели потом заливаю только через FTDY…

Basil

При подключение через FTDI выдаёт это

Отбой, ложная тревога, забыл про перемычки😇.

Arsen_A

А ком порт точно тот выбран? У меня окно другое, но регулярно рвётся связь, и при попытке коннекта тоже похожая ошибка идёт. Помогает “передёргивание” разъёма ЮСБ, причём на системнике…