OrangeRx Open LRS 433MHz TX Module

lenz
baychi:

Бут это не аппаратный программатор, а точно такая-же программа самой Меги. В Меге есть регистры, запись в которые запускает перешивку FLASH или EEPROM. При нештатном режиме работы может произойти ложная запись в эти регистры или сам механизм перешивки случайно запустится.

Это все понятно. Но возьмем случай когда бут не прошит, когда прошита только сама прошивка, без бутлоадера. При этом Fuse бит BOOTRST не установлен. По логике вещей тут уже испортить flash невозможно? или я снова что то не допонимаю.

baychi:

PS: Народ, вы действительно не верите, что мега может терять прошивку или настройки с невыставленным BODLEVEL?
У меня такой впечатление, что я пугалом работаю.

fuse bodlevel влияет. Но выходит что влияет на настройки. Именно на факт записи еепром. В момент потери питания может произойти ошибка записи еепром.
При этом тоже интересно с этим bodlevel. А fuse BODEN ставится автоматически при установлении BODLEVEL =101, или все таки включать отдельно?

lenz:

PS: Народ, вы действительно не верите, что мега может терять прошивку или настройки с невыставленным BODLEVEL?
У меня такой впечатление, что я пугалом работаю.

А не может ли влиять еще фьюз установки кварца? Ведь там то же есть определенные фьюзы для старта проца с задержкой после включения питания.

baychi
lenz:

По логике вещей тут уже испортить flash невозможно?

Странно, что Вы являясь программистом под AVR не понимаете таких вещей.
Ответьте самому себе на такие вопросы.

  1. В ATMega328p можно менять FLASH и EEPROM из самой программы? Есть для этого команды и регистры?
  2. Что происходит с процессором, когда питание существенно ниже нормы при высокой частоте кварца?
  3. Что из себя представляют коды программы на уровне процессора? Согласны ли Вы что это коды действий плюс адреса операндов (явные или регистры)?
  4. Могут ли искажаться инструкции кода программы при их выполнении (интерпретации) мегой в данной ситуации?
  5. Как устроен механизм перешивки FLASH/EEPROM и что может его запустить?
  6. Как работает механизм защиты через BODLEVEL, и что он делает?
  7. Почему отсутствие контроля питания с помощью BODLEVEL или внешнего аппаратного супервизора является грубейшей ошибкой?

Ответьте сами, мне уже надоело. 😃
Давайте вернемся к обсуждению LRS. А те, кто не хочет ставить BODLEVEL, пусть их не ставят.
Есть шанс что мега все равно будет работать корректно.

lenz

Читаю теорию и датащит… Народ тоже утверждает что
Flash память программ
Содержимое внутренней FLASH памяти программ не повреждается при сбоях питания, так как AVR CPU не способно записывать информацию в свою собственную программную память.

baychi:

Странно, что Вы являясь программистом под AVR не понимаете таких вещей.
Ответьте самому себе на такие вопросы.

Все понял спс 😃 я к сожалению прогер именно с програмной точки зрения. В аппаратные дебри настолько глубоко не залезал.
Вопросов больше не имею 😃 Если что можно будет в личку позадавать вопросов?

baychi
lenz:

как AVR CPU не способно записывать информацию в свою собственную программную память.

Интересно, как же мы прошивку через бутлоадер меняем? Чудесным образом что-ли. 😃

тигромух
baychi:

Интересно, как же мы прошивку через бутлоадер меняем? Чудесным образом что-ли.

А вот Ленар привел интересную ссылочку, а я нашел ее оригинал. Вот он: www.atmel.com/Images/doc1051.pdf
Там английским по белому написано:
The Internal Flash Program Memory contents are never affected by a power failure situation. The AVR CPU is incapable of writing to its own program memory.
То есть одной половиной головы я понимаю, что вы правы, но другая половина верит заявлению производителя 😵

lenz

Извиняюсь перед всеми за офтопик который развел, просто перед полетом на LRS системах, особенно дешевых и бюджетных, хочется понять возможные причины отказа. И по возможности выявленные устранить. Если на орандже обязателен супервизор буду искать и допаивать. Подобного рода проблемы могут быть на любой LRS-ке собранной на AVR.

baychi
тигромух:

Там английским по белому написано: The Internal Flash Program Memory contents are never affected by a power failure situation. The AVR CPU is incapable of writing to its own program memory.

Цитата из даташита:

ATmega48A/PA/88A/PA/168A/PA/328/P support a real Read-While-Write Self-Programming mechanism. There is

a separate Boot Loader Section, and the SPM instruction can only execute from there.

Речь идет о том, что в 328-й меге SelfProgamm инструкции могут быть выполнены только из области бутлоадера.
Но что мешает механизму программирования запуститься самому по себе, при неправильном питании?
Впрочем, бутлоадер у нас как правило тоже есть и случайная передача управления туда так-же не исключена.

river3

А кто нить уже брал у Experta платную прошиву для Oranga ?
Проверяли ? проверяли как она работает?
Стоит ли у него её покупать?

Андрей86

Вчера тестировал сие чудо Китайской техники в стоке. По земле расстояние 400-450 м. за городом, это мало. На второе тестирование Файлсейв пропал. Хочу спросить, подскажите, пожалуйста, что дает прошивка и обезательно его прошивать?

