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

Shuricus

На нескольких теоретиков, все же находится один практик, который не пытается советовать обсуждать все в другой теме, а действительно просто разбирается в проблеме. Я вам за это очень благодарен. Копать код самостоятельно мне сложно. Я бы этого точно не понял.

Теперь появилась ясность. Попробую эти варианты.

А что дальше происходит в коде с данными ппм, если они выходит за диапазон?

LaPart
Shuricus:

А что дальше происходит в коде с данными ппм, если они выходит за диапазон?

в предыдущем сообщении функция bool checkPPM(void) // проверка PPM/SBUS на failSafe ретранслятора
как раз и проверяет, входит ли сигнал в нужный диапазон.
Если входит -

LaPart:

FSdetect=0;
return true; // PPM в порядке

сообщает программе, что это не файлсейв и все в порядке, импульс будет передан по значению на передачу.

Если не входит в диапазон -

LaPart:

FSdetect=1;

LaPart:

if(PPM[i] < 1976 || PPM[i] > 4022) return false;

то это файлсейв (это следует из неглубокого копания только в этом модуле).

Возвращается ответ в модуль OpenTiny_TX, откуда вопрос и задавался,
если глубоко не вдаваться, то после обработки ответа есть строка с комментарием
// нет PPM - нет и передачи
Пока всё, я убежал, удачи 😃

Shuricus

Тут не состыковка с тем фактом, что если у меня есть импульс меньше 988, то все равно все продолжает работать.

тигромух
LaPart:

bool checkPPM(void) // проверка PPM/SBUS на failSafe ретранслятора

Это штука работает, только если установлен соответствующий регистр. Собственно, это в следующей строке написано:

if(Regs4[4]) { // если проверка разрешена

Plohish
Shuricus:

На нескольких теоретиков, все же находится один практик, который не пытается советовать обсуждать все в другой теме

Shuricus:

Значит все же должно быть 880!

если бы ты почитал нормально мой экскурс в историю от Байчи, то наверное пришло бы понимание что в режиме S.bus прошивка прекрасно обрабатывает длительности менее 988…

Shuricus

Если бы ты почитал нормально мой вопрос, то наверное пришло бы понимание, что мне нужен ППМ, а не сбас! 😃

Кстати, экскурс был в теорию, а не в историю. 😃

тигромух:

Это штука работает, только если установлен соответствующий регистр. Собственно, это в следующей строке написано:

Другими словами, на стандартный режим работы это не влияет?

Я предположу, что есть еще алгоритм проверки ППМа.

Plohish

опять возвращаемся к тому что длительности менее 1000 для PPM это не стандарт и у тебя частный случай извращения с ардупилотом…

Shuricus
LaPart:

в предыдущем сообщении функция bool checkPPM(void) // проверка PPM/SBUS на failSafe ретранслятора
как раз и проверяет, входит ли сигнал в нужный диапазон.

Ну это и указанно в мануале:

Обратите внимание что контроль состояния FS в режиме ретранслятора, проверяет нахождения всех каналов в пределе 1000-1999 мкс при PPM подключении. И если хоть один канал будет вне этого диапазона, передатчик прекратит передачу (при R4 = 1).

Поскольку у меня не режим ретранслятора, то к сожалению, к моему случаю это все не относится.

Plohish:

опять возвращаемся к тому что длительности менее 1000 для PPM это не стандарт

Где это написано?

Plohish

насколько я понимаю это дело, нет разницы как работает передатчик LRS, через приём сигнала от приёмника или напрямую из аппы… один хрен там подаётся на вход CPPM
у прошивки от Саши нет такого режима как “ретраслятор”, это условное название схемы подключения…

Shuricus:

Где это написано?

у Байчи в мануале… исторически сложилось 😃

Shuricus

4 - FS check enable - это условно называется режимом ретранслятора.

Перелопатил интернет, так и не смог найти - каковы физические ограничения по диапазону каналов в ППМ и с чем это связанно?

Plohish
Shuricus:

4 - FS check enable - это условно называется режимом ретранслятора.

ну как бы это всё условно…
этот параметр не говорит о том что его нужно включать только тогда, когда LRS соединена с приёмником а не с аппаратурой…
это как раз тот регистр, который ты можешь смело поставить в единицу, если это требуется для твоей ардуины

Shuricus

Спасибо, я это уже давно понял.
Я пытаюсь выяснить, почему не лезет меньше чем 988. Осталось всего два вопроса:

  • 988 это тоже условное ограничение, и можно и меньшие значения передавать, т.е. нет физических ограничений со стороны формата ППМ
  • обрезает ли прошивка, все что меньше 988, и где этот код
тигромух
Shuricus:

Я пытаюсь выяснить, почему не лезет меньше чем 988.

Уже бы давно подключили уарт к передатчику и выяснили этот вопрос 😃

Shuricus

Это не так просто в моем случае. Но я уже понял, что выхода нет… 😃

Plohish
  1. теоретически думаю можно и меньше передавать, только зачем, если это не используется ни одной аппаратурой?
  2. выше уже приведён код, который при установленном 4 регистре в единицу и PPM менее 988 (циферка 1976) прекращает передачу

думаю для твоих целей можно попробовать вместо 1976 записать 1980

X3_Shim
Plohish:

и у тебя частный случай извращения с ардупилотом

не только с ним. IMHO. Но к делу это не относится.

А вообще решение же есть. Если не вылезать за “стандарт”, то вместо расширения лимитов для установки FS газульки, надо просто чуть сжать диапазон газа в нормальном рабочем режиме (или сдвинуть его вверх).

Shuricus
Plohish:
  1. теоретически думаю можно и меньше передавать, только зачем, если это не используется ни одной аппаратурой?
  2. выше уже приведён код, который при установленном 4 регистре в единицу и PPM менее 988 (циферка 1976) прекращает передачу
  1. Это предлагается сделать в официальной инструкции АПМ. Есть масса видео, где это делается на других аппаратурах.
  2. Это не тот код. Уже писал.

У нас похоже, пластинку заело 😉

X3_Shim:

А вообще решение же есть. Если не вылезать за “стандарт”, то вместо расширения лимитов для установки FS газульки, надо просто чуть сжать диапазон газа в нормальном рабочем режиме (или сдвинуть его вверх).

Я тоже уже об этом подумал - это самое красивое и простое решение. Я даже вчера проверил - работает.
Просто сдвигаем лимитом вверх нижнюю границу. Все. 😃

Но теперь мне уже принципиально интересно понять, что это за волшебное число 988 😃

Plohish
Shuricus:
  1. Это не тот код. Уже писал.

ты наверное проверял без четвёртого регистра?
и диапазон ты расширял по совету LePart или сужал? Чтобы получить FS при твоей длительности 988 нужно его чуть сузить…

Shuricus

Ну если у меня работает с 988, то это уже меньше 1000.

X3_Shim
Plohish:
  1. теоретически думаю можно и меньше передавать, только зачем, если это не используется ни одной аппаратурой?

Хм. Для примера нашел.
Futaba T8FG
минимальный PWM - 1000, но можно поставить лимиты на 135%. И рекомендации у них аналогичные. Ставьте 135%, настраивайте FS, потом обратно на 100%. Хотя да, какая из футабы аппа? так, поделка китайская 😃

Shuricus

Футаба вообще барахло, у нее даже ППМ нету. 😃