Full support for acceleration and rotation. Optional on-device copyBits and fullscreen text scrolling. #30
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds full acceleration using the on-chip acceleration commands in the SSD1331.
All 4 rotations are supported, and everything is immensely faster.
I've also added a copyBits() function that does an on-device bitblit (copies a rectangle of pixels within the screen buffer), and an optional setTextScroll() method that, when set to true, will cause the screen to scroll when printed text goes below the bottom of the screen so that further printing is visible. These additions are behind #ifdef SSD1331_EXTRAS, which is defined in the Adafruit_SSD1331.h header.
Before/after test timings from the modified test.ino and LCDGFXDemo.ino included in the PR (taken with the code running on a QT Py M0, with
display.begin(MAX_SPI);
:test.ino before:
test.ino after:
LCDGFXDemo.ino before:
LCDGFXDemo.ino after: