Еще одна попытка управления джойстиком, или USB -> PPM конвертор с преферансом и гейшами.
Делал подобное с нунчака. Но об этом не в этой теме.
а где можно про это почитать? Правда я пока программирование ардуины не освоил, но изучаю потихоньку
Всем привет.
Проект еще жив и развивается или можно дальше идти?
Всем привет.
Проект еще жив и развивается или можно дальше идти?
Где-то там жив. В смысле я себе делаю, что мне интересно. Ну и по запросам отдельных пользователей с РЦГрупс.
Где-то там жив. В смысле я себе делаю, что мне интересно. Ну и по запросам отдельных пользователей с РЦГрупс.
На гитхабе актуальная версия проекта?
В открытом репозитарии - стабильная.
Давно собирался, и вот наконец заказал STM32F429I-DISCO. Буду пробовать подключиться к x52 😃
Еще FTDI нужен, чтоб прошивки заливать.
Пробую прошить через FTDI - пока не получается. При нажатии кнопки Connect выдает ошибку “The operation has timed out”.
Пробовал двумя заведомо рабочими прошивальщиками. Драва на компьютере стоят, совсем недавно прошивал другую плату. В чем может быть дело?
Подключил все как здесь
Перемычки - на месте, пробовал подключиться с ними и без них.
Без них на дисплее платы появляются виджеты (уже что-то прошито в ней).
Пробовал менять TX\RX местами.
www.st.com/web/en/catalog/tools/FM147/…/PF257525?s…
есть родное приложение для прошивания через ftdi, если оно работает - программа тоже должна работать.
Все получилось) Но только когда снял перемычки на подключенной плате. Перехожу к настройкам.
Что-то не могу разобраться с bin файлом при создании проекта. Когда заходишь в Sketch -> Settings, и указываешь путь в свободную папку, где должен быть проект, кнопку ОК не срабатывает, видимо нужен уже готовый bin файл. А где его взять?
- и опять разобрался, надо было делать это без нажатия Connect
Но bin файл в папке так и не появился. Есть только xml
Здравствуйте Сергей. Делаю свой проект на STM32F407-discovery. Поднял USB-HOST, поженил джойстик Logitech с платой, сделал PPM генератор. При подключении FR SKY модуля спалил ногу микроконтроллера по которой гнал PPM сигнал. С удивлением обнаружил на модуле, на входе PPM напряжение 3,3 вольта. У вас на схеме нога микроконтроллера на прямую идёт на PPM вход на модуле.
Подскажите пожалуйста - вы в программе какую то подтяжке на ноге делали ? Должно ли быть напряжение на PPM входе в/ч модуля ? Спасибо.
Здравствуйте Сергей. Делаю свой проект на STM32F407-discovery. Поднял USB-HOST, поженил джойстик Logitech с платой, сделал PPM генератор. При подключении FR SKY модуля спалил ногу микроконтроллера по которой гнал PPM сигнал. С удивлением обнаружил на модуле, на входе PPM напряжение 3,3 вольта. У вас на схеме нога микроконтроллера на прямую идёт на PPM вход на модуле.
Подскажите пожалуйста - вы в программе какую то подтяжке на ноге делали ? Должно ли быть напряжение на PPM входе в/ч модуля ? Спасибо.
В STMCubeMX показываеются ноги толератные к 3.3 и к 5 входным вольтам. Я пробовал к FrSky модулю, Taranis входу и к EzUHF RLS. Проблем не было.
Но вообще для PPM выхода
GPIO_InitStruct.Pull = GPIO_PULLUP;
github.com/Iezious/rcjoy/tree/master/RCJoy - тут лежит старая версия под 407, правда не под куб а CMSIS/
Что-то не могу разобраться с bin файлом при создании проекта. Когда заходишь в Sketch -> Settings, и указываешь путь в свободную папку, где должен быть проект, кнопку ОК не срабатывает, видимо нужен уже готовый bin файл. А где его взять?
- и опять разобрался, надо было делать это без нажатия Connect
Но bin файл в папке так и не появился. Есть только xml
Второй бин появится после компиляции файла настроек, если он пройдет проверку. Ео заливать лучше уже самой программой.
В STMCubeMX показываеются ноги толератные к 3.3 и к 5 входным вольтам. Я пробовал к FrSky модулю, Taranis входу и к EzUHF RLS. Проблем не было.
Но вообще для PPM выхода
GPIO_InitStruct.Pull = GPIO_PULLUP;
github.com/Iezious/rcjoy/tree/master/RCJoy - тут лежит старая версия под 407, правда не под куб а CMSIS/
Второй бин появится после компиляции файла настроек, если он пройдет проверку. Ео заливать лучше уже самой программой.
Здравствуйте, спасибо за ответ. Поменял ногу на на не подключённую к светодиоду на плате дискавери - и всё заработало. Видимо по токоотдаче нога не выдержала.
Обо всей истории по порядку:
Первый раз прошил, настроил триммеров, кнопок… Все классно, но один триммер почему-то в одну сторону давал 3х кратное значение, а в другую- все нормально. Позже Live data перестала работать (в блоке джойстика значения перестали бегать, и соответственно - в микшерах и триммерах). На газ поставил инвертор, он что-то тоже вырубился потом. Может все дело в том, что не выравнял значения с теми что во флеши уже были… пока не понятно. Обнаружил что моя версия ПО называется “RCJoy.P429.v.0.9.3.zip” - на конце цифра 3. А сейчас с Гитхаба качается то же, только на конце 2. Может я как-то раз поторопился и скачал тестовую версию?
Прошил сейчас свежескаченной, с двойкой на конце.
На этапе настройки джойстика выдает вот такую штуку:
Чего это он хочет?
версии не совместимые, программа и прошивка должны быть из одного пакета.
Говорит, что проблема с распознаванием джойстика - суммарное количество бит должно делиться на 8.
Вообще на гитхабе есть работающие файлы джойстиков, но пока не выложен код, который их поключает в программе. Можно только руками править xml файл.
И еще - после всех перемен схемы, после заливки, всегда надо проверять значения переменных. Я пока просто не придумал, как это сделать умно, поэтому все тупо,п поэтому могут не так работать тримеры, инверторы, мапперы и прочее. Всегда проверять, что записано в переменных. Сам иногда забываю и удивляюсь, почему тот или иной канал сдох 8-/.
Кроме того - все можно посмотреть в отладочной секции прямо на экране платы - ВМЕСТЕ с переменными. Открываем меню платы синей кнопкой, идем в дебаг, выбираем блок и видим все текущие вход, выход и коэфициенты (что кстати важно, в программе мы видим коэфициенты ДЕФОЛТНЫЕ, а на плате ТЕКУЩИЕ). Кстати, их прямо по месту можно править, если они неверные.
Сергей здравствуйте, а можете какое то видео полёта с джойстиком выложить. Или как ваша система на земле работает. Как рули на джойстик реагируют. Спасибо.
Сергей здравствуйте, а можете какое то видео полёта с джойстиком выложить. Или как ваша система на земле работает. Как рули на джойстик реагируют. Спасибо.
есть такое :
Правда тут старая плата и джойстик не фонтан. Полетных нет - все никак не дособеру коптер с камерой.
Вообще все это мелочи по сравнению с проделанной работой!) Для пользователя сделано все очень удобно, и возможности огромны. Приятно смотреть, когда на экране работают все кнопки и оси твоего джойстика x52, зная что можешь подключить их к любому каналу PPM.
версии не совместимые, программа и прошивка должны быть из одного пакета.
Странно, у меня с прошивкой v.0.9.3 - все капризничало, не хотела работать Live data, и GUI вылетала при каждой перезагрузке платы.
Когда прошил v.0.9.2 - все заработало чудесно, но только с GUI от от v.0.9.3, а в GUI от v.0.9.2 выдает вот эту самую ошибку с битами.
Чем эти версии вообще отличаются? Хотя, сам я вряд ли в этом разберусь, как и в правке xml файла.
Еще возможно баг обнаружил, а может в настройках что-то не так:
Когда делаю Increase в триммере по Aelerons, то значение на выходе увеличивается почему-то не на указанное, а на произвольное - от 5-ти до 10-ти кратного примерно. При этом, все другие триммеры работают нормально. В моем конфиге триммеры управляются с хатки, через блок Hat-Battons, плюс сделал ее отключаемой, поставил логические кнопки, которые включаются только при одном положении колеса родных флай-мод x52, т.е. подключил их к каналу “Buttons 1 28”. Причем, хатка выдает правильные значения. Пробовал и без хатки - на другие кнопки триммеры выводить - результат тот же. Т.е. похоже не в джойстике дело. Да, наверно это важно, это не сразу после первой загрузки конфигурации случилось, а только после последующих, когда стал обновлять уже.
Вроде все правильно.
Тут есть нюанс, который слабо прояснен - про значения.
Есть значения оси с джойстика, они могут быть любые. Например у Х52 рукоятка 10 бит и будет 0…1024, а газ 8 бит и будет 0…255.
Далее оси джойстика всегда конвертятся в значения типа “ось”. Ось всегда 0…1000, вне зависимости от размерности входящих осей - все ремапится на пространство 0…1000. Все инверторы, триммеры, мапперы и прочая математика делается над значением типа “ось” и всегда остается в диапазоне 0…1000.
Далее, в выходном блоке ППМ ось конвертится в ППМ сингал. По стандарту ППМ - это 1000-2000, но он настраивается в меню модели, можно подправить (например мультик хотел оси 920…2120 с центром 1520).
Поэтому в блоке джойстика - реальные значения, считанные с джойстика. В блоках 0…1000. В ППМ - выходной ППМ сигнал, в зависимости от настроек модели.
например мультик хотел оси 920…2120 с центром 1520
Да, как раз задавался этим вопросом, ну теперь все ясно, спасибо! У меня APM, там от 980 до 1900 - что-то вроде этого, значит настрою в меню модели, когда буду все собирать воедино.
Вот как бы триммер еще настроить чтоб корректно работал, про который выше писал - было б вообще идеально. Побольше бы мне знаний в программировании - полез бы в код. А так - могу только констатировать факт.