Baychi OpenLRS - дружелюбная ЛРС с широкими возможностями )

khomyakk

Летаю в опенлрснг. На передаче оранж 1Вт, на приеме оранж приемник на одной модели и оранж 100мВт передатчик в качестве приемника на другой. Понимаю, что не самое нормальное железо, но что есть. Начал читать эту тему. Думаю переходить на Байчи. Отсюда ряд вопросов.

  1. Оранж передатчик 1Вт по железу должен подойти?
  2. Оранж приемник тоже подходит по схемотехнике?
  3. Оранж передатчик 100мВт в качестве приемника-что нужно переделать, чтобы подошло? (основная модель сейчас на нём).
    И плюс вопрос - загрузчик Оптибут дружит с Байчи?
Shuricus

В первом посте есть ссылки с ответами на все вопросы. Почему бы не почитать?

emax
khomyakk:

ещё раз перечитал и просмотрел ссілки-прямого ответа на 3 вопрос не нашёл.

Байчи собирался, но не успел сделать прошивку для передатчика, что бы он стал приемником. Я попробовал изменить прошивку, и на получившемся приемнике, буквально в выходные улетели на 50км. Да, передатчик - такой же 100мвт с самодельным бустером на 7вт.

Бомбастер

Я тоже все зарюсь на Байчи, но к сожалению мозгов не хватает залить прошивки. Вот если бы кто отважился сделать вот такое видео как этот турок с Openlrsng, но с Байчи, то цены бы не было этому человеку. Много бы вопросов отпало и людей прибавилось к прошивке Байчи.
Вот видео турка

Сильно не пинайте, а то больно:blink:

Shuricus
khomyakk:

ещё раз перечитал и просмотрел ссілки-прямого ответа на 3 вопрос не нашёл. Брать это www.flytron.com/pdf/openlrs-m2-module.pdf или это www.flytron.com/pdf/OpenLRS_RX2.pdf и перепаивать передатчик?

Я не понял, а зачем передатчик в качестве приемника, там же ПВМ выходов нет, и здоровый он.
Можно приемник использовать как передатчик, а наоборот нет.
Добавил все устройства:
rcopen.com/blogs/67065/17854

khomyakk
Shuricus:

Я не понял, а зачем передатчик в качестве приемника, там же ПВМ выходов нет, и здоровый он.

Що маємо, то маємо 😃
Ну вот так получилось. Мне особо ПВМ особо и не надо, ппм выход есть, да и штуки 4 пвм есть, но это в прошивке опенлрснг. Мне хватает, но хочется чуть дальше летать. Насчёт здоровый-это да, но у меня в МиниТалоне места хватает.

emax
Shuricus:

Я не понял, а зачем передатчик в качестве приемника, там же ПВМ выходов нет, и здоровый он.

Так дешевле он, $10 против 20.
У нас уже 4 самолета, из них 2 с переделанным передатчиком. Пластиковая коробка меняется на термоусадку, да из выходов только ppm/sbus и rssi.

khomyakk
emax:

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

А можно поподробнее? Файл прошивки? Ну и комментарии, что и как?

Shuricus
Бомбастер:

Вот если бы кто отважился сделать вот такое видео как этот турок с Openlrsng, но с Байчи, то цены бы не было этому человеку. Много бы вопросов отпало и людей прибавилось к прошивке Байчи.

Если честно, не понимаю, какое видео снимать про то как скачать програму и нажать кнопку аплоад. Всего пять шагов:

  1. Найдите, готовую прошивку под именем OpenTiny_RX.cpp.hex во временной папке ПК;
  2. Скачать загрузчик www.ngcoders.com/?dl_id=13 , распаковать и запустить arduinoloader;
  3. Подключитесь к разъему UART приемника через адаптер USB->UART и определите COM-порт адаптера;
  4. Загрузчику укажите файл с прошивкой, порт адаптера и тип процессора – «m328p». В нижнем окне проверьте параметры, скорость работы –b должна быть 57600;
  5. Нажмите «Upload» и сразу подайте питание на приемник.
    После первой загрузки программы, выставьте значения регистров или сделайте привязку к передатчику.

emax

прошивка, что бы из 100мвт передатчика Orange сделать приемник.

rxtx.rar

Бомбастер

Александр спасибо, бум пробовать. Может и кто еще присоединится.

