Sposób na zaawansowane graficzne interfejsy użytkownika w mikrokontrolerach o małej mocy obliczeniowej

Sposób na zaawansowane graficzne interfejsy użytkownika w mikrokontrolerach o małej mocy obliczeniowej

Realizacja złożonych interfejsów dotykowych, podobnych do tych występujących w smartfonach, wymaga zwykle układu o znacznej mocy obliczeniowej. Chcąc obejść ten problem i umożliwić realizację takich GUI na prostszych, energooszczędnych mikrokontrolerach, firma Mjolner Informatics opracowała bibliotekę TouchGFX. Może ona być uruchomiona na różnych platformach sprzętowych, między innymi na mikrokontrolerach EFM32 Giant Gecko firmy Energy Micro z rdzeniem ARM Cortex-M3.

Biblioteka TouchGFX została napisana obiektowo w C++ i pozwala na realizację złożonych interfejsów z obsługą gestów, animacjami i mieszaniem kolorów z przezroczystością (alpha blending). Pozwala też na wyświetlanie grafiki bitmapowej z użyciem DMA oraz wygładzanie (antyaliasing) tekstu. Interfejsy są konstruowane z użyciem kontenerów i pozycjonowania względnego. TouchGFX obsługuje ekrany rezystancyjne i pojemnościowe o dowolnym rozmiarze i formacie. Biblioteka jest w pełni niezależna od platformy, gdyż nie wykorzystuje bibliotek standardowych, STL czy Boost i jej kod można łatwo portować, co zostało już przetestowane na kilku mikrokontrolerach z rdzeniami ARM7 i Cortex-M3. Producent chwali się małą objętością kodu i zapotrzebowaniem na pamięć, nie podaje jednak konkretnych liczb.

Mikrokontrolery EFM32 Giant Gecko, które posłużyły jako pierwsza platforma demonstracyjna dla biblioteki TouchGFX, są oparte na rdzeniu ARM Cortex-M3 oraz wyposażone w Direct Drive TFT. Jest to specjalny kontroler dla ekranów dotykowych o przekątnej ekranu do 3,5 cala i odciążający rdzeń nawet przy wysokich częstotliwościach odświeżania, co skutkuje obniżeniem zużycia energii.

Szczegółowe informacje dotyczące platformy TouchGFX można znaleźć na stronie www firmy Mjolner.

 

O autorze