-
-
Notifications
You must be signed in to change notification settings - Fork 7.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SSD1306_I2C poweron method #2837
Conversation
Out of curiosity what physical problem does this fix? The existing driver works fine here. |
This is not a physical problem. Actually it is a feature. The I2C driver ( |
That is only partially correct. The So the addition of this PR lets me assume that it would allow a user to physically save power by turning it off and reactivate it on the previous contrast level. One segment of the display seems to consume ~25uA at lowest contrast compared to 100uA on full contrast. To really prove the usefulness one needs to...
|
It's not just reactivating the display with previous contrast level. The previous state is persisted in RAM. You can write "Hello" to the display, invert it, power it off, power it on and Hello is re-displayed inverted.
Without this PR, calling power on (pass) makes you think you have powered on the display, but when there is nothing displayed, you call The datasheet specifies |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There should be no breaking changes to existing code by this (atomic) PR. But instead it is implementing a missing feature.
https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf - Page 37
@dpgeorge this one is safe to merge. |
Add support for a debug console, such as ST-Link VCP.
I was using a OLED display with the SSD1306 diver and noticed that the
SSD1306_I2C
class does not implement thepoweron
method.Looking at the
init_display
I found way to implement it that seems to make sense and worked very well for me.