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

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 программатор.

AndreyI
Plohish:

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

Так ответ был в предыдущем сообщении, у Эксперта все разбирается аппаратно Т.к. Сбас там подключается на последовательный порт. И соответственно там все работает.

khomyakk
emax:

не забываем про фьюзы

Я чуть выше спрашивал. Оптибут подходит? Дело в том, что у меня был глюк с родным ардуиновским загрузчиком на 100мВт передатчике в режиме приемника. После ряда ФС на 10км приёмник не восстановил связь с ретранслятором. Вернулся домой и сел по отсечке регуля. Вернуть связь помогло передергивание питания на приемник. Прошил оптибут в приёмник и больше такой глюк не повторялся.