LCD / TFT / OLED Displays : What works, What Doesn't

@wesner0019, I should be somewhat quick and I’ll take a look tonight.

2 Likes

@wesner0019, did a first cut at the port but the fonts in the demo Eurostile13a and Verdana8 program are nowhere to be found!

@peekay123, below is the verdana8, not a clue where the Eurostile is, if I can find a copy ill generate the font


//int[] Verdana8 = { //:Pxs
 prog_uchar Verdana8[932] PROGMEM = { //:Wiring
0x5A,0x46,0x01,0x0B,0x0C,0x00,0x22,0x00,0x0A,0x05,0x01,0x00,0x01,0x49,0x7F,0x00,0x23,0x00,0x0F,0x09,
0x01,0x01,0x01,0xEB,0xD6,0x06,0xBD,0x60,0x6B,0xD7,0x00,0x20,0x00,0x09,0x04,0x00,0x00,0x80,0x30,0x00,
0x21,0x00,0x09,0x04,0x02,0x01,0x01,0x02,0x00,0x24,0x00,0x0F,0x07,0x01,0x00,0x01,0xDE,0xE0,0xB5,0xC7,
0x5A,0x0E,0xF7,0x00,0x2B,0x00,0x0F,0x09,0x01,0x02,0x01,0xEF,0xDF,0xB8,0x0E,0xFD,0xFB,0xFF,0x00,0x2E,
0x00,0x09,0x04,0x02,0x07,0x01,0x3F,0x00,0x2C,0x00,0x09,0x04,0x01,0x07,0x01,0xA9,0x00,0x2D,0x00,0x09,
0x05,0x01,0x05,0x01,0x1F,0x00,0x33,0x00,0x0D,0x07,0x01,0x01,0x01,0x8B,0xBD,0x9F,0x79,0xD1,0x00,0x32,
0x00,0x0D,0x07,0x01,0x01,0x01,0x8B,0xBD,0xDD,0xDD,0xE0,0x00,0x31,0x00,0x0D,0x07,0x01,0x01,0x01,0xD8,
0xF7,0xBD,0xEF,0x60,0x00,0x30,0x00,0x0D,0x07,0x01,0x01,0x01,0x8B,0x9C,0xE7,0x39,0xD1,0x00,0x37,0x00,
0x0D,0x07,0x01,0x01,0x01,0x07,0xBB,0xDD,0xEE,0xF7,0x00,0x36,0x00,0x0D,0x07,0x01,0x01,0x01,0xCD,0xDE,
0x17,0x39,0xD1,0x00,0x35,0x00,0x0D,0x07,0x01,0x01,0x01,0x03,0xDE,0x1F,0x79,0xD1,0x00,0x34,0x00,0x0E,
0x07,0x00,0x01,0x01,0xF7,0x9D,0x6D,0x74,0x0F,0x7D,0x00,0x39,0x00,0x0D,0x07,0x01,0x01,0x01,0x8B,0x9C,
0xE8,0x7B,0xB3,0x00,0x38,0x00,0x0D,0x07,0x01,0x01,0x01,0x8B,0x9D,0x17,0x39,0xD1,0x00,0x44,0x00,0x0F,
0x09,0x01,0x01,0x01,0x06,0xF5,0xF3,0xE7,0xCF,0x9E,0x83,0x00,0x45,0x00,0x0D,0x07,0x01,0x01,0x01,0x03,
0xDE,0x07,0xBD,0xE0,0x00,0x46,0x00,0x0D,0x06,0x01,0x01,0x00,0x03,0xDE,0x17,0xBD,0xEF,0x00,0x47,0x00,
0x0F,0x09,0x01,0x01,0x01,0xC3,0x79,0xFB,0xF7,0x0F,0xAF,0x61,0x00,0x41,0x00,0x0E,0x08,0x01,0x01,0x01,
0xCF,0x3B,0x6D,0xB4,0x07,0x9E,0x00,0x42,0x00,0x0E,0x08,0x01,0x01,0x01,0x0D,0xD7,0x41,0x79,0xE7,0x81,
0x00,0x43,0x00,0x0F,0x09,0x01,0x01,0x01,0xC3,0x79,0xFB,0xF7,0xEF,0xEF,0x61,0x00,0x4C,0x00,0x0D,0x06,
0x01,0x01,0x00,0x7B,0xDE,0xF7,0xBD,0xE0,0x00,0x4D,0x00,0x0F,0x09,0x01,0x01,0x01,0x38,0x71,0x52,0xA6,
0xCD,0x9F,0x3E,0x00,0x4E,0x00,0x0E,0x08,0x01,0x01,0x01,0x38,0xE5,0x96,0x69,0xA7,0x1C,0x00,0x4F,0x00,
0x0F,0x09,0x01,0x01,0x01,0xC7,0x75,0xF3,0xE7,0xCF,0xAE,0xE3,0x00,0x48,0x00,0x0E,0x08,0x01,0x01,0x01,
0x79,0xE7,0x80,0x79,0xE7,0x9E,0x00,0x49,0x00,0x0B,0x05,0x01,0x01,0x01,0x16,0xDB,0x68,0x00,0x4A,0x00,
0x0C,0x05,0x00,0x01,0x01,0x8E,0xEE,0xEE,0xE1,0x00,0x4B,0x00,0x0E,0x08,0x01,0x01,0x01,0x79,0xD6,0xD7,
0x1D,0xB7,0x5E,0x00,0x55,0x00,0x0E,0x08,0x01,0x01,0x01,0x79,0xE7,0x9E,0x79,0xE7,0xA1,0x00,0x54,0x00,
0x0F,0x07,0x00,0x01,0x00,0x01,0xDF,0xBF,0x7E,0xFD,0xFB,0xF7,0x00,0x57,0x00,0x11,0x0B,0x01,0x01,0x01,
0x77,0x3B,0xAA,0xB5,0x5A,0xAD,0x57,0x77,0xBB,0x00,0x56,0x00,0x0E,0x08,0x01,0x01,0x01,0x79,0xE7,0xAD,
0xB6,0xDC,0xF3,0x00,0x51,0x00,0x11,0x09,0x01,0x01,0x01,0xC7,0x75,0xF3,0xE7,0xCF,0xAE,0xE3,0xF7,0xF3,
0x00,0x50,0x00,0x0D,0x07,0x01,0x01,0x01,0x0B,0x9C,0xE0,0xBD,0xEF,0x00,0x53,0x00,0x0E,0x08,0x01,0x01,
0x01,0x85,0xE7,0xE7,0xE7,0xE7,0xA1,0x00,0x52,0x00,0x0E,0x08,0x01,0x01,0x01,0x0D,0xD7,0x5D,0x0D,0xB7,
0x5E,0x00,0x59,0x00,0x0F,0x07,0x00,0x01,0x00,0x7D,0x77,0x5F,0x7E,0xFD,0xFB,0xF7,0x00,0x58,0x00,0x0E,
0x08,0x01,0x01,0x01,0x79,0xEB,0x73,0xCE,0xD7,0x9E,0x00,0x5A,0x00,0x0E,0x08,0x01,0x01,0x01,0x03,0xEF,
0x7B,0xDE,0xF7,0xC0,0x00,0x66,0x00,0x0D,0x04,0x00,0x00,0x00,0xCB,0xB0,0xBB,0xBB,0xBF,0x00,0x67,0x00,
0x0D,0x07,0x01,0x03,0x01,0x83,0x9C,0xE7,0x43,0xD1,0x00,0x64,0x00,0x0E,0x07,0x01,0x00,0x01,0xF7,0xBD,
0x07,0x39,0xCE,0x87,0x00,0x65,0x00,0x0C,0x07,0x01,0x03,0x01,0x8B,0x80,0xF7,0x47,0x00,0x62,0x00,0x0E,
0x07,0x01,0x00,0x01,0x7B,0xDE,0x17,0x39,0xCE,0x0F,0x00,0x63,0x00,0x0C,0x06,0x01,0x03,0x00,0x8B,0x9E,
0xF7,0x47,0x00,0x61,0x00,0x0C,0x07,0x01,0x03,0x01,0x8F,0xA0,0xE7,0x43,0x00,0x6E,0x00,0x0C,0x07,0x01,
0x03,0x01,0x0B,0x9C,0xE7,0x3B,0x00,0x6F,0x00,0x0C,0x07,0x01,0x03,0x01,0x8B,0x9C,0xE7,0x47,0x00,0x6C,
0x00,0x0A,0x03,0x01,0x00,0x01,0x00,0x7F,0x00,0x6D,0x00,0x0F,0x0B,0x01,0x03,0x01,0x08,0xBB,0x9D,0xCE,
0xE7,0x73,0xBB,0x00,0x6A,0x00,0x0D,0x04,0x00,0x00,0x01,0xDF,0xCD,0xB6,0xD8,0xFF,0x00,0x6B,0x00,0x0E,
0x07,0x01,0x00,0x01,0x7B,0xDE,0xE6,0xAC,0x6D,0x77,0x00,0x68,0x00,0x0E,0x07,0x01,0x00,0x01,0x7B,0xDE,
0x17,0x39,0xCE,0x77,0x00,0x69,0x00,0x0A,0x03,0x01,0x00,0x01,0x60,0x7F,0x00,0x77,0x00,0x0E,0x09,0x01,
0x03,0x01,0x6C,0xD9,0x52,0xAB,0xB7,0x7F,0x00,0x76,0x00,0x0C,0x07,0x01,0x03,0x01,0x73,0xAB,0x5D,0xEF,
0x00,0x75,0x00,0x0C,0x07,0x01,0x03,0x01,0x73,0x9C,0xE7,0x43,0x00,0x74,0x00,0x0C,0x04,0x00,0x01,0x00,
0xBB,0x0B,0xBB,0xBC,0x00,0x73,0x00,0x0B,0x06,0x01,0x03,0x01,0x87,0x3C,0xE1,0x00,0x72,0x00,0x0B,0x05,
0x01,0x03,0x00,0x43,0x77,0x77,0x00,0x71,0x00,0x0D,0x07,0x01,0x03,0x01,0x83,0x9C,0xE7,0x43,0xDE,0x00,
0x70,0x00,0x0D,0x07,0x01,0x03,0x01,0x0B,0x9C,0xE7,0x05,0xEF,0x00,0x7A,0x00,0x0B,0x06,0x01,0x03,0x01,
0x0E,0xDB,0x70,0x00,0x79,0x00,0x0D,0x07,0x01,0x03,0x01,0x75,0x6B,0x5D,0xEF,0x77,0x00,0x78,0x00,0x0C,
0x07,0x01,0x03,0x01,0x75,0x77,0xBA,0xBB,0x00,0x00,0x00,0x00,};
// array size:   932
// glyph height: 22
// baseline:     12
// range:        A-Z a-z . , - + #x0021-#x0024 #00048-#00057
/* usage:
	pxs.setFont(Verdana8);
	pxs.print(x, y, "...");
*/

@peekay123, the fonts are at the bottom of the PixelsTest.ino (Pixels/examples/PixelsTest/PixelsTest.ino)

@wesner0019, perhaps any other 13 point font?

@peekay123,
could it be how it’s defined?, prog_uchar Eurostile13a[494] PROGMEM =

Otherwise I can generate any other 13pt font for you, using pixelmeister

@wesner0019, that is how it’s defined and I just need some other font for testing :wink:

ill sent you arial13a the a stands for anti-aliasing

1 Like

@peekay123, will this do, it has the same character set as the Eurostile

//int[] Arial13a = { //:Pxs
prog_uchar Arial13a[331] PROGMEM = { //:Wiring
0x5A,0x46,0x02,0x0E,0x11,0x00,0x54,0x00,0x18,0x0C,0x81,0x01,0x00,0x82,0x4B,0x82,0x4B,0x82,0x4B,0x82,
0x4B,0x9C,0x4B,0x82,0x4B,0x82,0x4B,0x82,0x4B,0x00,0x74,0x00,0x19,0x05,0x80,0x00,0x00,0x44,0x82,0x49,
0x1E,0x8A,0x02,0x25,0x3C,0x02,0x8B,0x01,0x44,0x82,0x45,0x3C,0x04,0x03,0x00,0x65,0x00,0x43,0x0A,0x01,
0x04,0x01,0x41,0x39,0x15,0x02,0x02,0x15,0x3A,0x41,0x3B,0x06,0x84,0x09,0x3C,0x1D,0x81,0x14,0x3B,0x3D,
0x17,0x81,0x22,0x0A,0x81,0x3B,0x42,0x3B,0x81,0x0E,0x01,0x86,0x02,0x01,0x86,0x01,0x08,0x81,0x3B,0x45,
0x1B,0x81,0x15,0x3A,0x3F,0x23,0x81,0x10,0x3A,0x05,0x84,0x01,0x31,0x41,0x38,0x15,0x02,0x01,0x0E,0x30,
0x41,0x00,0x73,0x00,0x40,0x09,0x01,0x04,0x01,0x3D,0x1D,0x06,0x01,0x08,0x20,0x41,0x1B,0x85,0x1F,0x01,
0x81,0x34,0x41,0x2E,0x81,0x06,0x06,0x81,0x16,0x2B,0x3F,0x42,0x2A,0x05,0x82,0x08,0x32,0x43,0x32,0x09,
0x81,0x03,0x2C,0x43,0x3B,0x1F,0x81,0x01,0x05,0x81,0x2D,0x41,0x31,0x81,0x05,0x1A,0x85,0x1D,0x3B,0x1A,
0x04,0x00,0x06,0x1D,0x3E,0x00,0x50,0x00,0x37,0x0C,0x81,0x01,0x00,0x9C,0x44,0x82,0x45,0x82,0x44,0x82,
0x45,0x82,0x44,0x82,0x45,0x01,0x81,0x44,0x81,0x00,0x45,0x03,0x81,0x3C,0x42,0x36,0x81,0x03,0x45,0x13,
0x81,0x17,0x3D,0x3C,0x14,0x81,0x15,0x45,0x31,0x85,0x01,0x33,0x46,0x30,0x10,0x01,0x02,0x12,0x33,0x46,
0x00,0x6C,0x00,0x09,0x04,0x01,0x01,0x01,0x9A,0x00,0x78,0x00,0x43,0x08,0x80,0x04,0x00,0x12,0x35,0x46,
0x37,0x13,0x82,0x19,0x39,0x42,0x3D,0x1E,0x01,0x81,0x2F,0x0B,0x81,0x02,0x20,0x27,0x06,0x81,0x0C,0x2E,
0x42,0x29,0x06,0x82,0x09,0x2A,0x44,0x2A,0x03,0x82,0x06,0x25,0x42,0x30,0x0C,0x81,0x04,0x25,0x29,0x06,
0x81,0x0A,0x2E,0x82,0x19,0x3B,0x42,0x3D,0x1F,0x01,0x81,0x0B,0x32,0x46,0x37,0x13,0x00,0x69,0x00,0x0B,
0x04,0x01,0x01,0x01,0x84,0x42,0x94,0x00,0x00,0x00,0x00,};
// antialiased
// array size:   331
// glyph height: 31
// baseline:     17
// range:        PTeilstx
/* usage:
	pxs.setFont(Arial13a);
	pxs.print(x, y, "...");
*/

