Перейти к публикации

Рекомендованные сообщения

Опубликовано:
28 минут назад, Johnet сказал:

Здорово бы было, если бы под кривой можно было бы вывести шкалу Оси в кнопки.

Не просто, но возможно. Потом попробую реализовать.

Обновил белый стиль, он теперь похож на текущий конфигуратор.

  • Нравится 2
Опубликовано:
18 часов назад, Johnet сказал:

Это очень круто! Но на тему кривых. Здорово бы было, если бы под кривой можно было бы вывести шкалу Оси в кнопки. Т.о. На одной вкладке было бы видно, какие ось значения выдает и в какие моменты генерирует нажатия кнопок. Очень актуально было бы для настройки РУДов где в начале шкалы (если двигать от нуля до конца) генерируется нажатие Остановка двигателя. Затем нажатие Малый газ. После этого начинают меняться Значения оси. В конце генерируется нажатие кнопки Форсаж. 

Похоже что я это уже увидел)) Спасибо тебе за то что подтолкнул Магнерса))

Опубликовано:
46 минут назад, =M=PiloT сказал:

Похоже что я это уже увидел)) Спасибо тебе за то что подтолкнул Магнерса))


2PCCTC38TE.gif

  • Нравится 1
Опубликовано:
5 минут назад, WG_Magners сказал:


2PCCTC38TE.gif

Да, это все оно, но Было бы еще пуще, если бы шкалы Ось в Кнопки можно было бы располагать под кривыми. И при этом точка  и ее значения проецировались бы на ось Физических и логических значений,  под осью физических значений, можно было бы двигать движки кнопок, одновременно контролируя изменение значений лог. оси и генерацию нажатий кнопок. (Ну вот фантазия у меня такая))))). 

Опубликовано: (изменено)
8 минут назад, Johnet сказал:

Да, это все оно, но Было бы еще пуще, если бы шкалы Ось в Кнопки можно было бы располагать под кривыми. И при этом точка  и ее значения проецировались бы на ось Физических и логических значений,  под осью физических значений, можно было бы двигать движки кнопок, одновременно контролируя изменение значений лог. оси и генерацию нажатий кнопок. (Ну вот фантазия у меня такая))))). 

1_6795_Image.jpg
Вкладка осей в конфигураторе ?

Изменено пользователем WG_Magners
  • ХА-ХА 1
Опубликовано:
1 минуту назад, WG_Magners сказал:

Вкладка осей в конфигураторе ?

1252855354_.thumb.jpg.a48b8ed655b21de9a03ca304420075fb.jpg

Вот что я имею ввиду. Слева выбираем из падающего меню (оно не показано) ось и появлются и кривая этой оси и оси в кнопки.

Опубликовано:
Только что, Johnet сказал:

1252855354_.thumb.jpg.a48b8ed655b21de9a03ca304420075fb.jpg

Вот что я имею ввиду. Слева выбираем из падающего меню (оно не показано) ось и появлются и кривая этой оси и оси в кнопки.

Да, я понял. Мы с Reksotiv покумекаем над этим

  • Нравится 2
Опубликовано:

Мне кажется это бы сделало процесс конфигурации этих параметров (особенно если они взаимозависят) более наглядным.

Опубликовано: (изменено)

 

3 часа назад, Johnet сказал:

особенно если они взаимозависят

 

То есть а2б предпочтительнее располагать рядом с настройкой кривых, нежели индикатором обычного вывода оси? Есть мысль прятать настройку кривых в отдельное окно, которое по кнопке открывается, получается что оси в кнопки туда же уйдут

Изменено пользователем WG_Magners
Опубликовано: (изменено)
1 час назад, WG_Magners сказал:

То есть а2б предпочтительнее располагать рядом с настройкой кривых, нежели индикатором обычного вывода оси? Есть мысль прятать настройку кривых в отдельное окно, которое по кнопке открывается, получается что оси в кнопки туда же уйдут

Ну у тебя же остаются индикаторы положения оси (точечка по кривым бегает). Если можно, то здорово было бы палочки от этой точки что бы по координатным осям бегали бы. Мысль интересная. Т. Е. Настройку осей свести к одной вкладке, на которой разворачивается для каждой оси настройка кривых и кнопок. Пробовать надо, как это выглядеть будет. 

Изменено пользователем Johnet
Опубликовано: (изменено)

Изменили дизайн осей. Axes to buttons активируются автоматом, если количество кнопок 2 и больше.

https://github.com/Reksotiv/FreeJoyQt/releases

Скрытый текст

axes.thumb.jpg.009771437d6a54ba8df2dfdc751e046d.jpg

 

Изменено пользователем Reksotiv
  • Нравится 7
Опубликовано:

Два, нет, три вопроса/предложения.

1. Было бы здорово, если бы была поддержка расширителей портов типа MCP23017 или MCP23S17. У них 16 вводов-выводов (конфигурируемых, т.е. можно одновременно и на кнопки и на светодиоды посадить одну микросхему), порт I2C или SPI, в I2C версии можно адреса менять, да и по питанию не требовательны.

2. Светодиоды типа WS2812 и тому подобные адресуемые. Опять же, экономия пинов, все дела.

3. Новые платы на базе F411 процессора ("Black Pill 2") - например такая. Ненамного дороже, но намного быстрее, вроде как нативная прошивка через USB, да и USB С вроде нормально по надёжности. Будет поддержка?

Опубликовано:
28 минут назад, avalonnw сказал:

Два, нет, три вопроса/предложения.

1. Было бы здорово, если бы была поддержка расширителей портов типа MCP23017 или MCP23S17. У них 16 вводов-выводов (конфигурируемых, т.е. можно одновременно и на кнопки и на светодиоды посадить одну микросхему), порт I2C или SPI, в I2C версии можно адреса менять, да и по питанию не требовательны.

2. Светодиоды типа WS2812 и тому подобные адресуемые. Опять же, экономия пинов, все дела.

3. Новые платы на базе F411 процессора ("Black Pill 2") - например такая. Ненамного дороже, но намного быстрее, вроде как нативная прошивка через USB, да и USB С вроде нормально по надёжности. Будет поддержка?

 

1) Если придумаю как аккуратно встроить в проект, то можно добавить. Хорошая микросхема, чтоб в ручку РУС засунуть, можно в паре с ADS1115. Получится 4 оси + 16 кнопок по 4м проводам

2) Скорее всего будут (но в нединамическом режиме, просто подсветка), дайте время

3) Лежат в столе эти платы. Планировалось, что на них будет другая версия с FFB и прочими наворотами. Понятно, что тут нужно сильно всё переделывать и придется поддерживать два проекта параллельно, поэтому отложил пока есть что с F103 сделать

  • Нравится 4
Опубликовано:
42 минуты назад, WG_Magners сказал:

 

1) Если придумаю как аккуратно встроить в проект, то можно добавить. Хорошая микросхема, чтоб в ручку РУС засунуть, можно в паре с ADS1115. Получится 4 оси + 16 кнопок по 4м проводам

2) Скорее всего будут (но в нединамическом режиме, просто подсветка), дайте время

3) Лежат в столе эти платы. Планировалось, что на них будет другая версия с FFB и прочими наворотами. Понятно, что тут нужно сильно всё переделывать и придется поддерживать два проекта параллельно, поэтому отложил пока есть что с F103 сделать

Круто. Будем ждать. Я бы помог, но мой уровень - ардуино :(

Опубликовано: (изменено)

Вопрос такой. Как сообщество отнесется к тому, что я порт I2C перенесу с пинов PB8 и PB9 на PB10 и PB11? Не хочется, конечно, огорчать тех людей которые уже собрали железки на таком конфиге, но это изменение должно помочь нам раскочегарить I2C в неблокирующем режиме (не тормозя выполнение остальной программы)

 

Изменено пользователем WG_Magners
Опубликовано:

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

  • Поддерживаю! 2
Опубликовано:
2 часа назад, WG_Magners сказал:

Вопрос такой. Как сообщество отнесется к тому, что я порт I2C перенесу с пинов PB8 и PB9 на PB10 и PB11? Не хочется, конечно, огорчать тех людей которые уже собрали железки на таком конфиге, но это изменение должно помочь нам раскочегарить I2C в неблокирующем режиме (не тормозя выполнение остальной программы)

 

Я надеюсь, что I2C еще не настолько популярен, что бы народ уже наклепал себе кучу устройств. 

Опубликовано:
56 минут назад, Johnet сказал:

Я надеюсь, что I2C еще не настолько популярен, что бы народ уже наклепал себе кучу устройств. 

Ещё можно допустить мысль, что кто даже наклепал, у того и так работает на той прошивке, которая залита. А если работает, то зачем трогать)

  • Поддерживаю! 1
