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

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

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

От механики конкретных хаток зависит, не у всех эта проблема проявлялась

Да, я помню, была об этом речь. Проверю.

Опубликовано:
10.12.2021 в 16:29, Reksotiv сказал:

Да, в конфигураторе посложнее будет чем в прошивке, но ничего такого. Вообще, я бы на f4 начал переходить, а не вводил бы новые фичи. Он дешевле, производительнее, больше памяти и про подделки пока не слышал. Пару дней попробовал с переносом повозиться методом проб и ошибок, забил и переделал кривые. Нужна другая либа для USB и в ней надо разбираться, ctrl+c - ctrl+v не получится.

 

Я обратил внимание на постоянное использование прямой записи/чтения регистров. На мой взгляд крохотные выгоды по скорости не оправдывают проблем с переносимостью. Поэтому я всё своё сделал на HAL. Теперь перенос с f1 на f4 у меня это правка дефайнов что идёт в какую переферию/пин. Но то у меня, у меня всё проще. И флеша свободного куча и озу.

 

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

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

 

Я обратил внимание на постоянное использование прямой записи/чтения регистров. На мой взгляд крохотные выгоды по скорости не оправдывают проблем с переносимостью. Поэтому я всё своё сделал на HAL. Теперь перенос с f1 на f4 у меня это правка дефайнов что идёт в какую переферию/пин. Но то у меня, у меня всё проще. И флеша свободного куча и озу.

 

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

Выгоды по скорости мало, а по использованию памяти колоссальная. Проект был начат на HAL и по причине закончившейся памяти в один момент переведен на CMSIS целиком.
Переход на F4 не будет обычным портом, там планируется и HAL и RTOS. Вкупе с тем, что F4 имеет встроенный загрузчик по USB, количество памяти на камне позволяет нам многие архитектурные приятные вещи

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

RTOS

 

Тоже хочу применить. Очень заманчиво выглядят удобства.

 

Для USB можно посмотреть на https://github.com/hathach/tinyusb

ради удобного создания композитов(не только нескольких HID, но и например CDC для... чегонибудь!)

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

Присоединяюсь к клубу обнаруживших что конфигруатор не может прочитать/записать данные по тонкому кабелю. Полагаю гдето слишком малые таймауты, предлагаю увеличить их до 10-15мс(чтобы у винды и девайса было время совершить повторную передачу если это требуется при повреждении). В тестировании учувствовал конфигуратор 1.7.0b3  QT

 

***

 

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

Изменено пользователем l3VGV
Опубликовано: (изменено)
23 минуты назад, l3VGV сказал:

Присоединяюсь к клубу обнаруживших что конфигруатор не может прочитать/записать данные по тонкому кабелю. Полагаю гдето слишком малые таймауты, предлагаю увеличить их до 10-15мс(чтобы у винды и девайса было время совершить повторную передачу если это требуется при повреждении). В тестировании учувствовал конфигуратор 1.7.0b3  QT

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

Изменено пользователем Reksotiv
Опубликовано:
32 минуты назад, l3VGV сказал:

Присоединяюсь к клубу обнаруживших что конфигруатор не может прочитать/записать данные по тонкому кабелю. Полагаю гдето слишком малые таймауты, предлагаю увеличить их до 10-15мс(чтобы у винды и девайса было время совершить повторную передачу если это требуется при повреждении). В тестировании учувствовал конфигуратор 1.7.0b3  QT

 

***

 

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

Магнит крепился/клеился, или своими силами держится?

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

Магнит крепился/клеился, или своими силами держится?

 

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

 

21 минуту назад, Reksotiv сказал:

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

 

Если не в конфигураторе то затрудняюсь понять причину происходящего. К сожалению дома такого кабеля у меня нет, проверить лично никак. Но я постараюсь сделать плохой кабель :)

Изменено пользователем l3VGV
  • Спасибо! 1
Опубликовано:
1 минуту назад, l3VGV сказал:

 

Был приклеен на эпоксидку к гайке м10.

 

Эмммм... суровая почта)

 

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

