LINUX.ORG.RU

MakiseGUI — свободная библиотека графического интерфейса для микроконтроллеров

 , , , ,


9

4

Существует множество библиотек графического интерфейса для микроконтроллеров и встраиваемых систем, но многие из них имеют ограниченную функциональность, сложны в использовании и интеграции, требуют обязательного использования внешней оперативной памяти, а некоторые стоят больше, чем ваш проект целиком. Поэтому была написана библиотека MakiseGUI.

Цели разработки:

  • Простота использования: писать интерфейс не должно быть сложнее, чем с использованием WindowsForms и т. п.
  • Простота интеграции: встроить и запустить интерфейс в приложении должно быть максимально просто на любом оборудовании или ПО.
  • Чистый С: используется только gnu-c99 и стандартная библиотека.
  • Минимальное потребление ОЗУ: возможность использования на средних микроконтроллерах без внешней памяти (примерно 40 КиБ с цветным дисплеем 320×240).
  • Достаточное количество графических элементов для комфортной разработки, простое добавление новых.
  • Свободная лицензия и бесплатное использование даже в коммерческих проектах.

На данный момент существуют следующие элементы:

  • MButton — кнопка, которая отображает текст посылает события при нажатии.
  • MCanvas — простейший контейнер, который просто содержит элементы.
  • MLable — простейшее текстовое поле.
  • MTextField — текстовое поле, поддерживающее перенос слов и переносы.
  • MSlider — слайдер.
  • MToggle — кнопка, имеющая два состояния.
  • MSlist — список. Может быть как простым списком, так и radio-кнопками или чекбосками. Поддерживает обычные списки и динамические линкованные.
  • MTabs — вкладки. Несколько переключаемых контейнеров.

>>> GitHub

>>> Подробности работы, видео, примеры кода

★★★★

Проверено: Shaman007 ()
Последнее исправление: sudopacman (всего исправлений: 7)

Ответ на: комментарий от MuZHiK-2

почему я что-то должен показывать?

Уже не должен, поскольку сомнения насчет степени твоей адекватности рассеялись.

Manhunt ★★★★★
()
Ответ на: комментарий от a1batross

Вот именно. Я вёл к тому, что когда у тебя гигантское монстроподобное создание вместо «проектика», то документация нужна как вода. Может у джавистов и дотнетчиков код действительно самодокументируемый, но что делать с таким на C?

reprimand ★★★★★
()
Ответ на: комментарий от Manhunt

Тебя про юнит-тесты спросили

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

MuZHiK-2 ★★★★
()
Ответ на: комментарий от Vit

Пока речь об одном конкретном мужике, который бугуртит не по делу и говорит о себе во множественном числе. Уходи.

Как раз на данный момент от тебя по делу - ноль.

MuZHiK-2 ★★★★
()
Ответ на: комментарий от reprimand

А я и имел ввиду 2-3к изначально. Не знаю сколько здесь, но думаю при желании разобраться несложно.

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

Не знаю как у остальных, но я не могу воспринимать комментарии написанные для дохугена. Дохуген их понимает, а вот человеку уже сложнее. Хотя можно потерпеть для public части библиотеки. :)

a1batross ★★★★★
()
Ответ на: комментарий от Manhunt

Уже не должен, поскольку сомнения насчет степени твоей адекватности рассеялись.

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

MuZHiK-2 ★★★★
()

«Звезданул» ещё до зарождения половины фич

Deleted
()
Ответ на: комментарий от BceM_IIpuBeT

Это у вас нодостаток знаний о том, что такое программирование под МК.

Из этого не следует что сабжевая рисующая окна библиотека написана не на С и на ПК не сможет собраться и слинковаться с различными писюнами и сосисками++ заменив тем новейшие кути и гытыка. Да, а имеющихся версий кутей и гытыка в таком случае хватит для поддержки прибитых к ним гвоздями устаревших приложений лет на 20-30, не меньше. Ведь в чём был смысл третьего гытыка? Да в поддержке мониторов для богатых, банальном патче для второго гытыка, который никто для него не написал. А если бы патч написали и внедрили, то третьи гытыка и нафиг не нужны были, следовательно и без четвёртых можно будет обойтись, если добавить мелкий недостающий патч. С кутями аналогично, а значит вместо их новых версий на ПК сойдёт тулкит от микроконтроллеров!

Napilnik ★★★★★
()
Ответ на: комментарий от anonymous

сравнить с http://www.embeddedlightning.com/ugui/, которым реально пользуются.

Как сравнивать с тем, что «temporary unavailable»?

Когда сайт сбоит, можно воспользоваться поиском и с лёгкостью найти µGUI: https://github.com/achimdoebler/UGUI (Смотреть также активные форки с доп. фичами.) Или в более спокойном тоне спросить.

А на него накинулись.

