Шьется все это дело через программатор 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 работает адекватно, как и прогнозировалось по положению антенн.
Кривовато, но лучше чем выковыривать аналоговый rssi из под экрана.
“На других каналах, например переключения полетных режимов, такой способ настройки не подходит и FS не срабатывает.”
У меня на 5 канале всегда ФС был настроен… по такому же принципу.
п.с. за статью спасибо, закажу стм-программер тоже. РССИ с лрс не проблема, инжекция там есть, а вот без ЛРС через полётник не мог настроить… попробую так.
У меня на 5 канале всегда ФС был настроен… по такому же принципу.
У меня 6й канал, на нем не работает хоть застрелись. А на 5м у меня арминг.
Кривовато, но лучше чем выковыривать аналоговый rssi из под экрана.
Косяков я, пока, не заметил. Что касательно отвалов приемника при низком RSSI - так 30% RSSI это ~ 10dB SNR, т.е. практически уже шум. Поэтому и порекомендовал warning на 40% устанавливать. По мере тестов в полях буду дополнять.
По failsafe: не понимаю прикола с 120 процентами, разве нельзя сделать чтобы при пропадании связи выщелкивался 5 канал? У меня так и на i6 и на evolution failsafe нормально срабатывает. Глянул код, там тупо отключается проверка целостности и запихивается в 10й аукс переменная обратно пропорциональная ошибке. В принципе передатчик и сам может такое делать, но на это будет тратиться один канал.
Прикол с -120% на ch3 в том, что при обрыве связи канал становится в 900 и четко срабатывает FS. Эта настройка сохраняется в приемнике и все отлично работает. Каналы 1,2 и 4 не пробовал - не вижу смысла.
На ch5 (арминг) FS срабатывает при настройке -100%. Но при этом мы получаем дизарм в полете, т.е. автореконнекта не будет. Чтобы попытаться поймать коптер - тумблер в положение дизарм, газ в ноль и снова арм, - слишком долго на малых высотах. А в условиях нестабильной связи это гарантированное втыкание в планету.
По поводу кода - не достатотчно знаний. На ch6 (полетные режимы), 7, 8 (свободные) и 9 (пищалка) заставить работать FS не удалось.
Я просто прошил аппу FlySky 6x на мод прошивку, iBus и на 14 канале появился RSSi, который точно работает. Да ток на iBus FS несрабатыват, на sBus работает, но эта не проблема в аппе все настраивается)
Прикол с -120% на ch3 …
На ch5 (арминг) FS срабатывает при настройке -100%. Но при этом мы получаем дизарм в полете, т.е. автореконнекта не будет.
А что мешает сделать +120 ?
У меня так на сколько помню, и ничего не мешает иметь ФС на полётном режиме 5… 😇
Я просто прошил аппу FlySky 6x на мод прошивку, iBus и на 14 канале появился RSSi
Для i6S мода прошивки нет, увы. Поэтому пришлось прошить приемник.
А что мешает сделать +120 ?
Пробовал и так, без толку. Может быть нужен именно 5й канал, ибо на 6м не работает никак. Попробую убрать арм с 5го на другой канал и проверить.
Пытаясь победить отсутствие failsafe по ibus на приемнике X6B пришел к такому решению: зашивается прошивка с rssi на aux10, потом в betaflight modes добавляю к failsafe еще один диапазон AUX10 (900-1025). Получаем режим failsafe при пропадании связи.
Может быть нужен именно 5й канал, ибо на 6м не работает никак. Попробую убрать арм с 5го на другой канал и проверить.
Поменял каналы местами, ch5 - полетные режимы, ch6 - арм. При любых настройках FS ch5 на аппе сработки FS нет.
Пытаясь победить отсутствие failsafe по ibus на приемнике X6B пришел к такому решению: зашивается прошивка с rssi на aux10, потом в betaflight modes добавляю к failsafe еще один диапазон AUX10 (900-1025). Получаем режим failsafe при пропадании связи.
Однако интересный вариант. Failsafe через ПК с отображением на OSD или просто дизарм?
Пробовал и так, без толку. Может быть нужен именно 5й канал, ибо на 6м не работает никак. Попробую убрать арм с 5го на другой канал и проверить.
не знаю… возможно это из-за изменений в прошивке (я не перепрошивал) по этому у меня полётные режимы на обоих приёмниках всегда настроены на 5 канале (ну и на остальных, и на нём же ФС по диапазону).
не знаю… возможно это из-за изменений в прошивке (я не перепрошивал) по этому у меня полётные режимы на обоих приёмниках всегда настроены на 5 канале (ну и на остальных, и на нём же ФС по диапазону).
Если вдруг решите перешить и увидите отличия, - значит у Вас удачная прошивка и хорошо бы ее допилить под RSSI. У меня на всех 3х прошивках (сток, FS по IBUS и RSSI) ведет себя одинаково.
Насчет удачной прошивки. Скачивал с гита рекомендуемую и сравнивал со слитой с приемника X6B, где не работает FS по iBUS. Отличие только одно - серийник. Так что нечего допиливать.
Жирный плюс рссишной прошивки это что на ней хоть с каким-то каналом что-то происходит при обрыве связи.
Жирный плюс рссишной прошивки это что на ней хоть с каким-то каналом что-то происходит при обрыве связи.
Это не плюс RSSI прошивки, у меня одинаково приемник реагирует на все прошивки. Хотя вовсю на рцгрупс ходят слухи о работающем FS по IBUS. Эту прошивку я пробовал, но безрезультатно.
Попробую систематизировать FS по своему X6B (моторстоп у меня по умолчанию):
ch3 (канал газа), настройка FS на аппе -120%. Отключаю аппу (выдергиваю элемент питания) - канал=900, моторы стопятся, за исключением AIR MODE;
ch5 (полетные режимы), настройка FS на аппе -100%. Отключаю аппу - канал=1000, включается STAB, моторы продолжают работать на последнем газу;
ch6 (арминг), настройка FS на аппе -100%. Отключаю аппу - канал=1000, дизарм с таблицей статистики;
Пытаясь победить отсутствие failsafe по ibus на приемнике X6B пришел к такому решению: зашивается прошивка с rssi на aux10, потом в betaflight modes добавляю к failsafe еще один диапазон AUX10 (900-1025). Получаем режим failsafe при пропадании связи.
Неправильная идея. Лучше от этого отказаться. Ради эксперимента дома обесточь аппаратуру и AUX10 не опустится до минимальных значений, а так и будет около 1900-2000.
Неправильная идея. Лучше от этого отказаться. Ради эксперимента дома обесточь аппаратуру и AUX10 не опустится до минимальных значений, а так и будет около 1900-2000.