Альтернативная прошивка к FlySky/Turnigy/I-Max/Eurle от Thus

sslobodyan
bobt:

4.2.2. Экспоненты
y = f(x) = x^3 *k + x * (k-1) при 0 < k < 1

А в программе y = f(x) = x^3 *k + x * (1-к)

bobt
sslobodyan:

А в программе y = f(x) = x^3 *k + x * (1-к)

В menus.cpp я вижу такой код ( с симмолов // начинаются коменты ):

uint16_t expou(uint16_t x, uint16_t k)
{
// k*x*x*x + (1-k)*x
return ((unsigned long)x*x*x/0x10000*k/(RESXul*RESXul/0x10000) + (RESKul-k)*x+RESKul/2)/RESKul;
}
// expo-funktion:
// ---------------
// kmplot
// f(x,k)=exp(ln(x)*k/10) ;P[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
// f(x,k)=x*x*x*k/10 + x*(1-k/10) ;P[0,1,2,3,4,5,6,7,8,9,10]
// f(x,k)=x*x*k/10 + x*(1-k/10) ;P[0,1,2,3,4,5,6,7,8,9,10]
// f(x,k)=1+(x-1)*(x-1)*(x-1)*k/10 + (x-1)*(1-k/10) ;P[0,1,2,3,4,5,6,7,8,9,10]

bobt

Хочу отметить, что чем выше значения параметра SPEED (скорость), то тем медленее отрабатывает серво машинка. С моей точки зрения наверное логичнее было бы назвать этот параметр DELAY. Напишу Томасу.

Томас быстро ответил В новой версии термин SPEED для задержки заменен на FADE, что наверное более логично, чем DELAY.

bobt
boroda_de:

Кстати, новая версия уже вышла 😋

В новой версии (116):

* Исправлены проблемы : 7,13,19,21,22,24 ( номера согласно раздела ISSUES code.google.com/p/th9x/issues/list )
* fsck with repair ( встроена функция проверки разметки EEPROM с возможностью исправления ошибок. )
* convert eeprom-format for some older revisions r46<= oldrev <r84 Изменился формат сохранения параметров моделей и все записи между 46 и 84 версиями будут сконвертированны, но я бы на всякий случай записал все микшеры на бумажку 😃
* DR with expo and weight Двойные расходы с экспонентами и весами. Что поменялось я не понял, потому что это было и в 76 версии. Только что веса для двойных расходов стали по умолчанию 100%
* Limits with offset -63% to +63% Пределы со смещениями от -63% до +63%
* increased mixers from 20 to 25 Увеличено количество микшеров до 25

  • в версии 118 заменен параметр SPEED на FADE и изменен расчет замедления.
boroda_de
bobt:

я бы на всякий случай записал все микшеры на бумажку

просто сливаю eeprom вместе с флэшем, чтоб потом всегда можно было перезалить 😃

bobt

Параметр FADE ( колонка один ). Начиная с версии 118.

increased speed from 5/10ms to 18/10ms=1800/sec = 0.6s full sweep

Логарифмическая шкала:
1: rate=1800 i/s full= 0.6s 0.0
2: rate=1300 i/s full= 0.8s 1.4
3: rate= 900 i/s full= 1.1s 1.4
4: rate= 600 i/s full= 1.7s 1.5
5: rate= 400 i/s full= 2.6s 1.5
6: rate= 300 i/s full= 3.4s 1.3
7: rate= 200 i/s full= 5.1s 1.5
8: rate= 150 i/s full= 6.8s 1.3
9: rate= 100 i/s full= 10.2s 1.5
10: rate= 66 i/s full= 15.4s 1.5
11: rate= 50 i/s full= 20.5s 1.3
12: rate= 33 i/s full= 30.7s 1.5
13: rate= 25 i/s full= 41.0s 1.3
14: rate= 16 i/s full= 61.4s 1.5
15: rate= 11 i/s full= 92.2s 1.5

Stepan_M

Залил прошивку на пробу - версия r116, калибровка нормально прошла, миксеры пока не крутил.

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

boroda_de
Stepan_M:

звук аларма таймера сделать громче

Он специально сделал тише, по многочисленным просьбам, бо дома этот писк при настройке семейство достаёт. 😦

bobt

Послал запрос Томасу сделать звук настраиваемым, к примеру поместить в Basic Setup там же настраивается контраст дисплея.

bobt

Томас оперативно ответил, что регулировать уровень звука без переделок железа в данной аппе не возможно, он попробует поиграться с длительностью “бип бип” и вставит опции в настройки.

Из новостей вчера вышла новая версия, были устранены досадные глюки в 116.

th9x.bin-r119

VERS: V1.1385-thus
DATE: 06.07.2010
TIME: 00:27:22
SVN: trunk-r119

Исправлены ошибки 14,23, 27.

8 days later
bobt

th9x.bin-r133

VERS: V1.1532-thus
DATE: 15.07.2010
TIME: 00:08:12
SVN: trunk-r133

* исправлена проблема 33
* TRIM-меню заменено на TRIM-SUBTRIM меню. Это позволяет перераспределить текущие значения триммеров
в значения суб триммеров, которые теперь показаны в меню “limits”. Внимание!! Бывшие базовые значения триммеров
преобразованы в значения тримммеров. Пожайлуста сейчас используйте функциии суб триммирования.
* Функция редактирования сейчас доступна для всех значений показнных в expo-overview
* установлено 4 уровня сигналов : quiet (тихий),silent(немой) ,normal (нормальный),loud (громкий)
* ( проблема 31 ) Изменена логика навигации. Сейчас любое перемещение курсора выполняется кнопками вверх/вниз

  • короткое нажатие кнопки перемещает вверх/вниз
  • длинное нажатие перемещает курсор влево/вправо (если необходимо в меню)
    * исправлена проблема 30
romushock

Lieben Herren Bobt und Boroda_de!
Вы там ближе к Томасу и с языком у вас получше будет - потеребите вы его, чтоб выложил в мануале пример программы для верта CCPM. Всего то и нужно - как активироавть выключатель throttle hold, расклады миксеров на 120° swashplate с одной машинкой по тангажу и работа с 3-хпозиционным переключателем. А то некоторые летать бросили, сидят, роются в настройках, безутешные…
Danke

bobt

Примеры руки не дошли перевести. Сегодя сделаю. Я в вертолетах нуль и не уверен, что пример Томаса для вертолета подходит Роману, но если Роман словесно опишет какая реакция должна быть по какой рукоятке, то могу попробовать помочь составить микшеры.

bobt

5. Примеры программирования

Основа концепции:
В отличие от других прошивок, в данной концепции нет никаких заготовленных режимов микшеров для самолетов, планеров или вертолетов. Наличие таких программ должно упрощать программирование, однако по нашему мнению ограничивает возможности передатчиков впоследствии. Решение использованное в данной прошивке очень гибкое. В определенных случаях моделисту придется тщательнее обдумывать желаемые функции, однако если понять принципы системы, то применять ее очень легко.

Планер или самолет с рулем направления, высоты и элеронами

Фото 1.

5.1.1 Распределение каналов

Хочу напомнить, что это все лишь примеры создания микшеров. В каждом конкретном случае распределение по каналам может быть иным. Работа меню микшеров рассмотрена в разделе 3.3.6 и 3.3.7 настоящего руководства.

Канал 1: Руль направления (РН)
Канал 2: Руль высоты (РВ)
Канал 3: Левый элерон
Канал 4: Правый элерон
Канал 5: Мотор

5.1.2 Специальные функции управления:

Каждый из элеронов управляется отдельным серво приводом и таким образом элероны можно использовать как воздушный тормоз. Режим управления при помощи P1.

5.1.3 Разъяснение
Функции управления RUD (РН), ELE (РВ) и THR (газ) транслируются как 1:1 в выходные каналы 1, 2 и 5.

P1 (воздушный тормоз) выходной сигнал будет поступать в оба канала 3 и 4. Применена функция только положительных значений, иначе отрицательные значения P1 приведут к движению закрылок или флаперонов в неверном направлении.

Элероны смикшированы один в положительном, а другой в отрицательном, таким образом они двигаются в противоположных направлениях.

Однако, если серво приводы элеронов подключены зеркально (что в большинстве случаев является стандартом), тогда один из выходных каналов должен быть инвертирован в меню LIMITS.

Канал 1: Руль направления 1:1 Ручка руля направления
Канал 2: Руль высоты 1:1 Ручка руля высоты
Канал 3: Элерон левый -100% Ручка элерона 1:1 воздушный тормоз P1
Канал 4: Элерон правый 1:1 Ручка элерона 1:1 воздушный тормоз P1
Канал 5: Мотор 1:1 Ручка газа

romushock

Не может быть… Меня читают!!!
Спасибо, ребята, что откликнулись…
Постараюсь изложить связно. У меня 119 заливка (пробовал 133 - глюкавая). Пример, выложенный на 32 стр. очень схематичный. Да, это работает, но этого мало. Жизненно необходимо иметь выключатель двигателя, не только для авторотации, но и чтоб не порубить себе ноги, случайно тронув газовый джойстик (у меня было с 500м вертом - очень больно…). Т.е. из миксера THR-AIL-ELE, приведенного в примере, необходимо исключить газ, а это ломает всё. Практически необходимо создать отдельный канал, в котором жестко мешались бы THR-AIL-ELE и обозвать его pitch. И этот канал должен иметь возможность регулироваться своей кривой. А управление двигателем должно идти параллельно, с возможностью назначать ему свои кривые или крутиться с предварительно установленными (от 0 до 100%) оборотами.
Назначение и работа 3-х позиционного переключателя описана везде. Разница для всех трёх в соотношении шага и оборотов, которые каждый выставляет под себя. Но и здесь жесткий микс из трёх аналоговых входов должен иметь свою “глобальную” кривую, а обороты, т.е. одна из составных жесткого микса - свою.
Запарил?
Guten nacht…

Aleksey_Gorelikov

Вас интересует реализация именно на этой прошивке, или возможно другой?

bobt

Давайте по порядку начнем с функции отключения газа.

  1. Как вы и писали исключить из обоих миксов канал THR.
  2. Создать микшер на базе виртуального канала X1.

EDIT MIX X1 - виртуальный канал X1
THR SRC - источник сигнала газ
30 PRC - 30% ( взял для примера )

  • CURVE - кривых нет, но можно назначить при необходимости
    THR SWTCH - работает только при переключателе THR (левый нижний переключатель на пульте).
    0 0 FADE - замедления не включены.
  1. вместо THR вы включаете в свои микшеры X1.

А управление двигателем должно идти параллельно, с возможностью назначать ему свои кривые или крутиться с предварительно установленными (от 0 до 100%) оборотами.

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

romushock

Это я уже пробовал… Не получается задушить газ, не знаю, может потому что постоянно присутствует сигнал на аналоговом входе. Давая ему через микс антикривую (100 50 0 -50 -100) получаем константу в 50 процентов. Можно задушить наполовину, подсадив на микс канала 1
FUL SRC
100 PRC

  • CURVE
    0 0 FADE
    но не полностью и я не могу задать, скажем, 10% оборотов для авторотации с ДВСом.
    Я положу здесь хексики, поглядите, как оно там…