OrangeRx Open LRS 433MHz TX Module

Панкратов_Сергей
тигромух:

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

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

тигромух
Панкратов_Сергей:

Вах, какую аналогию желчь гонит.
А аналогия то другая- вместо платный винды открытый линукс.
Деньгами тут и не пахнет.

Ну простите, не хотел обидеть, но другими словами выразить мысль не смог 😦
Я правда очень уважаю вашу работу, это действительно круто. Но открытый линукс все же у KHA.
Еще раз извините за аналогию.

Ой, автора не посмотрел, ну да ладно 😃

Панкратов_Сергей
тигромух:

Но открытый линукс все же у KHA.
Еще раз извините за аналогию.

Так это он и есть.

тигромух
baychi:

“А мне летать охота”, а не только теоретизировать по поводу протокола.

Угу, в полном соответствии с ником 😃

baychi:

У Вас есть конкретные предложения, по пововоду улучшения связи? Что-бы летать дальше и надежнее?
Если есть, буду рад выслушать. ЭТО ГЛАВНЫЙ ВОПРОС!!!

Я не ковырял Эксперта, ибо у меня его нет и не предвидится. Разбирался только в реализации KHA, а там это сложно назвать протоколом. Или вы имеете в виду только настройки РФМки?
Говорят, где-то в инете есть загадочный .xls файл, в котором можно задать свои требования к РФМке и получить в ответ рекомендуемые настройки. Может оттуда растут и ноги включенного манчестера?

baychi
тигромух:

Или вы имеете в виду только настройки РФМки?

Я имею в виду сам протокол. Что нужно сделать, чтобы на данном железе (RFM22/23) получить максимальную дальность и помехоустойчивость связи? Решения от KHA мне откровенно не нравятся, так как это решения “в лоб”. Насчет фичей, он - мастер, а про гавное думает мало. У Эксперта все либо изящнее, либо продуманее.

тигромух:

Может оттуда растут и ноги включенного манчестера?

Манчестер - это в 2 раза больше по спектру. Но уходим от “постоянки” и необходимости “скремблировния” - обхода длинных проследовательносте 0-й или 1-ц. На заре эпохи передачи данных “манчестер” бы очень неполхим решением. Но на сегодня, ИМХО, это не самый лучший вариант. Коль требует 10-15 дБ SNR для работы. ШПС методы а ля Баркер, вроде требуют меньшей энергетики.

west_25_x

Разве SI (RFM22/23) может что-то иное кроме манчестера ?

тигромух
baychi:

Манчестер - это в 2 раза больше по спектру. Но уходим от “постоянки” и необходимости “скремблировния” - обхода длинных проследовательносте 0-й или 1-ц. На заре эпохи передачи данных “манчестер” бы очень неполхим решением. Но на сегодня, ИМХО, это не самый лучший вариант. Коль требует 10-15 дБ SNR для работы. ШПС методы а ля Баркер, вроде требуют меньшей энергетики.

Там либо Манчестер либо ничего. Whitening нельзя использовать при отключенном обработчике пакетов.
А Манчестер это удвоенная полоса и удвоенный data rate.
Интуитивно кажется, что кодировать совсем не лишне должно быть. Но с такими условиями - хз…

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
тигромух:

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

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