Опубликовано:
5 часов назад, WG_Magners сказал:

Вопрос такой. Как сообщество отнесется к тому, что я порт I2C перенесу с пинов PB8 и PB9 на PB10 и PB11? Не хочется, конечно, огорчать тех людей которые уже собрали железки на таком конфиге, но это изменение должно помочь нам раскочегарить I2C в неблокирующем режиме (не тормозя выполнение остальной программы)

 

Заинтересовало. Читаю доки. Они же вроде все железные I2C, что первая пара, что вторая. Если вопрос в переназначении пинов при загрузке, то тогда может PB6/PB7 лучше?

Опубликовано:
4 часа назад, WG_Magners сказал:

Ещё можно допустить мысль, что кто даже наклепал, у того и так работает на той прошивке, которая залита. А если работает, то зачем трогать)

То же самое относится к переходу на другой контроллер. ИМХО, не надо стремиться поддерживать два проекта. Как только возникнет возможность недостатка ресурсов используемого сейчас контроллера, можно на этом контроллере довести до логического завершения прошивку (Благо она уже умеет больше чем остальные бесплатные проекты). Портировать прошивку на новый контроллер и вносить новые фишки только для нового контроллера.

  • Нравится 1
Опубликовано:

Еще такое предложение (если возможно так сделать): Не привязывать кривые для каждой оси. Поясняю: выставляем кривую, которая не привязана к оси например "Кривая 1". Если мы для другой оси хотим сделать такую же кривую, то мы выбираем имя используемой кривой и она отображается в свойствах той кривой. Т.е. у нас есть набор поименованных осей и набор поименованных кривых. и мы можем назначать любую кривую любой оси. Что это даст? При назначении двум осям одинаковых кривых достаточно назначить кривую с одинаковым именем, а не пытаться поймать одинаковые значения для каждой точки. Как то так:

Curve.jpg.9e9a080447496b92bc7da472fef5b88f.jpg

Виноват, поправочка, передвинул имя оси, что бы при свернутой кривой было видно ее имя.

 

Curve.jpg

Опубликовано: (изменено)
38 минут назад, Johnet сказал:

Еще такое предложение (если возможно так сделать): Не привязывать кривые для каждой оси. Поясняю: выставляем кривую, которая не привязана к оси например "Кривая 1". Если мы для другой оси хотим сделать такую же кривую, то мы выбираем имя используемой кривой и она отображается в свойствах той кривой. Т.е. у нас есть набор поименованных осей и набор поименованных кривых. и мы можем назначать любую кривую любой оси. Что это даст? При назначении двум осям одинаковых кривых достаточно назначить кривую с одинаковым именем, а не пытаться поймать одинаковые значения для каждой точки. Как то так:

 

Примерно так сделано в конфигураторе OpenTX. Там вообще много интересного реализовано, что можно было бы сп позаимствовать. Например множественные настройки, логические функции и тд

Изменено пользователем avalonnw
Опубликовано:
6 часов назад, avalonnw сказал:

Заинтересовало. Читаю доки. Они же вроде все железные I2C, что первая пара, что вторая. Если вопрос в переназначении пинов при загрузке, то тогда может PB6/PB7 лучше?

PB6 у нас заюзан для генератора 4МГц для TLE, тут уже точно много кто сделал железо под это.

Проблема связана с конфликтом работы SPI1 и I2C1, гляньте в Errata. Сейчас приходится глушить тактирование одного пока работает другое

