-
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
- Jakie baterie A23 i LR44?
- OLED SSD1306 - degradacja?
- Który symulator AVR jest ,,prawilny"?
- Disk on Module, czym to odczytać?
- Pasta ochronna? Lutownicza?
- zagadka pneumatyczna
- Klip testowy, jak sie to używa
- Jak sie smazy elektronike z odleglosci kilkuset metrów?
- William Shockley, co-inventor of the transistor
- Gazowy kocioł CO regulacja cyklingu i regulacja pogodowa
- Zamek elektroniczny
- szablon do pasty DIY
- Głośnik potrzebny
- Silikonowy przewód ekranowany
- Wtyk bananowy ekranowany
Najnowsze wątki
- 2025-11-21 musimy kupować 25% elektryków czyli MILION samochodów co roku. Jak nie to będzie KARA ;[)
- 2025-11-21 Warszawa => Architekt rozwiązań (Workday) - Legal Systems <=
- 2025-11-21 Białystok => Spedytor Międzynarodowy (handel ładunkami/prowadzenie
- 2025-11-21 Jakie baterie A23 i LR44?
- 2025-11-21 jesienne paragony grozy
- 2025-11-21 Affinity Studio za darmo
- 2025-11-20 OLED SSD1306 - degradacja?
- 2025-11-20 Rzeszów => International Freight Forwarder <=
- 2025-11-20 Warszawa => Senior IT Recruitment Consultant <=
- 2025-11-20 Warszawa => Konsultant Microsoft Dynamics AX/365 SCM Consultant - Serv
- 2025-11-20 Warszawa => Programista Dynamics 365 Commerce/POS <=
- 2025-11-20 Warszawa => Konsultant ERP Microsoft Dynamics 365 Commerce <=
- 2025-11-20 Kraków => Production Coordinator / Representant Product Dev <=
- 2025-11-20 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-11-20 Warszawa => Microsoft Dynamics 365 Finance Consultant <=




Ile kosztują tanie mieszkania w polskich metropoliach?