Цифровой протокол для общения OpenLRSng и FRsky Taranis.

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

Все что вы делаете, вы делаете на свой страх и риск, за загубленные девайсы я ответственность не несу.

Всем привет. Не так давно выпустили для себя пару LRS.

Повод похвалиться, но речь пойдет не об этом. Многие сейчас используют прошивку от Baychi, которая отлично себя зарекомендовала и самое основной её изюминкой является то, что она работает с протоколом SBUS, при условии, что сам пульт может его выдавать на выход для внешнего модуля. Я с прошивкой от Baychi особо не знаком, всегда пользовался проектом OpenLRSng, который мне нравится больше из-за своего функционала и интуитивно понятного интерфейса. Также, в этом проекте есть поддержка телеметрии FRsky и много других плюшек, правда по прочтению форумов, я так понял, что даже сами создатели данного проекта не особо проверяли на работоспособность все внедренные плюшки, как и те для кого они предназначались:(

Данную статью могут взять себе на заметку обладатели LRS HawkEYE DTF UHF Deluxe,
fpv-community.ru/…/314-hawkeye-dtf-uhf-deluxe-pere…

fpv-community.ru/…/312-hawkeye-dtf-uhf-deluxe-pere…

Да и владельцы самосборных LRS, при определенных доработках, смогут использовать некоторый представленный функционал.
В данном случае полностью задействуется UART на LRS и на аппаратуре.

Для чего все это делается? Что бы полностью задействовать весь заложенный потенциал данного проекта, а также уменьшение время задержки и отклика на команды с пульта.

Что нам это даст? Уменьшение времени отклика на команды с РУ, Возможность оперативно регулировать мощность самой LRS прямо из прошивки пульта. Возможность подключения передатчика не только по PPM, а также по специально разработанному под этот проект цифровому протоколу (Актуально для Taranis).

Основные моменты я буду опускать, останавливаясь лишь на подводных камнях которые возникали у меня в процессе реализации.

Итак начнем.

  1. Нам нужно прошить аппу на спецовую прошивку plaisthos.de/opentx/ Я скачал самую последнюю opentx22-5e00436-multi-2016-12-28-x9d.bin
    Сразу же первая проблема: В прошивках версии 2.2х используется другая архитектура флешки, поэтому, флешку (SD карточку) придется форматировать и заливать на нее все содержимое по новой. скачать можно тут
    Новый ассистент можно скачать тут
    Еще один камень кроется в том, что если даже вы прошились, аппа будет циклически перезагружаться, как я выяснил все дело в аудио файлах в конфигурации модели (я их просто стер) и все заработало как нужно.

2)Прошиваем LRS, для того чтобы она понимала протокол OLRS, из уже прошитого пульта.
Отдельное спасибо пользователю CrazyCoder (Сергей Баранов) за наводку на нужные материалы.
Проходим по ссылке
openrcforums.com/forum/viewtopic.php?f=115&t=9384&…

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

Мой компьютер => В поиске файлов вводим tx_module.html => находим нужную часть кода.
Весь файл должен выглядеть вот так
Но от нас требуется добавить (не заменять) лишь одну строку <option value=“5”>MULTI</option> в данном куске кода

Далее нужно прошить передатчик и приемник, прошивку нужно брать тут.
 Для того что бы это сделать, вам потребуется сам ардуино компилятор версии 1.6.12 (Я компилировал и прошивал из под него и проблем не было). На вкладке openLRSng в строках кода:

//####### COMPILATION TARGET #######
// Enable to compile transmitter code, default is RX
//#define COMPILE_TX 0 // compile RX code
#define COMPILE_TX 1 // compile TX code

нужно выбрать что мы хотим прошить: приемник или передатчик.

Далее нужно выбрать какой приемник или передатчик вы хотите запрограммировать.

//####### BOARD TYPE #######
// Enable only one of the lines below
//#define BOARD_TYPE 0 // Flytron OpenLRS M1 Tx Board (not verified)
//#define BOARD_TYPE 1 // Flytron OpenLRS M1 Rx Board as TX (not verified)
//#define BOARD_TYPE 2 // Flytron OpenLRS M2/M3 Tx Board / OrangeRx UHF TX
//#define BOARD_TYPE 3 // Flytron OpenLRS Rx v2 Board / OrangeRx UHF RX / HawkEye UHF RX (RX and TX supported)
//#define BOARD_TYPE 4 // OpenLRSngTX / HawkEye UHF TX
#define BOARD_TYPE 5 // OpenLRSngRX-4/6ch (DTF UHF/HawkEye) (RX and TX supported)
//#define BOARD_TYPE 6 // DTF UHF/HawkEye DeluxeTX (Atmega32u4)
//#define BOARD_TYPE 7 // PowerTowerRx
//#define BOARD_TYPE 8 // openLRSng microRx
//#define BOARD_TYPE 9 // BroversityRX

Собственно все, если все правильно выбрано, скомпилировано и прошито, должно работать.
3) Подключение.
Идем по ссылке до раздела : Taranis module port pinout смотрим на порт подключения внешнего модуля и теперь у нас PPM это TX втыкается в RX LRS, а SPORT это RX соединяем с TX LRS. НЕ забываем подключить питание.
Далее в аппе идем: menu=>Model setup => External RF => mode =>MULTI в нем подпункт OLRS.
После сохранения настроек и перезагрузки пульта все должно заработать.

4)Биндим приемник и заходим в настройки. На 8м канале вместо RX выбираем SBUS сохраняемся.
Вот тут камень с которым я дооолго провозился. Чтобы SBUS нормально работал, нужно собрать инвертор сигнала и подключать контроллер через него.

Ну собственно пока все, дальше буду разбираться с телеметрией и ее подключением и передачей, а потом полетные испытания, хочу привязать телеметрию от NAZA и глянуть несколько далеко передает 100мВт приемник с хорошей антенной.

Продолжение следует…

  • 2095