-
Data: 2010-12-29 14:22:33
Temat: Re: Jak pisać GUI
Od: brak <b...@b...pl> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- Wkrętarki, wiertarki...
- Zasilacz impulsowy 12V 10A, coś godnego uwagi jako zamiennik akumulatora wkrętarki
- Mouser - koszt wysyłki
- [OT] Jak wycinac ksztalt w piance lub styropianie?
- FV--> ciepła woda w kranie
- Szok
- Dziwny schemat wzmacniacza m.cz.
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- CGNAT i ewentualne problemy
- wzmacniacz mocy
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- Propagation velocity v/c dla kabli RF
- Jakie natynkowe podwójne gniazdo z bolcem (2P+PE)
- Czujnik nacisku
- Protoków komunikacyjny do urządzenia pomiarowego
Najnowsze wątki
- 2025-06-26 Re: Recykling akumulatorów
- 2025-06-26 Re: Recykling akumulatorów
- 2025-06-26 Inwentaryzacja budynku
- 2025-06-26 Warszawa => Developer Microsoft Dynamics 365 Finance & Operations (D36
- 2025-06-26 Warszawa => Strategic Account Manager <=
- 2025-06-26 Warszawa => Specjalista rekrutacji IT <=
- 2025-06-26 Re: Zatonął kolejny statek wiozący 800 palnych elektryków
- 2025-06-26 Warszawa => C Programmer <=
- 2025-06-26 Karty mBąka.
- 2025-06-26 Traktorek do trawy na prund
- 2025-06-26 Warszawa => Specjalista/tka ds. Administracji <=
- 2025-06-25 klawiatura podświetlana zasilana z sieci
- 2025-06-25 Gdańsk => Programista Mainframe (z/OS, Assembler) <=
- 2025-06-25 Warszawa => Konsultant Wiodący SAP PP <=
- 2025-06-25 Warszawa => Leading SAP PP Consultant <=