Например TDA7294

Форум РадиоКот • Просмотр темы - Востребована ли простая GUI-библиотека для LCD?
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Сб ноя 23, 2024 02:46:02

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 54 ]  1, ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Востребована ли простая GUI-библиотека для LCD?
СообщениеДобавлено: Сб дек 15, 2012 19:34:09 
Мучитель микросхем
Аватар пользователя

Карма: 12
Рейтинг сообщений: 49
Зарегистрирован: Пн фев 22, 2010 09:12:34
Сообщений: 462
Рейтинг сообщения: 0
Приветствую.
Под экран с контроллером ILI9320 написал простейшую оконную библиотеку. Вот примеры её работы:
Вложение:
muil-1.png [3.61 KiB]
Скачиваний: 1786

Вложение:
muil-2.png [2 KiB]
Скачиваний: 1471

И небольшое видео:
http://www.youtube.com/watch?v=YdQxW8T8JhA

Библиотека написана на С++ и может работать с любыми дисплеями и точскринами (если конечно реализовать соответствующий класс дисплея или точскрина), а также на любых МК для которых есть C++-компилятор, а также достаточно памяти для её работы. Библиотека не использует динамического выделения памяти, а стек использует очень экономно. Сейчас она у меня используется на МК STM32F100R6T6B.

Вот пример кода главной формы (которая на первом скриншоте) с использованием данной библиотеки:
Спойлер
Код:
const wchar_t *text1[] = {L"Раз", L"Два", L"Три", NULL};

class TextForm : public muil::Form
{
public:
   TextForm() :
      muil::Form(L"Главное окно", &muil::tahoma14ru_FontInfo),
      label_   (muil::Point( 30,  45), L"Метка"),
      test_btn_(muil::Point( 30,  80), muil::Size(180, 40), L"Тестовая кнопка"),
      up_down1_(muil::Point( 20, 140), muil::Size( 90, 40), 0, 42),
      up_down2_(muil::Point(120, 140), muil::Size( 90, 40), 2, 314),
      ch_box_  (muil::Point( 30, 190), muil::Size(180, 30), L"Чекбокс", true),
      ch_      (muil::Point( 30, 230), muil::Size(180, 30), text1, 0)
   {
   }

   void visit_all_widgets(muil::WidgetVisitor &visitor)
   {
      visitor.visit(label_);
      visitor.visit(test_btn_);
      visitor.visit(up_down1_);
      visitor.visit(up_down2_);
      visitor.visit(ch_box_);
      visitor.visit(ch_);
   }

   void widget_event(muil::EventType type, const muil::Widget *widget)
   {
      if ((type == muil::EVENT_TOUCHSCREEN_UP) && (widget == &test_btn_))
      {
         ModalForm form;
         form.show_modal();
      }
   }

private:
   muil::Label label_;
   muil::Button test_btn_;
   muil::UpDownWidget up_down1_;
   muil::UpDownWidget up_down2_;
   muil::CheckBox ch_box_;
   muil::StringsChoice ch_;
};

Сейчас думаю, может ли она понадобится кому-нибудь ещё и стоит ли её выкладывать в общий доступ?

_________________
http://ufa-darts.ru/ - приходи играть в дартс в Уфе


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Востребована ли простая GUI-библиотека для LCD?
СообщениеДобавлено: Сб дек 15, 2012 20:33:16 
Держит паяльник хвостом
Аватар пользователя

Карма: 9
Рейтинг сообщений: 40
Зарегистрирован: Сб апр 02, 2011 17:59:22
Сообщений: 995
Откуда: Город-герой Севастополь
Рейтинг сообщения: 0
Выкладывайте, конечно же. Я, к примеру, любитель этого дела; с удовольствием поковыряю и попользую Вашу библиотеку.

_________________
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Востребована ли простая GUI-библиотека для LCD?
СообщениеДобавлено: Сб дек 15, 2012 20:43:48 
Мучитель микросхем
Аватар пользователя

Карма: 12
Рейтинг сообщений: 49
Зарегистрирован: Пн фев 22, 2010 09:12:34
Сообщений: 462
Рейтинг сообщения: 0
И не пугает, что она написана на C++? :)

_________________
http://ufa-darts.ru/ - приходи играть в дартс в Уфе


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Востребована ли простая GUI-библиотека для LCD?
СообщениеДобавлено: Сб дек 15, 2012 20:48:18 
Держит паяльник хвостом
Аватар пользователя

Карма: 9
Рейтинг сообщений: 40
Зарегистрирован: Сб апр 02, 2011 17:59:22
Сообщений: 995
Откуда: Город-герой Севастополь
Рейтинг сообщения: 0
С некоторых пор не пугает. =)

_________________
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение


Вернуться наверх
 
Приглашаем на вебинар «Решения SUNCO для силовой электроники. Выбираем идеальный силовой модуль»

Приглашаем 3 декабря 2024 на вебинар, посвященный силовым модулям ведущего китайского производителя SUNCO - одного из мировых лидеров по производству дискретных полупроводниковых компонентов. На вебинаре вы узнаете о новинках, включая модули 17 класса в корпусе E3, и контроле качества на всех этапах производства. Вы также узнаете о новейших продуктах – IGBT-, SiC-, диодных и тиристорных модулях, погрузитесь в современные топологии, сравните характеристики IGBT-чипов разных поколений.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Востребована ли простая GUI-библиотека для LCD?
СообщениеДобавлено: Сб дек 15, 2012 20:48:46 
Друг Кота
Аватар пользователя

Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52
Сообщений: 4470
Откуда: Главный Улей России (Moscow)
Рейтинг сообщения: 0
А чего пугаться-то? Мы не боимся плюсов. Сами плавали в гуях, правда под х86 и OpenGL. Плюсы в этом плане удобнее.

_________________
I am DX168B and this is my favourite forum on internet!


Вернуться наверх
 
Решения SUNCO для надежной защиты сигнальных цепей интерфейсов от электростатических разрядов

Всплески перенапряжения являются серьезной угрозой надежности работы радиоэлектронных устройств. Причины их появления различны, это могут быть коммутационные переходные процессы в системе электропитания устройств, разряды молний, электростатические разряды. Для создания эффективной и современной системы защиты от ЭСР компания SUNCO разработала надежные и качественные супрессоры, представляющие собой TVS- и ESD-диоды, а также сборки на их основе. Компоненты SUNCO не только не уступают, но часто превосходят по характеристикам аналогичную продукцию других брендов.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Востребована ли простая GUI-библиотека для LCD?
СообщениеДобавлено: Вс дек 16, 2012 18:35:46 
Мучитель микросхем
Аватар пользователя

Карма: 12
Рейтинг сообщений: 49
Зарегистрирован: Пн фев 22, 2010 09:12:34
Сообщений: 462
Рейтинг сообщения: 0
Т.к. заинтересованность в либе есть, "причешу" её немного и выложу. Причесать её надо обязательно, т.к. многие вещи сделаны в стиле "лишь бы работало" :)

_________________
http://ufa-darts.ru/ - приходи играть в дартс в Уфе


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Востребована ли простая GUI-библиотека для LCD?
СообщениеДобавлено: Пн дек 17, 2012 22:07:36 
Друг Кота
Аватар пользователя

Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52
Сообщений: 4470
Откуда: Главный Улей России (Moscow)
Рейтинг сообщения: 0
ОК. Ждемс... :)

_________________
I am DX168B and this is my favourite forum on internet!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Востребована ли простая GUI-библиотека для LCD?
СообщениеДобавлено: Ср дек 19, 2012 06:59:52 
Мучитель микросхем
Аватар пользователя

Карма: 12
Рейтинг сообщений: 49
Зарегистрирован: Пн фев 22, 2010 09:12:34
Сообщений: 462
Рейтинг сообщения: 0
Допилить времени не нашёл, поэтому выкладываю как есть:
http://code.google.com/p/muil/
:)
Извиняюсь что на английском. Чуть позже сделаю русскую инструкцию

_________________
http://ufa-darts.ru/ - приходи играть в дартс в Уфе


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Востребована ли простая GUI-библиотека для LCD?
СообщениеДобавлено: Ср дек 19, 2012 22:43:29 
Друг Кота
Аватар пользователя

Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52
Сообщений: 4470
Откуда: Главный Улей России (Moscow)
Рейтинг сообщения: 0
На ARMе пока нет возможности проверить, но завтра прикручу его к черновому проекту MVSC++ +OpenGL (заменю графические примитивы элементов интерфейса на свои). Так сказать, опробуем движок. У меня движок GUI немного попроще (он оконный, очередь обслуживания форм организована в виде кольцевого связанного списка структур с указателями на объекты класса окна, идентификаторами и приоритетами), но тоже требует оформления для выкладывания в массы. Будет время, дополню тему своим вариантом.

_________________
I am DX168B and this is my favourite forum on internet!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Востребована ли простая GUI-библиотека для LCD?
СообщениеДобавлено: Ср дек 19, 2012 22:59:27 
Встал на лапы
Аватар пользователя

Зарегистрирован: Пн дек 03, 2012 19:31:53
Сообщений: 110
Откуда: Санкт-Петербург
Рейтинг сообщения: 0
ArtDen, идея нужная, продолжайте развивать проект :)

Было бы классно если бы существовала для младших МК на ARM-е функциональная и легковесная реализацию GUI. Вывод она умеет, а что с вводом, кроме тачскрина? Есть ли интерфейс для клавиатуры например?

Выглядит весьма неплохо. Но было бы хорошо иметь возможность написать в виде модуля свой Look & Feel (не знаю как по-русски сказать, имею ввиду отрисовку и реакцию на воздействие). А еще, например, было бы круто, если бы был интерфейс и реализации для Layout Manager'ов (размещение в строку, в столбик, по сетке и т. д.).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Востребована ли простая GUI-библиотека для LCD?
СообщениеДобавлено: Чт дек 20, 2012 06:15:09 
Мучитель микросхем
Аватар пользователя

Карма: 12
Рейтинг сообщений: 49
Зарегистрирован: Пн фев 22, 2010 09:12:34
Сообщений: 462
Рейтинг сообщения: 0
DX168B писал(а):
На ARMе пока нет возможности проверить, но завтра прикручу его к черновому проекту MVSC++ +OpenGL (заменю графические примитивы элементов интерфейса на свои). Так сказать, опробуем движок.

Только учти, что когда ты отрисовываешь прямоугольник с координатами (10,10)-(11,11), то должен отрисоваться прямоугольник размером 2x2, а не 1х1. Т.е. размер прямоугольника должен быть не (x2-x1, y2-y1), а (x2-x1+1, y2-y1+1)
DX168B писал(а):
У меня движок GUI немного попроще (он оконный, очередь обслуживания форм организована в виде кольцевого связанного списка структур
Я решил, что можно обойтись без всяких очередей :)
DX168B писал(а):
Будет время, дополню тему своим вариантом.

Было бы отлично!

DrGandalf писал(а):
Было бы классно если бы существовала для младших МК на ARM-е функциональная и легковесная реализацию GUI. Вывод она умеет, а что с вводом, кроме тачскрина? Есть ли интерфейс для клавиатуры например?

Экранной клавиатуры?
DrGandalf писал(а):
Выглядит весьма неплохо. Но было бы хорошо иметь возможность написать в виде модуля свой Look & Feel (не знаю как по-русски сказать, имею ввиду отрисовку и реакцию на воздействие).

Ну если придумаю, как это можно реализовать без разбухания выходного бинарного кода, то может и сделаю.
DrGandalf писал(а):
А еще, например, было бы круто, если бы был интерфейс и реализации для Layout Manager'ов (размещение в строку, в столбик, по сетке и т. д.).

По моему для МК это слишком жирно. Layout Manager-ы будут отъедать лишнюю память, что плохо. Сейчас моя либа с выложенными примерами вполне себе работает на 2-х килобайтах памяти (и там ещё много остаётся про запас) и лишней памяти не просит :)

_________________
http://ufa-darts.ru/ - приходи играть в дартс в Уфе


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Востребована ли простая GUI-библиотека для LCD?
СообщениеДобавлено: Чт дек 20, 2012 12:48:53 
Встал на лапы
Аватар пользователя

Зарегистрирован: Пн дек 03, 2012 19:31:53
Сообщений: 110
Откуда: Санкт-Петербург
Рейтинг сообщения: 0
ArtDen писал(а):
Экранной клавиатуры?

Не обязательно. Я имею ввиду, если у меня, например, к МК подключены три кнопки. Или qwerty-клавиатура. Которые могут генерить код клавиши (например 13 для enter, 10 для пробела). Было бы хорошо если бы интерфейс мог бы обработать такие коды, и, например, переключать фокус по табу, двигать курсор в полях текстового ввода, и собственно возможность вообще сделать такой ввод текста. Закрывать форму по esc, или нажимать "OK" в ней по Enter. К слову, для гибкости, можно было бы поддерживать кроме тача другие устройства ввода (манипулятор типа "мышь" :)) ). У мыши тоже есть коды клавиш. И хорошо если тачскрин тоже бы их генерил, например, 1 (ЛКМ) для "тапа", 2 (ПКМ) для продолжительного "нажатия" на экран.

LayoutManager'ы много памяти не займут, а фича ИМХО нужная. Вручную размеры проставлять, и потом еще от дисплея зависеть - можно, но не очень хорошо.

Я посмотрел ваш код, хорошо пишете :)
У меня когда-то тоже был проект типа такого, но на Си, и под АВР и монохромных ЖК. Да времени не было до ума доводить, а потом мне уже сами AVR-ки надоели :) Теперь побольше с ARM-ами разберусь, попробую ваш GUI в деле)

PS А чем вы так классно в код отрендеренные битмапы шрифта заимпортили?. Жестко и брутально \m/ :))). Я так помню вручную шрифт "создавал" :))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Востребована ли простая GUI-библиотека для LCD?
СообщениеДобавлено: Чт дек 20, 2012 21:01:58 
Мучитель микросхем
Аватар пользователя

Карма: 12
Рейтинг сообщений: 49
Зарегистрирован: Пн фев 22, 2010 09:12:34
Сообщений: 462
Рейтинг сообщения: 0
DrGandalf писал(а):
ArtDen писал(а):
Экранной клавиатуры?

Не обязательно. Я имею ввиду, если у меня, например, к МК подключены три кнопки. Или qwerty-клавиатура. Которые могут генерить код клавиши (например 13 для enter, 10 для пробела). Было бы хорошо если бы интерфейс мог бы обработать такие коды, и, например, переключать фокус по табу, двигать курсор в полях текстового ввода, и собственно возможность вообще сделать такой ввод текста. Закрывать форму по esc, или нажимать "OK" в ней по Enter. К слову, для гибкости, можно было бы поддерживать кроме тача другие устройства ввода (манипулятор типа "мышь" :)) ). У мыши тоже есть коды клавиш. И хорошо если тачскрин тоже бы их генерил, например, 1 (ЛКМ) для "тапа", 2 (ПКМ) для продолжительного "нажатия" на экран.

Наверное можно сделать поддержку кнопок влево/вправо/вверх/вниз/выбор. Поддерживать более сложные варианты не вижу смысла, т.к. либа для МК, а не для полноценных компьютеров.

DrGandalf писал(а):
LayoutManager'ы много памяти не займут, а фича ИМХО нужная. Вручную размеры проставлять, и потом еще от дисплея зависеть - можно, но не очень хорошо.
Пока вообще они планируется.
DrGandalf писал(а):
У меня когда-то тоже был проект типа такого, но на Си, и под АВР и монохромных ЖК. Да времени не было до ума доводить, а потом мне уже сами AVR-ки надоели
Думаю, на AVR либа тоже заведётся. Надо будет попробовать её там запустить...
DrGandalf писал(а):
PS А чем вы так классно в код отрендеренные битмапы шрифта заимпортили?. Жестко и брутально \m/ :))). Я так помню вручную шрифт "создавал" :))

Прога называется TheDotFactory. Только я её доработал немного, чтобы она выдавала нужный вариант.

_________________
http://ufa-darts.ru/ - приходи играть в дартс в Уфе


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Востребована ли простая GUI-библиотека для LCD?
СообщениеДобавлено: Пт дек 21, 2012 02:42:37 
Мучитель микросхем
Аватар пользователя

Карма: 1
Рейтинг сообщений: 5
Зарегистрирован: Вс янв 15, 2012 19:58:40
Сообщений: 454
Рейтинг сообщения: 0
ArtDen писал(а):
Прога называется TheDotFactory. Только я её доработал немного, чтобы она выдавала нужный вариант.


А можно поподробней про "TheDotFactory" в смысле что переделали?

_________________
Ни один домашний кот незнает что он домашний.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Востребована ли простая GUI-библиотека для LCD?
СообщениеДобавлено: Пт дек 21, 2012 06:22:13 
Мучитель микросхем
Аватар пользователя

Карма: 12
Рейтинг сообщений: 49
Зарегистрирован: Пн фев 22, 2010 09:12:34
Сообщений: 462
Рейтинг сообщения: 0
radiokot__ писал(а):
А можно поподробней про "TheDotFactory" в смысле что переделали?
Сделал так, чтобы она вставляла код символа в таблицу символов, чтобы можно было пропускать ненужные символы.

_________________
http://ufa-darts.ru/ - приходи играть в дартс в Уфе


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Востребована ли простая GUI-библиотека для LCD?
СообщениеДобавлено: Пт дек 21, 2012 23:46:28 
Мучитель микросхем
Аватар пользователя

Карма: 1
Рейтинг сообщений: 5
Зарегистрирован: Вс янв 15, 2012 19:58:40
Сообщений: 454
Рейтинг сообщения: 0
Можно ваш вариант программы?

_________________
Ни один домашний кот незнает что он домашний.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Востребована ли простая GUI-библиотека для LCD?
СообщениеДобавлено: Сб дек 22, 2012 00:17:59 
Друг Кота
Аватар пользователя

Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52
Сообщений: 4470
Откуда: Главный Улей России (Moscow)
Рейтинг сообщения: 0
Итак... Принялся я за тестирование библиотеки.
Все свелось к добавлению исходников к своему черновому проекту (черновику).
Час был потрачен на изучение исходников.
Полчаса на правку драйвера дисплея и еще полчаса на правку драйвера тачскрина.
Вывод перенаправлен в буфер видеокарты (OpenGL)
Вот что получилось:

СпойлерИзображение

Вариант с разрешением 640x480

Изображение


Поздравляю. Полностью кроссплатформенный код, который был перенесен без граблей и заморочек. :)

_________________
I am DX168B and this is my favourite forum on internet!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Востребована ли простая GUI-библиотека для LCD?
СообщениеДобавлено: Сб дек 22, 2012 08:41:25 
Мучитель микросхем
Аватар пользователя

Карма: 12
Рейтинг сообщений: 49
Зарегистрирован: Пн фев 22, 2010 09:12:34
Сообщений: 462
Рейтинг сообщения: 0
DX168B, отлично! :)
Она у меня тоже под виндой работает. Так отлаживать проще, а также экономится ресурс перезаписи флеша у МК. Кстати, если ты заметил, пока что нету скроллинга в окне выбора StringsChoice. Сегодня постараюсь это дело добить.

radiokot__, не всё так просто. Даже с моими доработками приходится редактировать полученный код. Как добью это дело - выложу

_________________
http://ufa-darts.ru/ - приходи играть в дартс в Уфе


Последний раз редактировалось ArtDen Сб дек 22, 2012 10:59:35, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Востребована ли простая GUI-библиотека для LCD?
СообщениеДобавлено: Сб дек 22, 2012 08:56:22 
Мучитель микросхем
Аватар пользователя

Карма: 12
Рейтинг сообщений: 49
Зарегистрирован: Пн фев 22, 2010 09:12:34
Сообщений: 462
Рейтинг сообщения: 0
Блин. Есть проблема с гарвардской архитектурой. Пытаюсь доработать либу так, чтобы она работала на AVR - происходит затык с шрифтами, т.к. они целиком копируются в ОЗУ для работы. Пока не придумал как легковесно сделать так, чтобы либу легко и без костылей в коде можно было использовать и на AVR тоже.

_________________
http://ufa-darts.ru/ - приходи играть в дартс в Уфе


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Востребована ли простая GUI-библиотека для LCD?
СообщениеДобавлено: Сб дек 22, 2012 11:33:07 
Друг Кота
Аватар пользователя

Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52
Сообщений: 4470
Откуда: Главный Улей России (Moscow)
Рейтинг сообщения: 0
ArtDen писал(а):
DX168B, отлично! :)
Она у меня тоже под виндой работает. Так отлаживать проще, а также экономится ресурс перезаписи флеша у МК. Кстати, если ты заметил, пока что нету скроллинга в окне выбора StringsChoice. Сегодня постараюсь это дело добить.


Да, не помешало бы. :)

_________________
I am DX168B and this is my favourite forum on internet!


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 54 ]  1, ,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y