RSSI по iBus для приемников FlySky X6B и IA6B/C

Патченная прошивка с инжекцией RSSI в iBus на канале 14 © by Cleric-K
Инструкция по прошивке приемников FlySky (с) by povlhp

Тонкости и нюансы

  • Шьется все это дело через программатор ST-Link v2. Купить можно на БГ или Али;
  • Предварительно для ST-Link v2 скачиваем и устанавливаем драйвера, STM32 ST-LINK Utility и обновление прошивки (по желанию). Для скачивания нужен email, на который придет ссылка на скачивание;
  • Подпаяться к приемнику удобнее одноконтактными разъемами типа dupont (от ардуино или компа) длинной 5-10см и сразу подать их на программатор;
  • Питание 3.3в лучше взять с программатора, подав на пин 3.3в приемника. Схема распайки на примере X6B ниже;
  • RX ID приемника - 4 байта по смещению 0x1C00. В новой прошивке их желательно заменить на свои, тогда не нужно будет биндить приемник по новой. Сделать это можно в самой STM32 ST-LINK Utility или через hex-редактор, кому как удобнее;
  • Если программатор не подключается, проверьте не перепутаны ли SWDIO и SWCLK;
  • !!! Не забываем сделать бэкап своей прошивки !!!

Прошивка

  • Подключаем приемник к программатору, программатор подключаем в USB. Должен замигать светодиод на приемнике;
  • Запускаем STM32 ST-LINK Utility, выставляем Size=0x8000, Data Width=8bit, жмем иконку со штепселем (connect);
  • При успешном подключении появится информация об устройстве в строке статуса и в окне справа, светодиод погаснет;
  • Сохраняем бэкап своей прошивки;
  • Открываем файл прошивки с RSSI, меняем по адресу 0x08001C00 RX ID на свой, сохраняем файл;
  • Прошиваем (иконка №6 блокнот с ручкой), в параметрах выставляем verify after programming.

Настройка BF

  • На странице Receiver выставляем источник RSSI AUX10;
  • На странице OSD включаем RSSI;
  • В OSD лучше поднять порог warning для RSSI с 30 до 40.

Настройка Failsafe в аппаратуре FS-i6S

  • В Function/End points на ch3 (газ) выставляем первое значение в 120% (т.е. -120%);

  • В Function/Failsafe на ch3 выставляем -120% нажав кнопку Setup;

  • В Function/End points на ch3 обязательно возвращаем нормальное значение 100%.

    Это единственный, известный мне, нормально работающий способ настройки FS на приемнике X6B (возможно и других). На других каналах, например переключения полетных режимов, такой способ настройки не подходит и FS не срабатывает.
    Настройка FS на канал арминга не устраивает по причине дизарма в полете.

Наблюдения

09.08.2018
По предварительным наблюдениям RSSI работает хорошо. Sig.S 10 = RSSI 90-99, Sig.S 9 = RSSI 80-90, и т.д. При сработке пищалки на аппе (Sig.S 4) RSSI плавает где-то в районе 25-35%. При RSSI 8-12% наблюдаются отвалы приемника.

05.09.2018
Протестил на дальность в полях. Антенны на аппе и приемнике стоковые, на приемнике торчат вверх под 45гр. к горизонту каждая. Макс. дальность 1452м, мин. RSSI 14%. RSSI на подлете плавало 16-25%, просадка из-за не оптимального положения антенн. На развороте RSSI поднялось до 52%, при курсе домой от 38% с возрастанием. Считаю, что RSSI работает адекватно, как и прогнозировалось по положению антенн.

  • 7999
Comments
Ozyris

Кривовато, но лучше чем выковыривать аналоговый rssi из под экрана.

dvd-media

“На других каналах, например переключения полетных режимов, такой способ настройки не подходит и FS не срабатывает.”

У меня на 5 канале всегда ФС был настроен… по такому же принципу.

п.с. за статью спасибо, закажу стм-программер тоже. РССИ с лрс не проблема, инжекция там есть, а вот без ЛРС через полётник не мог настроить… попробую так.

Basiliocat
dvd-media;bt159712

У меня на 5 канале всегда ФС был настроен… по такому же принципу.

У меня 6й канал, на нем не работает хоть застрелись. А на 5м у меня арминг.

Basiliocat
Ozyris;bt159711

Кривовато, но лучше чем выковыривать аналоговый rssi из под экрана.

Косяков я, пока, не заметил. Что касательно отвалов приемника при низком RSSI - так 30% RSSI это ~ 10dB SNR, т.е. практически уже шум. Поэтому и порекомендовал warning на 40% устанавливать. По мере тестов в полях буду дополнять.

Ozyris

По failsafe: не понимаю прикола с 120 процентами, разве нельзя сделать чтобы при пропадании связи выщелкивался 5 канал? У меня так и на i6 и на evolution failsafe нормально срабатывает. Глянул код, там тупо отключается проверка целостности и запихивается в 10й аукс переменная обратно пропорциональная ошибке. В принципе передатчик и сам может такое делать, но на это будет тратиться один канал.

Basiliocat

Прикол с -120% на ch3 в том, что при обрыве связи канал становится в 900 и четко срабатывает FS. Эта настройка сохраняется в приемнике и все отлично работает. Каналы 1,2 и 4 не пробовал - не вижу смысла.

