Vbar Touch. Первое впечатление

L2-Max

Измерить задержку между включением переключателя и изменением значения канала (с точностью до 1мс) в пакете S.Bus можно с помощью той же ардуины как для VBCt так и для FrSky. Уже делал для FrSky PWM выходов. На PC не знаю, не занимался этим. Проще всего взять камеру с 1000fps и поснимать одновременно движение стика и ответное движение визуализации канала на мониторе. Потом на раскадровке измерить время отклика.

Все равно те измерения (только передатчик приемник) ничего не решат. Эти же данные написаны у производителя в спецификации к продукту. Я ими и занимался только потому, что тут же на форуме был “спор”, что у frsky задержка аж 60мс.

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

mil-lion
L2-Max:

+4 ms на межфреймовый интервал S.Bus надо добавить (VBC это касается тоже).

У VBC нет SBUS. Как раз фича в том что приемник встроен в ФБЛ и нет промежуточных протоколов типа SBUS. Поэтому скорость передачи у ВБЦ быстрее других, включая Футаба. Хотя протокол передачи именно Футабий используется FHSS

L2-Max

Об этом я почему то не задумывался. Тогда это минус еще ~4-6 ms

mil-lion

Я писал - то что я почувствовал: летал в симуляторе по воздуху (приемник+ардуино) тут же включил шнурок и полетел гораздо лучше.
Летал на FrSky Taranis+Mikrobeast поменял на VBC+Neo - и полетел гораздо лучше и точнее. Филиппы и ролы стали не размашистые а ближе к одной точке.
А что поменялось? Задержки остались, как вы говорите ну почти такие которые на полет не влияют - а я увидел другую картину. Вертолет тот же самый, сервомашинки и лопасти и аккумуляторы остались те же. Просто замена Аппаратура+Приемний+ФБЛ на другую Аппаратура+ФБЛ.

И топ пилоты квадратов наверное не просто так перешли на Crossfire, им эти миллисекунды ничего не дают.

Просто убирая задержки в одном месте - повышается качество управления ЛА. Да не в разы, но точность возрастает. Попробуйте сами и тогда говорите - что разницы нет.

L2-Max

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

Есть у нас в клубе один начинающий вертолетчик с старым Гоблином и VBC (не touch). Возможно он и поделится, но его еще поймать надо. Достаточно редко его вижу

Jocker_cms
mil-lion:

У VBC нет SBUS. Как раз фича в том что приемник встроен в ФБЛ и нет промежуточных протоколов типа SBUS. Поэтому скорость передачи у ВБЦ быстрее других, включая Футаба. Хотя протокол передачи именно Футабий используется FHSS

FHSS это контейнер / метод передачи. Что там внутри, какой компрессор (алгоритм сжатия) можно же передавать 10кб, а можно и 3 кб но нужен будет распаковка, какой декодер, который может быть soft, но будет создавать задержку, а может и чип паяный - это всё проеприетарщина каждого производителя в которой они сейчас и соревнуются. Замерить можно при желании.

L2-Max:

Ну а я 18 лет в низкоуровневой разработке и что?

То что вы не шарите если по простому - тестер или QA судя по компетенциям, может быть PM. Но точно не дев который код копал 18 лет.

L2-Max

😃 Очень опрометчивое заявление. В чем именно я не шарю?

Jocker_cms
L2-Max:

Очень опрометчивое заявление. В чем именно я не шарю?

Пусть будет опрометчивое.

Solo:

Вау ! Да тут собрались СПЕЦИАЛИСТЫ !😃

Опять все не просто ! 😉

Всё достаточно просто - чем больше данных передаём, тем дольше будет их обработка-распаковка. Теоретически даже может быть prediction (предсказание). Даже в случае с USB, больше кидаем - дольше задержка, меньше кидаем объем payload - меньше латентность (размер буффера разный для 64 байт и для 2 килобайт). Чтобы прокинуть 4 канала ненужно много информации и это там на уровне 0,2ms для одного пакета данных. Никаких там 16-20 ms нет. Поэтому и ощущается разница по шнуру и воздуху. А дальше решает либо депакер (драйвер) софт или хард или какие-то свои методы упаковки / оптимизации. Если всё хранится в Neo, часть данных можно кидать контрольными битами в одном int, а не упакованные integer / float. Грубо говоря в В бар мне нужено перекинуть 1 byte оффсет по кривой с разрешением 0…255, а сама кривая сидит в Neo в виде float значений. То. мне не нужно кидать по радио каналу 4 байта float. Или же паковать его, потом там распаковывать. За счёт этого и достигается скорость.
Давно уже платится за софт.

L2-Max

Какая блин распаковка? По проводу/воздуху данные всегда передаются с избыточным кодированием. О 10/12 слышали? 10 бит кодируются 12тими

Jocker_cms
L2-Max:

