Прошивки CleanFlight/BetaFlight для полетников

PaulM

У меня Omnibus F4 Pro Corner, это тот же таргет OMNIBUSF4SD, и та же разводка, что в последней версии вашего контроллера

Вот посмотрите
github.com/…/Board---OMNIBUS-F4-Pro-Corners

Нужен диод между TX6/RX6, а также команда set tlm_halfduplex = OFF
Все будет работать без какого-либо надругательства над приемником. При том, что интересно, tlm_inverted надо оставлять по дефолту, то есть OFF.
Аналогично проблема решается не только на этом контроллере, а на всех, у кого есть такие однонаправленные инвертеры на линиях TX/RX, например, на BlueJayF4 ревизии 3+.

wcorp
PaulM:

Аналогично проблема решается не только на этом контроллере, а на всех, у кого есть такие однонаправленные инвертеры

Мысль интересная, я попробую…

Aleksandr_L:

Приёмник у вас какой? XSR?

frsky X4R SB

MFer
PaulM:

Все будет работать без какого-либо надругательства над приемником.

почему припаяться к транзистору - это издевательство над приемником, а паять диод между TX6/RX6 - это не издевательство над полетником? ))
по мне так проще первое… и в cli не надо вообще лазить…
но за науку спасибо, в закладки положил ))

Aleksandr_L
wcorp:

Мысль интересная, я попробую…

frsky X4R SB

Отпишитесь потом, какой именно вариант заработал, интересно.

PaulM
MFer:

почему припаяться к транзистору - это издевательство над приемником, а паять диод между TX6/RX6 - это не издевательство над полетником? ))

Тут проблема иная. Насколько я понимаю, припаяться к одному транзистору не поможет, поскольку на TX/RX есть по однонаправленному инвертору на каждом, и просто ничего работать не будет, поскольку протокол двунаправленный в режиме halfduplex. И лечится только двумя вариантами

  1. первый с диодом, как я написал. Еще обратите внимание на картинку, провод к приемнику подключается в этом случае на RX, а не TX!
  2. второй путем соединения с приемником ДВУМЯ проводами, как было по ссылке выше blck.mn/…/smartport-the-frsky-xsr-and-betaflight/ . Каждый провод на свой транзистор (белая, зеленая стрелки на картинках). Этот вариант я пробовал только на F4 без инвертера.

В обоих вариантах надо отключать tlm_halfduplex=OFF, то есть порт начинает работать в fullduplex.

Еще в копилку опыта. Проблема невозможности одновременной работы SBUS и LED_STRIP на контроллере Omnibus F4 Pro Corner решилась путем ввода команды

resource INVERTER 3 C09

Иначе C09 в текущей прошивке висит в воздухе, а он управляет инвертером, так оставлять его нельзя, потому что значение на выходе становится непредсказуемым. В моем случае включение LED_STRIP, видимо, отключало инвертер.

Strijar
PaulM:

Насколько я понимаю, припаяться к одному транзистору не поможет, поскольку на TX/RX есть по однонаправленному инвертору на каждом, и просто ничего работать не будет

У меня работает. Именно потому что UART в half режиме - через один пин.
Кстати вот более красивое решение - blck.mn/…/smartport-frsky-xsr-and-betaflight-part-…

Aleksandr_L
Strijar:

Кстати вот более красивое решение - blck.mn/…/smartport-frsky-xsr-and-betaflight-part-…

Это решение для XSR, у меня так и сделано все работает.
У спрашивающего X4RSB, там похоже действительно два провода тащить надо.
Но тут утверждать на 100% не буду, у меня X4RSB не было.

Strijar
Aleksandr_L:

У спрашивающего X4RSB, там похоже действительно два провода тащить надо.

Вот здесь oscarliang.com/sbus-smartport-telemetry-naze32/ пишут что можно одним проводом. Два нужно тянуть если прошивка не умеет half

Александр_Г
PaulM:

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

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

PaulM
Strijar:

У меня работает.

Именно на таком контроллере? На иных (например, BlueJayF4 v2, Revo) у меня тоже так работает по одному проводу.

wcorp

Прошу меня извинить за глупый вопрос:
Соответствие UART3/6
c “serial” и serial_tx

В дампе есть
“serial” 0,1,2,5 и serial_tx 1,3,6
соответствие их UART ам?

Сижу, тороможу…

Strijar
PaulM:

Именно на таком контроллере?

У меня AIRBOT F4, они принципиально не отличаются. Процессор один и тот-же

PaulM
Strijar:

они принципиально не отличаются

Отличаются, у Airbot F4 нет инвертера (точнее, есть один неуправляемый на вход, на котором у вас SBUS, видимо, висит). И у этого контроллера один проводок на транзистор на приемнике работает нормально.
Процессор тут вообще не при чем.

Strijar
PaulM:

Отличаются, у Airbot F4 нет инвертера

Так если есть инвертер то проблем вообще не будет - о чем разговор то тогда? Как включить инвертер?

PaulM:

Процессор тут вообще не при чем.

Причем. На F3 аппаратный инвертер не нужен - там это делается програмно.

PaulM
Strijar:

Так если есть инвертер то проблем вообще не будет - о чем разговор то тогда? Как включить инвертер?

Не все инвертеры одинаково полезны, если инвертер однонаправленный, то двунаправленный протокол s.port на нем работать не будет. Так понятней?

Strijar:

Причем. На F3 аппаратный инвертер не нужен - там это делается програмно.

Спасибо, кэп, но мы-то говорим о сравнении двух совершенно разных контроллеров на F4.

Strijar
PaulM:

Не все инвертеры одинаково полезны, если инвертер однонаправленный, то двунаправленный протокол s.port на нем работать не будет. Так понятней?

Т.е. Вы хотите сказать что иногда стоит один двунаправленный, а иногда два однонаправленных? С двумя одно направленными half не будет работать это факт - но реально есть такие полетники?

PaulM

Я хочу сказать, что те контроллеры с инвертерами, что я держал в руках, имели однонаправленные инвертеры. К ним относится и BlueJay F4 rev3, и упомянутый Corner, с которого и возникла дискуссия.

Возможно, есть какие-то контроллеры с двунаправленными инвертерами (их все-таки, по идее, нужно два на порт, на TX и RX), но мне они неизвестны. В природе двунаправленные инвертеры существуют, это факт - пример реализации такой схемотехники можно найти в интернете.

UPD: Кстати, на revolt’e скорее всего двунаправленный.

pavel74

подскажите -не могу настроить адекватное отображение тока banggood.com/Matek-F405-OSD-BetaFlight-STM32F405-F… потреблёные ма показывает нормально. и напругу тоже. а ток всякую хрень. коэфициент 179 поставил.

PaulM

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

wcorp
pavel74:

а ток всякую хрень. коэфициент 179 поставил.

Не буду настаивать на своей мысли, но у меня этот коэф. стоит в пределах 420-430. Показания очень похожие на реальные