На ch5 (арминг) FS срабатывает при настройке -100%. Но при этом мы получаем дизарм в полете, т.е. автореконнекта не будет. Чтобы попытаться поймать коптер - тумблер в положение дизарм, газ в ноль и снова арм, - слишком долго на малых высотах. А в условиях нестабильной связи это гарантированное втыкание в планету.

По поводу кода - не достатотчно знаний. На ch6 (полетные режимы), 7, 8 (свободные) и 9 (пищалка) заставить работать FS не удалось.

ansiivan

Я просто прошил аппу FlySky 6x на мод прошивку, iBus и на 14 канале появился RSSi, который точно работает. Да ток на iBus FS несрабатыват, на sBus работает, но эта не проблема в аппе все настраивается)

dvd-media
Basiliocat;bt159717

Прикол с -120% на ch3 …
На ch5 (арминг) FS срабатывает при настройке -100%. Но при этом мы получаем дизарм в полете, т.е. автореконнекта не будет.

А что мешает сделать +120 ?
У меня так на сколько помню, и ничего не мешает иметь ФС на полётном режиме 5… 😇

Basiliocat
ansiivan;bt159737

Я просто прошил аппу FlySky 6x на мод прошивку, iBus и на 14 канале появился RSSi

Для i6S мода прошивки нет, увы. Поэтому пришлось прошить приемник.

Basiliocat
dvd-media;bt159742

А что мешает сделать +120 ?

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

Ozyris

Пытаясь победить отсутствие failsafe по ibus на приемнике X6B пришел к такому решению: зашивается прошивка с rssi на aux10, потом в betaflight modes добавляю к failsafe еще один диапазон AUX10 (900-1025). Получаем режим failsafe при пропадании связи.

Basiliocat
Basiliocat:

Может быть нужен именно 5й канал, ибо на 6м не работает никак. Попробую убрать арм с 5го на другой канал и проверить.

Поменял каналы местами, ch5 - полетные режимы, ch6 - арм. При любых настройках FS ch5 на аппе сработки FS нет.

Basiliocat
Ozyris;bt159789

Пытаясь победить отсутствие failsafe по ibus на приемнике X6B пришел к такому решению: зашивается прошивка с rssi на aux10, потом в betaflight modes добавляю к failsafe еще один диапазон AUX10 (900-1025). Получаем режим failsafe при пропадании связи.

Однако интересный вариант. Failsafe через ПК с отображением на OSD или просто дизарм?

dvd-media
Basiliocat;bt159748

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

не знаю… возможно это из-за изменений в прошивке (я не перепрошивал) по этому у меня полётные режимы на обоих приёмниках всегда настроены на 5 канале (ну и на остальных, и на нём же ФС по диапазону).

Basiliocat
dvd-media;bt159812

не знаю… возможно это из-за изменений в прошивке (я не перепрошивал) по этому у меня полётные режимы на обоих приёмниках всегда настроены на 5 канале (ну и на остальных, и на нём же ФС по диапазону).

Если вдруг решите перешить и увидите отличия, - значит у Вас удачная прошивка и хорошо бы ее допилить под RSSI. У меня на всех 3х прошивках (сток, FS по IBUS и RSSI) ведет себя одинаково.

Ozyris

Насчет удачной прошивки. Скачивал с гита рекомендуемую и сравнивал со слитой с приемника X6B, где не работает FS по iBUS. Отличие только одно - серийник. Так что нечего допиливать.

Ozyris

Жирный плюс рссишной прошивки это что на ней хоть с каким-то каналом что-то происходит при обрыве связи.

Basiliocat
Ozyris;bt159815

Жирный плюс рссишной прошивки это что на ней хоть с каким-то каналом что-то происходит при обрыве связи.

Это не плюс RSSI прошивки, у меня одинаково приемник реагирует на все прошивки. Хотя вовсю на рцгрупс ходят слухи о работающем FS по IBUS. Эту прошивку я пробовал, но безрезультатно.

Попробую систематизировать FS по своему X6B (моторстоп у меня по умолчанию):

  1. ch3 (канал газа), настройка FS на аппе -120%. Отключаю аппу (выдергиваю элемент питания) - канал=900, моторы стопятся, за исключением AIR MODE;
  2. ch5 (полетные режимы), настройка FS на аппе -100%. Отключаю аппу - канал=1000, включается STAB, моторы продолжают работать на последнем газу;
  3. ch6 (арминг), настройка FS на аппе -100%. Отключаю аппу - канал=1000, дизарм с таблицей статистики;
  4. ch7 (GPS RESCUE), настройка FS на аппе +100%. Отключаю аппу - канал=2000, включается GPS RESCUE.
kasatka60
Ozyris;bt159789

Пытаясь победить отсутствие failsafe по ibus на приемнике X6B пришел к такому решению: зашивается прошивка с rssi на aux10, потом в betaflight modes добавляю к failsafe еще один диапазон AUX10 (900-1025). Получаем режим failsafe при пропадании связи.

Неправильная идея. Лучше от этого отказаться. Ради эксперимента дома обесточь аппаратуру и AUX10 не опустится до минимальных значений, а так и будет около 1900-2000.

Ozyris
kasatka60;bt160939

Неправильная идея. Лучше от этого отказаться. Ради эксперимента дома обесточь аппаратуру и AUX10 не опустится до минимальных значений, а так и будет около 1900-2000.

Все давным-давно проверено и работает как часы.