Какая блин распаковка? По проводу/воздуху данные всегда передаются с избыточным кодированием. О 10/12 слышали? 10 бит кодируются 12тими

Мы про сим или уже перехали на воздух? Про латентность в USB сначала почитайте или у программеров спросите.

Ещё раз тезисы (для вас Максим персонально):
Важно в случае с симуялтором:

  • FPS. Как часто тикает физика. Как часто рисуется картинка. Очень важно!
  • Как быстро передаются данные от пульта. Да, представьте себе, задержка зависит от объема данных которые кидаются. 1 байт или 1кб это существенно. Можете почитать спецификацию USB если не верите на слово.
  • Движок симулятора тоже может обрабатывать параметры инпута по своему - строить историю ввода и т.д.
  • По воздуху, я не сильно компетентен, но полагаю, что работает похожая формула - меньше передаём, меньше задержка. Меньше это значит насколько эффективно пакуем или используем данные. Тоже самое и про избыточное кодирование - либо кодируем больше избыточно, т.к. протокол требует больше данных либо меньше.
  • Трипле буффер не ускоряет в случае с симулятором - response time. В лучшем случае у вас будет плавная картинка и инпут лаг в пару кадров. Если дёрнуть шаг в минус и плюс резко, вы получите анимацию с некоторой задержкой.

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

L2-Max

Какая разница? Что по USB шнуру, что по воздуху электомагнитная волна распространяется с той же скоростью и подчиняемая тем же законам физики.

Я не понимаю. Вы мне вот ту тавтологию как тестеру написали? Или как PMу?

Jocker_cms
L2-Max:

Какая разница? Что по USB шнуру, что по воздуху электомагнитная волна распространяется с той же скоростью и подчиняемая тем же законам физики.

Разница в количестве передаваемых данных. Меньше передаём - быстрее отклик. Если В бар кидает только оффсеты, а не честные значения, то он будет работать быстрее, но это моё предположение, не утверждаю что так и есть. Но я бы так и сделал, имея все данные на борту внутри Neo, нет никакого смысла кидать честные значения кривых газа или шага и т.д. У нас же по сути по X шкала (это разрешение стика) не имеет большого значения. 5 точек. Значения имеют по Y. Вот они и хранятся на самом вертолёте. Тоже самое и циклик - не обязательно кидать полное значение, достаточно перекидывать дельту (разницу).

L2-Max

Это заблуждение. Частота пакетов и битрейт не пропорционально связаны. Можно передавать большими пакетами 10Гбит без сколь либо больших затрат вычислительных мощностей, а если надо заполнить линк малыми пакетами то, например на архитектуре x86 возникает проблема попадания в кэш. 10Gb линк, например, может дать 14.8Mpps если посылать один и тот же пакет (64b), но если пакет всегда меняется, то скорость падает уже до 10.8Mpps (это на Haswell)

Если у вас это лишь предположение, то это предположение. Чтобы точно знать нужно это проверить.

Jocker_cms
L2-Max:

Это заблуждение. Частота пакетов и битрейт не пропорционально связаны. Можно передавать большими пакетами 10Гбит без сколь либо больших затрат вычислительных мощностей, а если надо заполнить линк малыми пакетами то, например на архитектуре x86 возникает проблема попадания в кэш. 10Gb линк, например, может дать 14.8Mpps если посылать один и тот же пакет (64b), но если пакет всегда меняется, то скорость падает уже до 10.8Mpps (это на Haswell)

Если у вас это лишь предположение, то это предположение. Чтобы точно знать нужно это проверить.

Если у вас есть соответствующее оборудование и компетенции и вы готовы пойти дальше чем текст - было бы замечательно узнать результаты вашего реверс инжиниринга Mikado V Bar Touch. На этом я спать, а вы пишите … пишите.

А так вообще, вы уже меня извините Максим - недорого аутсорсе, а я думаю что точно на 100% в точку попал - ну нее, неее )))

L2-Max
Jocker_cms:

недорого аутсорсе

Это что значит?

UPD. Ага, понял. Обидеть меня хотели. Ну вы бы хотя бы на linkedin мой профиль поискали, что бы вот так просто дырки в небе пальцем не делать.

Jocker_cms
L2-Max:

Это что значит?

Да это я так - троллю. Сорри.

Инфа по теме на vstabi:
i couldn’t find this info anywhere. what is the v-control latency and resolution, please?

We dont advertise this very much because i think its not the important information. Its much more important, that the direct connection between Radio and Control loop gives a better respons than any external radio.
VControl transmits with 10ms updatrate and the resolution of the control channels is 12bit = 4096 steps. Its not possible to measure the radio latency only, since you have no access to the input signal at VBar.

Вольный перевод:
Не могу найти информацию. Какая задержка и разрешение на канал у v-control?

