You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It works on my devices at that speed, but the SH1106 seems to only be rated for 2 or 4 MHz depending on Vdd. And since the user already initialized the SPI object, why change the speed that they presumably selected? Maybe they want to go faster or slower. It also seems like this will introduce some unnecessary delays and risks glitches on the output pins depending on what init() does exactly.
The text was updated successfully, but these errors were encountered:
I cannot tell why this was introduced, only when. Maybe another slow device was used on the bus at the same time, and thus the SPI bus for the display had to be reinitialized before writing. And instead doing that at every call of one of the sh1106 methods, it's done in the driver.
But your are right. The datasheet says 4MHz for Vcc >= 2.4V. I seems that no one complained until then about the 10 MHz, or people just have set it to 4. Best is to remove these lines, making no assumption about the usage.
In SPI mode, it seems that before each write the bus gets reinitialized to a hard-coded 10 MHz:
SH1106/sh1106.py
Lines 280 to 282 in 5374dc5
SH1106/sh1106.py
Lines 292 to 294 in 5374dc5
It works on my devices at that speed, but the SH1106 seems to only be rated for 2 or 4 MHz depending on Vdd. And since the user already initialized the SPI object, why change the speed that they presumably selected? Maybe they want to go faster or slower. It also seems like this will introduce some unnecessary delays and risks glitches on the output pins depending on what
init()
does exactly.The text was updated successfully, but these errors were encountered: