David,
Is it possible to communicate over mail? If you could let the second layer work then my problem is solved. I made a array with my numbers ( in compressed format) and that's fine on the screen but you still can see it run over the screen. Here the biggest part of the code. Can we speed up the process to write from flash to the panel? If we write a red block it is there in 1 instant, you don't see it scrolling down like the writing of the array.
static const uint8_t PETER1 [] =
{
0x00,0x00,0x00,0x80,0x80,0xc0,0xc0,0xc0, 0x0160
0xe0,0xe0,0xe0,0xf0,0xf0,0xf0,0xf8,0xf8, 0x0168
0xfc,0xfc,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe, 0x0170
0xfc,0xfc,0x00,0x00,0x00,0x00,0x00,0x00, 0x0178
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x0180
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x0188
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x0190
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x0198
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x01a0
};
int16_t Set_Width=136;
int16_t Loc_x=100; start location x bitmap
int16_t Loc_y=100; start location y bitmap
int16_t Total_Char=sizeof(PETER1);
int16_t Actual_Char=0;
int16_t Act_Width;
int main()
{
RetCode_t r;
pc.baud(115200);
lcd.init(800,480,8); init for 7" panel
lcd.cls(); lcd.cls(0) clears layer 0 lcd.cls(1) clears layer 1
while(Actual_Char<Total_Char)
{
for (Act_Width=0; Act_Width<Set_Width; Act_Width++)
{
pc.printf ( "\n\r%x : ",PETER1[z]);
for (int Set_Bit=0; Set_Bit<=7;Set_Bit++)
{
bool bit= (PETER1[Actual_Char]>>Set_Bit)&1; shift right and add with 1 bit is value first one is the LSB bit last one is the 80 MSB
if (bit==true)
lcd.pixel(Loc_x+Act_Width,Loc_y+Set_Bit,White);
if (bit==false)
lcd.pixel(Loc_x+Act_Width,Loc_y+Set_Bit,Black);
}
Actual_Char++;
}
Loc_y=Loc_y+8; out of the first 8 writing on the x as
}
}
I have just tried to render the 778x458 file that works on the first layer to render on the second layer. No difference in result.