Прошивки CleanFlight/BetaFlight для полетников
по вольтметру измения напряжения при отклонения стика нет, хз чё там с ним, тоесть у меня даже не в номинале резистора или наличии кондера дело
Есть вот такой микро-омнибас, прошит 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 на него?
решил ремапнуть TX1 (A09) на RX2 (A15), почему после ремапа TX1 стало A14, а не A15?
почему после ремапа TX1 стало A14, а не A15?
Я же написал
На TX2 висит S.Port-телеметрия к XSR-E, работает нормально.
Для эксперимента начал проверять “перенос” S.Port-телеметрии на TX1.
Я всегда думал, что переносить UARTы куда попало нельзя. Можно лишь назначать на те пины, которые предусмотрены в даташите stm32. Я так себе UART4 выделил на BlueJay F4, выводы которого по даташиту попадали на выводы моторов 1 и 2. Просто сдвинул моторы на выходы 3-6, а 1 и 2 назначил на TX/RX UART4. Только прошивку еще пришлось немного поменять, добавив UART4 по аналогии с контроллерами, на которых он есть. Но потом эти изменения уже сделали и в штатной прошивке.
Кажется, разобрался - надо даташит на STM внимательное читать, блин. 😃
У каждого вывода STM-ки есть фиксированный перечень доступных функций, и usart_rx/usart_tx абы куда не перекинешь. Попробую сделать через softserial (как я понял, ему любая нога с функцмоналом i/o подходит) и led-пин. Если не прокатит - придётся заниматься “интимом насекомых” - паять МГТФ к ноге.
Через led прокатит 100%
Кажется, разобрался - надо даташит на 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
Не работает: управление Tramp`ом с пульта через OSD (переключение каналов, мощности)
Не работает смартаудио
из телеметрии на пульте вижу только показания F000, RSSI, RxBt, и A2.
Не работает с-порт телеметрии от полётника до приёмника - указанные параметры генерит сугубо сам приёмник.
Не работает смартаудио
Не работает с-порт телеметрии от полётника до приёмника - указанные параметры генерит сугубо сам приёмник.
То что они не работают это я понял, потому и спросил. А вот куда смотреть?
Пробовал отключить второй СофСериал, оставить только S Audio- не заработало.
Если чем-то поможет найти причину, могу выложить все настройки CLI.
Если передатчик 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…
Проще в конфигураторе настроить.
ЕМНИП, телеметрия не работает при подключенном конфигураторе.
Если передатчик 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.
resource list что показывает?
ЕМНИП, телеметрия не работает при подключенном конфигураторе.
Пробовал и с отключенным- эффект тот же.
Пины для softserial верно настроены? Куда вообще подключены tramp и sport?
TX1 - SoftSerial 1 на PA09
TX3 - SoftSerial 2 на PB10
Tramp подключен от t-pin на контроллер J27 TX1
XSR подключен от Sport на контроллер J1 TX3
На PA11 и PB10 больше ничего не сконфигурировано?
resource list что показывает?
# resource list
Currently active IO resource assignments:
(reboot to update)
--------------------
A00: ADC_RSSI
A01: FREE
A02: MOTOR 1
A03: MOTOR 2
A04: MPU_CS
A05: SPI_SCK 1
A06: SPI_MISO 1
A07: SPI_MOSI 1
A08: FREE
A09: SERIAL_TX 11
A10: SERIAL_RX 1
A11: USB
A12: USB
A15: OSD_CS
B00: MOTOR 4
B01: MOTOR 3
B03: BARO_CS
B04: BEEPER
B05: LED 1
B06: LED_STRIP
B07: SDCARD_DETECT
B08: FREE
B09: FREE
B10: FREE
B11: SERIAL_RX 3
B12: SDCARD_CS
B13: SPI_SCK 2
B14: SPI_MISO 2
B15: SPI_MOSI 2
C00: FREE
C01: FREE
C02: FREE
C03: FREE
C04: MPU_EXTI
C05: FREE
C06: SERIAL_TX 6
C07: SERIAL_RX 6
C08: INVERTER 6
C09: INVERTER 3
C10: SPI_SCK 3
C11: SPI_MISO 3
C12: SPI_MOSI 3
D02: FREE
Currently active DMA:
--------------------
DMA1 Stream 0: LED_STRIP
DMA1 Stream 1: MOTOR 1
DMA1 Stream 2: MOTOR 3
DMA1 Stream 3: FREE
DMA1 Stream 4: FREE
DMA1 Stream 5: FREE
DMA1 Stream 6: MOTOR 2
DMA1 Stream 7: MOTOR 4
DMA2 Stream 0: FREE
DMA2 Stream 1: FREE
DMA2 Stream 2: FREE
DMA2 Stream 3: FREE
DMA2 Stream 4: ADC
DMA2 Stream 5: FREE
DMA2 Stream 6: FREE
DMA2 Stream 7: FREE
На PA11 и PB10 больше ничего не сконфигурировано?
Что то неувязочка вышла с resource list буду разбираться
PA11 не правильно написал softserial 1 на PA09
На B10 отсутствует SERIAL_TX 12, но это sport. Отчего tramp не работает - я хз.
На B10 отсутствует SERIAL_TX 12, но это sport. Отчего tramp не работает - я хз.
Почему команда <resource> показывает:
resource SERIAL_TX 12 B10
а команда <resource list> :
B10: FREE
Попробовал вернуть
resource SERIAL_TX 3 B10 как было изначально.
команда <resource> показывает:
resource SERIAL_TX 3 B10
а команда <resource list> :
всё равно
B10: FREE
отключил XSR от контроллера без изменений
ЕМНИП, телеметрия не работает при подключенном конфигураторе.
С чего бы? Всё прекрасно работает - по крайней мере, через хардварный UART у меня.
Конфигурация: контроллер 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
Почему не заработала эта схема так и не разобрался.
Так же остались вопросы почему команды <resource list> и <resource> после перезагрузки контроллера показывают разные значения. По документации после перегрузки должны быть одинаковыми 😵
После экспериментов 😃 было выяснено, что смена местами как вместе так и подключение по одному к TX1 и TX3, как через СофтСериал, так и напрямую ни S Port ни S Audio не заработали.❗
В результате поисков наткнулся на Tramp HV incompatibility issue with F4 hardware UARTs
В итоге эксперименты и чтение как наших, так и импортных ресурсов утомили и было сделано следующее:
- Smart Audio (Tramp Audio) подключено через SoftSerial 1 на pin MOTOR 5
- Smart Port подключен через SoftSerial 2 на pin LED_STRIP
Smart Audio (Tramp Audio) через SoftSerial так же работает на pin LED_STRIP- проверил.
Если кому-то понадобятся мои настройки:
feature SOFTSERIAL
feature TELEMETRY
feature ESC_SENSOR
feature LED_STRIP
resource MOTOR 1 A02
resource MOTOR 2 A03
resource MOTOR 3 B01
resource MOTOR 4 B00
resource MOTOR 5 none
# MOTOR 5 - A01 default value
resource LED_STRIP 1 none
# LED_STRIP 1 - B06 default value
resource SERIAL_TX 11 A01
# Smart Audio on SoftSerial 1 to pin MOTOR 5
# resource SERIAL_TX 1 NONE
# resource SERIAL_TX 11 A09
resource SERIAL_TX 12 B06
# Smart Port on SoftSerial 2 to pin LED_STRIP
# resource SERIAL_TX 3 NONE
# resource SERIAL_TX 12 B10
set sbus_inversion = OFF
set cpu_overclock = ON
set serialrx_provider = SBUS
set current_meter = ESC
set battery_meter = ESC
set tlm_halfduplex = on
set tlm_inverted = on
serial 0 1024 115200 57600 0 115200
serial 2 64 115200 57600 0 115200
serial 5 16384 115200 57600 0 115200
serial 30 8192 115200 57600 0 115200
serial 31 32 115200 57600 0 115200
В общем УРА!!! Можно собирать на раму 😃
телеметрия не работает при подключенном конфигураторе.
Подтверждаю при включенном конфигураторе у меня телеметрия не работает, состояние ARM или DISARM значения не имеет.