Эмммм... суровая почта)

 

 

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

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

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

Не знаю что там у тонких кабелей, но немного про задержки скажу. У протокола usb есть минимальный таймаут, и поэтому нельзя сделать длинный кабель без повторителей(хабов). Один из вариантов: контроллер с определённым конфигом и длинным кабелем может не успевать предоставить операционной системе usb пакет и придут пустые manufacturer/product строки, контроллер отвалится в конфигураторе. У меня есть костыль для удержания, он был актуален в 1.6, но в 1.7.0 пакеты почти всегда отправляются вовремя. В 1.7.1 опрос кнопок сделали раз в 0.5мс, для лучшей работы энкодеров. С некоторыми конфигурациями(много axes to buttons) очень плохо работали кнопки из-за прерывания для работы usb, но так же manufacturer/product строки иногда приходили пустыми. После оптимизации axes to buttons проблема ушла. В общем, сам протокол usb имеет таймаут и не допускает задержек.

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

У протокола usb есть минимальный таймаут, и поэтому нельзя сделать длинный кабель без повторителей(хабов)

 

Тут дело не в длине(чтобы начала скорость распространения влиять это мы врятли превысим дома, одно время у меня были кабели по 15м, и нормально работало). Беда в росте емкости и индуктивности при увеличении протяженности. В какойто момент фронты не успевают вырасти и продержаться нужное время чтобы можно было понять что происходит.

 

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

Не думаю что в данном случае контроллер перегружен, тут всего навсего 3 оси и всё, больше ничего нет! И с нормальным кабелем дело сразу пошло.

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

Эх попробовал я CH с 1.7.0b3 виснет зараза каждые секунд 20.

Опубликовано:
12.12.2021 в 17:51, WG_Magners сказал:

У кого есть хатки от Alps (которые с центром) просьба проверить работу этой версии.
Здесь должно быть исправлено нажатие центра при нажатии и отпускании кнопок направления
https://yadi.sk/d/jDLszp54qThMhA

 

А можно схему/фото подключения и платки с датчиком и файл настроек из конфигуратора?

 

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

Что то выдает ошибку по юсб и не видит. С 1.7.0b3 нормально работает.

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

Доброго времени суток.

Вот и я присоединился к проекту,  прошил таблетку, навесил 8 кнопок и 4 оси.

Самое удивительное что у меня  все заработало и даже в Ил-2 все определилось.

Сейчас сижу думаю  какая конфигурация управления должна быть  для игры. 

 

Опубликовано:
12.12.2021 в 17:51, WG_Magners сказал:

У кого есть хатки от Alps (которые с центром) просьба проверить работу этой версии.
Здесь должно быть исправлено нажатие центра при нажатии и отпускании кнопок направления

После заливки конфига контроллер перестает определяться системой.

Опубликовано:
12.12.2021 в 17:51, WG_Magners сказал:

У кого есть хатки от Alps (которые с центром) просьба проверить работу этой версии.
Здесь должно быть исправлено нажатие центра при нажатии и отпускании кнопок направления

Вернулся на 1.7.0b3; действительно, есть проблема, причем только в направлении на 90 градусов (одновременное срабатывание направления и центра). Ждем стабильного апдейта 1.7.1.

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

После заливки конфига контроллер перестает определяться системой.

А можно конфиг?

 

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

А можно конфиг?

Я, кстати, еще поиграл с хаткой на 1.0.7b3. В других направлениях тоже бывают срабатывания центра, но реже; причем во всех направлениях центр срабатывает только на размыкание. При смещении хатки из бокового положения сначала срабатывает центр, потом размыкается боковая кнопка, потом размыкается центр. При смещении хатки вбок центр не срабатывает.

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

Народ, подскажите, плиз. Тоже захотелось для MSFS 2020 кнопок настрогать и пару осей приделать. Плата пришла, вроде работает. Попробовал одну кнопку, работает, в симе определяется. Будет около 50 кнопок через сдвиговый регистр, около 15 светодиодов ну и пара осей может. Сдвиговые регистры sn74hc165n.

