OSD на ATmega1281
делаю генерацию видео на меге32 (в 16ой памяти мало)
сделал текст 40х28 с графическим полем 88х72 которое можно размещать в произвольном месте (командой)
у графического окна есть пока 2 режима
общее разрешение 88х72 может выводиться в разрешении 320х224 (в разрешении текста)
и в разрешении 160х224 (по горизонтали в 2 раза крупнее)
все вертикальные линии получились ровные - уделил этому специальное внимание
ссылки на файлы в большом разрешении
vg.ucoz.ru/_fr/0/0708507.jpg
vg.ucoz.ru/_fr/0/5946348.jpg
может быть использовать как модуль наложения изображения в OSD ?
в качестве контроллера атмега 328
для общения с внешним миром - планирую uart или i2c (spi занят на дисплей)
в графическом окне можно рисовать авиагоризонт, и выводить какую то другую графическую инфу…
а в текстовой выводить все остальное…
в принципе сейчас делаю другие графические режимы (текстовый 20х28 и графический (полностью графика) 160х92 )
делаю генерацию видео на меге32 (в 16ой памяти мало)
Вот опенсурсный проект Mobidrone OSD на меге 328:
code.google.com/p/mobidrone/
Вот так сейчас выглядит:
Молодцы, мужики! Интересные проекты.
Видео- прям OSD с марсохода… 😃
Виталий, как прямо по ходу строки умудряешься успевать сообразить, когда пора графику выводить, а когда опять псевдо?
Возможность полного заполнения экрана по вертикали это здорово, но надо ж ещё когда-то успеть как мин. перерисовать видеобуфер…?
но надо ж ещё когда-то успеть как мин. перерисовать видеобуфер…?
Я уже как-то говорил, что с MSP все делается элементарно - например, для того, чтобы получить такую картинку, понадобилось меньше 3К ОЗУ на все-про все - видеобуфера (целых 4 штуки! - по 45 байт каждый 😃 плюс отдельный буферок под горизонт - но не рабочий, а для предварительного формирования линий), переменные, стеки, строки и т.д. и т.п. Причем рисуются и белые, и черные точки:
Что поважнее- обведено черным, декорации - только белые, и нехай себе пропадают 😃
Если делать маленькую белую точку, а за ней черную - цветной факел на белом гарантирован, посему шрифты толстые.
При желании можно что-нибудь серое нарисовать, включая одновременно белый и черный пиксель.
Виталий, как прямо по ходу строки умудряешься успевать сообразить, когда пора графику выводить, а когда опять псевдо?
у меня генерация видео на асме… полностью…
перед каждой строкой текста (44 байта) идет байт который указывает с какой текстовой позиции выводить графику и байт адреса этой самой графической строки в графическом буфере…
правда все равно поля где то в полтора символа слева и справа есть для графического поля - я адрес вычислял на ходу… буду переписывать сделаю заранее - тогда наверное поля уменьшатся втрое
Возможность полного заполнения экрана по вертикали это здорово, но надо ж ещё когда-то успеть как мин. перерисовать видеобуфер…?
я даже во время генерации кадровой последовательности успеваю основную программу исполнять…
плюс до и после вывода 224 строк изображения у меня суммарно более 60 строк “ничего не делания” - так что по моим прикидкам на остальные задачи процентов 8-9 процессорного времени остается…
где то был тест со скролингом экрана, так там если задержки убрать вообще мелькание символов снизу вверх… хотя скролл полностью программный
у меня генерация видео на асме… полностью…
Это само собой разумеется… 😃 Да и действительно стыковать графическое окно с текстом пиксель в пиксель нет смысла… Сколько тактов на пиксель в режиме текста и графики получилось?
Ни и конечно, не подумал…, что для текстового режима нет необходимости отрисовывать в видеобуфере каждый пиксель буковки… Поэтому конечно много быстрее получится экран обновить…
Если делать маленькую белую точку, а за ней черную - цветной факел на белом гарантирован
Эх… больная тема… В теории вроде так… Но ведь у rvosd и прочих уважаемых изделиях все чистенько… Подсмотреть бы у них схемку модулятора…
у меня генерация видео на асме… полностью…
Это само собой разумеется…
А меня на С++ … полностью… 😃 само собой разумеется 😃
Ни одной ассемблерной вставки 😃
Но это так увлекательно из слабого на сегодняшний день проца выжимать все на что он способен, и даже чуть больше… 😃 Прямо спортивный азарт… 😃 Вообщем хобби такое…
Ни коем случае не хочу обидеть (безусловно оценил и грамотность выбора проца, и грамотное использование его аппаратных возможностей), но то что вам удается обходиться без асм-а, как бы не совсем ваша заслуга… 😃
Хотя, если у меня дело дойдет до следующего релиза (пока нет в планах), вполне возможно он будет на чем-то типа MSP430 или даже STM32…
как бы не совсем ваша заслуга…
Вы меня не так поняли. Это как бы реклама 😃 Фирмы - производителя сего процессора.
Подсмотреть бы у них схемку модулятора…
Дык скиньте жеж последнюю прошивку я сам как нить промодулирую.
Это само собой разумеется… 😃 Да и действительно стыковать графическое окно с текстом пиксель в пиксель нет смысла… Сколько тактов на пиксель в режиме текста и графики получилось?
2 такта
Ни и конечно, не подумал…, что для текстового режима нет необходимости отрисовывать в видеобуфере каждый пиксель буковки… Поэтому конечно много быстрее получится экран обновить…
угу, правда для этого я знакогенератор храню по линейно (сначала 256 первых линий всех символов, потом 256 вторых линий, и т.д.)
Давненько не выкладывал видеоотчеты. А ведь этот сезон начал на новом носителе (вжик), с новой камерой, с новой системой РУ. Ну а в последнее время все не нарадуюсь на ИМУ…
О параметрах в верхнем левом углу:
- РУ. Крутится палочка по получении данных от приемника с валидной КС. Лампочка, если что-то плохо. Уровень сигнала в dbm. Количество дропов за последние 2,56сек.
- GPS. Количество спутников. PDOP.
- IMU. 1я цифра: Отклонение длины вектора акселей от 1G. 100%-> ==1G; 0%-> <0.5G || >1.5G;
2я цифра: длина нормализованного вектра ошибки между осью Z матрицы и акселерометром. 0-> совпадают.
Ниже цифры: крен/тангаж.
Коментарии по видео:
Ветер слабый но порывами.
0-12сек; проверка на вертикальные ускорения.
12-2:55; скучный отлет на пару км в режиме FBW и возврат в режиме RTH.
2:55 до конца; проверка ИМУ на устойчивость к центробежным ускорениям.
Коментарии по видео:
Красиво. А где тянучка или flame на видео.
Параметры, которые расписывал, конечно в верхнем правом углу… 😃
А где тянучка или flame на видео
После многочисленных перекодирований их почти не видно… Мне еще пришлось до минимума уменьшить интенсивность теней, а то совсем было безобразно. И вообще, посмотрел прошлогодние свои видео (4такта/пиксель), OSD выглядело гораздо лучше… Четко, контрастно, без всяких факелов… Только пиксели не квадратные… Хоть назад возвращайся…
ЗЫ Еще новость сезона, проект OSD+LRS повторил Сергей-ubd. Вроде бы вполне успешно летает с ним на skywalker. Думает о наземке и ИМУ… 😃
проект OSD+LRS повторил Сергей-ubd
а это чье?
Это мое… 😃 В смысле что хоть один человек повторил мой подвиг и безстрашно летает на моих глюках. Правда пока с пиросенсорами от smalltim и без наземки, но у него все еще впереди… 😃
//—
Что только не придумаешь при дефиците интересных идей… Вот от безделья слепил по сути “горячее” (конфигуратором) переключение разрешения OSD:
что хоть один человек повторил мой подвиг и безстрашно летает на моих
я тоже уже повторил в двух экземплярах ( как в кавказской пленнице, там правда было в трех ИМХО это перебор) и даже один пир есть. В силу множества проектов и работ, как бы двигалось не спешно, но сейчас подперло не на шутку, сетевой график.
переключение разрешения OSD:
софтверный зум? на сколько?
Количество дропов за последние 2,56сек.
тоже впечетляет, особенно пикание ( дропы? ) как у счетчика гегера.Полезная весч ИМХО. Аккурат в те времена в воскресенье делал пробежку и угораздило же когда чернобыльская тучка проплывала над головой.
Пикала ИМУ-шка- “Да не дергайте вы меня!”. Загрублю, до критических значений еще далеко, а раздражает. Дропов на таких расстояниях нет (маленькая циферка в самом верхнем правом углу). Но они, если что, тоже пикают…
Странно, никто не расспрашивает про ИМУ… На сей момент главный предмет моей гордости. 😃 А там есть о чем поговорить… Столько лет пужался страшным калманом, который не каждый STM переварит… А тут простой алгоритм (все-таки оригинальный код пришлось маленько модифицировать), мега8 и такой приличный результат… Кстати на выложенном видео полет на холмистой местности, и визуальный горизонт не совпадает с реальным. Поэтому может показаться, что иму “косит”, а на самом деле все наоборот… 😃
ЗЫ Еще новость сезона, проект OSD+LRS повторил Сергей-ubd. Вроде бы вполне успешно летает с ним на skywalker. Думает о наземке и ИМУ…
Да подтверждаю! Скай летает!
Серёга молодец, сделал классную весчь, которую не сложно повторить.
Вон у смалтима да же не так всё гладко, глюки страшные. Мне уже довелось пообщаться с его системой…
Странно, никто не расспрашивает про ИМУ… На сей момент главный предмет моей гордости.
Похоже интересуюсь только я. Там выше интересовались, так пропали что то, а зря…
Вообще Серёга ты молодец! У тебя единственный доведенный до ума проект, из тех что тут на форуме существуют. Я у тебя вообще не замечаю глюков. Когда на RTH летает, я настолько уверен что он не упадёт, что да же не смотрю на него, и могу по телефону говорить если кто то позвонит мне в этот момент.
то только не придумаешь при дефиците интересных идей… Вот от безделья слепил по сути “горячее” (конфигуратором)
Реально, когда пиксель шире, это лучше. По крупнее да же. Мне больше нравиться.
Похоже интересуюсь только я. Там выше интересовались, так пропали что то, а зря…
Вообще Серёга ты молодец!
Интересно и очень.
В каком формате ИМУ -ка выдает инфу автопилоту?
Не планируется открытый проект ? В плане возможности использования этого ИМУ в других, сторонних проектах ?