Опубликовано:

Если с i2c вопрос стоит так остро, может стоит рассмотреть вариант spi-i2c бриджа? И тогда вообще i2c выпилить из кода. Для тех кто уже сделал с i2c - переделать. Быть early adopter ом это боль, увы.

Опубликовано:
18 минут назад, l3VGV сказал:

Если с i2c вопрос стоит так остро, может стоит рассмотреть вариант spi-i2c бриджа? И тогда вообще i2c выпилить из кода. Для тех кто уже сделал с i2c - переделать. Быть early adopter ом это боль, увы.

Не остро, но ощутимо)

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

Опубликовано:
20.08.2020 в 06:02, Johnet сказал:

Еще такое предложение (если возможно так сделать): Не привязывать кривые для каждой оси.

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

  • Нравится 1
Опубликовано: (изменено)

Всем привет!
Обнаружилась неприятная бага с ШИМ-ом: если одновременно назначен ШИМ на ногу PB4 и подключены датчики TLE501х, то возникает конфликт между SPI и таймером за управление ногой PB4, хотя нога не используется SPI для передачи данных и даже может использоваться как обычный порт ввода/вывода (например, вход кнопки). В результате возникает мерцание светодиода, подключенного к PB4 + светодиод не может выйти на максимальную яркость.
Эту проблему можно решить не меняя текущую раскладку ног, но это будет довольно грязное решение (дерганье ногой вручную в прерывании таймера). Я больше  склоняюсь к тому, что надо этот канал ШИМ перенести на другую ногу, либо просто добавить еще один дополнительный, чтобы не обидеть тех, кто уже сделал железо на таком конфиге (тем более без TLE всё работает).

P.S. Раскладка ног в любом случае поменяется для I2C, так как вроде бы нормально работает на других ногах в неблокирующем режиме. 

Изменено пользователем WG_Magners
Опубликовано:
21.08.2020 в 12:03, Reksotiv сказал:

Редкий баг нашёл: при нажатии на кнопки чтения/записи конфига они выключаются и ничего не происходит.

Пофиксил, за кривые пока не брался. Ещё в линуксе удалось запустить, но не уверен, что это кому-то нужно) Изменили стандартный PID на 5757, т.к. 5750 кем-то занят и он не работает в линуксе, а занятый 5710 не работает в винде.

https://github.com/Reksotiv/FreeJoyQt/releases

  • Нравится 3
  • Спасибо! 1
  • Поддерживаю! 1
Опубликовано:
13 часов назад, Reksotiv сказал:

Пофиксил, за кривые пока не брался. Ещё в линуксе удалось запустить, но не уверен, что это кому-то нужно) Изменили стандартный PID на 5757, т.к. 5750 кем-то занят и он не работает в линуксе, а занятый 5710 не работает в винде.

https://github.com/Reksotiv/FreeJoyQt/releases

Существуют не только ил2. Есть многоплатформенные X-Plane и Flightgear. На линуксе много кто летает, а вот ни один джойстик не имеет штатной программы для управления контроллером, так что будете первыми.

  • Нравится 2
  • Поддерживаю! 1
Опубликовано: (изменено)
5 часов назад, Alex3232 сказал:

Ребят, энкодер не настраивается. В чем дело?

Screenshot_105.png

Маловато инфы.

Куда и как подключен? что на вкладке энкодеров изображено? если подключен через кнопки то что на вкладке кнопок?

Инструкцию изучали? Она немного устарела в целом, но про энкодеры там инфа актуальная

 

P.S. Проблему сильно быстрее можно будет найти, если приложить свой файл конфига

P.P.S. Сразу вижу что выбран Encoder 0, этому номеру может соответствовать только энкодер, подключенный к пинам PA8 и PA9, он же быстрый энкодер. Ваш энкодер подключен туда?

P.P.P.S. А ещё конфигуратор и прошивка разных версий, поэтому конфиг который на плату отправляется будет игнорироваться

Изменено пользователем WG_Magners
Опубликовано:
25.08.2020 в 13:56, micro-flight сказал:

Существуют не только ил2. Есть многоплатформенные X-Plane и Flightgear. На линуксе много кто летает, а вот ни один джойстик не имеет штатной программы для управления контроллером, так что будете первыми.

Выложил релиз для линукса https://github.com/Reksotiv/FreeJoyQt/releases . В архиве .AppImage - это аналог .exe, который не требует устанавливать сторонние либы. Но кое-что всё же придётся сделать для запуска. Надо скопировать 99-hid-FreeJoy.rules в /etc/udev/rules.d , без этого увидит контроллер, но не сможет считывать/записывать конфиг(в readme и 99-hid-FreeJoy.rules подробнее написано). Скрин с чистой убунты 20.04 в виртуалке.

Скрытый текст

linux.thumb.jpg.c640daeb1c5ee480855d86f93bc23f16.jpg

 

  • Нравится 3
Опубликовано: (изменено)
25.08.2020 в 22:17, WG_Magners сказал:

Маловато инфы.

Куда и как подключен? что на вкладке энкодеров изображено? если подключен через кнопки то что на вкладке кнопок?

Инструкцию изучали? Она немного устарела в целом, но про энкодеры там инфа актуальная

 

P.S. Проблему сильно быстрее можно будет найти, если приложить свой файл конфига

P.P.S. Сразу вижу что выбран Encoder 0, этому номеру может соответствовать только энкодер, подключенный к пинам PA8 и PA9, он же быстрый энкодер. Ваш энкодер подключен туда?

P.P.P.S. А ещё конфигуратор и прошивка разных версий, поэтому конфиг который на плату отправляется будет игнорироваться

А можно ссылку пожалуйста на соответствующую версию? По поводу подключения: к плате стм32, точную модель не скажу, такая, прямоугольная, узкая, если можно так сказать. По проводам: черный- gnd, красный-3.3В, зеленый-А8, белый-А9. PА8-это пин А8? Если да, то все верно, у меня быстрый энкодер. Руль делаю

Изменено пользователем Alex3232
Опубликовано:
40 минут назад, Alex3232 сказал:

А можно ссылку пожалуйста на соответствующую версию? По поводу подключения: к плате стм32, точную модель не скажу, такая, прямоугольная, узкая, если можно так сказать. По проводам: черный- gnd, красный-3.3В, зеленый-А8, белый-А9. PА8-это пин А8? Если да, то все верно, у меня быстрый энкодер. Руль делаю

 

https://github.com/FreeJoy-Team/FreeJoyWiki/blob/master/rus/Подключение-быстрых-энкодеров.md

 

Ссылки на свежий релиз здесь:

 

Опубликовано:
41 минуту назад, WG_Magners сказал:

Спасибо. Я так и подключил. Только без резисторов, они обязательны что-ли?

 

46 минут назад, WG_Magners сказал:

Не нашел. Этот гитхаб не понятный для меня(. Я в электронике этой не особо шарю. Мне бы просто этот энкодер подключить и все. Дальше углубляться не стоит

Опубликовано:
5 часов назад, Alex3232 сказал:

Спасибо. Я так и подключил. Только без резисторов, они обязательны что-ли?

Ну раз нарисованы, значит нужны. 

Сслыки на актуальные версии прошовок и конфигураторов есть вики

https://github.com/FreeJoy-Team/FreeJoyWiki/blob/master/rus/Необходимое-ПО.md

Опубликовано:
9 часов назад, Alex3232 сказал:

Не нашел. Этот гитхаб не понятный для меня(. Я в электронике этой не особо шарю.

Там где "Assets" написано, zip архив 

Опубликовано: (изменено)

приехала платка,хочу подключить две авто педальки

Щаз подключены к ардуинке вот так

Logitech_Shifter_USB.thumb.jpg.d50d853bee3c8ccdf24360587066345d.jpg

как подключить к плате  STM32 ?

UART-конвертер для прошивки имеется

Изменено пользователем huligan
Опубликовано:
13 минут назад, huligan сказал:

приехала платка,хочу подключить две авто педальки

Щаз подключены к ардуинке вот так

Logitech_Shifter_USB.thumb.jpg.d50d853bee3c8ccdf24360587066345d.jpg

как подключить к плате  STM32 ?

UART-конвертер для прошивки имеется

А что к Pin2 (D2) подключено? 

Скорее всего остальное так:

Pin 3 - 3.3V

Pin 4 - A0

Pin 6 - GND

Pin 7 - 3.3V

Pin 8 - A2

  • Спасибо! 1
Опубликовано: (изменено)
2 часа назад, WG_Magners сказал:

А что к Pin2 (D2) подключено? 

Скрин перепутал-не с педалей,а с коробки передач.

Щаз найду правильный

пытался вспомнить,но...там капитально чёрным скотчем всё закручено у меня:crazy: может этого контакта вообще там нет,нужно резать обмотку на платке,чтобы посмотреть,куда на самом деле я там чего подключал,а педали разбирать-там пружинки,после прошлой разборки неделю собрать не получалось:(((

вот таким скетчем прошивал

Скрытый текст

// USB 2 AXIS Controller 
// Use with Arduino Leonardo or ProMicro.
// Install Joystick library

// AMSTUDIO 2018
// YT https://www.youtube.com/channel/UCQS1ZB3BVSrBo3tCs7PyfxQ
// Wiring + Setup https://youtu.be/iKIrbF6GnZ0
// Copyright _ Non Commerical_ Not for Resale https://creativecommons.org/licenses/by-nc-nd/4.0/

#include <Joystick.h>

Joystick_ Joystick;

int zAxis_ = 0;                     
int RyAxis_ = 0;                   

const bool initAutoSendState = true; 

void setup()
{
      Joystick.begin();
  }
   
void loop(){
 
zAxis_ = analogRead(A0);  
zAxis_ = map(zAxis_,0,1023,0,255);
 Joystick.setZAxis(zAxis_);  
  
 
 RyAxis_ = analogRead(A2);
 RyAxis_ = map(RyAxis_,0,1023,0,255);
 Joystick.setRyAxis(RyAxis_);
 
delay (50);
}

//AMSTUDIO Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

Ктетч переписывал для своих 2-х осей из этого(оригинал на 5 осей)

Скрытый текст

// USB 5 AXIS Controller 
// Use with Arduino Leonardo or ProMicro.
// Install Joystick library

// AMSTUDIO 2018
// YT https://www.youtube.com/channel/UCQS1ZB3BVSrBo3tCs7PyfxQ
// Wiring + Setup https://youtu.be/iKIrbF6GnZ0
// Copyright _ Non Commerical_ Not for Resale https://creativecommons.org/licenses/by-nc-nd/4.0/

#include <Joystick.h>

Joystick_ Joystick;

int zAxis_ = 0; 
int RxAxis_ = 0;                    
int RyAxis_ = 0;  
int RzAxis_ = 0;          
int Throttle_ = 0;         

const bool initAutoSendState = true; 

void setup()
{
      Joystick.begin();
  }
   
void loop(){
 
zAxis_ = analogRead(A0);  
zAxis_ = map(zAxis_,0,1023,0,255);
 Joystick.setZAxis(zAxis_);  
  
RxAxis_ = analogRead(A1);
 RxAxis_ = map(RxAxis_,0,1023,0,255);
 Joystick.setRxAxis(RxAxis_);
  
 RyAxis_ = analogRead(A2);
 RyAxis_ = map(RyAxis_,0,1023,0,255);
 Joystick.setRyAxis(RyAxis_);

 RzAxis_ = analogRead(A3);
 RzAxis_ = map(RzAxis_,1023,0,255,0);            
Joystick.setRzAxis(RzAxis_);
  
Throttle_ = analogRead(A4);
Throttle_ = map(Throttle_,1023,0,255,0);         
Joystick.setThrottle(Throttle_);                
 
delay (50);
}

//AMSTUDIO Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

Собирал и прошивал по этой инструкции 

Скрытый текст

 

 

...вспомнил!Скрин правильный,просто D2 для перелей не используется,только А0 и А2

D2 там для кнопки

Изменено пользователем huligan

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Создать...