Это мне адресовано? Я не заметил, чтобы накидывался. Перед тем, чтобы что-то начать, производится поиск и анализ существующих решений. И из этого делается вывод, стоит ли делать что-то новое, и что именно оно должно уметь. Человек это проделал. Мне недавно посоветовали µGUI, которой уже активно пользуются. Логично, что сравнение с такой библиотекой было бы очень кстати.

gag ★★★★★
()
Ответ на: комментарий от Manhunt

Ты не привел аргументов.

Ты ослеп? Я раза два повторил, а у тебя пластинку заело что ты ничего не видишь. Так что это ты не привел ответов.

MuZHiK-2 ★★★★
()
Ответ на: комментарий от anonymous

Можете подсказать по следующему вопросу?

можем

Что под эти подразумевается?

Программирование микроконтроллеров :) Написание кода на С, компилирование его в прошивку, заливка прошивки в микроконтроллер, мигание светодиодом, ...., PROFIT!!!111

Где для «баловства» можно купить простейший с дисплеем?

В любом мало-мальски крупном городе есть соответствующий магазинчик, который покупает на Али, накидывает процент и продает всякую муть для ардуинщиков. Если такого нет — есть всякие Авиты, на которых сидят люди, которые покупают на Али, накидывают процент и продают. Ну и, если ты умный парень, то смог уже догадаться, что можно самому взять на али, только подождать немного. Дисплей — понятие растяжимое. Советую, для начала, возьми парочку ATMega8 в корпусе DIP, безпаячную монтажную млату, набор проводков и USBAsp программатор. Все это на ура работает под онтопиком. Цена вопроса — тыща. Руководств в интернаетах — сотни. Осиль полностью восьмую мегу и, если запала хватит — добро пожаловать в электронику, а если нет — ты просрал всего лишь тыщу да и то не безвозвратоно.

Arduino, или есть что подешевле?

ATMega8 60 руб. USBAsp — 150 руб. Набор проводков — 150 руб, беспаячная плата 100 руб. Еще сразу нужны резисторы по 30 коп./шт и светодиоды - 10 руб/шт. Потом можешь и текстовый деисплей за 200 взять. А совсем потом и графический с тачскрином за 1000.

Ардуину не бери. Дорого и есть шанс остаться сраным ардуинщиком на всю жизнь.

И для программирования гугли avr-gcc, avrdude

pihter ★★★★★
()
Ответ на: комментарий от A-234

Я так понимаю у проекта один разработчик, откуда там CI возьмется?

ААА!! Третье сообщение! Что за Хлор? Штоэтатакое? В двух словах, если не сложно )

// я из деревни просто, не серчайте )

pihter ★★★★★
()
Ответ на: комментарий от anonymous

А вообще, забавно: человек выложил то, что считает потенциально полезным. А на него накинулись. Не нравится — проходи мимо.

Тут так принято. Половина народа неадекватные какие-то. То, что предложил ТС — опенсорс в чистом виде. Показал, вот, мол, я нагородил как смог, пользуйтесь, критикуйте (конструктивно, а не ну все, теперь ГТК хана), присылайте, как говорится, патчи.

Автору — успехов. Когда будет нужда в ГУИ для старших МК — назло всем хейтерам обращусь именно к этой либе! Спасибо за труд

pihter ★★★★★
()
Ответ на: комментарий от peregrine

Мало было велосипедов, а теперь ещё одним больше стало.

Любой человек имеет право сколхозить велосипед и опубликовать его под МИТ! Больше велосипедов, хороших и разных! Опенсорс тем и жив

pihter ★★★★★
()
Ответ на: комментарий от BceM_IIpuBeT

Откуда у тебя звезды!?

Не смотри ты на них. Звезды — показатель активности, а не адекватности. Можешь у него спросить про атомы или теорию относительности — а мы посмотрим )

pihter ★★★★★
()

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

Для этой фразы есть общепринятое сокрашение: NIH

bender ★★★★★
()

Запустится на 1) ардуине? 2) pic32?

bender ★★★★★
()
Ответ на: комментарий от theNamelessOne

Ну а смысл какой? Если ты не взаимодействуешь с другими разработчиками твои релизы это твой внутренний процесс не зависящий ни от кого. Интегрировать что во что вы собрались? Свой собственный код в свой собственный проект? У вас с этим возникают проблемы решаемые непрерывной интеграцией? Мне себе такое представить сложно.

A-234 ★★★★★
()

библиотека графического интерфейса для микроконтроллеров
не должно быть сложнее, чем с использованием WindowsForms

Тонко конечно:) Ждем окон и панели задач.

TheMixa ★★★
()
Ответ на: комментарий от anonymous

Я тут как то пытался понять МК, вобщем у ардуины есть своя ОС, которую зовут загрузчиком, под которую собственно и сделан офф-сот, можно писать по спекам на атмегу на чём угодно и затереть ОСь за ненадобностью

Satou ★★★★
()
Ответ на: комментарий от pihter

Смотри, тебе нужны

