Zerknąłem na bibliotekę.
Tak na szybko:
1) biblioteka obsługuje kilka sterowników: ILI932x (obstawiam, że x oznacza kilka sterowników), HX8347G, ILI9341, HX8357, HX8357B, HX8357D.
2) w pliku registers.h masz rozpisane adresy rejestrów dla poszczególnych sterowników
3) w pliku pin_magic.h masz przypisanie pinów do wyświetlacza i funkcje wysyłania/odbierania danych. I delay na instrukcjach ASM.
UWAGA! Z tego, co widzę, wszystko jest pisane jako makra preprocesora! Żeby wymusić wstawienie ich inline. Nie wiem, czy to dobre rozwiązanie, no ale biblioteka jest pod arduino, więc...
4) w pliku Adafruit_TFTLCD.h masz deklarację klasy Adafruit_TFTLCD. Nie pamiętam z c++, co znaczy taki zapis:
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
, może ktoś podpowie

może to dziedziczenie?
Klasa w c++ to... taka rozbudowana struktura, gdzie oprócz zmiennych są też funkcje działające na tych zmiennych. I zmienne i funkcje mogą być publiczne (public), prywatne (private) albo chronione (?)(protected). Publiczne są dostępne z poza klasy, prywatne nie, a te trzecie to sam nie wiem

Klasa zawiera funkcję, która nazywa się tak jak klasa i jest to konstruktor. Przy tworzeniu zmiennej typu klasa, automatycznie wywoływany jest konstruktor. Na przykład po to, żeby uzupełnić pola klasy konkretnymi wartościami.
W c++ istnieje coś takiego jak przeciążenie funkcji. Oznacza to, że może istnieć kilka funkcji o takiej samej nazwie, a o innych argumentach. I to też tu widać.
W pliku .cpp masz takie dziwne konstrukcje z dwoma dwukropkami. To oznacza, że jest to funkcja z klasy.
Na chwilę obecną nie jestem w stanie przepisać Ci tych funkcji, nie mam na to czasu. Spróbuj powoli sam, pytaj, jak będziesz miał jakiś problem