Open
Description
I get garbage OR whatever was there on the last frame displayed on the display, and the code hangs for a long time.
Here is an example of the oled displaying the last frame, while running the demo code in readme:
This library is working as expected, so at least its not hw.
https://github.com/codelectron/ssd1306
Activity
ladyada commentedon Jul 24, 2019
do you know for sure that display is SSD1306? knockoffs often use other chipsets
deshipu commentedon Jul 24, 2019
In particular, SH1106 is very popular, but sadly it doesn't support the addressing mode that SSD1306 uses by default (so most drivers won't work).
ric96 commentedon Jul 24, 2019
I've tried this display with Arduino, Zephyr, MRAA and the above mentioned library all worked fine so i'm assuming its SSD1306.
makermelissa commentedon Jul 24, 2019
What is the exact code that you're running and what are the dimensions of that display? I'd like to test it out on a similar setup with an equivalent Adafruit display.
makermelissa commentedon Jul 25, 2019
A couple of things I just thought of are if this is running on the DragonBoard 410c and you're using a logic level shifter:
ric96 commentedon Jul 25, 2019
@makermelissa running the code that is in the Readme of this repo under usage example.
I've got a bmp280 working fine with this very setup.
I've separately tried a 128x32 and 128x64 oled display. Both of these had the i2c address set to 0x3c if that helps.
Again, the display works fine using another library so i think I'm good on the level shifter end.
PS. Using the Audio Mezzanine as the level shifter. This has worked well for i2c usecases over the years.
makermelissa commentedon Jul 29, 2019
Hi, I finally got around to testing with https://www.adafruit.com/product/931 on the DragonBoard and can confirm that the issue occurs (random dots plus hanging) with Adafruit displays as well.
makermelissa commentedon Jul 29, 2019
After hitting Control-C and waiting a couple minutes, I finally got this error output in addition to the expected keyboard interrupt error:
makermelissa commentedon Jul 31, 2019
I wonder if this is related to adafruit/Adafruit_Python_PureIO#4
ladyada commentedon Jul 31, 2019
probably not, smbus is the native I2C library/interface, havint it in pureio would be rad, but its really not essential. also repeated start isnt used on this display
makermelissa commentedon Jul 31, 2019
Ok, good to know :)
ric96 commentedon Sep 9, 2019
Hi,
any updates on this?
makermelissa commentedon Sep 9, 2019
Hi, thanks for checking in. I was planning on taking another look at this later this week.
makermelissa commentedon Sep 11, 2019
I think I may have found something in that Blinka has trouble with i2c write-only devices on certain boards (DragonBoard 410c and Jetson Nano I've found). I'm looking into this further.
makermelissa commentedon Jan 20, 2020
This might just need a reset line hooked up. I've seen similar behavior with microcontrollers. That solution will probably only work with the displays that have a reset line though.
7 remaining items