Move new SSD1680 driver variant to dedicated module and update examples #86
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 refactors @mikeysklar's recent driver addition into a dedicated module, updates the examples and adds a new example which I used while testing the new driver.
I moved the driver into its own module and named it "B" (instead of "Z") to maintain consistency with all the other drivers. While trying to locate datasheet details for the new device, I was initially confused by the "SSD1680Z" name because (as I eventually came to realize) the "Z" suffix refers to one of the die packaging options for the SSD1680, rather than a unique die. I decided to rename the Adafruit driver class to "SSD1680B", which (I think) follows the same convention used for a second variant of the
SSD1675
driver. To maintain backwards compatibility (prevent breaking changes), theAdafruit_SSD1680Z
name can still be imported from theadafruit_epd.ssd1680
module.In addition to the class name change, there were a few other minor adjustments made during the refactor, including:
pylint: disable
directivesNOP
command (wrong hex value, also for completeness as the NOP isn't currently used in this driver)I also updated the example scripts that follow the "import lots of drivers with usage comments for each" convention, and also added my own (new) example script (with accompanying "grid" bitmap image) which I found useful during driver testing -- the grid image makes it easier to detect if any rows of pixels are missing or offset.
I'm also preparing another PR for the
adafruit/Adafruit_Learning_System_Guides
project with updates for the Event Calendar and Weather Station learning guides.Note to reviewers: (cc @ladyada) I applied license headers to all new files as I observed in other places. I'm pretty confident I got it right, but I wasn't able to find a specific document in the repo that says "do license headers like XYZ". Maybe I didn't look hard enough, but if there is such a document, I'd be happy to read it to make sure I've done it correctly.
Recommended review: commit by commit.
Closes #85