McuFriend LCD TFT shield e ILI9325: problema Bitmap con colori scorretti risolto.

Nel precedente articolo sulla prova delle librerie per lo shield LCD TFT McuFriend con ILI9325 avevo accennato al fatto che le bitmap venivano visualizzate con colori scorretti.

Avevo ipotizzato che si trattasse di un qualche registro non ben configurato. Contavo anche di effettuare un esperimento visualizzando contemporaneamente tutti i colori possibili ma c’è chi l’ha fatto prima di me e ne ha pubblicato la soluzione sul forum Arduino.

L’utente Magican ha individuato il problema nella rappresentazione dei colori che sembra essere una 555 invece di una 565, cioè tutti i colori sono rappresentati a 5 bit, compreso il verde che nella 565 ha 6 bit a disposizione.

Basta quindi cambiare la funzione che trasforma un colore in RGB 8 bit per canale nel colore RGB555

// Pass 8-bit (each) R,G,B, get back 16-bit packed color
uint16_t Adafruit_TFTLCD::color565fix(uint8_t r, uint8_t g, uint8_t b) {
//  return ((r & 0xF8) << 8) | ((g & 0xFC) << 3) | (b >> 3);
return ((r & 0xF8) << 8) | ((g & 0xF8) << 2) | (b >> 3);
}

Ciò può essere fatto sia direttamente nella libreria che in una funzione da usare nel programma di visualizzazione bitmap. Io ho provato personalmente questa modifica e mi ha funzionato.

Sul forum Arduino c’è un altro utente, David_Prentice, che segnala un problema più grave, a lui il verde ha ulteriori bit bloccati a zero ed è quasi sicuro che non si tratti di problemi dovuti ad un cattivo collegamento del flat. Forse i chip sono difettosi?

Advertisements

One response to “McuFriend LCD TFT shield e ILI9325: problema Bitmap con colori scorretti risolto.

  1. Pingback: Mcufriend LCD TFT shield con ILI9325: Test librerie | zoomxtech

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: