bitbank2 / ss_oled

Simple and small library to control 1-bpp OLED displays (Linux + Arduino)
GNU General Public License v3.0
186 stars 34 forks source link

brightness setting #46

Closed 80stech closed 3 years ago

80stech commented 3 years ago

calling setcontrast only changes brightness by a very small amount even set to 0 ??

bitbank2 commented 3 years ago

Some OLED displays (e.g. 72x40) don't respond to the setcontrast command. Even though they all use the same SSD1306 controller, somehow they don't all work the same way.

80stech commented 3 years ago

OK thanks! :)  I have noticed that it seems to work differently on different displays I have tried. Good to know that it wasn't something I was doing wrong. Some displays will dim a fair bit and I ended up powering down the display when inactive which is probably a better way to go anyway. 

Cheers, Rainer S.

On Sat, 06 Mar 2021 06:39:32 -0800, Larry Bank notifications@github.com wrote:    

Some OLED displays (e.g. 72x40) don't respond to the setcontrast command. Even though they all use the same SSD1306 controller, somehow they don't all work the same way.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

datacute commented 3 years ago

Most of the screens I've used have supported the extra functions described in the SSD1306B, one of which in particular: changing the current reference to be the internal current reference, I've found results in much less differences between various screen brightnesses. The 72x40 screens I've seen needed this setting as otherwise they were extremely dark as they were not supplied with an external current reference circuit. 0xAD 0x00 = External IREF 0xAD 0x10 = Internal IREF maximum ISEG 160uA 0xAD 0x30 = Internal IREF maximum ISEG 240uA