1) 2 6dof манипулятора, один - который будет доставать платки дискавери из коробки и выкидывать платы с изношенным флешем, второй - подключать к пинам экран. Третий - втыкает юсб, там достаточно одного шарнира с сервоприводом и одной степенью свободы

2) Камера, которая будет фотографировать экран

3) Система распознавания образов которая с этого экрана будет анализировать фото и определять прошли ли тесты или нет.

4) При каждом коммите код заливается в дискавери, прогоняются тесты, камера фотографирует экран, выносится вердикт коммиту.

5) При окончании циклов перезаписи у МК манипулятор выдергивает усб, второй отсоединяет экран, третий - выкидывет плату в мусорное ведро, после чего достает из коробки новую и в обратном порядке - подключить экран, воткнуть усб, залить прошивку, прогнать тесты.

anonymous
()
Ответ на: комментарий от Satou

вобщем у ардуины есть своя ОС, которую зовут загрузчиком

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

anonymous
()
Ответ на: комментарий от Satou

Я тут как то пытался понять МК, вобщем у ардуины есть своя ОС, которую зовут загрузчиком, под которую собственно и сделан офф-сот, можно писать по спекам на атмегу на чём угодно и затереть ОСь за ненадобностью

Ты бака и все неправильно понял. Загрузчик - это штука которая заливает прошивку по усб без программатора, оси на ардуине нет - только нубские «библиотеки», представляющие собой прилинкованные исходники при сборке.

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

anonymous
()
Ответ на: комментарий от anonymous

Ты бака и все неправильно понял.

Шито поделать, ардуина с али пришла, а usb2uart нет, вот так и заглохло всё, да и азарт уже пропал, жду следующего прихода вдохновения и посылки ^_^

Satou ★★★★
()
Ответ на: комментарий от Satou

Купи в комп магазине PCI-E плату с компортом.

anonymous
()
Ответ на: комментарий от Manhunt

Для маленького, развиваемого в одиночку проекта, это бессмысленная обуза.

Почему? Настроить какой-нибудь травис очень легко. Тем более, что проект не для себя, а другим использовать предлагается, а так сразу видно будет, что хотя бы собирается.

DarkEld3r ★★★★★
()
Ответ на: комментарий от Ford_Focus

на ресурсе вроде уже почти 7 лет и до сих пор не знаком особенностями поцыента MuZHiK-2?

И давно в твоей больничке за тестируемый софт в палаты кладут?

MuZHiK-2 ★★★★
()
Ответ на: комментарий от MuZHiK-2

Угу. С тех самых пор как узнали, что тестирование для МК практически никак не автоматизируется по причине наличия внешней железяки, и необходимости прошивания оной.

anonymous
()
Ответ на: комментарий от anonymous

Я, конечно, не сильный эксперт в МК, но может тогда ты объяснишь, что делают эти люди: http://xpcc.io/guide/testing/ ?

Как минимум сборку под разными платформами/компиляторами тестировать точно можно, я уже молчу про логику, которая не взаимодействует с железом.

MuZHiK-2 ★★★★
()
Последнее исправление: MuZHiK-2 (всего исправлений: 1)

А как оно работает-то вообще с зоопарков вариантов вывода видео?

buddhist ★★★★★
()
Ответ на: комментарий от BceM_IIpuBeT

Откуда у тебя звезды!?

За мудрые комментарии выросли.

Napilnik ★★★★★
()
Ответ на: комментарий от Satou

ардуина с али пришла, а usb2uart нет, вот так и заглохло всё

Я по ардуинам не спец, но разве там нет usb-uart преобразователя прям на плате? Программатор точно есть, он же, насколько я понимал и в уарт умеет

pihter ★★★★★
()
Ответ на: комментарий от Ford_Focus

на ресурсе вроде уже почти 7 лет и до сих пор не знаком особенностями поцыента

Просто я не очень умный )

pihter ★★★★★
()

чё за барышня? особенно в контексте слова gui.

buratino ★★★★★
()
Ответ на: комментарий от Pinkbyte

Я не знаю, что такое реддит, но вчера видел новость, что его основатель женился на Серене Вильямс. По-моему, это должно объяснять вообще всё.

buratino ★★★★★
()
Ответ на: комментарий от buratino

лучше рабочий проект от практика, чем сферический идеал от теоретика

Да я заметил, что по всему миру софт только практикантами и пишется.

MuZHiK-2 ★★★★
()
Ответ на: комментарий от MuZHiK-2

Да я заметил, что по всему миру софт только практикантами и пишется.

да пусть хоть кухарками пишется - лишь бы дебилов, типа тебя, держать подальше

buratino ★★★★★
()
Ответ на: комментарий от buratino

да пусть хоть кухарками пишется - лишь бы дебилов, типа тебя, держать подальше

Вот типичный пример неадекватов, клепающих кучу неюзабельных поделок.

MuZHiK-2 ★★★★
()
Ответ на: комментарий от MuZHiK-2

всё то оно так, и ты, конечно, совершенно прав. только сначала отсоси, милашка

buratino ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.