Hi all,
Working with an SSD1283A 130*130 TFT display the graphical part is no problem: text, lines, circles, squares, triangles and the like. This is done using the <LCDWIKI_SPI.h> library. An example can be seen atmy arduino projects at thesolaruniverse.wordpress.com.
The next step in this adventure is to display pictures. I am intentionally powering the TFT with an Arduino Nano, so limitations apply.
I prepared with LCD-image-converter a 90x90 pixel 8-bit monochrome bitmap array. The sketch places the c array in pgmspace, and the display should display the image. However, instead of a 90x90 Donald Duck the display produces 90x90 pixel gibberish.
the constructor for my display is:
LCDWIKI_SPI mylcd(SSD1283A,10,9,8,A3); // hardware spi,cs,cd,reset
the constructor that attempts to print to TFT is:
mylcd.Draw_Bit_Map (5, 5, 100, 100, duck_90_bitmap[1200],1);
Here is the complete sketch:
// Nano_90x90_TFT_duck_90x90_progmem_nn
#include <LCDWIKI_GUI.h> //Core graphics library
#include <LCDWIKI_SPI.h> //Hardware-specific library
#include <avr/pgmspace.h>
#define MAGENTA 0xF81F
LCDWIKI_SPI mylcd(SSD1283A,10,9,8,A3); // hardware spi,cs,cd,reset
const uint8_t duck_90_bitmap[1200] PROGMEM = {
0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
... and alot hex stuff .... left out to save space ...
0x44, 0x09, 0x00, 0x94, 0xa1, 0xdb, 0x6e, 0xde, 0x7f, 0xff, 0xff, 0xc0
};
void setup() {
Serial.begin (9600);
mylcd.Init_LCD();
mylcd.Fill_Screen (MAGENTA);
Serial.println ("in setup starting to draw bitmap");
mylcd.Draw_Bit_Map (5, 5, 100, 100, duck_90_bitmap[1200],1); // draw the bitmap on the TFT display
}
void loop()
{
}
I've succeeded in producting correct 90x90 bitmap display of this array on a ST7789 1240X240 display driven by the <Arduino_ST7789.h> library, but the SSD1283A is a different baby!
Sketch is attached (would exceed 9,000 characters in message limit)
Help! Any suggestions?