Мы не сильно это рекламируем, потому что это не очень важная информация. Намного важнее это прямое соединение между Радио и управляющим контуром, которое даёт лучший (вероятно быстрее имеется ввиду) чем любое внешнее радио (подключение).
Vcontrol передаёт с частотой обновления 10ms и разрешением на канал 12 bit = 4096 (значение). Невозможно замерить задержку между радио и приёмником, т.к. у вас нет доступа к входному сигналу на Vbar.

Надеюсь теперь понятно почему я не стал “лепить” приёмник.

Solo
Jocker_cms:

Разница в количестве передаваемых данных. Меньше передаём - быстрее отклик. Если В бар кидает только оффсеты, а не честные значения, то он будет работать быстрее, но это моё предположение, не утверждаю что так и есть. Но я бы так и сделал, имея все данные на борту внутри Neo, нет никакого смысла кидать честные значения кривых газа или шага и т.д. У нас же по сути по X шкала (это разрешение стика) не имеет большого значения. 5 точек. Значения имеют по Y. Вот они и хранятся на самом вертолёте. Тоже самое и циклик - не обязательно кидать полное значение, достаточно перекидывать дельту (разницу).

Имею абсолютно аналогичные мысли…😒
И фраза “Намного важнее это прямое соединение между Радио и управляющим контуром” от разработчиков … подтверждает это …
Как по мне, напрасно они не расписывают хотя бы в виде алгоритмов, логику работы системы …
Так гораздо проще было бы вникнуть и разобраться в тонких настройках и микадовской “идеологии” в принципе…

L2-Max:

Проще всего взять камеру с 1000fps и поснимать одновременно движение стика и ответное движение визуализации канала на мониторе. Потом на раскадровке измерить время отклика.

Я именно так и поступал … только снимал стик и сервопривод …
При попытке снимать монитор с симулятором, сталкиваешься с мерцанием монитора, тем что картинка модели и пульта на экране имеют разную скорость и точность прорисовки и.т.д.

L2-Max:

Все равно те измерения (только передатчик приемник) ничего не решат. Эти же данные написаны у производителя в спецификации к продукту. Я ими и занимался только потому, что тут же на форуме был “спор”, что у frsky задержка аж 60мс.

Проблема в том что многие производители не пишут документацию 😁, а те что пишут … лучше бы не писали …
Также следует понимать что измерения проводятся на одном канале в простом “линейном” тесте … Как поведет себя система при сложных перекладках в фигуре с использованием всяких микшеров и кривых !?
Я иногда проверяю настройки небольших коптеров (для сельхоз работ) в тамбуре своей лаборатории(относительно небольшое пространство), так вот задержки Тараниса иногда просто выносят мозг … на открытом пространстве это вообще не ощущается …

L2-Max:

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

В итоге самым “объективным” тестом, является полет в симе …😌

ПС Я тренирую реакцию на “шариках” в Фениксе … важный фактор в том, что за определенный промежуток времени подсчитывается количество набранных очков… Занимаюсь этим уже много лет в качестве разминки перед тренировкой фигур.
И по этому абсолютно субъективному “параметру” Вбар контрол превосходит самую быструю Футабу процентов на 20 …

L2-Max:

Это что значит?

Ага, понял. Обидеть меня хотели.

Макс, да не кто никого не пытается обидеть или унизить! Не ищи везде подвох и не загоняйся …
Нас (моделистов в принципе и вертолетчиков в частности) так мало!!! Давайте жить дружно! (с)

ППС Если кого случайно обидел или задел … прошу прощения…

С уважением, Соло.

Jocker_cms
L2-Max:

UPD. Ага, понял. Обидеть меня хотели.

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

Slaiter

Ребята, хватит меряться у кого дл… опыта больше. Лучше ответьте на вопрос « Может кто знает как временно назначить параметр на крутилки?»

Jocker_cms

Как установить апдейт, если обновление по WiFi по какой-то причине прошло некорректно:

  • turn VBCt on

  • turn off FULLY (press button >30s)

  • connect to USB, run Manager tool

  • press button while keeping left stick bottom right

  • Manager will turn on, VBCt stays dark

  • Update goes through USB now

  • turn on normally, check, post version.

  • Включить передатчик

  • Полностью выключить VBCt удерживая кнопку вкл / выкл (на задней части корпуса) дольше 30 секунд

  • Подключить передатчик по USB к ПК

  • Запустить V bar Manager ПО

  • Удерживая левый стик в нижний правый угол, нажать кнопку вкл / выкл на VBCt

  • У V bar Manager ПО должен появиться активный статус, VBCt будет в неактивном состоянии

  • Произвести update через USB с помощью V bar Manager ПО

  • После завершения процесса update - включить VBCt обычным образом, убедиться что установлена актуальная версия прошивки

В случае если используется Mac и описанный выше процесс не работает, использовать Windows систему.