For some reason I can’t get fillLCD
to work.
What is fillLCD
's argument supposed to be?
Is it a palette index?
Is it an RGB565 colour?
For some reason I can’t get fillLCD
to work.
What is fillLCD
's argument supposed to be?
Is it a palette index?
Is it an RGB565 colour?
Don’t quote me but I’m pretty sure it’s bool for direct fill or screen buffer fill.
It fills with current color
The argument is supposed to be of type uint16_t
, so if it’s being used as a sort of “0 for buffer, 1 for screen”, and there are no other options planned, then that’s really counter-intuitive.
That is a 16-bit color value.
Here it is written to LCD:
void Pokitto::lcdFillSurface(uint16_t c) {
uint32_t i;
write_command(0x20); // Horizontal DRAM Address
write_data(0x0000); // 0
write_command(0x21); // Vertical DRAM Address
write_data(0);
write_command(0x22); // write data to DRAM
setup_data_16(c);
CLR_CS_SET_CD_RD_WR;
for(i=0;i<220*176;i++)
{
CLR_WR;
SET_WR;
}
}
I also now realise there’s a fillScreen
function, which is the version that writes to the buffer, while the fillLCD
function is the one that writes directly to the screen.
I got a bit confused because they don’t follow the naming scheme of the other ‘direct’ functions (and I didn’t read the comments properly).