OrangeRx Open LRS 433MHz TX Module

baychi
тигромух:

Whitening нельзя использовать при отключенном обработчике пакетов.

Можно сделать это в программе. Совсем необязательна идеальная псевдослучайная последовательность. Достаточно какого-нить XOR-а с 0x35AC. Впрочем на таких коротких пакетах (128 бит данных) с отбеливанием и манчестером можно и не заморачиваться, ИМХО. Ведь цель отбеливания/манчестрера - подстройка под центры бит за счет переходов из 1 в 0 и обратно. Но что-бы границы для 128 бит пакета сместились существенно, требуется уход частоты кварца в 5000 ppm, что нереально.

тигромух:

А Манчестер это удвоенная полоса и удвоенный data rate.

Вот я и думаю, зачем он его включил? Дата рэйт, кстати не меняется - 7400.

PS: Есть идея насчет статистики. Можно писать некий вариант лога во FLASH (8-16 кбайт) или EEPROM (до 896 байт).
Например, 1 раз в минуту писать статистику по 8 каналам: количество потерянных пакетов, средний уровень шума, средний RSSI. Это 25-32 байт всего. FLASH-ки хватит на 4-8 часов. EEPROMа на 30 минут.
Как относитесь к такой идее?

Mark_Kharkov
baychi:

Кто-нить может прояснить следствия манчестера? Пока вижу только минимальное соотношение сигнал/шум 10 дБ. Я что будет без манчестера?

Собственно все просто - самосинхронизирующийся код. Это всем известно. Приемнику проще настроиться “в такт” передатчика, по временным интервалам, для лучшего приема.

baychi:

Что нужно сделать, чтобы на данном железе (RFM22/23) получить максимальную дальность и помехоустойчивость связи?

К сожалению похоже, что не сильно много. Сам немало копал в этом направлении и поставил >50 экспериментов при каком соотношении с/ш оно будет работать. Передатчик в режиме 0Дби засовывал в кастрюлю, антенну на нем так, что бы по диаграмме дырка от бублика на направление приемника, и это в дальний конец квартиры. И так тестил, что и как работает. Тоже было несколько мыслей, как передавать данные дальше. Но - фиг. Некоторые особенности чипа все портят…

baychi
Mark_Kharkov:

Сам немало копал в этом направлении и поставил >50 экспериментов при каком соотношении с/ш оно будет работать

А Вы пробывали сравнить со включенном манчестером и без? Есть разница в предельном отношении сигнал/шум? Постом Выше я обосновал, чем бесполезен манчестер на коротких пакетах. Что на это скажете?

Mark_Kharkov
baychi:

Вот я и думаю, зачем он его включил? Дата рэйт, кстати не меняется - 7400.

Он скорей всего имеет в виду что в ДШ везде пишется “при включении манчестера требуется в 2 раза большая полоса как при в 2 раза большем дата рейте”, да и в формулах в ДШ мелькает везде … * datarate * (1 + enmanch) … и т.д.
Понятно, что актуальный датарейт не меняется. Но на 1н бит фактически передается 2ва импульса, вроде как 2 бита. Такова сущность манчестера.

baychi:

А Вы пробывали сравнить со включенном манчестером и без? Есть разница? Постом Выше я обосновал, чем бесполезен манчестер на коротких пакетах. Что на это скажете?

Честно говоря с включенным и выключенным манчестером большой разницы уж точно не замечал. А отловить в таких “домашних” условиях разницу в 1-2Дби… Проблемно. Тут уже нужен чёткий контроль силы входного сигнала и шума, менять параметры и смотреть…
У меня манчестер в коде включен был. Чиста из-за самосинхронизации кода да и датарейт для моих применений не шибко большой. Надо будет поиграться включить-выключить и поглядеть еще, может и замечу разницу.

P.S. Ту проблему с AFC, что писал - давно победил. Млять… Как же я матерился, когда в каком-то апноте увидел “да вот в ранних версиях чипа у нас AFC писала результаты в регистры Frequency offset, а сейчас мы вынесли функционал в отдельные регистры, результат AFC читать оттуда”. Ну не звездец? Заразы… Столько с этим промучался.
Что интересно - если AFC включена, то вручную заданное значение регистров frequency offset все равно нехрена не влияет на частоту. А я уж понадеялся, что можно приемник корректировать на основе простой формулы. Нафига было выносить отдельно? Вопрос…

