OpenHD: DIY/opensource HD/FHD цифровое видео своими руками

Xodik

Подскажите где почитать, как сделать управление по OpenHD
вики на гитхабе я изучил, но особо не разобрался
Интересует следующее,

у меня пульт Turnigy 9XR - можно ли его приколхозить или только таранисы работают

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

schs
Xodik:

у меня пульт Turnigy 9XR - можно ли его приколхозить или только таранисы работают

Можно. Нужен будет дополнительно конвертор PPM - HID. Самый простой его вариант продают в виде адаптера пульта для симуляторов на компьютер.

Xodik
schs:

Можно. Нужен будет дополнительно конвертор PPM - HID.

Попробую сделать на ардуинке, по результатам отпишусь здесь

kostya-tin

у меня на таком принципе и работает, только я ретранслирую с пульта на приемник. нужна Ardoino 32u4. вот я прошивку крутил, что бы порядок каналов соответствовал подключению тараниса
drive.google.com/open?id=1ktPfP5IDNlICwu-eAzlUWi7h…

tuskan
kostya-tin:

вот я прошивку крутил, что бы порядок каналов соответствовал подключению тараниса

Нафига, если в конфигураторе Айнава это делается за 15 секунд?

Xodik

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

kasatka60

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

kasatka60

Вы хотите реализовать поделючение флайская к малине и управления через саму малину? Только придется экранировать антенну, чтобы не было наводок на цифровой линк (если летаете с модулями на 2,4ггц). Либо с паяльником как-то обесточить передающий модуль на пульте.

Xodik

у меня сейчас ретранслятор 2.4 никаких проблем не замечено.

Xodik

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

kostya-tin
tuskan:

Нафига, если в конфигураторе Айнава это делается за 15 секунд?

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

andreyda

hi!
не у кого не возникала проблема с (Android OpenHD RC приложение)
при присоединение андроид -таранис (по usb) не получаю отклик на перемещение стиков.
причем таранис в проге определяется адекватно но вввода значений не происходит , если пропустить ппм от тараниса через донгл симулятора только 5 каналов отрабатывают , но так не полетаещь каналов маловато .
никто не подскажет в чем может быть засада?

user1321
andreyda:

hi!
не у кого не возникала проблема с (Android OpenHD RC приложение)
при присоединение андроид -таранис (по usb) не получаю отклик на перемещение стиков.
причем таранис в проге определяется адекватно но вввода значений не происходит , если пропустить ппм от тараниса через донгл симулятора только 5 каналов отрабатывают , но так не полетаещь каналов маловато .
никто не подскажет в чем может быть засада?

Доброй ночи.
По фото похоже что вы используете Taranis x9d ?
Если это так, то у меня эта же модель пульта и она работает, однако, пульт у меня определяется немного иначе. Точнее диапазон минимальных и максимальных значений не от 0 до 2048? , А от -127 до +127 (вроде эти значения. Это по памяти. Но они точно другие ) завтра к обеду постараюсь найти версию прошивки пульта. Если знаете как посмотреть в меню самого пульта - это упростит задачу, т к. На скорую руку не смог найти версию прошивки в меню пульта.

user1321
user1321:

завтра к обеду постараюсь найти версию прошивки пульта.

Посмотрите во вложенни как это выглядит у меня. Забыл добавить, у Джастина (знакомый) также пульт taranis x9d и приложение так же работало.

Интересно, какая версия прошивки у Вас установленна.
_______________________________________
Дополнительно, просмотрел исходники приложения, и оно просто не умеет обрабатывать входные значения в диапазоне 0-2047. Только, 0-255, 0-256, -127 – +127. Вопрос, пульты у нас вроде идентичные, почему Ваш выдает значения в другом диапазоне? Скорее всего другая прошивка. Других вариантов не вижу. (Может быть они еще аппаратно внутри отличаться. Но, версию прошивки стоит проверить в первую очередь)

user1321
pavel74:

подскажите в статике картинка оч четкая но стоит шевельнуть камеру сразу расплываеться (как будто резкость пропадает) что менял----
датарейт 4
FEC 6/2/1536 ( ставил 8/4/1024)
FPS от 30 до 59.9
KEYFRAMERATE от 10 до 20
BITRATE_PERCENT от 30 до 75
все делал в разной последовательности

www.youtube.com/watch?v=bG5oPHpzq94

+

tuskan:

это и есть специфика пережатой цифры

Далеко не факт что это происходит из-за низкого битрейта. По моему мнению это недостаточная освещенность и как следствие длительная (недостаточная) выдержка.

Далее длинное рассуждение и тесты.
У меня была (и есть) идентичная проблема, но с IP камерой. И также думал что это происходит из-за битрейте. Однако, провел несколько тестов в домашней обстановке условия теста:

  1. Нормальное освещение (люксметр к сожалению нет, посему на пальцах).

Камера неподвижна и направленна на объект с мелкими деталями (линии) - все отображается четко.

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

  2. Добавляться мощная лампа дневного света, камера вращаться вокруг своей оси: объекты четкие.

