The three days I have made a great process.
Backlight PWM control is working now and the screen can reach at least 24fps. I checked send 144 frames time is 5.8s.
This is a simple code I do the test:
first create three random pictures, and then use libusb bulk mode send it to the screen. Totally 48 loops and every loops send three “true color” pictures. Also a video of the test is attached.
#define FRAMESIZE ((unsigned int)800 * 480 * 3)
...
buf1 = (unsigned char *)malloc(FRAMESIZE);
for (i = 0; i < FRAMESIZE; i++)
buf1[i] = (unsigned char)(rand() & 0xff);
buf2 = (unsigned char *)malloc(FRAMESIZE);
for (i = 0; i < FRAMESIZE; i++)
buf2[i] = (unsigned char)(rand() & 0xff);
buf3 = (unsigned char *)malloc(FRAMESIZE);
for (i = 0; i < FRAMESIZE; i++)
buf3[i] = (unsigned char)(rand() & 0xff);
for(i = 0; i < 48; i++) {
// send to out endpoint 2.
code = libusb_bulk_transfer(handle, 0x02, buf1, FRAMESIZE, &trans, 1000);
if (code) {
printf("output endpoint2 error code: %d, %d\n", code, i);
return code;
}
code = libusb_bulk_transfer(handle, 0x02, buf2, FRAMESIZE, &trans, 1000);
if (code) {
printf("output endpoint2 error code: %d, %d\n", code, i);
return code;
}
code = libusb_bulk_transfer(handle, 0x02, buf3, FRAMESIZE, &trans, 1000);
if (code) {
printf("output endpoint2 error code: %d, %d\n", code, i);
return code;
}
}
The screen is 80% done, I think I can fix rest bugs very soon 🙂
[embedyt]https://youtu.be/zA81GuyK6qY[/embedyt]