Shuricus
baychi:

Тогда расскажите, как он там биби-кает (логику поподробнее)? Каким тоном (сейчас ШИМ RSSI гонится на 500 Гц - это нормально?)

Би-би работает у меня странно - в два тона. Хотя у Эксперта написано, что каждый потерянный пакет это короткий писк. У меня периодически проскакивают писки другой тональности.

Думаю, если сделать короткий высокочастотный писк на каждый потерянный пакет, этого будет достаточно. В идеале бы еще и РССИ вывести параллельно на другую ногу. Тогда была бы полная картина!

По поводу ППМ и ПВМ - первые четыре канала ПВМ не нужны в режиме ППМ. На ПВМ можно выводить начиная с пятого. Или даже с шестого, т.к. пятый обычно тоже идет на режимы автопилота.

baychi
Mark_Kharkov:

А отловить в таких “домашних” условиях разницу в 1-2Дби… Проблемно. Тут уже нужен чёткий контроль силы входного сигнала и шума, менять параметры и смотреть…

По идее разница должна быть порядка 6 дБ…

Mark_Kharkov:

Надо будет поиграться включить-выключить и поглядеть еще, может и замечу разницу.

Будет очень интересно.

Shuricus:

каждый потерянный пакет это короткий писк.

Ясно. Это несложно. А FS как-нить отмечается? Может непрерывный писк?

Shuricus

Наверно FS это как раз писк другой тональности - более низкой. И наверно его можно сделать на все время FS.

baychi
Mark_Kharkov:

да вот в ранних версиях чипа у нас AFC писала результаты в регистры Frequency offset, а сейчас мы вынесли функционал в отдельные регистры,

Ну да, этим отличается RFM с B на конце, от без B. 😃

Mark_Kharkov:

если AFC включена, то вручную заданное значение регистров frequency offset все равно нехрена не влияет на частоту.

Как и написано в даташите.

Mark_Kharkov:

А я уж понадеялся, что можно приемник корректировать на основе простой формулы

Все очень просто. Берете отклонение частоты и настолько-же корректируете 9-й регистр. Если делать это псотоянно, можно даже температуру не мерить (в идеале там еще и температурный коэффициент есть).

Expert

Я хочу сразу всех успокоить - если приёмник работает с ExpertLRS это не значит, что он работает именно как приёмник ExpertLRS.
Просто Байчи слизал кусок стартового инита модуля и вставил его в OpenLRS код. Никаких фирменный технологий как динамический AGC, температурной компенсации и прочего там естественно нет. Это ваш приёмник и делайте с ним что хотите.
Я даже более скажу, что вы можете наоборот - в ExpertLRS заливать OpenLRS - защиты там нет.

baychi
Expert:

Никаких фирменный технологий как динамический AGC, температурной компенсации и прочего там естественно нет

Пока нет. 😃

тигромух
baychi:

PS: Есть идея насчет статистики. Можно писать некий вариант лога во FLASH (8-16 кбайт) или EEPROM (до 896 байт).
Например, 1 раз в минуту писать статистику по 8 каналам: количество потерянных пакетов, средний уровень шума, средний RSSI. Это 25-32 байт всего. FLASH-ки хватит на 4-8 часов. EEPROMа на 30 минут.
Как относитесь к такой идее?

У меня с SD-шкой так и не получилось. Я бросил эксперименты, когда вы слетали с фильтром и убедились в его эффективности. Решил, что летающий спектроанализатор больше неактуален. 😃
А вообще писать лог приемника (по кругу), конечно, хорошая мысль.
Но не EEPROM. 30 минут - это слишком мало.

baychi:

Ясно. Это несложно. А FS как-нить отмечается? Может непрерывный писк?

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

Mark_Kharkov
baychi:

Ясно. Это несложно. А FS как-нить отмечается? Может непрерывный писк?

Самое интересное то, что у передатчика Оранджа частоту писка похоже не поменяешь. Только вкл/выкл. Пробовал генерить на нужном пине частоту 1кгц - нефига. А вот “1” устанавливаешь - пищит, соотв “0” - не пищит.