khomyakk
emax:

прошивка, что бы из 100мвт передатчика Orange сделать приемник.

Я так понимаю все действия по настройке совпадают с другим “железом” ?

AndreyI

А я вот хочу вернуться к моему старому вопросу про неработающий сбас оранжевого приемника и сбас2 оригинального футабовского приемника, работающего в режиме простого сбас.
Разобрался в прошивке, нашел один недочет в разборе протокола (из за этого не работал оранжевый сбас) и конкретный глюк который при определенной паузе между пакетами, приводил к ошибкам в распознавании пакетов. Так же поправил в прошивке корректное распознавание пакетов кастрированного сбас2.
Так что если кому надо, милости прошу в ЛС…

Shuricus

Выложите тут исправленные фрагменты кода, а я добавлю в дневничек. Так будет гораздо круче.

Что за недочет, и что за глюк? Интересно поподробнее.

Plohish

Уже хрен знает сколько использую Сбас на Байчи и никогда никаких глюков не видел…

kostya-tin
khomyakk:

Я так понимаю все действия по настройке совпадают с другим “железом” ?

да. как я понимаю, в этих прошивках просто переназначены другие выводы атмеги в соответствии с подключением приемника

AndreyI
Shuricus:

Выложите тут исправленные фрагменты кода, а я добавлю в дневничек. Так будет гораздо круче.

Что за недочет, и что за глюк? Интересно поподробнее.

Вот это я называю глюком:
// byte i=(val+TICK_IN_BIT/2)/TICK_IN_BIT; // сколько бит формируем (оригинальна строка)
word i=(val+TICK_IN_BIT/2)/TICK_IN_BIT; // сколько бит формируем (исправленая строка)

Переменная val это длительность импульса (значение таймера), размерность переменной 16 разрядов, при этом разрядность i назначается всего в восемь разрядов. Как следствие при определенном значении паузы между пакетами, эта самая пауза программой не увидится. Например при значении val=15530, прога не поймет что это пауза между пакетами и будет пытаться разобрать ее на байты.

Вот это я называю недочетом:
if(++pktPtr >= SBUS_PKT_SIZE) {
endPkt();
// break; // Оригинал
// } // Оригинал
} // Правка
break; // Правка

В оригинале идет жесткий контроль двух стоповых битов и далее обязательно должен идти старт. В правленом куске мы контролируем наличие двух стоповых и стартовый сразу идти не обязан. Именно по этому алгоритму происходит аппаратный разбор последовательного протокола в атмеге и именно по этому оранжевый приемник работает с OpenLrsNG и не работает с этой прошивкой.

Изменение для SBUS2:
if(pktPtr >= SBUS_PKT_SIZE && eCntr1 == 0 && // если набран кворум, нет ошибок по четности
// sbusPkt[0] == 0x0F && sbusPkt[24] == 0x00 ) { // проверяем начало и конец (оригинальная строка)
sbusPkt[0] == 0x0F && (sbusPkt[24] == 0x00 || sbusPkt[24] == 0x04 || sbusPkt[24] == 0x14 || sbusPkt[24] == 0x24 || sbusPkt[24] == 0x34)) { // проверяем начало и конец (исправленая строка)

Смысл в том что современные приемники поддерживающие SBUS2, да же в режиме простого SBUS, в конце пакета передают не 0, а другие значения. Все они отражены выше.

Ну и для корректного определения ФС с оранжевого приемника, пришлось сделать такое изменение:
if(sbusPkt[23]&0x8 || sbusPkt[23]&0x10) return false;

Тут решение спорное, но работает нормально и на оранже и на оригинальном приемнике.

Plohish:

Уже хрен знает сколько использую Сбас на Байчи и никогда никаких глюков не видел…

А это просто повезло, как я писал в самом начале, если пауза между пакетами попадет в определенный диапазон, то глюки будут.

Plohish
AndreyI:

… Именно по этому алгоритму происходит аппаратный разбор последовательного протокола в атмеге и именно по этому оранжевый приемник работает с OpenLrsNG и не работает с этой прошивкой.

резонный вопрос, в Тини от Эксперта тоже стоит Атмега, почему она работает без проблем?

emax

не забываем про фьюзы, через бутлоадер их изменить нельзя, нужен ISP программатор.