К сожалению, у моей IP камеры невозможно ограничить максимальную выдержку. Для камеры RPi можно попробовать провести аналогичный тест с освещением и также поэкспериментировать с количеством кадров в секунду, скажем для теста поставить 120FPS (искусственно ограничив выдержку таким образом) Качество картинки 120 FPS скорее ухудшит, так как с увеличением количества кадров в секунду в два раза необходимо увеличивать битрейт в два раза для поддержания видео в таком же качестве. Однако это позволит понять в чем проблема: в недостаточном освещении или битрейте.

Аналогично, делал тесты с мобильным телефоном и записью видео в 4K + На многих телефонах возможно изменить битрейт до достаточно больших значений (60,80, 100 Мбит +). На результат это особо не влияло. Чего нельзя сказать об освещенности.

Из всего делаю вывод что крошечный размер пикселя у камеры RPi влечет за собой длительные выдержки которые негативно сказываться на динамичных сценах.

РД00
Xodik:

Попробую сделать на ардуинке, по результатам отпишусь здесь

kostya-tin:

у меня на таком принципе и работает,… . нужна Ardoino 32u4

Либо STM32f103 (blue pill). Сделал по вот этой статье, работает.

andreyda

[QUOTE=user1321;7941129]Посмотрите во вложенни как это выглядит у меня. Забыл добавить, у Джастина (знакомый) также пульт taranis x9d и приложение так же работало.

Интересно, какая версия прошивки у Вас установленна.
прошивка 2.3.5 все правильно AxisMax 2047 но откуда это берется ? остальные уставки вроде правильны , что определяет число ? есле это длительность импульса то оно и должно быть около 2000мкс непонятно куда копать
может скинете настройки модели рабочие попытаюсь от них плясать… спасибо за ответ в тесте аналога значения не превышают 100 едениц .

user1321

[QUOTE=andreyda;7941235]

user1321:

Посмотрите во вложенни как это выглядит у меня. Забыл добавить, у Джастина (знакомый) также пульт taranis x9d и приложение так же работало.

Интересно, какая версия прошивки у Вас установленна.
прошивка 2.3.5 все правильно AxisMax 2047 но откуда это берется ? остальные уставки вроде правильны , что определяет число ? есле это длительность импульса то оно и должно быть около 2000мкс непонятно куда копать
может скинете настройки модели рабочие попытаюсь от них плясать… спасибо за ответ в тесте аналога значения не превышают 100 едениц .

Откуда берется и куда копать… Немного покопался и могу Вам совершенно точно сказать куда копать - смена прошивки на более старую версию. Подробнее что и почему ниже:

Посмотрите, пожалуйста на два файла.

Один из них - исходные коды прошивки для пульта версии 2.3.5, второй для 2.2:

Файл для 2.2 : github.com/opentx/opentx/…/usbd_hid_joystick.c

0x09, 0x35, // USAGE (Rz)
0x09, 0x36, // USAGE (Slider)
0x09, 0x36, // USAGE (Slider)
0x15, 0x81, // LOGICAL_MINIMUM (-127)
0x25, 0x7f, // LOGICAL_MAXIMUM (127)
0x75, 0x08, // REPORT_SIZE (8)
0x95, 0x08, // REPORT_COUNT (8)
0x81, 0x02, // INPUT (Data,Var,Abs)
0xc0, // END_COLLECTION
0xc0 // END_COLLECTION
};

Для версии 2.3.5 этот же файл: github.com/opentx/opentx/…/usbd_hid_joystick.c

0x09, 0x36, // USAGE (Slider)
0x16, 0x00, 0x00, // LOGICAL_MINIMUM (0)
0x26, 0xFF, 0x07, // LOGICAL_MAXIMUM (2047)
0x75, 0x10, // REPORT_SIZE (16)
0x95, 0x08, // REPORT_COUNT (8)
0x81, 0x02, // INPUT (Data,Var,Abs)
0xc0, // END_COLLECTION
0xc0 // END_COLLECTION
};

О том что такое -127 — + 127 и 0 … 2047 - это не PWM для которого длительности импульса в 2000 это норма, и не S-BUS. А всего лишь диапазон значений в численном формате от минимального до максимального положения ваших “стиков” на пульте управления. Когда Вы подключаете мышку, джойстик к компьютеру сперва они по определенному протоколу (USB, HID) передают информацию о том что было подключено, сколько у него кнопок, крутилок, и какие значения этих крутилок соответствуют максимальному и минимальному положению.

По всей видимости в после версии opentx перешли на другой формат значений, а программа для android тестировалась под джойстик от Sony Playstation и под taranis c 2.2. Посему и вышла вот такая проблема.

Надеюсь прошивка версии 2.2.2 не являться критической проблемой.
_____________________________________________________________
Судя по всему это изменение было сделано 29 июня 2018.
github.com/…/9cbd0b9813f40b01d7f3bd52267f5d86ebb1e…
По описанию они улучшили работу джойстика позволив ему передавать информацию о положении стика не в 8 битном формате (то-есть 256 значений для всего диапазона), а в 11 битном формате. (0-2047) Что должно положительно сказаться на работе серво приводов, и.т.д.
Не могу обещать что в этом или следующем месяце, но возможно добавлю поддержку этого изменения. Т.к. 11 бит вроде должно работать лучше.