тигромух

Александр, я посмотрел как у вас сделано RSSI. Вы дергаете RSSI на каждый пакет, так же как делает kha.
Мне такое не нравится, т.к. RSSI скачет, как бешеный и прочитать его трудно. Я сделал усреднение и дергаю вывод RSSI (сигнал/шум по вашей терминологии) только раз в секунду.
То есть в этом показателе застывшее среднее качество всех хоп-каналов за секунду, а не стробящий с частотой 20Гц RSSI всех каналов по очереди.
Чисто эстетически смотреть на такой показатель приятнее.

Mark_Kharkov:

Самое интересное то, что у передатчика Оранджа частоту писка похоже не поменяешь. Только вкл/выкл. Пробовал генерить на нужном пине частоту 1кгц - нефига. А вот “1” устанавливаешь - пищит, соотв “0” - не пищит.

Это зависит от пищалки. Если пищалки с встроенным драйвером, которые просто пищат от поданной постоянки, а есть без, которым нужно подавать нужную частоту. Причем, желательно резонансную, иначе они пищат плохо.

Mark_Kharkov
тигромух:

Это зависит от пищалки. Если пищалки с встроенным драйвером, которые просто пищат от поданной постоянки, а есть без, которым нужно подавать нужную частоту. Причем, желательно резонансную, иначе они пищат плохо.

А этим кстати никогда не интересовался… Получается что можно легко перепаять, что бы такие фишки и на Оранже работали. Спасибо!

baychi
тигромух:

Мне такое не нравится, т.к. RSSI скачет, как бешеный и прочитать его трудно.

А у меня АП усредняет. Да фильтр на выходе стараюсь ставить с постоянной милисекунд в 200-300.

тигромух:

Я сделал усреднение и дергаю вывод RSSI (сигнал/шум по вашей терминологии) только раз в секунду.

Можно и так сделать, но пока оставлю, как есть.
А вот очень интересно при каком С/Ш Ваша прошивка (модификация KHA?) начинает терять пакеты и как это зависит от скорости данных?

Mark_Kharkov:

у передатчика Оранджа частоту писка похоже не поменяешь. Только вкл/выкл.

Но если там использована ШИМ из библиотеки аурдины, то он строго 490 Гц и меняется только скважность.
Если хотите иное - дергайте ножку программно на заданной частоте…

Expert
baychi:

Пока нет.

для слона технологии 😋слизываете? айяяй…

Shuricus

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

baychi
Expert:

для слона технологии слизываете?

Я с ним даже не знаком. 😃
И “слизываю” - для себя.
А причина “слизывания” это Ваше, Дмитрий, категорическое нежелание идти навстречу даже в мелочах. 😦

Shuricus

Да Дмитрий иногда такое сморизит - уши в трубочку сворачиваются!

baychi:

А причина “слизывания” это Ваше, Дмитрий, категорическое нежелание идти навстречу даже в мелочах.

А Дмитрию везде мерещатся враги и шпионы! 😃

Уже давно можно было сделать более быструю прошивку для коптеров, почему же нет?

тигромух
baychi:

А вот очень интересно при каком С/Ш Ваша прошивка (модификация KHA?) начинает терять пакеты и как это зависит от скорости данных?

Модификация майского KHA.
Пакеты начинает терять где-то близко к нулю по ОСД. Конкретные цифры не смотрел, т.к. не увидел смысла. Слишком много преобразований: сначала попугаи RFMки -> потом map() -> вольты -> ацп -> попугаи ОСД.
OSD откалибрована на нулевой уровень, когда приемник в ФС.
Вот, послушайте видео 😃

baychi
тигромух:

Конкретные цифры не смотрел, т.к. не увидел смысла.

Жаль. Надо было цифру на UART выводить (причем по каждому пакету) и смотреть. Напомню, что в экспертовском варианте (16 байт данных, 6 обрамления, 7400 бодовой) и при включенном Манчестере нужно минимум 10 дБ C/Ш. Хочу понять зачем Манчестер? 😃

тигромух:

Вот, послушайте видео

Спасибо, но там цифр не разобрать. 😦