Strony

poniedziałek, 19 grudnia 2011

Pixel Factory - kombajn narzędziowy dla LCD i nie tylko

Witam, 

W związku z tym iż zająłem się głębiej wyświetlaczami graficznymi w tym matrycowymi oraz LCD (TFT color), zmuszony byłem przygotować sobie narzędzie do wygodnego generowania fontów graficznych różnej maści. 

Dlatego chciałbym przedstawić program "Pixel Factory". Jest to kompletny program w zakresie tworzenia nie tylko fontów graficznych w postaci gotowych plików do zainkludowania do kompilatora języka C ale można także wygenerować fonty binarne. 



Program doczekał się już najnowszej oficjalnej wersji - zapraszam więc także tutaj:


Pixel Factory - generator fontów graficznych LCD (do C) 

Jak widać na obrazku, po lewej stronie można wpisać sobie tylko te teksty, które używamy na własnym ekranie LCD w mikrokontrolerze, a program wygeneruje nam TYLKO obrazy graficzne tych fontów do znaków które zostały użyte!!! Widać to w czerwonej ramce. Dzięki temu prezentacja graficzna takiego fontu zajmuje w pamięci mikrokontrolera tak mało jak to jest tylko możliwe Wink 

Pixel Factory - generator fontów graficznych LCD (do C) 

Na powyższym obrazku widać, że jeśli np chcemy font w takiej postaci jak na typowych wyświetlaczach 7-segm. LED - to wystarczy zassać taki font do Windows i proszę bardzo wybieramy go z listy i generujemy dla naszego własnego wyświetlacza. Później wygląda to w rzeczywistości mniej więcej tak jak w tym temacie: 

http://www.elektroda.pl/rtvforum/viewtopic.php?t=2094762&highlight= 

Pixel Factory - generator fontów graficznych LCD (do C) 

Poza tym można sobie wybierać swobodnie różne style fontu oraz jego rozmiar dowolny jak niżej: 

Pixel Factory - generator fontów graficznych LCD (do C) 

Generalnie program generuje nam dwa pliki dla języka C. Jeden to plik zawierający same definicje fontów a drugi to plik nagłówkowy. Pierwszy plik, poza tablicą zawierającą hexadecymalne wartości obrazu każdego znaku, pokazuje także ładnie w kodach ASCII za pomocą znaków # obraz tegoż znaku dla oka Wink 

W dalszej kolejności w pliku mamy tablicę deskryptorów czyli taką tablicę typu lookup, z której odczytujemy już spokojnie wg kodu ASCII danego znaku jego szerokość w pixelach oraz miejsce w poprzedniej tablicy. Na końcu zaś tego pliku mamy jedną strukturę w której umieszczone są wszystkie informacje o danym foncie. Dzięki takiemu podejściu można bardzo szybko je wyświetlać w kodzie programu no i zajmują bardzo mało miejsca. 

Żeby jeszcze polepszyć, można sobie wygenerować font bezpośrednio do plików binarnych które można umieścić np bezpośrednio na karcie pamięci SD i to z niej odczytywać obrazy fontów. Działa spokojnie i rewelacyjnie szybko. Chociaż wiadomo, że jeśli to duży font to będzie pewne spowolnienie do tych wczytywanych z Flash. Ale to już można dopasować wg założeń projektu. 

Na koniec jeszcze zakładka ustawienia, nad którą jeszcze pracuję tak aby można było sobie zapisywać profile i tak zmieniać parametry żeby programu można było używać nie tylko do AVR GCC, nie tylko CodeVision ale także w ogóle dla innych mikrokontrolerów jak PIC, czy ARM itp 


Pixel Factory - generator fontów graficznych LCD (do C) 

Cały program został napisany w Delphi i oczywiście udostępniam jego pierwszą wersję w pełni poniżej w załączniku. 

Dodam, że pomysł na taki program zaczerpnąłem gdzieś z internetu, tzn głównie ideę generowania fontów, bo program napisałem całkowicie od nowa i swój własny, dodając już w obecnej chwili nowe możliwości w porównaniu do tego z netu. I co ważne, mój program w pełni prawidłowo generuje fonty z polskimi literkami/ogonkami. A tamten miał z tym poważne problemy.... Tylko nie pamiętam już nazwy tamtego programu bo dość dawno go namierzyłem i kiedyś w nim trochę próbowałem działać. 

Jak widać, w programie są jeszcze kolejne zakładki, w których jak mi starczy czasu i sił powstaną jeszcze kolejne ciekawe możliwości jeśli chodzi o narzędzie do wygodnego programowania wyświetlaczy graficznych wszelkiej maści. Od zwykłych matrycowych LED, poprzez LCD mono aż po kolorowe TFT LCD.





3 komentarze:

  1. Dla tych, który wcześniej pobrali wersję do testowania, INFO - można pobrać nowszą z poprawionymi wieloma błędami ale też unowocześnieniami ;)

    OdpowiedzUsuń
  2. Pomimo dostępu do internetu, wyłączenia zapory i firewalla program zamyka się po kilku sekundach. Około miesiąc temu działał. Co jest nie tak?

    OdpowiedzUsuń
    Odpowiedzi
    1. Zbliża się dużymi krokami finalna wersja programu. To co działało do tej pory było tylko jego namiastką. Niestety wszystkie dotychczasowe wersje przestaną działać, gdyż program będzie licencjonowany. Będzie można nabyć 2 rodzaje licencji:

      1. normalna odpłatna - zakup w sklepie internetowym www.sklep.atnel.pl. Ceny jeszcze nie znam - do użytku komerycjnego.

      2. licencja z drugą częścią książki, czyli każdy nabywca drugiej części książki dodatkowo gratis otrzyma identyczną licencję i także do użytku komercyjnego

      przynajmniej takie są na tym etapie plany. Jak będzie na samym końcu to jeszcze zobaczymy - no ale już jest ten czas, że mogę o tym wspomnieć.

      Usuń