Closed alexpeissel closed 3 years ago
This was solved for me by a friendly redditor, (thanks ferrybig!):
// Our duplicate buffer
static uint8_t displayBuffer[(SCREEN_WIDTH * SCREEN_HEIGHT + 7) / 8];
// ...draw bitmaps, images, etc and show with display.display();...
// Copy over the contents of the display buffer to the duplicate
memcpy(displayBuffer, display.getBuffer(), sizeof(displayBuffer));
// Copy back from the duplicate buffer
memcpy(display.getBuffer(), displayBuffer, sizeof(displayBuffer));
// Display it
display.display();
Closing the issue, hopefully someone else may find this useful.
Hi all!
Is there a canonical way of 'restoring' display contents from a dumped buffer?
My current attempt looks like the following, (from an STM32 board connected to an 128x32 OLED over I2C):
I then get garbled output on the screen, but it seems to be consistent based on the display content at the time memcpy is called.
My first take on this would be if there should be some way to set the buffer directly, similar to this PR: here. Alternately, does something need to be done with the displayBuffer to play nicely with the drawBitmap method?
To close, I believe this is worthy of an issue as it would close/complement the getBuffer use-case.
Any pointers or suggestions would be great; thanks!