Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 2 gru 2024, o 20:51


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 1 ] 
Autor Wiadomość
 Tytuł: virtualLCD
PostNapisane: 12 gru 2014, o 03:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 kwi 2013
Posty: 187
Lokalizacja: Kobiernice
Pomógł: 13

Obrazek

Virtual LCD jest przykoksowaną wersją mojego starszego projektu Virtual OLED.

Teraz każdy może mieć swój własny wirtualny wyświetlacz! Aby go utworzyć trzeba:
- załadować obrazek a następnie określić, gdzie na nim znajduje się wyświetlacz
- podać parametry wyświetlacza, takie jak liczba kolorów, rozdzielczość (można też ustawić parametry wybierając sterownik)
- następnie dobiera się kolory tła, pikseli (jeśli wyświetlacz jest monochromatyczny)
- należy podać nazwę wyświetlacza oraz jego sterownik
- jeśli mam 2 obrazki przedstawiające ten sam wyświetlacz, albo (jak na przykładzie z filmiku) mamy te same wyświetlacze różniące się kolorem wyświetlanych pikseli to należy ustawić ten sam sterownik - będzie je można uruchamiać jednocześnie
- ostatnie okno służy do ustawienia biblioteki do obsługi UARTA, bo właśnie tym interfejsem procek komunikuje się z programem

Można uruchamiać kilka wyświetlaczy z tym samym sterownikiem, każdemu wyświetlaczowi przydzielić 1 z 10 portów. No, teraz można się pobawić :)
Można też ustawić sobie obrazek jako tapetę/tło.

Biblioteka do obsługi wyświetlacza składa się z podstawowych funkcji. Na przykładzie sterownika do nokii3510i:


void n3510iInit(uint8_t portNumber); - Funkcja do inicjalizacji danego wyświetlacza. Jeśli mamy kilka wyświetlaczy na różnych portach to każdy trzeba zainicjalizować oddzielnie

void n3510iPixelOn(int x, int y, uint8_t color); - wyświetlanie piksela. Dla wyświetlaczy monochromatycznych podaje się tylko współrzędną x i y. Przy wyświetlaczach kolorowych wygląda to następująco:
256 kolorów - wysyłany 1 bajt w którym zakodowane są 3 kolory bazowe RRRGGGBB. Dla tego trybu dodana jest specjalna funkcja getColor
65tys i 16mil kolorów - jako argumenty funkcji podaje się najperw współrzędne x i y piksela a następnie każdy z kolorów składowych R G i B w zakresie 0 - 255

void n3510iPixelOff(int x, int y); - gaszenie piksela

void n3510isetPortNumber(uint8_t portNumber); - jeśli uruchamiamy wyświetlacze na różnych portach to tą komendą przełączamy aktywny wyświetlacz

uint8_t getColor(uint8_t colorR, uint8_t colorG, uint8_t colorB); - ta funkcja dostępna jest tylko dla wyświetlaczy z 256 kolorami. Zwracaną wartość można wstawić bezpośrednio do funkcji wysyłającej piksel. Przykład: n3510iPixelOn(10,20, getColor(255,0,0)); - zapalenie piksela o współrzędnych 10,20 na czerwono

Możliwości vLCD przedstawione zostały na filmiku. Zapraszam na 12 minut chipowej muzyki



Do działania wymagany jest .NET Framework 4.0

przeedytowałem lekko wcześniejszy post, o 3 w nocy nie myśli się już całkowicie trzeźwo

Dokładniejszy opis do znajduje się na moim blogu


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.

_________________
zapraszam na bloga http://bakcyl8bit.blogspot.com/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 1 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO