OrangeRx Open LRS 433MHz TX Module
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 минут.
Как относитесь к такой идее?
Кто-нить может прояснить следствия манчестера? Пока вижу только минимальное соотношение сигнал/шум 10 дБ. Я что будет без манчестера?
Собственно все просто - самосинхронизирующийся код. Это всем известно. Приемнику проще настроиться “в такт” передатчика, по временным интервалам, для лучшего приема.
Что нужно сделать, чтобы на данном железе (RFM22/23) получить максимальную дальность и помехоустойчивость связи?
К сожалению похоже, что не сильно много. Сам немало копал в этом направлении и поставил >50 экспериментов при каком соотношении с/ш оно будет работать. Передатчик в режиме 0Дби засовывал в кастрюлю, антенну на нем так, что бы по диаграмме дырка от бублика на направление приемника, и это в дальний конец квартиры. И так тестил, что и как работает. Тоже было несколько мыслей, как передавать данные дальше. Но - фиг. Некоторые особенности чипа все портят…
Сам немало копал в этом направлении и поставил >50 экспериментов при каком соотношении с/ш оно будет работать
А Вы пробывали сравнить со включенном манчестером и без? Есть разница в предельном отношении сигнал/шум? Постом Выше я обосновал, чем бесполезен манчестер на коротких пакетах. Что на это скажете?
Вот я и думаю, зачем он его включил? Дата рэйт, кстати не меняется - 7400.
Он скорей всего имеет в виду что в ДШ везде пишется “при включении манчестера требуется в 2 раза большая полоса как при в 2 раза большем дата рейте”, да и в формулах в ДШ мелькает везде … * datarate * (1 + enmanch) … и т.д.
Понятно, что актуальный датарейт не меняется. Но на 1н бит фактически передается 2ва импульса, вроде как 2 бита. Такова сущность манчестера.
А Вы пробывали сравнить со включенном манчестером и без? Есть разница? Постом Выше я обосновал, чем бесполезен манчестер на коротких пакетах. Что на это скажете?
Честно говоря с включенным и выключенным манчестером большой разницы уж точно не замечал. А отловить в таких “домашних” условиях разницу в 1-2Дби… Проблемно. Тут уже нужен чёткий контроль силы входного сигнала и шума, менять параметры и смотреть…
У меня манчестер в коде включен был. Чиста из-за самосинхронизации кода да и датарейт для моих применений не шибко большой. Надо будет поиграться включить-выключить и поглядеть еще, может и замечу разницу.
P.S. Ту проблему с AFC, что писал - давно победил. Млять… Как же я матерился, когда в каком-то апноте увидел “да вот в ранних версиях чипа у нас AFC писала результаты в регистры Frequency offset, а сейчас мы вынесли функционал в отдельные регистры, результат AFC читать оттуда”. Ну не звездец? Заразы… Столько с этим промучался.
Что интересно - если AFC включена, то вручную заданное значение регистров frequency offset все равно нехрена не влияет на частоту. А я уж понадеялся, что можно приемник корректировать на основе простой формулы. Нафига было выносить отдельно? Вопрос…
Тогда расскажите, как он там биби-кает (логику поподробнее)? Каким тоном (сейчас ШИМ RSSI гонится на 500 Гц - это нормально?)
Би-би работает у меня странно - в два тона. Хотя у Эксперта написано, что каждый потерянный пакет это короткий писк. У меня периодически проскакивают писки другой тональности.
Думаю, если сделать короткий высокочастотный писк на каждый потерянный пакет, этого будет достаточно. В идеале бы еще и РССИ вывести параллельно на другую ногу. Тогда была бы полная картина!
По поводу ППМ и ПВМ - первые четыре канала ПВМ не нужны в режиме ППМ. На ПВМ можно выводить начиная с пятого. Или даже с шестого, т.к. пятый обычно тоже идет на режимы автопилота.
А отловить в таких “домашних” условиях разницу в 1-2Дби… Проблемно. Тут уже нужен чёткий контроль силы входного сигнала и шума, менять параметры и смотреть…
По идее разница должна быть порядка 6 дБ…
Надо будет поиграться включить-выключить и поглядеть еще, может и замечу разницу.
Будет очень интересно.
каждый потерянный пакет это короткий писк.
Ясно. Это несложно. А FS как-нить отмечается? Может непрерывный писк?
Наверно FS это как раз писк другой тональности - более низкой. И наверно его можно сделать на все время FS.
да вот в ранних версиях чипа у нас AFC писала результаты в регистры Frequency offset, а сейчас мы вынесли функционал в отдельные регистры,
Ну да, этим отличается RFM с B на конце, от без B. 😃
если AFC включена, то вручную заданное значение регистров frequency offset все равно нехрена не влияет на частоту.
Как и написано в даташите.
А я уж понадеялся, что можно приемник корректировать на основе простой формулы
Все очень просто. Берете отклонение частоты и настолько-же корректируете 9-й регистр. Если делать это псотоянно, можно даже температуру не мерить (в идеале там еще и температурный коэффициент есть).
Я хочу сразу всех успокоить - если приёмник работает с ExpertLRS это не значит, что он работает именно как приёмник ExpertLRS.
Просто Байчи слизал кусок стартового инита модуля и вставил его в OpenLRS код. Никаких фирменный технологий как динамический AGC, температурной компенсации и прочего там естественно нет. Это ваш приёмник и делайте с ним что хотите.
Я даже более скажу, что вы можете наоборот - в ExpertLRS заливать OpenLRS - защиты там нет.
Никаких фирменный технологий как динамический AGC, температурной компенсации и прочего там естественно нет
Пока нет. 😃
PS: Есть идея насчет статистики. Можно писать некий вариант лога во FLASH (8-16 кбайт) или EEPROM (до 896 байт).
Например, 1 раз в минуту писать статистику по 8 каналам: количество потерянных пакетов, средний уровень шума, средний RSSI. Это 25-32 байт всего. FLASH-ки хватит на 4-8 часов. EEPROMа на 30 минут.
Как относитесь к такой идее?
У меня с SD-шкой так и не получилось. Я бросил эксперименты, когда вы слетали с фильтром и убедились в его эффективности. Решил, что летающий спектроанализатор больше неактуален. 😃
А вообще писать лог приемника (по кругу), конечно, хорошая мысль.
Но не EEPROM. 30 минут - это слишком мало.
Ясно. Это несложно. А FS как-нить отмечается? Может непрерывный писк?
Я себе сделал просто включение писка, когда пакет потерялся и выключение, когда принялся.
Получается такое попискивание в стиле морзе, по которому легко понять в каком состоянии линк.
Ясно. Это несложно. А FS как-нить отмечается? Может непрерывный писк?
Самое интересное то, что у передатчика Оранджа частоту писка похоже не поменяешь. Только вкл/выкл. Пробовал генерить на нужном пине частоту 1кгц - нефига. А вот “1” устанавливаешь - пищит, соотв “0” - не пищит.
Александр, я посмотрел как у вас сделано RSSI. Вы дергаете RSSI на каждый пакет, так же как делает kha.
Мне такое не нравится, т.к. RSSI скачет, как бешеный и прочитать его трудно. Я сделал усреднение и дергаю вывод RSSI (сигнал/шум по вашей терминологии) только раз в секунду.
То есть в этом показателе застывшее среднее качество всех хоп-каналов за секунду, а не стробящий с частотой 20Гц RSSI всех каналов по очереди.
Чисто эстетически смотреть на такой показатель приятнее.
Самое интересное то, что у передатчика Оранджа частоту писка похоже не поменяешь. Только вкл/выкл. Пробовал генерить на нужном пине частоту 1кгц - нефига. А вот “1” устанавливаешь - пищит, соотв “0” - не пищит.
Это зависит от пищалки. Если пищалки с встроенным драйвером, которые просто пищат от поданной постоянки, а есть без, которым нужно подавать нужную частоту. Причем, желательно резонансную, иначе они пищат плохо.
Это зависит от пищалки. Если пищалки с встроенным драйвером, которые просто пищат от поданной постоянки, а есть без, которым нужно подавать нужную частоту. Причем, желательно резонансную, иначе они пищат плохо.
А этим кстати никогда не интересовался… Получается что можно легко перепаять, что бы такие фишки и на Оранже работали. Спасибо!
Мне такое не нравится, т.к. RSSI скачет, как бешеный и прочитать его трудно.
А у меня АП усредняет. Да фильтр на выходе стараюсь ставить с постоянной милисекунд в 200-300.
Я сделал усреднение и дергаю вывод RSSI (сигнал/шум по вашей терминологии) только раз в секунду.
Можно и так сделать, но пока оставлю, как есть.
А вот очень интересно при каком С/Ш Ваша прошивка (модификация KHA?) начинает терять пакеты и как это зависит от скорости данных?
у передатчика Оранджа частоту писка похоже не поменяешь. Только вкл/выкл.
Но если там использована ШИМ из библиотеки аурдины, то он строго 490 Гц и меняется только скважность.
Если хотите иное - дергайте ножку программно на заданной частоте…
Пока нет.
для слона технологии 😋слизываете? айяяй…
Только давайте определимся, писк на потерянные пакеты отправляется в аудиоканал видео передатчика, а не на пищалку.
для слона технологии слизываете?
Я с ним даже не знаком. 😃
И “слизываю” - для себя.
А причина “слизывания” это Ваше, Дмитрий, категорическое нежелание идти навстречу даже в мелочах. 😦
Да Дмитрий иногда такое сморизит - уши в трубочку сворачиваются!
А причина “слизывания” это Ваше, Дмитрий, категорическое нежелание идти навстречу даже в мелочах.
А Дмитрию везде мерещатся враги и шпионы! 😃
Уже давно можно было сделать более быструю прошивку для коптеров, почему же нет?
А вот очень интересно при каком С/Ш Ваша прошивка (модификация KHA?) начинает терять пакеты и как это зависит от скорости данных?
Модификация майского KHA.
Пакеты начинает терять где-то близко к нулю по ОСД. Конкретные цифры не смотрел, т.к. не увидел смысла. Слишком много преобразований: сначала попугаи RFMки -> потом map() -> вольты -> ацп -> попугаи ОСД.
OSD откалибрована на нулевой уровень, когда приемник в ФС.
Вот, послушайте видео 😃
Конкретные цифры не смотрел, т.к. не увидел смысла.
Жаль. Надо было цифру на UART выводить (причем по каждому пакету) и смотреть. Напомню, что в экспертовском варианте (16 байт данных, 6 обрамления, 7400 бодовой) и при включенном Манчестере нужно минимум 10 дБ C/Ш. Хочу понять зачем Манчестер? 😃
Вот, послушайте видео
Спасибо, но там цифр не разобрать. 😦