Le GC9A01A a un registre MADCTL (adresse 0x36) dans lequel on peut définir l'organisation de la matrice.
Le bit D3 permet d'indiquer l'ordre des couleurs dans le pixel
Certains driver possède une méthode pour changer ce paramètre. Sinon il faut le coder.
Je ne sais pas où tu as trouvé le driver que tu utilises mais Adafruit Industries n'a pas de driver nommé Adafruit_GC9A01A dans son dépot.
Pour les couleurs commentées, le problème est le même : je veux du jaune et il m'affiche du bleu !
Quand a Adafruit_GC9A01A, je trouvé le lien sur DroneBot cité plus haut.
je crois bien que fdufnews a trouvé la solution avec le bit D3 : mais quel est le code pour pour mettre D3 = 1 qui correspond au bon ordre des couleurs RGB ?
Une idée comme ça, je ne suis pas très sûr, mais ça peut se tester.
quand on regarde le code de la bibliothèque que tu utilises on voit :
#define MADCTL_RGB 0x00 ///< Red-Green-Blue pixel order
#define MADCTL_BGR 0x08 ///< Blue-Green-Red pixel order
donc, le problème est prévu.
Plus loin, dans la fonction setRotation, on trouve uniquement référence à MADCTL_BGR comme si c'était la valeur par défaut.
Je pense que si tu édites le fichier Adafruit_GC9A01A.cpp sur ton PC (répertoire Arduino/libraries/Adafruit_GC9A01A) et que tu changes MADCTL_BGR en MADCTL_RGB dans les lignes 227 et 242, puis que tu recompiles, ça devrait fonctionner.
Il te faudra bien sûr appeler la fonction setRotation avec un argument entre 0 et 3 selon l'orientation que tu veux.
Si non, il te suffit de rechanger dans l'autre sens.
A tester...