Самодельный передатчик (часть 2)
Мне кажется, некоторая путаница возникает из-за двух понятий - “расходы” и “конечные точки”!
“Конечные точки” - это те положения, за которые серва не имеет права заходить ни при каких условиях, ибо сломает себя или модель… “Расходы” - это установленные пользователем пределы отклонения рулевых поверхностей для комфортного управления… За пределы “расходов” (но не далее “крайних точек”) машинка , мне думается, может отклоняться при микшировании нескольких каналов…
Для “умных” серв установка “крайних точек” возможна программированием самой сервы, для обычных серв это надо делать в передатчике… В имеющихся у меня передатчиках для этого предусмотрена общая функция - EPA! Именно потому, что в EPA объеденены понятия “крайних точек” и “расходов” - возникают некоторые затруднения с их установками 😦… Хотя, пока микшеры не подключаешь, проблем особых нет…
Но если возникает необходимость микшировать каналы, то с “процентами” надо разобраться 😠… А тем более, если самому писать программу, высчитывающую эти самые “проценты”…
Не уверен, что я до конца “въехал” в диаграмму, предложенную EagleB3, но, мое мнение, ход стика всегда должен оставаться полным для любых установок “расходов” и “крайних точек”…
Счас попробую тоже графически изобразить свое видение (если получится) 😵…
Для EagleB3:
Вы невнимательно читали мои посты 😃!
Я ж не против того, что “стик уперся, а руль еще не дошел до нужного положения”! Я согласен поделить права на румпель с помощниками или даже совсем отдать их (пусть другие работают 😉)…
Я возражаю против ситуации, когда у меня или у моих помощников еще есть, куда двигать руппеля, а руль уже “встал колом”… мол, “хватит- наработался!”😁
P.S. Запутался с румпелями и рулями!
Не моряк, однако…
Я возражаю против ситуации, когда у меня или у моих помощников еще есть, куда двигать румпеля, а руль уже “встал колом”… мол, “хватит- наработался!”
Это значит, что вы видите правильное решение проблемы по первому варианту, но с маленькой оговоркой: требуете так настроить управление, чтобы руль лег на борт ровно тогда, когда все три румпеля лягут на упоры в нужном направлении. Не раньше и не позже. И каждому румпелю Вы при этом обязаны назначить предел, в которых он может влиять на руль.
В приведенном мной рисунке это значит, что “запас в 40%” использоваться не должен; EPA используются как предельные точки отклонения.
Далее необходимо разобраться с вариантами построения алгоритма. Например, вот вариантик для начала. Управляем первым каналом (“Первый румпель”):
- первый канал считаем “главным”. Задаем для него расход. Расход более 100% в этом случае теряет какой-либо смысл. (Но надо еще про это подумать! Помогайте!..)
- для “второго румпеля” задается % микширования (допустим, 40%), он достигается всегда при 100 отклонении ручки стика второго канала - без учета установленного для второго канала расходов;
- для “третьего румпеля” задается % микширования (допустим, 30%), он достигается всегда при 100 отклонении ручки стика третьего канала- без учета установленного для третьего канала расходов;
- главный канал берется с учетом расходов. Все эти проценты становятся весовыми коэффициентами (долями):
– a) для расхода главного канала 100% получается 100+40+30 = 170 долей
– б) для расхода главного канала 25% получается 25+40+30 = 95 долей - EPA машинки первого канала пересчитывается по полученному коэффициенту в “тики сервы” (миллисекунда/доля),
- При эксплуатации виртуальное положение стика главного (первого) канала (0…100% для примера “а” и 0…25 для примера “б”) пересчитывается через “тики сервы” в значение времени для машинки первого канала;
- При эксплуатации абсолютное положение стиков микшируемых (второго и третьего) каналов (0…100%) пересчитывается через “тики сервы” в добавку времени для машинки первого канала.
- Делаем проверку (“обрезание”) на невыход за минимальное/максимальное время канала и посылаем посчитанное время на машинку.
Но еще надо продумать как быть с возможным возникновением закольцовок. Типа “первый канал микшируется на второй, второй канал микшируется на третий, третий канал микшируется на первый”.
Нормальный алгоритм, не плохой и не хороший, он просто вот такой.
При рализации этого алгоритма потенциальные грабли, вывихивающие мозг:
- проценты микширования (устанавливаемые во втором и третьем канале) делаются чистой абстракцией. Пилот сам должен помнить (и считать… ощущать…), что реально он оперирует вот теми самыми весовыми коэффициентами. Почему? Потому, что % микширования нельзя взять в качестве % от EPA, так как положение стика главного канала с учетом расходов не может быть % EPA. В приведенном примере 25+40+30 = 95, а вовсе не 100. Можно держать эту сумму в голове, можно сделать калькулятор в программе кодера, можно делать контроль при сохранении настроек на то, что сумма расхода главного канала и всех микшеров, завязанных в первый канал равна точно 100%…
Вот мои “художества” 😊…
Зеленым нарисован микшируемый канал (один пока) и его процент влияние на максимальные “расходы”…
Понятно, что другим может быть совсем непонятно, что я тут изобразил 😃 (так же, как и с объяснениями на словах)… но… как умеею 😉…
Знаю, что любую геометрию можно описать формулами, но проделать это для мною же нарисованного - не в силах 😵!
А вот случай “перекрестного” микширования (“первый канал микшируется на второй, второй канал микшируется на третий, третий канал микшируется на первый”) совсем не представляю, ни зачем это надо, ни как сделать 😃…
А вот случай “перекрестного” микширования (“первый канал микшируется на второй, второй канал микшируется на третий, третий канал микшируется на первый”) совсем не представляю, ни зачем это надо, ни как сделать 😃…
Зачем - не важно. Как сделать - микшеры назначить.
Но если такое перекрестное или кольцевое микширование возможно, значит:
- либо такое миширование должно быть запрещено идеологически и программа кодера должна препятствовать организации таких завязок;
- либо алгоритм управления должен корректно его реализовывать.
Я тему читал всю (но давно) и, мне кажется, здесь уже была эта ссылка rconline.ru/modules/smartsection/item.php?itemid=6…
Если да, и уважаемые авторы программы это читали, то можно коротко пояснить… обработка каких функций, использованных в обсуждаемом кодере не рассмотрена в статье по ссылке?
Просто, я статью бегло читал и ранее, и сейчас просмотрел… Вроде бы, в ней рассмотрены и конечные точки, и микширование, и экспоненты 😃…
Чего не хватает для математики кодера?
"Поэтому вопрос к Denn (и я удаляюсь паять кодер):
Так все же, тот факт, “что ручка продолжает двигаться, а машинка уже стоит” - это нормально или “имеет место неверно сконструированный канал”?! "
Ещё раз попробую объяснить: ручка продолжает двигаться, а машинка уже стоит - это нормально при работе микшера. Это значит, что все ручки поставлены в такое положение , что модель должна лететь ( или ехать … ) с таким положением руля.
Если миксеров в канале нет, то , конечно, это не совсем правильно, хотя при желании можно оправдать и такой режим. Всё зависит от необходимости управления.
Лично меня такое положение вещей вполне устраивает, как и JR , и Hitec.
И особенно приятно использование аналоговой крутилки для настройки этих положений!
Ещё раз попробую объяснить:
Спасибо за попытку!
К сожалению, по причине моего ничтожного опыта обращения с микшерами, я опять ничего не понял 😊…
А может, у меня с Вами логика не совпадает?
К примеру, такой логический ход мои мозги не переваривают:
ручка продолжает двигаться… Это значит, что все ручки поставлены
Как может двигаться то, что уже поставлено (остановлено, то есть) 😃?
Предлагаю прекратить дискуссию, тем более, что вот такой аргумент
Лично меня такое положение вещей вполне устраивает…
для меня абсолютно бесспорен! Ибо каждый имеет право на личные предпочтения!❗
А вот в том, что такое положение вещей устраивает
как и JR , и Hitec.
у меня есть определенные сомнения, но они требуют проверки, поэтому возражать пока не буду… Пойду читать инструкции ☕… Хайтек у меня есть, ДжиЭр есть у товарища…
Разбрался кажись.
void LCD_clear (void)
{
unsigned char x, y;
for (y=1; y<7; y++)
for (x=0; x<84; x++) buff[y][x]=0;
void LCD_refresh (void) // Обновление дисплея (отображение буффера)
{
unsigned char i,j;
LCD_DC=0 ;
spi(64);
LCD_DC=1;
for(i=1; i<7; i++)
{
LCD_DC=0 ;
spi(64+i);
spi(128);
LCD_DC=1;
for (j=0; j<84; j++) spi(buff[i][j]);
}
}
void LCD_pixel (unsigned char x, unsigned char y, unsigned char color)
{ // Рисуем пиксель. Все остальные процедуры работают через нее
unsigned char i, bt;
//x=83-x;
//y=47-y;
y=y+8;
i=y>>3;
bt=1<<(y & 0x7);
if(color) buff[i][x]|=bt;
else buff[i][x]&=(~bt);
}
По мотивам msv1.8 3310 upsidedown
Можно, я чуть выскажу свое видение микширования и ЕРА? 😃
Для микширования можно применять два метода.
1 - как сделано у Фокуса. Просто складываем каналы умноженные на их весовые (процентные) коеффициенты.
2 - с пересчетом весовых коеффициентов. Для этого сначала расчитываем новые коеф (К2) пропорционально установленным пользователем, но так, чтобы их сумма давала 100% (или ЕРА). Т.е. если пользователь установил смешивание 3 каналов с коеф. 50, 40 и 30, то расчетные К2 будут 50/(50+40+30)*100=42, 40/(50+40+30)*100=33 и 30/(50+40+30)*100=25. В этом расчете 100 - это ЕРА. Такой расчет гарантирует, что при максимальных отклонениях стиков всех микшируемых каналов не даст машинке выйти за ЕРА. И если мы изменим ЕРА, то соотношение влияния стиков на результат не изменится. Даже если пользователь установит для всех трех каналов 100% микширования, то каждый из каналов получит только по 33% и равную долю влияния на результат. Не будет ситуации, что стик еще движется, а машинка уже уперлась. И функция двойных расходов в таком случае решается как изменение ЕРА в зависимости от какого-либо переключателя или даже крутилки.
Сорри за многабукафф 😃
2 - с пересчетом весовых коеффициентов
Вот этот алгоритм и описан в посте #2698. Неужели настолько неузнаваемо? 😊
А вот идея менять расходы движением EPA мне кажется не хорошей. Потому, что в одном месте приходится оперировать весовыми коэффициентами каналов (процентами), а в другом - градусами или миллиметрами.
Гораздо более юзефульно, КМК, определять общий коэффициент канала “одинарные/двойные” из установленных значений расходов и использовать этот коэффициент. На примере sslobodyan’а:
Двойные расходы = 100, одинарные = 60. Считаем коэффициент 60/100 = 0,6.
Веса установлены 50, 40 и 30 (сумма=120); веса, приведенные к 100% составят 0.42, 0.33 и 0,25 соответственно (в сумме = 1).
Полное (100%) отклонение главного стика канала даст:
- на двойных расходах 100*0,42=42%
- на одинарных расходах 100*0,42*0,6=25%
Полное (100%) отклонение стика второго канала даст: - на двойных расходах 100*0,33=33%
- на одинарных расходах 100*0,42*0,6=20%
Полное (100%) отклонение стика третьего канала даст: - на двойных расходах 100*0,25=25%
- на одинарных расходах 100*0,25*0,6=15%
Сумма полного отклонения трех стиков: - на двойных расходах 42%+33%+25%=100% (А)
- на одинарных расходах 25%+20+15%=60%. Как просили. (Б)
И при этом не надо никуда EPA перестраивать. EPA как параметр геометрии самолета или… Не знаю как лучше сказать… “На первый вылет - расходы поменьше”. Смысл не в расходах поменьше, а в уменьшении предельно допустимых углов отклонений рулей. Вот это - в чистом виде работа для EPA. КМК.
Проценты (А) и (Б), которые мы получили - это проценты от длительности канального импульса, установленного через EPA. Осталось добавить (вычесть) триммирование - и все, можно грузить длительность в таймер.
Триммирование, КМК, просится в процентах от установленного EPA, ибо тоже имеет прямое отношение к геометрии самолета. Получим простое смещение нуля рулевой машинки (на графике из поста #2696 вертикальная ось, от которой откладываются + и - рулевой машинки двигается триммированием влево-вправо).
И при этом не надо никуда EPA перестраивать. EPA как параметр геометрии самолета или… Не знаю как лучше сказать… “На первый вылет - расходы поменьше”. Смысл не в расходах поменьше, а в уменьшении предельно допустимых углов отклонений рулей. Вот это - в чистом виде работа для EPA. КМК.
Ой встряну немножко.
Сразу оговорюсь, что ничего серьезней этого кодера я не видел.
Мне интересно, почему люди у которых есть аппа с возможностью изменения EPA, не могут поставить эксперимент? И выставить-таки все точки над ё. Хотя, может просто времени не хватает 😒
С выше приведенной цитатой не совсем согласен. Ибо даже в очень бюджетных аппах есть переключатель именно расходов. И я не думаю, что нужно на первых полетах рулить этими расходами посредством EPA. Микроскопом гвозди забивать. Хотя, может, я чего-то в высказывании недопонял.
Почитав несколько инструкций от разных футаб (в них говорится, что используется EPA именно для ограничения движения машинки по конкретному каналу. И как пример дается организация предотвращения перемещения манинки в одном из направлений…), хочу задать такой вопрос:
А если мы EPA поставим в 0 - то машинка отклоняться не будет. А стик на аппе мы двигаем. Я не думаю, что тут идеология нарушилась. И что так быть не должно? Машинка все-таки должна рулиться? Стоять как вкопаная она должна?
Ну КМК все в кодере работает вполне корректно в отношении EPA.
Ребят, Расходы - имхо это логика. Конечные точки - имхо это физика. Вот и все.
Т.е в качестве конечных точек задается предельное положение качалки сервы, при котором серва не упрется в свой ограничитель или не начнет ломать рулем направления руль высоты. А расходы - это уже как вам летать комфортнее.
Посмотрите на ту же футабу к примеру. Там сейчас есть аналогичная, но более продвинутая функция “виртуальное кольцо”. Функция позволяет настроить “конечные точки” серв автомата перекоса таким образом, чтобы тарелка перекоса при угловых положениях стика по одной оси и по двум осям наклонялась от вертикали на один и тот же угол, который максимален для данной тарелки перекоса физически.
Чего спорить то? ЕРА должно ограничивать движение сервы, даже если стик не уперся. Контролировать, чтобы использовался весь ход стика - должен ЮЗЕР при помощи расходов/коэфициентов микширования. По сути - ЕПА это ограничение длительности канального импулься дла конкретной физической реализаци модели.
Посмотрите на ту же футабу к примеру.
Хорошее предложение!
Давайте посмотрим, как Вы настраиваете “виртуальное кольцо”
…таким образом, чтобы тарелка перекоса при угловых (?) положениях стика… наклонялась от вертикали на один и тот же угол, который максимален для данной тарелки перекоса физически.
Если я правильно понял термин “угловое положение” стика, как “стик уперся в угол”, то мне понятна логика такой настройки… Без вопросов!
А вот следующая Ваша фраза уже вызвала у меня недоумение
ЕРА должно ограничивать движение сервы, даже если стик не уперся.
Вы действительно можете проделать такой “фокус” на своей футабе?
Контролировать, чтобы использовался весь ход стика - должен ЮЗЕР при помощи расходов/коэфициентов микширования.
Согласен, если фразу закончить: “устанавливая их (расходы) такими, чтобы при крайних положениях стика обеспечивалось комфортное управление и отсутсвие механического ограничения хода машинки”.
А если мы EPA поставим в 0 - то машинка отклоняться не будет.
Будет! Но чтобы это заметить, потребуется микроскоп 😉!
Ну КМК все в кодере работает вполне корректно в отношении EPA.
Не имею морального права в этом сомневаться - нет пока у меня это кодера 😦…
Но “с какого перепугу” были написаны посты 2655 и 2656 ?!
Перечитайте!
Мне интересно, почему люди у которых есть аппа с возможностью изменения EPA, не могут поставить эксперимент? И выставить-таки все точки над ё
Да могут… ставили!
Только кто сказал, что за инженерами футабы или хайтека должно оставаться последнее слово 😉?!
Вы действительно можете проделать такой “фокус” на своей футабе?
Я уверен, что сможет! Хотя сам (на своей футабе) это не проверял и не исследовал.
У “футабы” логика такая. Для них +120% триммера и +140% EPA - это нормально.
А вот 140% чего? Глубоко убежден, что именно стика. Если поставить расход на стике в 140% (такое там тоже возможно! Но не обязательно…), то отклоненный до упора (100% механики) стик как раз и приедет в 140% EPA.
Я же говорю - принципы построения алгоритма могут быть разными. На разной логике.
Эта логика не плохая и не хорошая. Она РАЗНАЯ.
Кому-то ближе и удобнее одна, кому-то другая.
И я не думаю, что нужно на первых полетах рулить этими расходами посредством EPA. Микроскопом гвозди забивать. Хотя, может, я чего-то в высказывании недопонял.
Скорее именно недопонял.
Я знаю три метода “уменьшения расходов для первых полетов” (да и не для первых тоже):
- Уменьшить расход;
- Переставить EPA;
- Поставить крепкую экспоненту в минус (-60…-70).
Каждый по своему удобен. Использовать надо то, что удобно и наиболее подходит.
Я против того, чтобы использовать EPA вместо того, чтобы переназначить расходы. Мне вот это очень не понравилось:
И функция двойных расходов в таком случае решается как изменение ЕРА в зависимости от какого-либо переключателя или даже крутилки.
Я против того, чтобы использовать EPA как штатный инструмент для оперирования расходами.
А эксперимент - можно. Я же предлагал. Но я не просто так попросил программу эксперимента. Я не вижу смысла крутить неизвестно что неизвестно зачем; крутить надо ради чего-то.
Ну покрутим, увидим как делает Футаба. Оно имеет смысл, только если кто-то еще возьмется проделать аналогичный эксперимент с Хитеком, или Санвой, или еще с кем. Чтобы сравнить и выбрать базу для нашего кодера.
А иначе… Да , “Футабы” вот так. Да и хрен с ней! А у нас вот эдак, совершенно по-другому, но всем нравится.
P.S. А в алгоритме, который я прописал в посте #2707, надобно сделать улучшение: считать, что двойной расход главного канала тоже может быть менее 100%. Тогда и для двойных расходов, и для одинарных надо считать коэффициент N/100 ; если расход = 100%, то коэффициент равен 1. И если расход меньше 100%, то при полностью упертом стике (и всех вмикшированных стиков тоже!) качалка не доедет до EPA. И это - правильно!
А вот идея менять расходы движением EPA мне кажется не хорошей.
Я несколько плохо выразился 😃 Имел ввиду именно так как Вы и поправили. Множить на ЕРА*Кдвойного расхода. Так и делал у себя в кодере.
Я уверен, что сможет! Хотя сам (на своей футабе) это не проверял и не исследовал.
Ну так, проверте 😉! Как активный участник обсуждения “проблемы”…
Я на своей проверял, но у меня такая футаба, что футабе за нее должно быть стыдно 😊… (4EX) Она так не сможет!
Эклипс тоже так не может…
А может, у меня интеллекта не хватает заставить их так поступить 😦? Хотя… может, и хватило бы, если бы я понимал, зачем такое может потребоваться в управлении моделями? Но пока я такого понимания не достиг… Увы! И по-прежнему пребываю в убеждении (или заблуждении ?), что “машинка не должна останавливаться пока стик не уперся!”
Я уверен, что сможет! Хотя сам (на своей футабе) это не проверял и не исследовал.
Ну так, проверте 😉! Как активный участник обсуждения “проблемы”…
Я на своей проверял, но у меня такая футаба, что футабе за нее должно быть стыдно 😊… (4EX) Она так не сможет!
Эклипс тоже так не может…
А может, у меня интеллекта не хватает заставить их так поступить 😦? Хотя… может, и хватило бы, если бы я понимал, зачем такое может потребоваться в управлении моделями? Но пока я такого понимания не достиг… Увы! И по-прежнему пребываю в убеждении (или заблуждении ?), что “машинка не должна останавливаться пока стик не уперся!”
…при полностью упертом стике (и всех вмикшированных стиков тоже!) качалка не доедет до EPA. И это - правильно!
Пока писал свой пост, Вы добавили…
Если вставить в Вашу фразу уточнение “… не доедет до EPA, но и не остановится, пока все стики не упрутся.” - то я соглашусь, что "И это - правильно!" 😁…
2serg111
Разбрался кажись.
Что-то не то… Ваши изменения -только неправильная адресация буфера, причем с выходом за его границы… Чревато…
2serg111 Что-то не то… Ваши изменения -только неправильная адресация буфера, причем с выходом за его границы… Чревато…
Та не. Там все правильно. У этого дисплея совсем другой буфер. По-более - 102x67 пикселей.
2serg111 И еще, если не устраивает контраст этого “паленого” дисплея, то поиграйтесь напряжением питания дисплея (даже просто резисторным делителем) ну и не забудьте поменять в инициализации значение VOP - контраст улучшится раза в 2-3
void LCD_init(void) // ИНИЦИАЛИЗАЦИЯ ДИСПЛЕЯ
{
LCD_DC =0;
LCD_RESET=0;
delay_ms(1);
LCD_RESET=1;
delay_ms(1);
LCD_DC=0;
spi(0x21); // включить питание, расшир. команды
spi(0xE4); // A large VOP for China displays
spi(0x45); // China LCD Correction (Y offset +5)
spi(0x06); // Temp. coefficient
spi(0x13); // bias=3
spi(0x20); // обычный набор инструкций
spi(0x0c); // Normal Mode
delay_us(500);
LCD_clear();
LCD_refresh();
Я на своей проверял, но у меня такая футаба, что футабе за нее должно быть стыдно 😊… (4EX) Она так не сможет!
да лааадно прибедняться-то! Расходов у нее нет, а EPA точно также, 0…+140 в каждую сторону.
Я попробую, конечно. Только не уверен что сегодня. Подготовиться надоть. Машинку закрепить, шкалу, стрелочку…
Кому чего интересно проверить/уточнить - пишите!
Если вставить в Вашу фразу уточнение “… не доедет до EPA, но и не остановится, пока все стики не упрутся.” - то я соглашусь, что "И это - правильно!" 😁…
Ы! 😁 А я изначально хотел возле этой добавки “2 Pav_13:” написать…
При таком (модифицированном) алгоритме фишка в том, что по отношению “расход главного канала”/100 считается ОБЩИЙ коэффициент. Допустим, расход = 80%; тогда общий коэффициент = 0,8. Дальше расход главного канала становится весом. Сумма весов относится к 100%. По весам считаются коэффициенты участия каналов. Да, все три (в наших примерах - три…) на полном отклонении дадут 100%, но эти 100% будут умножены на ОБЩИЙ коэффициент. И когда все три стика лягут на упоры, качалка дойдет только до 80% от EPA.
Не нравится, что всего 80? А зачем тогда ставили расход на 80%? Ставьте расход 100% - получите отклонение качалки 100% EPA.
Проверка, как в начальной школе: нету микширования. Никакого. Вообще. Расход 80%. До какого отклонения должна дойти качалка при полном отклонении стика? Тот, кто считает, что до 100% EPA, моментально получает двойку… Логично?..
Пример для осмысления: Условия точно как в “проверке”, но вы добавили 1% микширования от стика второго канала. Отклонили до упора первый стик. Потом до упора второй стик. До скольких процентов отклонилась качалка?
Подсказка: неужели до EPA? До 100% EPA? Как же это 1% от второго канала превратился в эквивалент 20% от первого?
Решение:
Расход главного канала = 80%
Микширование от второго кнаала = 1%
Общий коэффициент 80/100=0,8;
Сумма весов = 80+1
Весовой коэффициент главного канала =(80*100)/(80+1) = 98.76
Весовой коэффициент второго канала =(1*100)/(80+1) = 1.24.
Полное отклонение стика главного канала отклонят качалку на 98,76*0,8=79,008% от величины EPA,
Полное отклонение стика второго канала добавит 1,24*0,8=0,992% от величины EPA.
В сумме полное отклонение обоих стиков вызовет отклонение качалки 80% от величины EPA.
…А сколько хотел получить тот, кто установил расход 80%?
Та не. Там все правильно.
Не могу согласится… В циклах не используется 0-вая строка буфера, зато залезаем за последнюю. Если размер буфера не скорректирован, то недалеко до беды… Единственное изменение во всех этих изменения по логике работы с индикатором- это команда адресации. Попробуйте в функции LCD_refresh поменять spi(64+i); на spi(65+i);,а все остальное вернуть.
//—
Прямо буря! (в стакане? 😃 ) Позиция Pav_13 уже давно понятна. А вот в объяснениях EagleB3 уже потерял нить… Периодически упомянается “главный канал”… Ну не понимаю какой канал главный для правого(левого) элевона… Дмитрий, прошу написать конкретно, какие изменения по вашим соображениям следует внести в логику обработки. Или это абсолютно другая концепция?
//—
Для меня более-менее все ясно, изложил выше. Один вопрос остался - как правильнее обрабатывать триммеры, субтриммеры? Или просто сдвигать всю фукцию (как сейчас) или менять только центр и менять наклон для сохранения конечных точек?