Автопилот iNav полёты с GPS

SkyPlayer
Mikhail_K:

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

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

Mikhail_K
SkyPlayer:

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

В том то и дело что читал внимательно, и не понимаю в чем проблема, у меня f4, пробовал подавать сигнал с приемника и на тот порт на котором написано sbus и на какой то другой uart, все решалось настройками.

SkyPlayer
Mikhail_K:

у меня f4

В предыдущем посте вы “забыли” про это упомянуть (телепаты в отпуске!), отцитировав при этом фразу про F3

Mikhail_K:

пробовал подавать сигнал с приемника и на тот порт на котором написано sbus и на какой то другой uart

Видимо, это был один и тот же порт с дискретным (на плате, а не в чипе) инвертором, разведённый на 2 разные “дырки”, как сделано на нескольких моделях омнибасов, к примеру. Либо softserial.

Mikhail_K:

все решалось настройками

Настройки могут управлять инвертором (встроенным как на F3 и F7 или дискретным как делают на платах с F4, на F1 использовали отдельный от полётника модуль), если он есть (в револьте, например, дискретные инверторы были сделаны на все порты, заняв изрядно места на плате полётника). Если его нет, то инвертировать банально нечем.
Ну и ещё есть “софтовый” инвертор на softserial-е.

Или полагаете, что вы единственный такой гений, “решивший всё настройками”, а остальные до сих пор извращаются с вытаскиванием неивертированной телеметрии или SBUS с приёмников для полётников на F4 только потому, что поголовно “дураки”? Учите матчасть. 😉

Mikhail_K
SkyPlayer:

с вытаскиванием неивертированной телеметрии

Про телеметрию споров нет, а вот про все остальное все равно останусь при своём. разницу между Sbus и IBUS понимаете?

SkyPlayer
Mikhail_K:

про все остальное все равно останусь при своём

Дело ваше. Но на досуге подумайте - отчего разработчики полётников на F4 обязательно ставят дискретный инвертор на SBUS. Типа “а мужики-то и не знают”, что всё “софтово решается”? Блажен, кто стоит на своём… 😃

bumer520

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

barsx
bumer520:

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

Так на крыле и должны элевоны отклоняться от всех стиков…

Plohish

мне прям интересно очень, чем должно отличаться отклонение стика элеронов от стика руддера, на крыле…? :)И нахрена там стик руддера вообще задействовать?

barsx
Plohish:

мне прям интересно очень, чем должно отличаться отклонение стика элеронов от стика руддера, на крыле…? 😃

Тем что в одну сторону отклоняются.

Plohish:

И нахрена там стик руддера вообще задействовать?

Потому что нету руля направления, а иногда очень хочется порулить…

SkyPlayer
bumer520:

настраиваю старый cc3d для крыла в inav 1.9.3

А ничего, что для сс3d самая крайняя прошивка была 1.7.3, после чего поддержка полётников на F1 была прекращена?
Не говоря уже о том, что для настройки 1.7.3 крайне желательно использовать конфигуратор той же версии.

barsx
SkyPlayer:

А ничего, что для сс3d самая крайняя прошивка была 1.7.3, после чего поддержка полётников на F1 была прекращена?

Я вот до сих пор не могу понять чем им F1 не угодили… Если типа медленный, то это надо просто научиться не говнокод писать, а оптимизировать уметь… Функционал в айнаве чем-то сверхъестественным не отличается и даже на 8-битном камне можно сделать что летать будет не хуже.

Talentfrei

Я был одним из первых кто обкатывал iNav. Костя резал текст везде где можно но и безопасность должна была подниматься. И портов у F3 больше. Если вы думаете что вы умнее то пишите, у меня лежит F1 …

barsx
Talentfrei:

Я был одним из первых кто обкатывал iNav. Костя резал текст везде где можно но и безопасность должна была подниматься. И портов у F3 больше. Если вы думаете что вы умнее то пишите, у меня лежит F1 …

Я недавно заглядывал в код айнава и честно говоря ужасался. Расчёт идентичных параметров в цикле, деления на константы вместо умножений на обратные и т.д. Вам для чего портов мало на F1?

Talentfrei
barsx:

Вам для чего портов мало на F1?

Для SBUS, IBUS

SkyPlayer
barsx:

Вам для чего портов мало на F1?

Посчитайте на пальчиках:

  1. SBUS
  2. SPort
  3. GPS
  4. SmartAudio
  5. Bluetooth или радиомодем
SkyPlayer
SkyPlayer:

Посчитайте на пальчиках:

  1. SBUS
  2. SPort
  3. GPS
  4. SmartAudio
  5. Bluetooth или радиомодем

