Dear all,
thank you for your replies
To rule out hardware and timing issues, I would suggest to start with simple steps:
- fill the whole screen with one colour (cycle through colours white->grey->red->whatever)
- make sure it displays correctly all the colours you expect to see
- fill the screen with interleaving vertical stripes of 1px width, cycle the colours
- make the stripes 2px, 3px, etc
- the same for interleaving horizontal stripes
You get the idea.
I've tested this, 2px wide works perfectly:
![ILI9806 Graphical Issue 1678027-0](https://www.eevblog.com/forum/index.php?action=dlattach;topic=357934.0;attach=1678030;image)
I get strange results when I set stripe to 1 px
can you conclude anything from this result?
for the letter it may influence but the icons are bigger so I think it shouldn't make a difference.... just guessing...
Perhaps compare your init code to this one:
https://github.com/birdtechstep/fbtft/blob/master/fb_ili9806.c
I've tried this also, using the parameters on the link unfortunately I don't see anything on the display.
setWindowAddress(x, y, x+u8LetterOccupiedWidth-1, y+u8LetterHeight);
CS_RESET();
vWrite16BitCommand(0x2C);//Memory Write (2Ch)
DC_DATA();
CS_RESET();
I looked at my code for ili9xxx based screens and normally is
CS_RESET();
CS_SET();
vWrite16BitCommand(0x2C);//Memory Write (2Ch);
CS_RESET();
DC_DATA();
here is the code from a simlar lib
void LCD_WriteReg(u16 LCD_Reg,u16 LCD_RegValue)
{
/* Write 16-bit Index, then Write Reg */
ClrCs
LCD_REG = LCD_Reg;
/* Write 16-bit Reg */
LCD_RAM = LCD_RegValue;
SetCs
}
void LCD_WriteCommand(u16 LCD_RegValue)
{
/* Write 16-bit Index, then Write Reg */
ClrCs
LCD_REG = LCD_RegValue;
SetCs
}
hope this helps
darkspr1te
checking the code above I think it is odd to send a command with CS high, in desperation I've tested and indeed it doesn't work for me, nothing is sent to the display.
maybe the controller has some errata? unfortunately I don't know I can't even find documentation for 0xBC, 0xBD and 0xBE commands.
Best regards, Mauro.