-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: brak <b...@b...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: Jak pisać GUI
Date: Wed, 29 Dec 2010 15:22:33 +0100
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 59
Message-ID: <iffg79$p5f$1@inews.gazeta.pl>
References: <3...@m...googlegroups.com>
NNTP-Posting-Host: 217.153.153.214
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-2
Content-Transfer-Encoding: 8Bit
X-Trace: inews.gazeta.pl 1293632553 25775 217.153.153.214 (29 Dec 2010 14:22:33 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Wed, 29 Dec 2010 14:22:33 +0000 (UTC)
X-User: cepu69
User-Agent: KNode/0.10.9
Xref: news-archive.icm.edu.pl pl.misc.elektronika:601935
[ ukryj nagłówki ]Konop wrote:
> Witam
>
> Ma ktoś jakieś doświadczenie w pisaniu *prostego* GUI dla
> mikrokontrolerów z wyświetlaczem dotykowym monochromatycznym?
Watpie, zasadniczo to widze dwie drogi :
1. Jak w poscie ponizej - statyczny obrazek w postaci mapy bitowej oraz
napisane z palca psedo-widgety typu np. 3 cyfry w stalym miejscu ( nie ma
mowy o zadnych oknach a tym bardziej historiach typu mysz, przesuwanie
okien czy zdarzenia).
2. Uzycie istniejacego mikro-GUI - patrz ponizej.
> Potrzebuję zrobić coś takiego (rysowanie przycisków, okienek, bitmap
> itp) na podstawie istniejących funkcji (linia, bitmapa, tekst) no i
> nie wiem, w jakiej strukturze najlepiej to zorganizować, żeby łatwo
> było to wyświetlać, tworzyć jak i obsługiwać ("kliknięcie")? System
> pracuje pod FreeRTOS'em, piszę w C. Trzeba zapewne stworzyć listę
> obiektów, np. w kolejności rysowania... Ale jak to zrobić, żeby się
> później nie narobić?? Problemy które widzę, to:
> -elementy są różnego typu, każdy posiada inne cechy szczególne...
> -trzeba jakość obsłużyć "klikanie" na element, a różne elementy są
> obsługiwane przez różne wątki...
> -nie wiem, czy przydatna nie byłaby pewna hierarchiczność zaszyta w
> tej strukturze (możliwość usunięcia, przesunięcia, ukrycia całej grupy
> elementów).
>
> Ja to widzę tak - tworzę listę elementów, każdy element opisuje:
> - położenie i rozmiar (X,Y,W,H)
> - typ obiektu (bitmapa, tekst, przycisk...)
> - wskaźnik na kolejkę (queue), do której należy wysłać informację np.
> o kliknięciu na dany element
> - wskaźnik do dodatkowych ifnformacji o danym elemencie...
> - wskaźnik na następny element
> Tylko, że nie wiem, czy to najlepsze wyjście... może lepiej to trochę
> pozmieniać? Może mniej danych wystarczy, może przyda się więcej?? Wolę
> sobie wcześniej zaprojektować taką strukturę, niż potem wszystko robić
> trzykrotnie... Bo się okażę, że czegoś nie przewidziałem, że apetyt
> rośnie w czasie jedzenia itp itd...
>
> Będę wdzięczny za wszelkie uwagi do mojego pomysłu :).
Po lekturze powyzszych wymagan moge stwierdzic iz to "proste" GUI w
implemntacji bedzie calkiem rozbudowanym projektem.
Zasadniczo w takej systuacji polecam wykorzystanie istniejacego tworu lub
chociaz spojrzenie pt. "Jak to robia inni" aby uniknac wywazania otwartych
drzwi.
Jakis czas temu poszukiwalem jakiegos embedded GUI i z projektow open source
jak na razie znalazlem tylko Nano-X -> http://www.microwindows.org/ ale
obawiam sie iz port dla FreeRTOS'a bedzie wyzwaniem - jest on oparty o
architekture klient-serwer co powoduje iz komunikacja odbywa sie przez
sockety BSD na localhostcie :)
Z komercyjnych ciekawie wyglada C/PEG ->
http://swellsoftware.com/products/cpeg.php aczkolwiek tez ne ma portu dla
FreeRTOS'a.
Polecam tez spojrzec na GUI systemiku Contiki -> http://www.sics.se/contiki/
oraz biblioteke graficzna PW dla wyswietlaczy monochromatycznych ->
http://sourceforge.net/projects/pwlib/ (jest on blizsza "podejsciu
mikrokontrolerowemu" niz Nano-X).
Następne wpisy z tego wątku
- 29.12.10 15:18 Zbych
- 29.12.10 15:55 Konop
- 29.12.10 16:11 Konop
- 29.12.10 17:04 WoW
- 30.12.10 00:38 Adam Dybkowski
- 30.12.10 10:32 WoW
- 30.12.10 22:07 Adam Dybkowski
- 30.12.10 22:36 Jarosław Sokołowski
- 31.12.10 07:40 Sławomir Szczyrba
Najnowsze wątki z tej grupy
- Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- Pendrive zdycha, czy coś jeszcze innego? Problem z plikami.
- Odkurzacz Smapp Dynamic - dawny Zelmer
- Nagra IV i zewnętrzny pilot
- Fejk muzyczny czy nie fejk
- Raspberry Pi 3 Model B+
- Kuchenka elektryczna
- test
- Cewka elektrozaworu
- zapytanie o chip r5f21275nfp
- nie naprawiam więcej telewizorów
- Zrobił TV OLED z TV LCD
- Zasilacz USB na ścianę.
- Gniazdo + wtyk
- Aliexpress zaczął oszukiwać na bezczelnego.
Najnowsze wątki
- 2025-03-20 Grubość socketa AM4+procesor
- 2025-03-20 Środa Wielkopolska => Konsultant wewnętrzny SAP FI/CO <=
- 2025-03-20 Warszawa => Senior Programmer C <=
- 2025-03-20 Re: Dlaczego tak odstają od Tesli?
- 2025-03-20 Greenpeace została zobowiązana do zapłaty niemal 667 mln dolarów [USA,wyrok sądu]
- 2025-03-20 Re: Dlaczego tak odstają od Tesli?
- 2025-03-19 Brak ograniczeń dla chińskiego kapitału - wam nie do rządu, tylko na zmywak do chińskiej knajpy!!!
- 2025-03-19 Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- 2025-03-19 szal-Unia == federacja policyjna
- 2025-03-19 Polsza == państwo policyjne
- 2025-03-19 Grzegorz Płaczek o programie szczepień dzieci. ,,Stworzono eldorado dla firm farmaceutycznych"
- 2025-03-19 Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- 2025-03-19 Gemini
- 2025-03-19 Mokry sen Zenka :)
- 2025-03-19 Re: Dlaczego tak odstają od Tesli?