Podstawą ekosystemu jest środowisko TouchGFX Designer, które w praktyce łączy podejście typu WYSIWYG (ang. What You See Is What You Get) z automatyczną generacją kodu, który w czytelny sposób opisuje język C++. Dzięki temu, możliwością staje się przejście od koncepcji interfejsu do działającego prototypu - bez konieczności ręcznego implementowania każdego elementu graficznego. Narzędzie wspiera przy tym cały proces projektowy - od szkiców UI, po symulację i wdrożenie na docelowym mikrokontrolerze.
Jedną z najważniejszych zmian w nowszych wersjach TouchGFX jest stopniowe rozszerzanie biblioteki widgetów, a także możliwości ich konfiguracji. Już w wersji 4.24 wprowadzono m.in. widget kodów QR oraz kompresję obrazów RGB - dla różnych formatów framebufferów, co zdecydowanie pozwala ograniczyć zajętość pamięci i w efekcie jest rozstrzygające, kiedy jest mowa o systemach embedded i zasobach RAM oraz Flash w nich dostępnych - nie mówiąc o rosnących oczekiwań dotyczących jakości interfejsu.
Kolejne aktualizacje przyniosły także usprawnienia w samym edytorze. Jakie? Otóż w wersji 4.25 poprawiono wydajność działania środowiska oraz ograniczono zjawisko „zawieszania się” interfejsu podczas pracy nad projektem. Dodano również nowe opcje konfiguracji, takie jak kontrola cache dla bitmap tekstowych i polepszony mechanizm importu komponentów. W praktyce oznacza to płynniejszą pracę i krótszy czas iteracji projektu.
Nie bez znaczenia są również zmiany "pod maską" - w nowszych wersjach zapewnia się silnik graficzny, który obsługuje akcelerację sprzętową dostępnych w sprzedaży układów STM32 (np. GPU2D/NeoChrom) . Dzięki temu, możliwe jest renderowanie bardziej zaawansowanych efektów graficznych, takich jak: animacje, czy grafika wektorowa - przy zachowaniu wysokiej wydajności. Już wcześniejsze aktualizacje wprowadziły m.in. obsługę czcionek wektorowych i lepsze wykorzystanie akceleracji sprzętowej dla operacji graficznych.
Warto zwrócić uwagę także na rozwój kompatybilności i narzędzi towarzyszących. TouchGFX nadal jest powiązany z ekosystemem STM32Cube - w tym z narzędziem STM32CubeMX, co umożliwia równoległe projektowanie warstwy aplikacyjnej i graficznej w jednym środowisku. Co więcej, framework zachowuje również wsteczną kompatybilność - starsze projekty można zazwyczaj bez większych problemów można migrować do nowszych wersji, co jednoznacznie ułatwia utrzymanie długoterminowych produktów.
Najnowsze wydania TouchGFX, w tym 4.26, kładą znaczący nacisk na nowoczesne narzędzia deweloperskie - dodano m.in. wsparcie dla kompilatora Clang, co podwyższa elastyczność środowiska i ułatwia jego integrację z nowoczesnymi toolchainami - to sygnał, że TouchGFX rozwija się nie tylko jako narzędzie do projektowania UI, ale jako pełnoprawna platforma dla nowoczesnych systemów embedded.
Podsumowując, rozwój TouchGFX wyraźnie zmienia sposób budowy interfejsów użytkownika na mikrokontrolerach STM32. Dzięki rosnącej liczbie gotowych komponentów, automatyzacji generowania kodu oraz znacznym optymalizacjom wydajnościowym, możliwe jest tworzenie zaawansowanych, "smartfonowych" GUI nawet na relatywnie prostych układach. W praktyce oznacza to przesunięcie ciężarów pracy z niskopoziomowej implementacji na projektowanie doświadczenia użytkownika - a to jest jedna z najważniejszych zmian, jakie zaszły w świecie embedded w ostatnich latach.
Więcej informacji pod adresem: masters.com.pl