Совсем забыл! В F1-контроллерах же нет OSD, так что один из UART-ов уходит под MWOSD.
В принципе, SBUS можно заменить на PPM (для крыла не так принципиальна скорость и точность управления, хотя количество каналов сразу падает до 8, что неудобно, например, при настройке в полёте - автотрим, автотюн, подкрутка PIFF-ов), но всё равно получаем:

  1. OSD
  2. GPS
  3. телеметрия (SPort). В принципе, можно обойтись только дальнобойным модемом, но всё равно удобно, когда есть голосовая озвучка событий с аппы.
  4. заливка маршрутов и их контроль. Для первого - Bluetooth, для второго - уже только радиомодем. Конечно, можно лить по USB, но в поле с этим ковыряться попросту неудобно.
  5. управление видеопередатчиком (SmartAudio). Тоже, в принципе, можно обойтись, если не запаковывать видеопередатчик слишком глубоко и иметь доступ к его кнопке, но это опять “прогиб”.
    Upd: глянул по релизам - поддержка управления видеопередатчиком появилась только в 1.8, так что F1 тут вообще пролетают мимо.

Итого по минимуму (жертвуя удобством) - PPM плюс 3хUART (GPS, OSD, телеметрия или BT или радиомодем), в принципе, Naze32 может даже 4хUART (2 аппаратных и 2 софтовых), но один из аппаратных запараллелен с USB, что неудобно. На CC3D 2 аппаратных и 1 софтовый (но USB от порта “развязан”), то есть “совсем по минимуму”.
На Omnibus F3 - встроенное OSD (не нужен порт и 100% совместимость по экранным настройкам), и 3 аппаратных порта (USB отдельно).
На Omnibus F4 Pro v2 - встроенное OSD, 3 аппаратных порта и 1 софтовый, USB отдельно.

Talentfrei

Да можно вообще от всего отказаться!))) Поставить компас перед камерой и лети!!!)))

barsx

На STM32 программный UART реализовывается без проблем. Портов можно сделать сколько надо. Хоть инвертированные хоть обычные. И плюс стандартные. В чём проблема?

Talentfrei:

Да можно вообще от всего отказаться!))) Поставить компас перед камерой и лети!!!)))

Я в основном без телеметрии летаю. Верный показатель что пора чесать на базу - регуль вошёл в режим мягкой отсечки. С ориентацией в пространстве тоже проблем нету - опыт есть и на крайний случай RTL можно включить. Зачем порты? 😃

z0rgvin
barsx:

Я недавно заглядывал в код айнава и честно говоря ужасался. Расчёт идентичных параметров в цикле, деления на константы вместо умножений на обратные и т.д. Вам для чего портов мало на F1?

Прошу прощения, что влезаю, но:

  1. STM32F1хх имеют ядро Cortex-M3, в котором есть аппаратное деление. Да, деление занимает до 12 циклов против 1-2 для умножения, но приведение к обратным константам увеличивает вероятность ошибки и снижает читаемость кода. Если константы должны рассчитываться в программе, а не на этапе компиляции (а пользователю ведь удобнее видеть более понятные значения, поэтому так и будет), то на организацию расчета придется потратить некоторое количество флэш-памяти, которой как раз и не хватает.
  2. Все одинаковые действия желательно выполнять в циклах, чтобы не было дублирования кода. Затраты на организацию цикла малы.
    Дублирование кода приведет к тому, что при необходимости правки человек (не факт, что именно он писал этот кусов в первый раз) поправит не везде и результат будет отличаться от ожидаемого.
  3. Лучше перейти на больший контроллер, чем ужимать код. Трудозатраты на “ужатие” огромны, снижается читаемость и “редактируемость”, но все равно довольно быстро опять упрешься в ограничение.
  4. Это бесплатный проект. Пусть они делают так, как делают, если это приведет к большей надежности, более быстрой разработке, меньшим трудозатратам. Да, нам придется несколько больше потратиться на полетный контроллер, но на фоне остального разница довольно небольшая.
barsx
z0rgvin:

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

И к тому что некоторые контроллеры можно выкинуть…
К сожалению сейчас всё больше программистов следуют вашей логике. Именно поэтому мы имеем тормоза в интерфейсе на андроидах 7+ с 16 ядерными процессорами и дохрена оперативки (по сравнению с компами 20 летней давности). И причём на этих компах субъективно тормозов было меньше. Действительно, зачем использовать умножение если деление всего-то в 12 раз медленнее.

z0rgvin:

Трудозатраты на “ужатие” огромны, снижается читаемость и “редактируемость”.

Если есть привычка сразу оптимизировать свой код, то таких проблем не возникает. Другой вопрос что в опенсорсных проектах из кода всё равно потом сделают так, чтобы всё было красиво, но в 99% случаев это увеличит тормоза выполнения программы. Да, некоторые “обороты” оказываются неудобочитаемыми, но позволяют уменьшить издевательство над стеком.