тигромух
Андрей86:

По земле расстояние 400-450 м. за городом, это мало.

Это нормально. Поставьте антенны получше - получите больше километра.
В openLRSng можно еще немного улучшить дальнобойность, понизив скорость на радиолинке.
Что еще хорошего в этой прошивке, можно прочитать на rcgroups.

Андрей86

Спасибо за ответ!!! Я думаю, что надо усилитель творить ват так на 7, может, кто уже воял подскажите кто нить?

тигромух
Андрей86:

Спасибо за ответ!!! Я думаю, что надо усилитель творить ват так на 7, может, кто уже воял подскажите кто нить?

Если нет опыта в проектировании, сборке и настройке радиооборудования, то значительно проще купить готовый. В теме уже были ссылки на флайтрон, слона и еще кого-то.
В самостоятельной сборке бустера обнаружилось немалое количество нюансов, даже флайтрон не всё учел.
И я бы уже давно спалил пару недешевых RA07M4047M, если бы не помощь опытного человека, за что ему большое спасибо 😃

Shuricus

А про ньюансы расскажите? А то мне, знакомые опытные люди сказали, что все супер просто! Я теперь в растерянности… К тому-же если флайтрон не все учел, может не стоит его покупать?

тигромух
Shuricus:

А про ньюансы расскажите?

Я лучше потом, когда все заработает…

Про косяки флайтрона я не все понял 😃
Из доступного мне, запомнил про отсутствие экранированного кожуха (он, вроде как, крайне желателен), несоответствие даташиту номиналов конденсаторов и неработающий выходной аттенюатор (На плате и схеме. В готовом бустере он заменен перемычкой).
В целом, не критично. А учитывая, что у меня только на деталюшки уже ушло около 2000 руб., то цена в $99 не выглядит завышенной 😃

Shuricus

Микруха стоит 600р. еще там пару копеечных кондеров, откуда 2000?
На выходе аттенюатор не обязателен, вот и стоит перемычка.
Корпус берется металлический.
Вообще проблем не вижу…

тигромух
Shuricus:

Микруха стоит 600р. еще там пару копеечных кондеров, откуда 2000?

За 600 ее пока еще никто не купил. Либо скрывает. 😃
А я привожу свои затраты. Сможете дешевле и лучше - вперед.
И давайте разделим косяки флайтрона и трудности сборки, ок? А то все в куче, не знаю на что отвечать.

Baron

Отчитываюсь о прошивке. Залил последнюю версию kha, взятую отсюда: github.com/kh4/openLRSng. В скетче поменял только “имя” устройства. Ну и комментил/раскомментил строку, определяющую, что шьется - приемник или передатчик. Прошивал обычным FTDI адаптером, “переключенным” на 3,3 В штатной перемычкой. Напряжение питания адаптера проверил перед прошивкой тестером.
Ардуина последняя 1.0.4. Взята отсюда: arduino.cc/en/main/software. Загрузчик не трогал. Память не чистил.
Бинд работает, как в описании: включаем передатчик с зажатой кнопкой, ждем звуковых сигналов, включаем приемник. Через несколько секунд все выключаем. Биндил два приемника - оба работают. Файлсейв работает по всем каналам. “Записывается” кратковременным нажатием кнопки на модуле. Изначально у меня оказался газ в максимуме, так что советую всем настроить файлсейв заранее 😉
Меня интересовал суммарный PPM сигнал: при установке перемычки между 7 и 8 каналами он появляется на 5-ом канале. Остальные каналы тоже работают, выдавая свои сигналы на соответствующие выходы, кроме восьмого. Можно их использовать, например, для независимого управления подвесом. Мультивием суммарный PPM сигнал понимается великолепно.
P.S. В поле еще не был. Все проверки делал на столе на кухне.

Shuricus
Baron:

Мультивием суммарный PPM сигнал понимается великолепно.

На какой платке?
Мне кажется у Эксперта все равно грамотнее - SPPM просто идет все время и все… Без всяких перемычек.

Baron:

файлсейв

—> фэилсейф 😃 ( file save – > fail safe )

brutal4028
Shuricus:

На какой платке?

Я пробовал на Crius Se и на Crius AIOP , подтверждаю работает без проблем.

Shuricus

Спасибо, как раз хотел узнать про AIOP, а то говорили, что там SPPM софтовый на V1, и работает не так хорошо, как железный.

Baron
Shuricus:

На какой платке?

Пробовал на криусе AIO первой версии и на какой-то безродной с хоббикинга. Мне кажется, что для мультивия платка не важна - там же просто сигнал идет на ногу меги, а обрабатывает сигнал уже ардуина. То есть софт ардуиновский. А он везде, на всех платах, одинаков. IMHO.

Shuricus:

Мне кажется у Эксперта все равно грамотнее - SPPM просто идет все время и все… Без всяких перемычек.

Возможно. Но я, приученный к перемычкам на приемниках Frsky, как-то даже не заметил неудобства. 😃 Единственная проблема - это найти саму перемычку. Один раз я её снял с какой-то ценной платы в компьютерном отделе - теперь меня туда не пускают. 😦

Shuricus:

—> фэилсейф 😃 ( file save – > fail safe )

Ну, надеюсь, все поняли меня правильно. 😉