Activity
использование памяти меги в VCM уже достигло 45 %… написано процентов 70 интерфейса…
наверное для дополнительного flash диска места совсем мало останется 😦
Виталий, а может просто переместить всю память на отдельную епромку и не городить со вторым процессором? Мне кажется, что разделение программы на два независимыъ вычислителя достаточно напряжное решение. Сразу возникнут вопросы обмена данными и синхронизации работы. Я когда-то таким занимался 😦 . Да и кода для этого прийдется написать немало. Так что я голосую за епромку.
Сергей, что нить получилось с редактором кривых ?
а то в двойке я уже дошел до кривых… вживить бы что нить…
если пока не готово - то наверное как временное решение вживлю от vcodera редактор с небольшими изменениями…
Виталий, извини, у меня НГ это всегда запара страшная. А тут еще новый налоговый кодекс у нас приняли. Успеваю только иногда почту и форум просмотреть. Неделя еще точно такая будет. Может на выходные таки гляну, там делов то на пару часиков.
Не знаю можно ли ее реализовать программно - настройка вольтажа при котором начинает пищать и при котором вырубается.
Аларм по понижению напруги уже есть. А вырубалку программно не сделаеш - надо железо курочить (добавлять электронный ключ либо менять регулятор напряжения на регулятор с шутдауном), что в данном проекте пока не рассматривается. Да и не выдержите Вы долго постоянного писка аларма 😉
Виталий, как только будет готово, с нетерпением жду исходники. Буду экспоненту переделывать 😉
Гм… наверное нагло, но все таки спрошу - а сам написать сможешь ?
Ну теоретически смогу. Бросай исходники (мыло помниш?). Только у меня вопрос - а может я ошибаюсь в теории? Хотя, давай я попробую и проверю на симуляторе.
И, кстати, информация в епроме не поменяется. Мы уже и так там храним %% экспоненты и пользовательские точки кривой. Так что конвертер не потребуется.
Сергею от меня большое спасибо ! думаю ко мне присоединятся все кто ждал нормального функционала экспонент (я ведь его сам так и не сделал)
Рад был помочь 😃 (в первую очередь самому себе 😁 )
Но все же экспоненты должны работать несколько иначе (ИМХО). Экспонента должна изменять установленную пользователем кривую, а у меня кривая - это всегда прямая. А у вертолетчиков например канал газа имеет кривую в форме V и мою экспоненту там использовать нельзя. Более правильно было-бы хранить процент экспоненты и форму исходной установленной пользователем кривой. При загрузке из епрома кривой надо пересчитать ее относительно %% экспоненты и использовать в математике именно эти новые значения. Т.е надо помнить исходную кривую и искривленную экспонентой. Математически искривление по экспоненте можно представить как “прижатие” ординаты расчитываемой точки к оси Х на величину разницы между ординатами точек диагонали и заданной экспоненциальной кривой, умноженую на %% экспоненты (как сейчас у меня пересчитывается).
сегодня гляну и проверю…!!
??
Ребята, никто не пробовал мои экспоненты?
В том-то и дело, что не уходит.
Как это не уходит? Я проверил у себя - все как по книжке работает. Фильтр для того и сделан, чтобы вместо канала выдать предустановленное значение в процентах от размаха между серединой канала и + (или -) ЕРА. Если поставить -125%, то будет выдано на 25% меньшее значение чем -ЕРА. У меня стоит -ЕРА=1000, после включения ТроттлКат в мониторе видно 875. ( 1000-(1500-1000)*25% = 875 )
нужно, чтобы значение фильтра, назначенного на переключатель, было меньше минимума при крайнем положении стика…
За пределы ЕРА выходить запрещено, потому как ЕРА это крайнее возможное положение машинки или рулей. Исключение - машинка карбюратора. Для реализации отключения ДВС надо делать так. С помощью минимального ЕРА в крайнем нижнем положении стика устанавливаем стабильный холостой ход. Прописываем фильтр на 3 канал:
channels > ch set > filters > ch 3:
channel :3
filter type: sw
switch: thr.cut
value: -125%
При такой настройке после включения тумблера ТроттлКат машинка уйдет на 25% ниже чем минимальное ЕРА и двигатель глохнет. Проследите только чтобы эти -25% не заставили машинку ломать тягу или зубья 😉
Ну вот даю на попробовать измененную версию с экспонентой. В настройках кривых в полетных режимах появилось новое поле %экспоненты. Если его изменять, то кривая сразу превращается в экспонентную. Так как пришлось добавлять в епром еще одну переменную, то возможна несовместимость со старым епромом. Вот сам хексик narod.ru/disk/27345192000/vcoder.hex.html . И вот файл исходника narod.ru/disk/27345228000/menu_procedures.c.html . Виталий, я там сильно не разбирался в сохранении-восстановлении а просто добавил еще одну переменную, может быть поправиш чтобы старый епром не портился?
И еще раз спасибо Виталию за разработку. Благодаря его красивому программированию мне на добавление экспоненты потребовалось всего полчасика.
можно… исходники выложены… кто нить попробует это сделать?
файл menu_procedures.c
Посмотрел исходники. Красиво. Понятно. Прокомментировано. Чувствуется что писалось не с бухты-барахты. Попробую завтра установить среду и внести предложенные мной изменения, хотя с аврками работаю впервые. Но С-он и в Африке С 😉 .
ну по экспонентам вопрос еще будет задаваться… 😃 так что сможете поучаствовать 😃
С удовольствием.
А можно сделать так?
Добавляем в экране поле %экспоненты. Если в это поле ввести не нулевое значение, то генерим отрезками экспоненциальную кривую, причем используем введенный процент. Тогда дальше ничего в коде не надо менять.
Как по мне, то сделать простую настройку экспоненты и коефф влияния кривых будет гораздо лучше, чем смену ВЧ модулей.
А что, предполагается использование одновременно нескольких ВЧ-модулей? Я никогда не видел, чтобы на поле кто-то постоянно менял Вч-часть. Или я чего-то не знаю?
именно через неё, родимую…
Жесть 😦
А я то уже губу раскатал, что можно через крутилку назначить коефф влияния кривой на канал. Или хотя бы задание его через менюшку. А иначе что - пересчитывать на калькуляторе ординаты точек? Тогда может ввести выбор из нескольких предустановленных кривых?
И очень бы хотелось чтобы Виталий внес описание работы с кривыми в документацию.
Только настройка экспоненты уж больно “трудна”
А я как-то сразу не “въехал” как экспоненту поставить. Неужели через назначение произвольной кривой?
по тишине я понимаю что интерфейс никто не предложит … 😦
Нет возможности попробовать 2 версию, но по кривым предложение такое. Рисуем сетку (горизонталь - только мах, мин и нулевое, вертикали - только где Х точек. Клавишами влево-вправо подганяем указатель-стрелочку под нужный Х, а клавишами вверх-вниз смещаем У данной точки. Сбоку от сетки нужно писать числовое значение У. И можно даже сразу после сдвига перерисовать сетку и кривую. Выходим из редактирования по Exit.
Предлагаю предусмотреть для дискретных каналов минимум 3 значения. Если кто захочет сменить 2-х позиционный переключатель на 3-х позиционный!
Вообще-то по идеологии дискретные выключатели для того и двухпозиционные, чтобы что-то включить либо выключить. Введение третьего положения внесет сильное усложнение кода и настройки. Если кому будет нужен трехпозиционный (либо на больше позиций) переключатель, то его надо будет делать вместо крутилки. Т.е. крутилка как бы будет иметь несколько предустановленных положений. А учитывая то, что будет реализована логическая математика, то можно будет через нее реализовать например 4 положения закрылков от двух дискретных переключателей.
насколько нужно иметь возможность задавать положение точек кривых по горизонтали (входное значение) или достаточно их разбросать равномерно от -100 до +100 %% ?
Мне кажется, что здесь определяющим фактором будет размер флеша и епрома у меги. Неравномерное расположение точек потребует запоминания еще одного массива байтовых значений скорее всего приростов (расстояний между точками). Плюс усложненное редактирование. И если будет введена 9-точечная кривая, то наверняка будет очень трудно заметить разницу в поведении модели с равномерным и неравномерным расположением точек. Я бы делал равномерно.
есть ли смысл делать нечто с очень примерными данными, на которые все равно нельзя ориентироваться…
Абсолютно согласен. Разве не хватает контроля и индикации напряжения на аккумуляторах? Если заряд у них на пределе, то все равно летать не стоит, и не важно на сколько осталось заряда - на 5 минут или на 7.
Виталий, спасибо за такую замечательную работу! Я тоже писал под себя кодер, где-то даже с подобной идеологией (любой котрол в любой канал с искривлением по графикам), но писал под ПИКи. Теперь вот стал обладателем Турниги и решил не курочить ей внутренности, а перепрошить Вашу прошивку. Но есть такой вопрос-пожелание. Я использую как ВЧ-часть телеметрийный модуль от фрская. Хочется чтобы Вы добавили обработку и визуализацию телеметрии. Или может быть возможен вариант получения Ваших исходников для самостоятельной правки (хотя я с Атмелами пока не очень, но если надо - разберусь)?