Вопросы такие:

 1) Хоть светодиоды и 3 мм с небольшим током, но как лучше - делать внешнее питание, тогда какое - 3.3 вольта или 5 вольт, при этом отключив 5 вольт через USB? Или достаточно будет питания от USB таки?

2) Сколько сдвиговых регистров можно соединять последовательно?

 Увы, раньше только "аналоговым" "радиополюбительством" занимался, потому не уверен... Спасибо за помощь! 

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

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

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

  • Спасибо! 1
Опубликовано:
19 часов назад, Relanium сказал:

) Сколько сдвиговых регистров можно соединять последовательно?

Можно все поддерживаемые 16 шт. в одну цепочку забацать. Главное, что бы падение напряжения питания на последнем не просаживало питание ниже номинала микросхемы.

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

Спасибо, понятно все.

 

 

 

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

Кстати а изменение битности вообще работает для аналогово сигнала? Потому-что изменяю и разница в количестве отсчётов неменяется.

Изменено пользователем ZERgyt
Опубликовано:
24.12.2021 в 16:27, ZERgyt сказал:

Кстати а изменение битности вообще работает для аналогово сигнала? Потому-что изменяю и разница в количестве отсчётов неменяется.

Меняется внутри контроллера. Всего шагов 65534, если битность =16, то 1 шаг = 1, если битность =1, то шаг = 65534(0 или 65534). Можно сделать ступенчатую ось.

1 бит = 65534 шаг
2 бит = 21844.7
3 бит = 9362
4 бит = 4368.93
5 бит = 2114
6 бит = 1040.22
7 бит = 516.016
8 бит = 256.996
9 бит = 128.247
10 бит = 64.0606
11 бит = 32.0147
12 бит = 16.0034
13 бит = 8.00073
14 бит = 4.00012
15 бит = 2
16 бит = 1

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

Меняется внутри контроллера. Всего шагов 65534, если битность =16, то 1 шаг = 1, если битность =1, то шаг = 65534(0 или 65534). Можно сделать ступенчатую ось.

1 бит = 65534 шаг
2 бит = 21844.7
3 бит = 9362
4 бит = 4368.93
5 бит = 2114
6 бит = 1040.22
7 бит = 516.016
8 бит = 256.996
9 бит = 128.247
10 бит = 64.0606
11 бит = 32.0147
12 бит = 16.0034
13 бит = 8.00073
14 бит = 4.00012
15 бит = 2
16 бит = 1

А сделать можно чтобы в конфигураторе менялось количество шагов в зависимости от битности, а то не очень наглядно?

Опубликовано:
26.12.2021 в 23:34, ZERgyt сказал:

А сделать можно чтобы в конфигураторе менялось количество шагов в зависимости от битности, а то не очень наглядно?

Даже не знаю как это можно наглядно сделать. Можно тултип добавить(всплывающая подсказка). Вообще, мне надо сделать тултипы ко всему, это очень нудно и долго, но надо бы этим заняться. Когда первый раз скачал FJ, наводил на значения в ожидании подсказки, которой не было. Слишком долго лезть в вики и искать нужную информацию. Щас magners начнёт на f4 переезжать и я тоже активизируюсь.

  • Нравится 1
Опубликовано:
17 часов назад, Reksotiv сказал:

Даже не знаю как это можно наглядно сделать. Можно тултип добавить(всплывающая подсказка). Вообще, мне надо сделать тултипы ко всему, это очень нудно и долго, но надо бы этим заняться. Когда первый раз скачал FJ, наводил на значения в ожидании подсказки, которой не было. Слишком долго лезть в вики и искать нужную информацию. Щас magners начнёт на f4 переезжать и я тоже активизируюсь.

В том же ммджой2 меняется количество шагов при изменении битности. Именно в том месте где цифры отсчетов.

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

не надо тратить время на всякие подсказки, есть вики и при желании можно все там посмотреть

  • Поддерживаю! 1
Опубликовано:


С Новым годом, господа разработчики и пользователи фриджоя!

 

