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

MFer
ale_p:

чего именно?

резисторы имелись в виду полагаю…

ale_p:

и rx1 на свободном uart

а почему RX а не TX?
хотя странно, через LED 100% должно было заработать…

ale_p:

осд не появляется

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

ну и остальные настройки надеюсь верно выставлены - вольтаж, задержка…

ale_p

есть разница rx или tx? tx мне понадобится для rssi тараниса, хотел в один раъём всё воткнуть.

про некотрые камеры - на гитхабе писали что это для мелких камер и у меня не некотрая камера, а 1077 по сути.

mil-lion
ale_p:

есть разница rx или tx? tx мне понадобится для rssi тараниса, хотел в один раъём всё воткнуть.

Вы ничего не путаете? RX - приём, TX - передача. На камеру вы передаете команды, а не принимаете.
И вообще не пойму при чем тут RSSI и выход TX? RSSI - уровень сигнала на приёмнике, как правило это аналоговый выход с напряжением от 0 до 3.3В, и зачем его подавать на TX?! Его обычно подают на ADC процессора чтобы можно было измерить уровень сигнала. Вы либо опечатались, либо не разобрались.

ale_p
idk:

Получилось, rcopen.com/forum/f136/topic362347/48108
вот тут еще поищите. может уже есть решение. www.rcgroups.com/forums/showthread.php?2961216-Bet…

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

просто через резистор? тему на рцгруп ту видел, ну там в основном по дефолту.

mil-lion:

Вы либо опечатались, либо не разобрались.

я могу просто взять и высвободить rx1/2 или tx1/2 как ледстрип по инструкции с гитхаба , а потом переназначить на камераконтрол? люди пишут что в некоторых случая на некторых полётниках пин ледстрипа не прокатывает и им приходится вешать на 5-6й мотор (если есть например такой пин). давайте представим что у меня сейчас не стои задача цеплять смартпорт.

mil-lion
ale_p:

я могу просто взять и высвободить rx1/2 или tx1/2 как ледстрип по инструкции с гитхаба , а потом переназначить на камераконтрол? люди пишут что в некоторых случая на некторых полётниках пин ледстрипа не прокатывает и им приходится вешать на 5-6й мотор (если есть например такой пин). давайте представим что у меня сейчас не стои задача цеплять смартпорт.

Я это все понимаю, но вы же писали не про Смартпорт. Вы написали про RSSI. Меня это и смутило. Просто LED_STRIP, SmartPort, Motor - это все цифровые выходы, а RSSI - это же аналоговый вход. И я например не могу понять как можно перемапить вход ADC на любой контакт ноги процессора, да еще и цифровой выход.

Кариёзный_монстр

А у стмок 32битных дохера выводов АЦП ) реально дохера, иногда совпадает

И нет понятия аналоговый и цифровой вывод, они там все цифровые )) некоторые при этом выполняют ещё какие то функции, АЦП или вывод таймера какого нибудь например.

lunohod

Гм, у меня заводится с полпинка с любым резистором. Везде использую led pin. bff3, kakute f4 aio, dtfc, hglrc xjb f428. Камеры hs1177, arrow v2 и v3, runcam micro, foxeer micro arrow v2. Разве что к arrow micro пришлось конденсатор добавить.

ale_p

по вольтметру измения напряжения при отклонения стика нет, хз чё там с ним, тоесть у меня даже не в номинале резистора или наличии кондера дело

SkyPlayer

Есть вот такой микро-омнибас, прошит BF 3.2.2.
На полётнике не разведён UART1 - только UART2 (RX2 и TX2) и UART3 (только RX3 - в виде входа SBUS).
На TX2 висит S.Port-телеметрия к XSR-E, работает нормально.

Захотелось прицепить SmartAudio-управление передатчиком AKK X5. Паять МГТФ к неразведённой ноге STM-ки дюже “ювелирно”, поэтому решил попросту ремапнуть TX1 на разведённый и неиспользуемый RX2. Для эксперимента начал проверять “перенос” S.Port-телеметрии на TX1. Исходная карта такая:

# resource
resource BEEPER 1 C15
resource MOTOR 1 A02
resource MOTOR 2 A03
resource MOTOR 3 B09
resource MOTOR 4 B08
resource MOTOR 5 B07
resource MOTOR 6 B06
resource PPM 1 B04
resource LED_STRIP 1 A08
resource SERIAL_TX 1 A09
resource SERIAL_TX 2 A14
resource SERIAL_TX 3 B10
resource SERIAL_RX 1 A10
resource SERIAL_RX 2 A15
resource SERIAL_RX 3 B11
resource LED 1 B03
resource TRANSPONDER 1 A08
resource SPI_SCK 1 A05
resource SPI_SCK 2 B13
resource SPI_MISO 1 A06
resource SPI_MISO 2 B14
resource SPI_MOSI 1 A07
resource SPI_MOSI 2 B15
resource ESCSERIAL 1 B04
resource ADC_BATT 1 A00
resource ADC_CURR 1 A01
resource BARO_CS 1 A13

После ремапинга UART-ы выглядят так:

resource SERIAL_TX 1 A14
resource SERIAL_TX 2 A15
resource SERIAL_TX 3 B10
resource SERIAL_RX 1 A10
resource SERIAL_RX 2 A09
resource SERIAL_RX 3 B11

Далее во вкладке Ports переключаю S.Port c UART2 на UART1, сохраняю-перезагружаю - и телеметрия НЕ РАБОТАЕТ. Возвращаю ресурсы и S.Port “на исходные” - все работает.

Возникает вопрос - что я делаю не так? 😃

P.S. Вот тут решалась аналогичная проблема для F4 - но через softSerial. У меня F3 - проблем с инверсией быть не должно да и портов хватает, так что без softSerial, вроде, можно и обойтись?

P.P.S. В моём сетапе пин LED не используется - может, попробовать ремапнуть TX1 на него?

We-BEER

решил ремапнуть TX1 (A09) на RX2 (A15), почему после ремапа TX1 стало A14, а не A15?

SkyPlayer
We-BEER:

почему после ремапа TX1 стало A14, а не A15?

Я же написал

SkyPlayer:

На TX2 висит S.Port-телеметрия к XSR-E, работает нормально.

SkyPlayer:

Для эксперимента начал проверять “перенос” S.Port-телеметрии на TX1.

PaulM

Я всегда думал, что переносить UARTы куда попало нельзя. Можно лишь назначать на те пины, которые предусмотрены в даташите stm32. Я так себе UART4 выделил на BlueJay F4, выводы которого по даташиту попадали на выводы моторов 1 и 2. Просто сдвинул моторы на выходы 3-6, а 1 и 2 назначил на TX/RX UART4. Только прошивку еще пришлось немного поменять, добавив UART4 по аналогии с контроллерами, на которых он есть. Но потом эти изменения уже сделали и в штатной прошивке.

SkyPlayer

Кажется, разобрался - надо даташит на STM внимательное читать, блин. 😃
У каждого вывода STM-ки есть фиксированный перечень доступных функций, и usart_rx/usart_tx абы куда не перекинешь. Попробую сделать через softserial (как я понял, ему любая нога с функцмоналом i/o подходит) и led-пин. Если не прокатит - придётся заниматься “интимом насекомых” - паять МГТФ к ноге.

Кариёзный_монстр
SkyPlayer:

Кажется, разобрался - надо даташит на STM внимательное читать, блин. 😃
У каждого вывода STM-ки есть фиксированный перечень доступных функций, и usart_rx/usart_tx абы куда не перекинешь. .

Так на всех МК с которыми я работал )

Михаил_Ка

Приветствую
Собираю квадр.

Конфигурация: контроллер OmniBus F4 Pro Corner, видео передатчик Tramp HV, регуляторы Wraith32, камера RunCam Split v1, приемник FrSky XSR, пульт Taranis QX7.

Подключение:
Uart 1
RX1 - к телеметрии регуляторов
TX1 - SoftSerial 1 - на T-pin Tramp (smart audio)
Uart 3
RX3 - SBUS приемник XSR (беру не инвертированный сигнал)
TX3 - SoftSerial 2 - SmartPort приемник XSR (беру не инвертированный сигнал)
Uart 6
RX6 - на TX RunCam Split
TX6 - на RX RunCam Split

Работают: показания тока и напряжения с ESC, SBUS, управление камерой, OSD.
Не работает: управление Tramp`ом с пульта через OSD (переключение каналов, мощности), из телеметрии на пульте вижу только показания F000, RSSI, RxBt, и A2.

Поиск датчиков на пульте пробовал в режиме ARM и DISARM.
Подскажите где копать?

И второй вопрос по команде в CLI: serial - Что зачат цифры между номером порта и скоростью?
на GitHub`е написано Function bitmask (see serialPortFunction_e in the source), а найти этот самый serialPortFunction_e у меня не получилось, поэтому serial настраивал по аналогии с чужими сетапами. Где взять таблицу соответствия устройства и этой самой маски?

Темы на rcgroups и rcgroups 2 читал, SmartPort по 2 пинам подключать не хочу.

Еще где-то читал (ссылку не помню), что S Audio и S port в Бетафлае 3.1 на двух разных софтсериал не дружат (но было это упоминание в одном месте и про другую плату, сейчас у меня установлена версия Betaflight / OMNIBUSF4SD (OBSD) 3.2.2). FrSky XSR прошивал последней версией не для Европы, так же как и пульт и передатчик в нем.

Настройки CLI:

resource SERIAL_TX 6 C06
resource SERIAL_TX 11 A09
resource SERIAL_TX 12 B10
resource SERIAL_RX 1 A10
resource SERIAL_RX 3 B11
resource SERIAL_RX 6 C07
resource INVERTER 3 C09
resource INVERTER 6 C08

# feature
Enabled: RX_SERIAL MOTOR_STOP SOFTSERIAL TELEMETRY RSSI_ADC LED_STRIP OSD  ESC_SENSOR ANTI_GRAVITY DYNAMIC_FILTER

# serial
serial 20 1 115200 57600 0 115200
serial 0 1024 115200 57600 0 115200
serial 2 64 115200 57600 0 115200
serial 5 16384 115200 57600 0 115200
serial 30 2048 115200 57600 0 115200
serial 31 32 115200 57600 0 115200

set tlm_halfduplex = on
set tlm_inverted = on (пробовал менять на off на всякий случай- без результата)


# status
System Uptime: 24 seconds
Voltage: 0 * 0.1V (0S battery - NOT PRESENT)
CPU Clock=240MHz, GYRO=ICM20608G, ACC=ICM20608, BARO=BMP280
SD card: None inserted
Stack size: 2048, Stack address: 0x10010000
I2C Errors: 0, config size: 2084, max available config: 16384
CPU:5%, cycle time: 125, GYRO rate: 8000, RX rate: 111, System rate: 9
Arming disable flags: THROTTLE CLI
SkyPlayer
Михаил_Ка:

Не работает: управление Tramp`ом с пульта через OSD (переключение каналов, мощности)

Не работает смартаудио

Михаил_Ка:

из телеметрии на пульте вижу только показания F000, RSSI, RxBt, и A2.

Не работает с-порт телеметрии от полётника до приёмника - указанные параметры генерит сугубо сам приёмник.

Михаил_Ка
SkyPlayer:

Не работает смартаудио

SkyPlayer:

Не работает с-порт телеметрии от полётника до приёмника - указанные параметры генерит сугубо сам приёмник.

То что они не работают это я понял, потому и спросил. А вот куда смотреть?
Пробовал отключить второй СофСериал, оставить только S Audio- не заработало.

Если чем-то поможет найти причину, могу выложить все настройки CLI.

lunohod

Если передатчик tramp, то и выбирать надо не smartaudio, а tramp telemetry или как там его.

Михаил_Ка:

И второй вопрос по команде в CLI: serial - Что зачат цифры между номером порта и скоростью? на GitHub`е написано Function bitmask (see serialPortFunction_e in the source), а найти этот самый serialPortFunction_e у меня не получилось, поэтому serial настраивал по аналогии с чужими сетапами. Где взять таблицу соответствия устройства и этой самой маски

github.com/betaflight/betaflight/blob/…/serial.h#L…

Проще в конфигураторе настроить.

ЕМНИП, телеметрия не работает при подключенном конфигураторе.

Михаил_Ка
lunohod:

Если передатчик tramp, то и выбирать надо не smartaudio, а tramp telemetry или как там его.

Его то же выбирал (забыл написать) как вариант.

При выборе tramp строка получается:
serial 30 8192 115200 57600 0 115200
при выборе SmartAudio меняется на
serial 30 2048 115200 57600 0 115200

при этом в OSD в меню VTX SmartAudio> STATX
выбрав tramp получаю значения (постоянные значения):
STATUS OFFL
Baudrate 4800
Sent 0
остальные 0

а выбрав Samart Audio получаю значения:
STATUS OFFL
Baudrate 4800 меняется до 4950 и обратно
Sent от 0 до 10
остальные 0

Поэтому и спрашивал про параметры команды Serial.