@wesner0019, crap! I just realized the fonts were at the very end of the demo app file! LOL!

LOL :laughing:

@peekay123, how is the porting looking?

@wesner0019, so so. There is an RGB class that declares a variable of class RGB within the class definition. The compiler is puking at that so any code using that class creates an error. I’ll try compiling with Arduino to see if the error exists and go from there.

@peekay123, sounds good, thanks for progress

@peekay123, I complied using latest version of Arduino and it compiled.

1 Like

@peekay123, see this merge request, someone merged it to the Due (i believe has an ARM processor). Maybe it’ll help?4

@peekay123, just checking in to see if you’ve had any time to look further into the port? Is there something that I can help with or look into?

@wesner0019, still trying to figure the class issue which is preventing the code from compiling.

@wesner0019, got it figured out!!! It was a conflict with a Particle firmware RGB object (which I thought I had looked for!!). I have the code compiling and running on a Core with an ILI9341 and the demo runs beautifully!

The hardware configuration is hard coded in the ILI9341 header file so you have to make sure to change that to suit your setup. I have both the hardware and software SPI headers ported. I’ll post the files in dropbox to start.

Here is the dropbox link to the working ILI9341 code :smile:

2 Likes

WooHOO!, I’ll take it for a test run asap.

Thanks a bunch, I’ll report back after testing.

1 Like