31.12.2021 в 02:02, Reksotiv сказал:

Даже не знаю как это можно наглядно сделать. Можно тултип добавить(всплывающая подсказка). Вообще, мне надо сделать тултипы ко всему, это очень нудно и долго, но надо бы этим заняться. Когда первый раз скачал FJ, наводил на значения в ожидании подсказки, которой не было. Слишком долго лезть в вики и искать нужную информацию. Щас magners начнёт на f4 переезжать и я тоже активизируюсь.

 

Делитель в зависимости от значения в инпуте разрядности, /1 для 16 бит, /2 для 15 бит и т.д.

 

Как я понял, на выходе всегда шкала 65к, только шаг меняется в зависимости от разрядности. Так ?

На засыпку: вопрос срабатывания лампочек капса и скролла не проверяли? Сейчас показалось, что они начинают активироваться даже при запуске оболочки фриджоя О_о Причём ни один девайс на базе фриджоя не подключен сейчас.
Только ммджой... хмммм)

Опубликовано: (изменено)
05.01.2022 в 19:57, Graphene сказал:


С Новым годом, господа разработчики и пользователи фриджоя!

 

 

Делитель в зависимости от значения в инпуте разрядности, /1 для 16 бит, /2 для 15 бит и т.д.

 

Как я понял, на выходе всегда шкала 65к, только шаг меняется в зависимости от разрядности. Так ?

На засыпку: вопрос срабатывания лампочек капса и скролла не проверяли? Сейчас показалось, что они начинают активироваться даже при запуске оболочки фриджоя О_о Причём ни один девайс на базе фриджоя не подключен сейчас.
Только ммджой... хмммм)

Всех с новым годом!)

 

Про делитель всё верно.

 

Показалось или точно?) У меня просто клавы с лампочками нет. 

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

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

Всех с новым годом!)

 

Про делитель всё верно.

 

Показалось или точно?) У меня просто клавы с лампочками нет. 

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

100% мочит без баяна и выше тоже человек там уже вроде как клаву под суд чуть не отдал) Благо оно хоть на раскладку не влияет, но иногда вымораживает.

Вопрос еще: если я меняю имя девайса (имя, не PID/VID), это собьет его в памяти симулятора, или девайсы запоминаются только по PID/VID. Нужно поменять название, но так влом кучу кнопок переназначать в стопицотый раз. По этой же причине проверять этот факт не хочется пока. ?

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

100% мочит без баяна и выше тоже человек там уже вроде как клаву под суд чуть не отдал) Благо оно хоть на раскладку не влияет, но иногда вымораживает.

Вопрос еще: если я меняю имя девайса (имя, не PID/VID), это собьет его в памяти симулятора, или девайсы запоминаются только по PID/VID. Нужно поменять название, но так влом кучу кнопок переназначать в стопицотый раз. По этой же причине проверять этот факт не хочется пока. ?

Зависит от игры. В Ил2 у меня кнопки могут слететь если я даже в другой порт просто воткну джой

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

Зависит от игры. В Ил2 у меня кнопки могут слететь если я даже в другой порт просто воткну джой

 

Вот от другого порта у меня не слетает(на моей собственной прошивке), может всёже чот не так с серийником? Ил всё делает по ГУИДу, который получает от винды, тока форматирует посвоему. Винда гуид делает в первую очередь от серийника.

 

Вот моя тулза, для настройки моего стика. Вам важно смотреть в консоль, и повтыкать/вытыкать джойстик в разные дырки. Если гуид сменится, то значит чтото не так!

 

 

l3VGVsJoyToolue.zip

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

Зависит от игры. В Ил2 у меня кнопки могут слететь если я даже в другой порт просто воткну джой

У меня "разборной" кокпит, поэтому втыкнуть не в тот порт это на раз два( Дкс еще фиг пойми как работает. То потягивает старые раскладки, то новые. Видимо когда экспериментируешь с платами, плодится куча конфигов. Судя по папке инпута.

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

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

l3VGVsJoyToolue.zip

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

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

l3VGVsJoyToolue.zip 65 \u041a\u0431 · 1 скачивание

Обнаружено, что поле IL-2 device GUID в консольке таки меняется при смене разъема. Для DCS в частности вроде не имеет значения, т.к. файлы конфигов содержат в имени информацию из поля dinput device GUID, которая не меняется.

Опубликовано:
08.01.2022 в 11:58, l3VGV сказал:

Вам важно смотреть в консоль, и повтыкать/вытыкать джойстик в разные дырки. Если гуид сменится, то значит чтото не так!


 

Цитата

Device connected: \\?\HID#VID_0483&PID_5757&MI_00#7&b43f7f9&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
FreeJoy v1.7.0, SN: 4E7D50553900 path: \\?\HID#VID_0483&PID_5757&MI_00#7&b43f7f9&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
    FreeJoy v1.7.0, SN: 4E7D50553900 dinput device GUID {2E6B0840-E650-11EA-8001-444553540000}
    FreeJoy v1.7.0, SN: 4E7D50553900 IL-2 device GUID {2e6b0840-e650-11ea-0000545345440180}
Device connected: \\?\HID#VID_0483&PID_5757&MI_01#7&2307843e&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}


Device disconnected: \\?\HID#VID_0483&PID_5757&MI_00#7&b43f7f9&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
Device disconnected: \\?\HID#VID_0483&PID_5757&MI_01#7&2307843e&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}


Device connected: \\?\HID#VID_0483&PID_5757&MI_00#7&30b83205&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
FreeJoy v1.7.0, SN: 4E7D50553900 path: \\?\HID#VID_0483&PID_5757&MI_00#7&30b83205&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
    FreeJoy v1.7.0, SN: 4E7D50553900 dinput device GUID {2E6B0840-E650-11EA-8001-444553540000}
    FreeJoy v1.7.0, SN: 4E7D50553900 IL-2 device GUID {2e6b0840-e650-11ea-0000545345440180}
Device connected: \\?\HID#VID_0483&PID_5757&MI_01#7&1d8815c7&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}

 

При втыкании в разные порты GUID не меняется (он завязан на серийник, который у нас берется из серийника микроконтроллера, прописанного на заводе). При смене имени GUID естественно тоже не меняется. При перетыкании меняется Path (выделил отличающиеся части), что логично, но игра при этом корректно отрабатывает. 
Сейчас на своем компе не смог воспроизвести ситуацию, когда кнопки слетели при смене порта/имени/дескриптора репорта, но такие ситуации точно были.
Если у @Graphene меняется GUID, то интересно еще увидеть, меняется ли серийник ибо не должен.

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


 

 

При втыкании в разные порты GUID не меняется (он завязан на серийник, который у нас берется из серийника микроконтроллера, прописанного на заводе). При смене имени GUID естественно тоже не меняется. При перетыкании меняется Path (выделил отличающиеся части), что логично, но игра при этом корректно отрабатывает. 
Сейчас на своем компе не смог воспроизвести ситуацию, когда кнопки слетели при смене порта/имени/дескриптора репорта, но такие ситуации точно были.
Если у @Graphene меняется GUID, то интересно еще увидеть, меняется ли серийник ибо не должен.

Я эти строки смотрел
FreeJoy v1.7.0, SN: 4E7D50553900 dinput device GUID {2E6B0840-E650-11EA-8001-444553540000}
    FreeJoy v1.7.0, SN: 4E7D50553900 IL-2 device GUID {2e6b0840-e650-11ea-0000545345440180}
Но скорее всего это разное форматирование. Серийник не меняется.

П.С. В freejoy где-то в дебаг или строку какую можно добавить такую же информацию? Полезно видеть, вчера почистил инпут дкс.
Кстати дкс запоминает намертво имя девайса при первом втыкании. Потом смена имени в конфигураторе ничего не даёт, пока не поменяешь его в имени конфигов инпута дкс. Ну или не произойдёт очистка папок по какой-то причине.

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

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

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

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

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

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

Войти

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

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