Вопросы по iNav

МиГ17

Поставил на коптер отдельный GPS приёмник с радиоканалом . На приёмной стороне - коробочка с приёмником и парсером GPS координат коптера, отдельный GPS для определения моего местоположения. Расчитываю дистанцию и азимут до коптера. Вывожу на дисплейчик. До полного счастья не хватает электронного компаса. Не могу его толком откалибровать. Может кто поделится алгоритмом калибровки аля-айнав?

kasatka60

Может тут посмотреть? github.com/iNavFlight/inav/blob/…/compass.c

МиГ17:

Расчитываю дистанцию и азимут до коптера.

Не проще ли это все вывести на OSD? Там и азимут от точки старта выводит на коптер и дальность. Или вы постоянно перемещаетесь?
Учитывая, что у всех все нормально калибруется, то у вас проблемы с компасом и его надо заменить на нормальный.

Или наводки на компас.

МиГ17
kasatka60:

Может тут посмотреть?

Спасибо. Именно это и искал!

8 days later
livenok

Доброго времени суток, уважаемые. Наконец то мне пришло все необходимое для передачи видео.
Если не в ту ветку пишу, прошу простить заранее.
И так, пришло :
Камера Foxeer Razer Mini 2,1 мм
Передатчик видеосигнала Cyclone XF5804 PRO
И для записи видео на борту, без озд приобрел Видеорегистратор RunCam Mini FPV.
Понятно что с камеры, сигнал идет на регистратор, с регистратора на полетный контроллер, потом на передатчик.
Вопрос такой, передатчиком можно рулить с полетника, как я понял, и регистратором тоже можно управлять с полетника (ну вроде как включать и выключать запись точно можно). Как правильно подключить управление передатчиком и регистратором?
Заранее спасибо

kasatka60

Тоже есть две такие дврки. Один без управления, второй с управлением. Что самое интересное, на сайте производителя есть инструкция как запустить запись двр с полетника, но там для бэтафлай. Если по логике, то на айнаве на свободный сервовыход надо назначить значение свободного тумблера (может даже лучше темблера арма/дизарма). А потом с сервовыхода полетника провод кинуть на двр. Пусть пишет и останавливает запись по арму и дизарму. Надеюсь поняли мои кривые объяснения.

livenok

Я понял 😃 думал об этом, но решил спросить на всякий случай

Cossack

Сегодня заметил нечто, на что нет пока объяснения:
приёмник FS-X14S (перешитый, добавлен RSSI на 14 канале) подключен по SBUS к Matek F405-SE, прошивка Inav крайняя, 3.0.2.
Случайно заметил, что после отключения аппы уровень CH14 остаётся около 2000, т.е. RSSI 99% (!)
После перезагрузки, при выключенной аппе уровень CH14 принимает нормальные 1500, т.е. 0%
После включения аппы уровень CH14 составляет около 2000, т.е. получается, что контроллер видит увеличение RSSI, но при этом напрочь игнорирует его уменьшение.
FS по RC линку при этом срабатывает!
Ничего не понимаю…

kasatka60

Полетник получает по sbus сигнал FS и тупо игнорирует значения по всем каналам, включая значение RSSI. Вот и все.

Cossack
kasatka60:

Полетник получает по sbus сигнал FS и тупо игнорирует значения по всем каналам, включая значение RSSI. Вот и все.

Хм, об этом не подумал… Спасибо. Просто смутило происходящее…

dartlexx

Приветствую!
Подскажите, пожалуйста по след. ситуации с датчиком тока от esc (KRAMAM-4-In-1).
Сконвертировал конфиг для полетного контроллера SKYSTARSF7HD (SKYSTARS F722 2020) из betaflight v.4.2.11 в inav v.3.0.2.
Квадр летает, но проблема с датчиком тока - не работает. В бетафлайте он работает. Может чтото упустил при конвертации, посмотрите, пожалуйста.

Вот что касается датчика тока:
betaflight конфиг:
dma ADC 2 0
# ADC 2: DMA2 Stream 2 Channel 1

resource ADC_BATT 1 C01
resource ADC_RSSI 1 C02
resource ADC_CURR 1 C03

преобразовал в inav target.h:
#define ADC_INSTANCE ADC1
#define ADC1_DMA_STREAM DMA2_Stream0
#define USE_ADC
#define ADC_CHANNEL_1_PIN PC1
#define ADC_CHANNEL_2_PIN PC2
#define ADC_CHANNEL_3_PIN PC3
#define VBAT_ADC_CHANNEL ADC_CHN_1
#define RSSI_ADC_CHANNEL ADC_CHN_2
#define CURRENT_METER_ADC_CHANNEL ADC_CHN_3

Приложил файл с конфигами бетафлайта и inav, таргетом для inav и итоговой прошивкой inav_3.0.2_SKYSTARSF7HD.hex

inav.from.bf.SKYSTARSF7HD.zip

dartlexx

Разобрался. Там в adcTagMap используется маппинг DEFIO_TAG_E__PC1. Просто добавил
#define TARGET_IO_PORTD 0xffff
#define TARGET_IO_PORTE 0xffff
в target.h и заработал датчик тока.
Кому интересно, приложил прошивку, таргет и дамп настроек

SKYSTARSF7HD.zip

EHOT
  1. Есть ли реализация iNav для Linux или другой ОС (ОСРВ)? Или свернуть шею к Ардупилот +NAVIO 2 ?
  2. Есть ли возможность выполнить какой либо скрипт - Lua, Basic, Python… Типа как Lua в OpenTx? Например в каком либо полетном режиме хочу задать особое поведение борта, которое не определено текущей “жесткой” логикой.
    Например отключить мотор самолета, если и так поднимает термичкой.
kasatka60
  1. Нету, если только самому собирать все и вся.
  2. Пока не реализованно, но вроде были слухи о реализации что-то наподобие луа скрипов.
    Так что пока вам лучше в сторону ардупилота.
tkachovr
EHOT:
  1. Есть ли реализация iNav для Linux или другой ОС (ОСРВ)? Или свернуть шею к Ардупилот +NAVIO 2 ?
  2. Есть ли возможность выполнить какой либо скрипт - Lua, Basic, Python… Типа как Lua в OpenTx? Например в каком либо полетном режиме хочу задать особое поведение борта, которое не определено текущей “жесткой” логикой.
    Например отключить мотор самолета, если и так поднимает термичкой.

Welcome to ardupilot)))

rc468
EHOT:

Например отключить мотор самолета, если и так поднимает термичкой.

конкретно эта настройка – stop motors on low throttle.

kasatka60
rc468:

конкретно эта настройка – stop motors on low throttle.

Вы путаете туплое с мягким. Условие термик, а не газ на нуле.

rc468

Как определяет условие “термик” полетный контроллер?

EHOT

Условие “нахождение в термике” состоит из нескольких логических триггеров.
Вот для этого и спрашивается наличие скрипта, с помощью которого можно и определить наличие и главное - что с этим делать?

schs
rc468:

Как определяет условие “термик” полетный контроллер?

по увеличению высоты

kasatka60

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

rc468
schs:

по увеличению высоты

Как он отличает его от простого увеличения высоты?
Вот например коптер увеличивает высоту
Контроллер это видит и снижает тягу на винтах
Высота перестает увеличиваться
Контроллеру все равно, там термик или не термик, правильно?
Если высота увеличиваться не перестает, что происходит? Тяга снижается еще больше, вплоть до минимальной.
Тут мы и приходим к stop motors on low throttle. Или, если это не работает, то тупо ставим min throttle = 0 и моторы останавливаются сами.